﻿/* c2w-components.css - Inner templates + header bar + footer bar + category page */

/* Body background now controlled by inline <style> in header.php via c2w_body_bg option */

/* Hide the legacy #masthead on dashboard pages (c2w-header-bar handles the header) */
body.page-template-site-setting-php #masthead,
body.page-template-site-settings-php #masthead,
body.page-template-reporting-page-php #masthead,
body.page-template-add-manual-order-php #masthead,
body.page-template-add-team-php #masthead,
body.page-template-addticketpackages-php #masthead,
body.page-template-printing-php #masthead,
body.page-template-pick-winner-php #masthead,
body.page-template-payment_processor_page-php #masthead,
body.woocommerce-account #masthead {
  display: none !important;
}

/* â”€â”€ Account page layout fixes â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* 1. Hide the 120px inner-page banner â€” irrelevant on the dashboard */
body.woocommerce-account .innerheader.commonheader {
  display: none !important;
}

/* 2. Remove the section's padding-left that causes right-side overflow at
      desktop widths (> 1300px where master.css doesn't zero it out already) */
body.woocommerce-account .section.section-2 {
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* 3. Let the WooCommerce content handle its own padding â€” remove the
      redundant 94% + 20px container constraint so content isn't double-squeezed
      on mobile (MyAccount-content already has padding: 20px; box-sizing: border-box) */
body.woocommerce-account .section.section-2 > .container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* 4. Contain the dashboard so it never overflows the viewport */
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .c2w-dash-header,
body.woocommerce-account .c2w-dash-container {
  box-sizing: border-box !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* Footer normalization on dashboard pages */
body.page-template-site-setting-php .footer-top,
body.page-template-site-settings-php .footer-top,
body.page-template-reporting-page-php .footer-top,
body.page-template-add-manual-order-php .footer-top,
body.page-template-add-team-php .footer-top,
body.page-template-addticketpackages-php .footer-top,
body.page-template-printing-php .footer-top,
body.page-template-pick-winner-php .footer-top,
body.page-template-payment_processor_page-php .footer-top,
body.woocommerce-account .footer-top {
  display: none !important;
}

body.page-template-site-setting-php #colophon,
body.page-template-site-settings-php #colophon,
body.page-template-reporting-page-php #colophon,
body.page-template-add-manual-order-php #colophon,
body.page-template-add-team-php #colophon,
body.page-template-addticketpackages-php #colophon,
body.page-template-printing-php #colophon,
body.page-template-pick-winner-php #colophon,
body.page-template-payment_processor_page-php #colophon,
body.woocommerce-account #colophon {
  display: none !important;
}

/* â•â•â• qoh-ftr footer (duplicated from c2w-pages.css for reliability) â•â•â• */
.qoh-ftr {
  background: var(--c2w-felt-deep, #1a1215) !important;
  margin-top: auto;
  clear: both;
  width: 100%;
}
.qoh-ftr-in {
  max-width: 1280px;
  margin: 0 auto;
  padding: 18px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.qoh-ftr-left {
  display: flex;
  align-items: center;
  gap: 10px;
}
.qoh-ftr-ico {
  width: 34px;
  height: 34px;
  padding: 4px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #fff;
  overflow: hidden;
  flex: 0 0 auto;
}
.qoh-ftr-ico img { width: 100%; height: 100%; object-fit: contain; display: block; }
.qoh-ftr-bt { font-size: 11px; color: rgba(255,255,255,.4); }
.qoh-ftr-bt strong { color: rgba(255,255,255,.7); }
.qoh-ftr-mid {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  justify-content: center;
}
.qoh-ftr-lbl {
  font-size: 9px;
  color: rgba(255,255,255,.25);
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  margin-right: 6px;
}
.qoh-ftr-lk {
  padding: 5px 12px;
  border-radius: 100px;
  font-size: 10.5px;
  font-weight: 600;
  color: rgba(255,255,255,.55);
  text-decoration: none;
  transition: all .3s cubic-bezier(.4,0,.2,1);
  border: 1px solid transparent;
}
.qoh-ftr-lk:hover {
  color: #fff;
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}

/* Responsive: stack footer vertically on mobile */
@media (max-width: 640px) {
  .qoh-ftr-in {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 16px 20px;
    gap: 10px;
  }
  .qoh-ftr-left { justify-content: center; width: 100%; }
  .qoh-ftr-left .c2w-made-usa { justify-content: center; }
  .qoh-ftr-mid {
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
  }
  .qoh-ftr-lbl {
    width: 100%;
    text-align: center;
    margin-right: 0;
    margin-bottom: 4px;
  }
}

/* Inner templates spacing alignment */
body.woocommerce-account .row.main-header,
body.page-template-site-setting-php .row.main-header,
body.page-template-site-settings-php .row.main-header {
  margin-top: 0 !important;
}

body.page-template-site-setting-php .site-sett,
body.page-template-site-settings-php .site-sett {
  margin-top: 0 !important;
  padding-top: 20px !important;
}

/* Inner templates refresh (site settings + linked dashboard pages) */
body.page-template-site-setting-php .section.sectiontime.section-1-php.header-event-sec.site-settings-new-one,
body.page-template-site-settings-php .section.sectiontime.section-1-php.header-event-sec.site-settings-new-one,
body.page-template-payment_processor_page-php .section.sectiontime.section-1-php.header-event-sec.site-settings-new-one {
  display: none !important;
}

body.page-template-site-setting-php .site-sett.site-setting-main,
body.page-template-site-settings-php .site-sett.site-setting-main,
body.page-template-payment_processor_page-php .site-sett.payment-processor-main,
body.page-template-reporting-page-php .report-page12.report-page-main,
body.page-template-add-manual-order-php .add-manual12,
body.page-template-add-team-php .add-team12,
body.page-template-addticketpackages-php .ticket-packages,
body.page-template-printing-php .report-page12.ticket-printing-main,
body.page-template-pick-winner-php .pick-winner-front-end {
  width: min(1240px, calc(100% - 28px)) !important;
  margin: 16px auto 32px !important;
  padding: 20px 20px 24px !important;
  border-radius: 16px !important;
  background: none !important;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06) !important;
}

body.page-template-pick-winner-php .pick-winner-front-end {
  flex-grow: 1 !important;
  padding-bottom: 48px !important;
}

body.page-template-pick-winner-php .pick-winner-front-end .container.pick-winner {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body.page-template-pick-winner-php #anchor-border,
body.page-template-pick-winner-php .winner-top.full-row1 {
  width: 100% !important;
  max-width: none !important;
  margin: 18px 0 0 !important;
  padding: 24px 28px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.10) !important;
  box-sizing: border-box !important;
}

body.page-template-pick-winner-php .left-section-winner {
  width: 100% !important;
  padding: 24px 28px !important;
  box-sizing: border-box !important;
}

body.page-template-pick-winner-php .left-section-winner h1 {
  margin: 0 0 12px !important;
  text-align: center !important;
  color: #2f6f6f !important;
  font-size: 42px !important;
  line-height: 1.1 !important;
}

body.page-template-pick-winner-php #winner1 {
  width: 100% !important;
  text-align: center !important;
}

body.page-template-pick-winner-php .Selection-button,
body.page-template-pick-winner-php .select-another-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 18px !important;
}

body.page-template-pick-winner-php .Selection-button {
  width: 100% !important;
  justify-content: center !important;
  margin-top: 16px !important;
}

body.page-template-pick-winner-php .Selection-button #start {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  min-height: 52px !important;
  padding: 12px 18px !important;
  border-radius: 8px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body.page-template-pick-winner-php #newsticker-demo,
body.page-template-pick-winner-php #winner-name {
  width: 100% !important;
  max-width: none !important;
  margin-top: 18px !important;
  padding: 24px 28px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
  box-sizing: border-box !important;
}

body.page-template-pick-winner-php .newsticker-jcarousellite,
body.page-template-pick-winner-php .newsticker-jcarousellite ul {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-template-pick-winner-php .newsticker-jcarousellite {
  /* Height intentionally not forced here â€” jCarouselLite sets it inline after init */
  min-height: 100px !important;
  overflow: hidden !important;
}

body.page-template-pick-winner-php .newsticker-jcarousellite ul {
  list-style: none !important;
}

body.page-template-pick-winner-php .newsticker-jcarousellite li {
  display: block !important;
  min-height: 36px !important;
  line-height: 36px !important;
  margin: 0 0 6px !important;
  text-align: center !important;
  color: #0f0246 !important;
}

body.page-template-pick-winner-php #newsticker-demo h2 {
  color: #0f0246 !important;
}

body.page-template-pick-winner-php .newsticker-jcarousellite .info,
body.page-template-pick-winner-php .newsticker-jcarousellite .info1 {
  float: none !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  color: #0f0246 !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
}

body.page-template-pick-winner-php #stop {
  position: static !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 16px auto 0 !important;
}

body.page-template-pick-winner-php .enter-winner-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  margin: 16px 0 !important;
}

body.page-template-pick-winner-php .enter-winner-row .col-3,
body.page-template-pick-winner-php .enter-winner-row .col-lg-6,
body.page-template-pick-winner-php .enter-winner-row .col-xss-12,
body.page-template-pick-winner-php .select-another-row .col-3,
body.page-template-pick-winner-php .select-another-row .col-lg-6,
body.page-template-pick-winner-php .select-another-row .col-xss-12 {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

body.page-template-pick-winner-php .enter-winner-row input {
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 10px !important;
  border: 1px solid #d1d5db !important;
  padding: 10px 14px !important;
}

body.page-template-pick-winner-php .add-to-table1 {
  margin: 0 !important;
}

body.page-template-pick-winner-php .winner-card-meta {
  margin: 6px 0 14px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #0f0246 !important;
}

body.page-template-pick-winner-php .winner-card-visual {
  margin: 4px 0 12px !important;
  text-align: center !important;
}

body.page-template-pick-winner-php .winner-card-visual img {
  width: auto !important;
  max-width: 170px !important;
  height: auto !important;
  border-radius: 10px !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12) !important;
}

body.page-template-pick-winner-php .winner-card-title {
  color: #2f6f6f !important;
}

body.page-template-pick-winner-php .add-to-table1 .winner-table-btn,
body.page-template-pick-winner-php .add-to-table1 .select-another-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 10px 20px !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

body.page-template-pick-winner-php .add-to-table1 .winner-table-btn {
  background: var(--c2w-primary, #d94441) !important;
  border: 1px solid var(--c2w-primary, #d94441) !important;
  color: #fff !important;
}

body.page-template-pick-winner-php .add-to-table1 .select-another-btn {
  background: #ffffff !important;
  border: 1px solid var(--c2w-primary, #d94441) !important;
  color: var(--c2w-primary, #d94441) !important;
}

body.page-template-pick-winner-php .add-to-table1 .winner-table-btn:hover,
body.page-template-pick-winner-php .add-to-table1 .select-another-btn:hover {
  transform: translateY(-1px);
}

@media only screen and (max-width: 767px) {
  body.page-template-pick-winner-php .pick-winner-front-end {
    width: calc(100% - 20px) !important;
    margin: 10px auto 24px !important;
    padding: 16px !important;
  }

  body.page-template-pick-winner-php .left-section-winner,
  body.page-template-pick-winner-php #newsticker-demo,
  body.page-template-pick-winner-php #winner-name {
    padding: 18px !important;
  }

  body.page-template-pick-winner-php .left-section-winner h1 {
    font-size: 32px !important;
  }

  body.page-template-pick-winner-php .enter-winner-row {
    grid-template-columns: 1fr !important;
  }
}

body.page-template-site-setting-php .woocommerce-MyAccount-navigation,
body.page-template-site-settings-php .woocommerce-MyAccount-navigation,
body.page-template-site-setting-php .site-setting-main .button-side,
body.page-template-site-settings-php .site-setting-main .button-side,
body.page-template-site-setting-php .site-setting-main > .container > .button,
body.page-template-site-settings-php .site-setting-main > .container > .button {
  display: none !important;
}

body.page-template-site-setting-php .site-setting-main .layout-tab.tab.site-settings,
body.page-template-site-settings-php .site-setting-main .layout-tab.tab.site-settings {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.page-template-site-setting-php .site-setting-main #test_form,
body.page-template-site-settings-php .site-setting-main #test_form {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

body.page-template-site-setting-php .site-setting-main #test_form fieldset,
body.page-template-site-settings-php .site-setting-main #test_form fieldset {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HOMEPAGE SECTIONS â€” Promo / Card Info / Why Play / Contact
   (duplicated from c2w-pages.css because late rules there don't apply)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ PROMO SLIDER â”€â”€ */

/* â”€â”€ Hero crown + floating cards â”€â”€ */
.qoh-hero-crown {
  margin-bottom: 24px !important;
  position: relative !important;
  display: inline-block !important;
}
.qoh-crown-wrap {
  position: relative !important;
  width: 140px !important; height: 140px !important;
  margin: 0 auto !important;
}
.qoh-crown-bg {
  width: 140px !important; height: 140px !important;
  border-radius: 50% !important;
  background: #c41e3a !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  box-shadow: 0 0 0 6px rgba(196,30,58,.15), 0 0 0 14px rgba(196,30,58,.06), 0 8px 32px rgba(196,30,58,.2) !important;
  position: relative !important;
}
.qoh-crown-emoji { font-size: 60px !important; filter: drop-shadow(0 4px 8px rgba(0,0,0,.2)); }
.qoh-float-card {
  position: absolute !important;
  width: 36px !important; height: 50px !important;
  border-radius: 4px !important;
  background: #fff !important;
  border: 1px solid #e6e0dc !important;
  box-shadow: 0 4px 16px rgba(26,18,21,.08) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 16px !important;
  animation: qohCardFloat 4s infinite ease-in-out !important;
}
.qoh-float-card.c1 { top: -8px; left: -30px; transform: rotate(-15deg); animation-delay: 0s; --rot: -15deg; color: #c41e3a; }
.qoh-float-card.c2 { top: -12px; right: -28px; transform: rotate(12deg); animation-delay: -.8s; --rot: 12deg; color: #c41e3a; }
.qoh-float-card.c3 { bottom: 4px; left: -24px; transform: rotate(-8deg); animation-delay: -1.6s; --rot: -8deg; color: #1a1215; }
.qoh-float-card.c4 { bottom: 0; right: -20px; transform: rotate(10deg); animation-delay: -2.4s; --rot: 10deg; color: #1a1215; }
@keyframes qohCardFloat {
  0%, 100% { transform: translateY(0) rotate(var(--rot, 0deg)); }
  50% { transform: translateY(-6px) rotate(var(--rot, 0deg)); }
}

/* â”€â”€ PROMO SLIDER â”€â”€ */
.qoh-promo-slider {
  width: 50% !important;
  margin: 20px auto 16px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0,0,0,.26) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.07) !important;
}
.qoh-promo-slider .flexslider {
  margin: 0 !important; border: none !important; border-radius: 0 !important;
  box-shadow: none !important; background: transparent !important;
}
.qoh-promo-slider .flexslider .slides {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.qoh-promo-slider .flexslider .slides > li {
  margin: 0 !important;
  padding: 0 !important;
  height: 420px !important;
  overflow: hidden !important;
}
.qoh-promo-slider .flexslider .slides img {
  display: block !important;
  width: 100% !important;
  height: 420px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
}
.qoh-promo-slider .flex-direction-nav a {
  opacity: .7 !important;
}

.qoh-promo-rotator {
  height: 420px !important;
  position: relative !important;
  background: #fff !important;
}
.qoh-promo-rotator-track {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
}
.qoh-promo-rotator-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity .45s ease !important;
}
.qoh-promo-rotator-image.is-active {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 768px) {
  .qoh-promo-slider { width: 90% !important; }
  .qoh-promo-slider .flexslider .slides > li,
  .qoh-promo-slider .flexslider .slides img {
    height: 240px !important;
  }
  .qoh-promo-rotator {
    height: 240px !important;
  }
}

/* â”€â”€ PROMO BANNER â”€â”€ */
.qoh-promo-banner {
  margin: 20px auto 28px !important;
  padding: 40px !important;
  box-sizing: border-box !important;
  border-radius: 20px !important;
  border: 1px solid rgba(0,0,0,.26) !important;
  overflow: hidden !important;
  display: flex !important;
  align-content: center !important;
  align-items: center !important;
  background: linear-gradient(135deg, #f9f9f9, #fff7e6);
}
.qoh-promo-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}
.qoh-promo-text {
  font-family: 'DM Sans', sans-serif !important;
  text-align: left !important;
  flex: 1 !important;
}
.qoh-promo-text p {
  margin: 0 0 4px !important;
  padding: 0 !important;
}
.qoh-promo-headline {
  font-size: 31px !important;
  font-weight: 700 !important;
  color: #2d6a2e !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
}
.qoh-promo-line {
  font-size: 37px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
}
.qoh-promo-text div { margin-bottom: 2px; }
.qoh-promo-text div:first-child {
  font-size: 16px !important;
  font-weight: 700 !important;
  margin-bottom: 2px !important;
  color: #2d6a2e !important;
}
.qoh-promo-cards {
  display: flex !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
}
.qoh-promo-cards img {
  height: 130px !important;
  width: auto !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

/* â”€â”€ CARD INFO â”€â”€ */
@keyframes qohFloatLeft {
  0%   { transform: translateX(0) rotate(var(--rot, 0deg)); }
  50%  { transform: translateX(-10px) translateY(-4px) rotate(var(--rot, 0deg)); }
  100% { transform: translateX(0) rotate(var(--rot, 0deg)); }
}
@keyframes qohFloatRight {
  0%   { transform: translateX(0) rotate(var(--rot, 0deg)); }
  50%  { transform: translateX(10px) translateY(-4px) rotate(var(--rot, 0deg)); }
  100% { transform: translateX(0) rotate(var(--rot, 0deg)); }
}
.qoh-cardinfo {
  max-width: 1280px !important;
  margin: 28px auto 42px !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  border-radius: 14px !important;
  border: 1px solid rgba(190, 198, 210, .45) !important;
  background: #ffffff !important;
  box-shadow: 0 6px 20px rgba(57, 73, 95, .10) !important;
}
.qoh-cardinfo-inner {
  display: grid !important;
  grid-template-columns: minmax(300px, 1fr) auto minmax(300px, 1fr) !important;
  align-items: center !important;
  gap: 34px !important;
}
.qoh-cardinfo-text {
  font-family: 'DM Sans', sans-serif !important;
  font-size: clamp(22px, 2.15vw, 30px) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  line-height: 1.62 !important;
  letter-spacing: .2px !important;
  color: #1f2d69 !important;
  background: #eef3f6 !important;
  padding: 38px 34px !important;
  border-radius: 12px !important;
  min-height: 266px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: inset 0 0 0 1px rgba(214, 221, 231, .55), 0 3px 10px rgba(68, 84, 109, .08) !important;
}
.qoh-cardinfo-left { text-align: center !important; }
.qoh-cardinfo-right { text-align: center !important; }
.qoh-cardinfo-center {
  display: flex !important;
  gap: 0 !important;
  justify-content: center !important;
  position: relative !important;
  min-width: 250px !important;
  padding: 10px 0 !important;
}
.qoh-cardinfo-center img {
  height: 195px !important;
  width: auto !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.16) !important;
  position: relative !important;
  transform-origin: center center !important;
}
.qoh-cardinfo-center img:first-child {
  --rot: -8deg;
  transform: rotate(-8deg);
  z-index: 1 !important;
  margin-right: -20px !important;
  animation: qohFloatLeft 3s ease-in-out infinite !important;
}
.qoh-cardinfo-center img:last-child {
  --rot: 8deg;
  transform: rotate(8deg);
  z-index: 2 !important;
  margin-left: -20px !important;
  animation: qohFloatRight 3s ease-in-out infinite !important;
  animation-delay: -.35s !important;
}

/* â”€â”€ WHY PLAY â”€â”€ */
.qoh-whyplay {
  max-width: 560px !important;
  margin: 32px auto !important;
  padding: 40px 36px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  border-radius: 14px !important;
}
.qoh-whyplay-inner {
  max-width: 480px !important;
  margin: 0 auto !important;
}
.qoh-whyplay-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  margin: 0 0 14px !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}
.qoh-whyplay-desc {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin-bottom: 24px !important;
  opacity: .92;
  font-style: italic !important;
}
.qoh-whyplay-btn {
  display: inline-block !important;
  padding: 12px 30px !important;
  background: var(--c2w-primary, #d94441) !important;
  color: #fff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .6px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  border: 2px solid rgba(255,255,255,.3) !important;
  transition: background .2s, transform .2s !important;
}
.qoh-whyplay-btn:hover {
  background: var(--c2w-accent, #b53835) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* â”€â”€ CONTACT SECTION â”€â”€ */
.qoh-contact-section {
  max-width: 560px !important;
  margin: 24px auto 32px !important;
  padding: 32px 36px !important;
  border-radius: 14px !important;
  border: 1px solid #e5e7eb !important;
  background: #fff !important;
  text-align: center !important;
}
.qoh-contact-heading {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1a1215 !important;
  margin-bottom: 16px !important;
}
.qoh-contact-line {
  font-size: 14px !important;
  color: #444 !important;
  margin-bottom: 6px !important;
  line-height: 1.6 !important;
}
.qoh-contact-label { font-weight: 700 !important; color: var(--c2w-primary, #d94441) !important; }

/* #94 + #103 — website + social icons in Contact Us (filled-in links only) */
.qoh-contact-socials {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 16px !important;
}
.qoh-soc-ic {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  color: #fff !important;
  font-size: 16px !important;
  text-decoration: none !important;
  transition: transform .15s ease, opacity .15s ease !important;
  background: #6b7280 !important;
}
.qoh-soc-ic:hover { transform: translateY(-2px) !important; opacity: .88 !important; color: #fff !important; }
.qoh-soc-ic.fb  { background: #1877f2 !important; }
.qoh-soc-ic.tw  { background: #000000 !important; }
.qoh-soc-ic.ig  { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important; }
.qoh-soc-ic.pt  { background: #bd081c !important; }
.qoh-soc-ic.li  { background: #0a66c2 !important; }
.qoh-soc-ic.yt  { background: #ff0000 !important; }
.qoh-soc-ic.tv  { background: #9146ff !important; }
.qoh-soc-ic.tk  { background: #000000 !important; }
.qoh-soc-ic.sc  { background: #fffc00 !important; color: #111 !important; }
.qoh-soc-ic.sc:hover { color: #111 !important; }
.qoh-soc-ic.rd  { background: #ff4500 !important; }
.qoh-soc-ic.dc  { background: #5865f2 !important; }
.qoh-soc-ic.web { background: var(--c2w-primary, #d94441) !important; }
.qoh-soc-ic.wa  { background: #25d366 !important; }
.qoh-soc-ic.em  { background: #6b7280 !important; }
button.qoh-soc-ic {
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  font-family: inherit !important;
}
.qoh-soc-ic.copy { background: #374151 !important; }
.qoh-soc-ic.copy.is-copied { background: #16a34a !important; }

/* ── "Share our Event" card (ported from basket) ── */
.qoh-share-section {
  max-width: 560px !important;
  margin: 0 auto 32px !important;
  padding: 26px 36px !important;
  border-radius: 14px !important;
  border: 1px solid #e5e7eb !important;
  background: #fff !important;
  text-align: center !important;
}
.qoh-share-tag {
  font-size: 14px !important;
  color: #666 !important;
  margin: -6px 0 4px !important;
}

/* ── Countdown timer in hero (ported from basket) ── */
.qoh-countdown {
  display: inline-block !important;
  margin: 14px auto 4px !important;
  padding: 14px 26px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .82) !important;
  border: 1px solid #e5d9c6 !important;
}
.qoh-cd-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: #8a6d3b !important;
  margin-bottom: 8px !important;
  text-align: center !important;
}
.qoh-cd-units {
  display: flex !important;
  gap: 18px !important;
  justify-content: center !important;
}
.qoh-cd-unit { text-align: center !important; min-width: 44px !important; }
.qoh-cd-num {
  display: block !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #1a1215 !important;
  line-height: 1.1 !important;
}
.qoh-cd-lbl {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: #9a8a70 !important;
  margin-top: 2px !important;
}
.qoh-cd-ended { color: #c41e3a !important; margin-bottom: 0 !important; }

/* #92 — Name of Organization in Event Description */
.qoh-org-name {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #1a1215 !important;
  margin-bottom: 10px !important;
}

/* #95 — Mission block shown alongside About Organization */
.qoh-mission {
  margin-top: 18px !important;
  padding: 14px 16px !important;
  border-left: 3px solid var(--c2w-primary, #d94441) !important;
  background: #faf7f2 !important;
  border-radius: 0 8px 8px 0 !important;
  /* #115 — no forced italic; the editor's own <em>/<i> tags handle it (WYSIWYG). */
}
.qoh-mission-label {
  font-style: normal !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--c2w-primary, #d94441) !important;
  margin-bottom: 6px !important;
}

/* â”€â”€ HOMEPAGE JACKPOT PILL â”€â”€ */
.qoh-jackpot {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #e4720d !important;
  color: #fff !important;
  border-radius: 10px !important;
  min-height: 86px !important;
  padding: 16px 30px !important;
  margin: 6px auto 28px !important;
  box-sizing: border-box !important;
}

.qoh-jp-label,
.qoh-jp-amt {
  font-family: 'DM Sans', sans-serif !important;
  font-size: clamp(34px, 4.2vw, 44px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: #fff !important;
}

.qoh-jp-label {
  text-transform: uppercase !important;
}

@media (max-width: 768px) {
  .qoh-jackpot {
    min-height: 64px !important;
    border-radius: 8px !important;
    padding: 12px 20px !important;
  }

  .qoh-jp-label,
  .qoh-jp-amt {
    font-size: clamp(24px, 7.2vw, 32px) !important;
  }
}

/* â”€â”€ Responsive for homepage sections â”€â”€ */
@media (max-width: 768px) {
  .qoh-promo-banner { width: 90% !important; }
  .qoh-promo-inner { flex-direction: column !important; text-align: center !important; }
  .qoh-promo-cards { justify-content: center !important; }
  .qoh-cardinfo-inner { grid-template-columns: 1fr !important; text-align: center !important; gap: 16px !important; }
  .qoh-cardinfo-left, .qoh-cardinfo-right { text-align: center !important; }
  .qoh-cardinfo-center { justify-content: center !important; }
  .qoh-cardinfo { max-width: calc(100% - 24px) !important; padding: 14px !important; }
  .qoh-cardinfo-text { min-height: 0 !important; padding: 26px 20px !important; font-size: clamp(18px, 6vw, 24px) !important; }
  .qoh-cardinfo-center img { height: 156px !important; }
  .qoh-whyplay { padding: 36px 20px !important; }
  .qoh-whyplay-title { font-size: 22px !important; }
}

/* â”€â”€â”€ HOMEPAGE section (adim9) â€” professional editor UI â”€â”€â”€ */
.c2w-hp-editor {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 28px;
  text-align: left;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
@media (max-width: 860px) {
  .c2w-hp-editor { grid-template-columns: 1fr; }
}

/* Mini page preview */
.c2w-hp-preview { position: sticky; top: 20px; align-self: start; }
.c2w-hp-preview-label {
  font-size: 9px; font-weight: 700; letter-spacing: 1.2px;
  color: #9ca3af; text-transform: uppercase; margin-bottom: 8px; text-align: center;
}
.c2w-hp-minipage {
  border: 2px solid #e5e7eb; border-radius: 10px; overflow: hidden;
  background: #faf7f2; box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.c2w-hp-mini-row {
  padding: 7px 10px; font-size: 8px; font-weight: 600;
  letter-spacing: .5px; text-align: center; border-bottom: 1px solid #e5e7eb;
  transition: all .2s;
}
.c2w-hp-mini-row:last-child { border-bottom: 0; }
.c2w-hp-mini-header { background: var(--c2w-primary, #d94441); color: #fff; }
.c2w-hp-mini-hero { background: #0f0246; color: #fff; }
.c2w-hp-mini-promo { background: #d4842b; color: #fff; }
.c2w-hp-mini-cardinfo { background: #e8e8e8; color: #333; }
.c2w-hp-mini-board { background: #fff; color: #999; font-style: italic; }
.c2w-hp-mini-whyplay { background: #2d6a2e; color: #fff; }
.c2w-hp-mini-contact { background: #fff; color: #999; }
.c2w-hp-mini-footer { background: #1a1215; color: rgba(255,255,255,.5); }

/* Section cards */
.c2w-hp-cards { display: flex; flex-direction: column; gap: 16px; }
.c2w-hp-card {
  background: #fff; border: 1px solid #e5e7eb; border-radius: 12px;
  padding: 20px; box-shadow: 0 1px 4px rgba(0,0,0,.04);
  transition: box-shadow .2s;
}
.c2w-hp-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); }

/* Card header */
.c2w-hp-card-head {
  display: flex; align-items: center; gap: 12px; margin-bottom: 16px;
  padding-bottom: 14px; border-bottom: 1px solid #f3f4f6;
}
.c2w-hp-card-icon { font-size: 22px; flex-shrink: 0; }
.c2w-hp-card-num {
  width: 32px; height: 32px; border-radius: 8px;
  background: var(--c2w-primary, #d94441); color: #fff; font-size: 14px; font-weight: 800;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.c2w-hp-card-title { font-size: 15px; font-weight: 700; color: #111827; line-height: 1.3; }
.c2w-hp-card-desc { font-size: 12px; color: #9ca3af; margin-top: 2px; }
.c2w-hp-card-head > div { flex: 1; }

/* Toggle switch */
.c2w-hp-toggle {
  position: relative; display: inline-block; width: 44px; height: 24px;
  flex-shrink: 0; cursor: pointer; margin-left: auto;
}
.c2w-hp-toggle input[type="checkbox"] {
  opacity: 0; width: 0; height: 0; position: absolute;
}
.c2w-hp-toggle input[type="hidden"] { display: none; }
.c2w-hp-toggle-slider {
  position: absolute; inset: 0; background: #d1d5db; border-radius: 12px;
  transition: background .2s;
}
.c2w-hp-toggle-slider::before {
  content: ''; position: absolute; width: 18px; height: 18px;
  left: 3px; bottom: 3px; background: #fff; border-radius: 50%;
  transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.15);
}
.c2w-hp-toggle input[type="checkbox"]:checked + .c2w-hp-toggle-slider {
  background: var(--c2w-primary, #d94441);
}
.c2w-hp-toggle input[type="checkbox"]:checked + .c2w-hp-toggle-slider::before {
  transform: translateX(20px);
}

/* Color pickers */
.c2w-hp-color-row { display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 14px; }
.c2w-hp-color-field { display: flex; flex-direction: column; gap: 4px; }
.c2w-hp-color-pick {
  display: inline-flex; align-items: center; gap: 10px;
  background: #fff; border: 1px solid #e5e7eb; border-radius: 10px;
  padding: 5px 14px 5px 5px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  transition: border-color .2s;
}
.c2w-hp-color-pick:hover { border-color: var(--c2w-primary, #d94441); }
.c2w-hp-color-pick input[type="color"] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 40px !important; height: 40px !important;
  min-width: 40px !important; min-height: 40px !important;
  border: 2px solid #e5e7eb !important;
  border-radius: 8px !important;
  cursor: pointer;
  padding: 0 !important;
  margin: 0 !important;
  outline: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.c2w-hp-color-pick input[type="color"]::-webkit-color-swatch-wrapper {
  padding: 0 !important;
}
.c2w-hp-color-pick input[type="color"]::-webkit-color-swatch {
  border: none !important;
  border-radius: 0 !important;
}
.c2w-hp-color-pick input[type="color"]::-moz-color-swatch {
  border: none !important;
  border-radius: 0 !important;
}
.c2w-hp-color-pick input[type="color"]:hover {
  border-color: var(--c2w-primary, #d94441) !important;
}
.c2w-hp-hex {
  font-size: 13px; font-weight: 600; color: #374151;
  font-family: 'DM Sans', monospace; text-transform: uppercase;
  min-width: 62px;
}

/* Labels */
.c2w-hp-label {
  font-size: 10px !important; font-weight: 700 !important; letter-spacing: 0.8px;
  color: #6b7280 !important; text-transform: uppercase !important;
  margin-bottom: 4px; display: block;
}
.c2w-hp-hint {
  min-width: 42px;
  height: 30px;
}

/* Field layouts */
.c2w-hp-field-full { margin-bottom: 12px; }

.c2w-hp-field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 600px) {
  .c2w-hp-field-grid { grid-template-columns: 1fr; }
}

/* Card image selector */
.c2w-hp-card-selector {
  display: flex; align-items: center; gap: 14px; margin-top: 4px;
}
.c2w-hp-select {
  border: 2px solid #e5e7eb !important; border-radius: 8px !important;
  padding: 10px 12px !important; font-size: 13px !important;
  font-family: 'DM Sans', sans-serif !important; color: #374151 !important;
  background: #fff !important; min-width: 200px !important;
  box-sizing: border-box !important;
}
.c2w-hp-select:focus {
  border-color: var(--c2w-primary, #d94441) !important; outline: none !important;
  box-shadow: 0 0 0 3px rgba(217,68,65,.1) !important;
}
.c2w-hp-card-preview {
  height: 80px !important; width: auto !important;
  border-radius: 6px !important; border: 1px solid #e5e7eb;
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
}
.c2w-hp-upload-btn {
  display: inline-block !important; padding: 8px 16px !important;
  background: var(--c2w-primary, #d94441) !important; color: #fff !important;
  font-size: 12px !important; font-weight: 700 !important;
  border: none !important; border-radius: 6px !important;
  cursor: pointer !important; font-family: 'DM Sans', sans-serif !important;
  text-transform: uppercase !important; letter-spacing: .4px !important;
  margin-top: 6px !important;
}
.c2w-hp-upload-btn:hover { background: var(--c2w-accent, #b53835) !important; }

/* Mode pill buttons */
.c2w-hp-mode-pills {
  display: flex !important; gap: 8px !important; margin-top: 6px !important; flex-wrap: wrap !important;
}
.c2w-hp-pill {
  display: inline-flex !important; align-items: center !important; gap: 4px !important;
  padding: 8px 16px !important; border: 2px solid #e5e7eb !important; border-radius: 10px !important;
  background: #fff !important; cursor: pointer !important;
  font-size: 13px !important; font-weight: 600 !important; color: #6b7280 !important;
  font-family: 'DM Sans', sans-serif !important; transition: all .2s !important;
}
.c2w-hp-pill input[type="radio"] { display: none !important; }
.c2w-hp-pill:hover { border-color: var(--c2w-primary, #d94441) !important; color: var(--c2w-primary, #d94441) !important; }
.c2w-hp-pill.active,
.c2w-hp-pill:has(input:checked) {
  border-color: var(--c2w-primary, #d94441) !important; background: #fef2f2 !important; color: var(--c2w-primary, #d94441) !important;
}

/* Inputs */
.c2w-hp-card textarea,
.c2w-hp-card input[type="text"],
.c2w-hp-card input[type="url"] {
  width: 100% !important; border: 2px solid #e5e7eb !important; border-radius: 8px !important;
  padding: 10px 12px !important; font-size: 13px !important;
  font-family: 'DM Sans', sans-serif !important; color: #374151 !important;
  transition: border-color .2s; box-sizing: border-box !important;
  line-height: 1.5 !important;
}
.c2w-hp-card textarea:focus,
.c2w-hp-card input[type="text"]:focus,
.c2w-hp-card input[type="url"]:focus {
  border-color: var(--c2w-primary, #d94441) !important; outline: none !important;
  box-shadow: 0 0 0 3px rgba(217,68,65,.1) !important;
}
.c2w-hp-card textarea { resize: vertical; min-height: 48px; }

body.page-template-site-setting-php .back-arrow-img,
body.page-template-site-settings-php .back-arrow-img,
body.page-template-payment_processor_page-php .back-arrow-img,
body.page-template-reporting-page-php .back-arrow-img,
body.page-template-add-manual-order-php .back-arrow-img,
body.page-template-add-team-php .back-arrow-img,
body.page-template-addticketpackages-php .back-arrow-img,
body.page-template-printing-php .back-arrow-img,
body.page-template-pick-winner-php .back-arrow-img {
  margin: 0 0 10px !important;
}

body.page-template-site-setting-php .rtg-title-main,
body.page-template-site-settings-php .rtg-title-main,
body.page-template-payment_processor_page-php .rtg-title-main,
body.page-template-reporting-page-php .rtg-title-main,
body.page-template-add-manual-order-php .rtg-title-main,
body.page-template-add-team-php .rtg-title-main,
body.page-template-addticketpackages-php .rtg-title-main,
body.page-template-printing-php .rtg-title-main,
body.page-template-pick-winner-php .rtg-title-main {
  margin: 0 0 14px !important;
  font-size: 34px !important;
  line-height: 1.2 !important;
  color: var(--c2w-primary, #d94441) !important;
  text-align: center !important;
}

body.page-template-site-setting-php .button-shadow,
body.page-template-site-settings-php .button-shadow,
body.page-template-payment_processor_page-php .button-shadow,
body.page-template-reporting-page-php .button-shadow,
body.page-template-add-manual-order-php .button-shadow,
body.page-template-add-team-php .button-shadow,
body.page-template-addticketpackages-php .button-shadow,
body.page-template-printing-php .button-shadow,
body.page-template-pick-winner-php .button-shadow,
body.page-template-site-setting-php .button.button-red,
body.page-template-site-settings-php .button.button-red,
body.page-template-payment_processor_page-php .button.button-red,
body.page-template-reporting-page-php .button.button-red,
body.page-template-add-manual-order-php .button.button-red,
body.page-template-add-team-php .button.button-red,
body.page-template-addticketpackages-php .button.button-red,
body.page-template-printing-php .button.button-red,
body.page-template-pick-winner-php .button.button-red,
body.page-template-site-setting-php input.button.button-red,
body.page-template-site-settings-php input.button.button-red,
body.page-template-payment_processor_page-php input.button.button-red,
body.page-template-reporting-page-php input.button.button-red,
body.page-template-add-manual-order-php input.button.button-red,
body.page-template-add-team-php input.button.button-red,
body.page-template-addticketpackages-php input.button.button-red,
body.page-template-printing-php input.button.button-red,
body.page-template-pick-winner-php input.button.button-red,
body.page-template-site-setting-php .button.pull-get-report-btn,
body.page-template-site-settings-php .button.pull-get-report-btn,
body.page-template-payment_processor_page-php .button.pull-get-report-btn,
body.page-template-reporting-page-php .button.pull-get-report-btn,
body.page-template-add-manual-order-php .button.pull-get-report-btn,
body.page-template-add-team-php .button.pull-get-report-btn,
body.page-template-addticketpackages-php .button.pull-get-report-btn,
body.page-template-printing-php .button.pull-get-report-btn,
body.page-template-pick-winner-php .button.pull-get-report-btn,
.add-prizes-main .button.button-red,
.add-prizes-main input.button.button-red,
.add-prizes-main a.button.button-red,
.add-prizes-main .add-basket-button12,
.add-prizes-main .button.pull-get-report-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: auto !important;
  padding: 9px 20px !important;
  border-radius: 6px !important;
  border: 1px solid var(--c2w-primary, #d94441) !important;
  background: var(--c2w-primary, #d94441) !important;
  color: #ffffff !important;
  line-height: 1.4 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
  white-space: nowrap !important;
}
/* Rearrange / save-reorder link ï¿½ keep it compact */
.add-prizes-main .prize-button {
  text-align: center !important;
  margin: 10px 0 18px !important;
}
.add-prizes-main .prize-button .reorder_link {
  display: inline-flex !important;
  align-items: center !important;
  padding: 9px 22px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  min-height: auto !important;
  border: 1px solid var(--c2w-primary, #d94441) !important;
  background: var(--c2w-primary, #d94441) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.page-template-site-setting-php .tablinks.button-shadow,
body.page-template-site-settings-php .tablinks.button-shadow,
body.page-template-payment_processor_page-php .tablinks.button-shadow,
body.page-template-payment_processor_page-php .tablinks2.button-shadow,
body.page-template-site-setting-php .c2w-settings-tab,
body.page-template-site-settings-php .c2w-settings-tab,
.add-prizes-main .tablinks.button-shadow,
.add-prizes-main .tablinks2.button-shadow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 14px 24px !important;
  border-radius: 999px !important;
  border: 2px solid var(--c2w-primary, #d94441) !important;
  background: var(--c2w-primary, #d94441) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 10px 22px rgba(4, 22, 67, 0.22) !important;
  white-space: nowrap !important;
}

body.page-template-site-setting-php .tablinks.button-shadow.active,
body.page-template-site-setting-php .tablinks.button-shadow:hover,
body.page-template-site-settings-php .tablinks.button-shadow.active,
body.page-template-site-settings-php .tablinks.button-shadow:hover,
body.page-template-payment_processor_page-php .tablinks.button-shadow.active,
body.page-template-payment_processor_page-php .tablinks.button-shadow:hover,
body.page-template-payment_processor_page-php .tablinks2.button-shadow.active,
body.page-template-payment_processor_page-php .tablinks2.button-shadow:hover,
body.page-template-site-setting-php .c2w-settings-tab.active,
body.page-template-site-setting-php .c2w-settings-tab:hover,
body.page-template-site-settings-php .c2w-settings-tab.active,
body.page-template-site-settings-php .c2w-settings-tab:hover,
.add-prizes-main .tablinks.button-shadow.active,
.add-prizes-main .tablinks.button-shadow:hover,
.add-prizes-main .tablinks2.button-shadow.active,
.add-prizes-main .tablinks2.button-shadow:hover {
  background: var(--c2w-primary, #d94441) !important;
  border-color: var(--c2w-primary, #d94441) !important;
  box-shadow: 0 12px 24px rgba(20, 78, 190, 0.28) !important;
}

body.page-template-site-setting-php .button-shadow:hover,
body.page-template-site-settings-php .button-shadow:hover,
body.page-template-payment_processor_page-php .button-shadow:hover,
body.page-template-reporting-page-php .button-shadow:hover,
body.page-template-add-manual-order-php .button-shadow:hover,
body.page-template-add-team-php .button-shadow:hover,
body.page-template-addticketpackages-php .button-shadow:hover,
body.page-template-printing-php .button-shadow:hover,
body.page-template-pick-winner-php .button-shadow:hover,
body.page-template-site-setting-php .button.button-red:hover,
body.page-template-site-settings-php .button.button-red:hover,
body.page-template-payment_processor_page-php .button.button-red:hover,
body.page-template-reporting-page-php .button.button-red:hover,
body.page-template-add-manual-order-php .button.button-red:hover,
body.page-template-add-team-php .button.button-red:hover,
body.page-template-addticketpackages-php .button.button-red:hover,
body.page-template-printing-php .button.button-red:hover,
body.page-template-pick-winner-php .button.button-red:hover,
body.page-template-site-setting-php input.button.button-red:hover,
body.page-template-site-settings-php input.button.button-red:hover,
body.page-template-payment_processor_page-php input.button.button-red:hover,
body.page-template-reporting-page-php input.button.button-red:hover,
body.page-template-add-manual-order-php input.button.button-red:hover,
body.page-template-add-team-php input.button.button-red:hover,
body.page-template-addticketpackages-php input.button.button-red:hover,
body.page-template-printing-php input.button.button-red:hover,
body.page-template-pick-winner-php input.button.button-red:hover,
body.page-template-site-setting-php .button.pull-get-report-btn:hover,
body.page-template-site-settings-php .button.pull-get-report-btn:hover,
body.page-template-payment_processor_page-php .button.pull-get-report-btn:hover,
body.page-template-reporting-page-php .button.pull-get-report-btn:hover,
body.page-template-add-manual-order-php .button.pull-get-report-btn:hover,
body.page-template-add-team-php .button.pull-get-report-btn:hover,
body.page-template-addticketpackages-php .button.pull-get-report-btn:hover,
body.page-template-printing-php .button.pull-get-report-btn:hover,
body.page-template-pick-winner-php .button.pull-get-report-btn:hover,
.add-prizes-main .button.button-red:hover,
.add-prizes-main input.button.button-red:hover,
.add-prizes-main a.button.button-red:hover,
.add-prizes-main .add-basket-button12:hover,
.add-prizes-main .button.pull-get-report-btn:hover {
  background: var(--c2w-accent, #b53835) !important;
  border-color: var(--c2w-accent, #b53835) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 26px rgba(20, 78, 190, 0.3) !important;
}
/* -- Kill transform/heavy-shadow on prize-dashboard buttons to prevent "dancing" -- */
.add-prizes-main .c2w-prize-form-card .add-basket-button12:hover,
.add-prizes-main .c2w-prize-layout-wrapper .add-basket-button12:hover,
.add-prizes-main .click-button a.click-data:hover,
.add-prizes-main .catg-block:hover,
.add-prizes-main .catg-block .basket-achor:hover,
.add-prizes-main .catg-block .c2w-icon-btn:hover,
.add-prizes-main .back-arrow-img a:hover,
.add-prizes-main .c2w-reset-btn:hover,
.add-prizes-main .c2w-sidebar-link:hover {
  transform: none !important;
}

body.page-template-site-setting-php .layout-tab.tab button.tablinks,
body.page-template-site-settings-php .layout-tab.tab button.tablinks,
body.page-template-payment_processor_page-php .layout-tab.tab button.tablinks,
body.page-template-payment_processor_page-php .layout-tab.tab button.tablinks2,
.add-prizes-main .layout-tab.tab button.tablinks,
.add-prizes-main .layout-tab.tab button.tablinks2 {
  float: none !important;
  width: auto !important;
  margin: 0 10px 10px 0 !important;
}

body.page-template-site-setting-php .c2w-settings-switch,
body.page-template-site-settings-php .c2w-settings-switch {
  padding: 6px !important;
  background: linear-gradient(180deg, #d4dae4 0%, #c8d0dc 100%) !important;
  border: 1px solid #bfc8d6 !important;
  border-radius: 999px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
}

@media (max-width: 768px) {
  body.page-template-site-setting-php .site-sett.site-setting-main,
  body.page-template-site-settings-php .site-sett.site-setting-main,
  body.page-template-payment_processor_page-php .site-sett.payment-processor-main,
  body.page-template-reporting-page-php .report-page12.report-page-main,
  body.page-template-add-manual-order-php .add-manual12,
  body.page-template-add-team-php .add-team12,
  body.page-template-addticketpackages-php .ticket-packages,
  body.page-template-printing-php .report-page12.ticket-printing-main,
  body.page-template-pick-winner-php .pick-winner-front-end {
    width: calc(100% - 16px) !important;
    margin: 10px auto 18px !important;
    padding: 14px 10px 18px !important;
    border-radius: 12px !important;
  }

  body.page-template-site-setting-php .rtg-title-main,
  body.page-template-site-settings-php .rtg-title-main,
  body.page-template-payment_processor_page-php .rtg-title-main,
  body.page-template-reporting-page-php .rtg-title-main,
  body.page-template-add-manual-order-php .rtg-title-main,
  body.page-template-add-team-php .rtg-title-main,
  body.page-template-addticketpackages-php .rtg-title-main,
  body.page-template-printing-php .rtg-title-main,
  body.page-template-pick-winner-php .rtg-title-main {
    font-size: 26px !important;
  }
}

/* Add Manual Order final override (must remain last) */
body.page-template-add-manual-order-php .add-manual12 {
  float: none !important;
  width: min(1260px, calc(100% - 24px)) !important;
  margin: 16px auto 24px !important;
  padding: 18px !important;
  background: #ffffff !important;
  border: 1px solid var(--c2w-primary-soft, #f5c6c6) !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 32px rgba(13, 44, 110, 0.08) !important;
}

body.page-template-add-manual-order-php #colophon {
  clear: both !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}

/* â”€â”€ Inner-page horizontal hero system â€” RED brand, matches inner-pages-design layout â”€â”€ */
.c2w-page-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: clamp(28px, 4vw, 44px) clamp(20px, 3vw, 36px);
  background: linear-gradient(104deg, var(--c2w-primary, #d94441) 0%, var(--c2w-accent, #b53835) 100%) !important;
  color: #ffffff !important;
  border-radius: 14px;
  box-shadow: 0 18px 34px rgba(7, 45, 98, 0.22);
  margin: 8px 0 28px !important;
}

.c2w-page-hero__eyebrow {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 7px;
}

.c2w-page-hero__h1 {
  font-size: clamp(22px, 2.8vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
  color: #ffffff !important;
  text-align: left !important;
  text-transform: none !important;
  margin: 0 !important;
}

.c2w-page-hero__h1 em {
  font-style: normal;
  color: rgba(255, 255, 255, 0.85);
}

.c2w-page-hero__desc {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.88) !important;
  margin-top: 8px !important;
  max-width: 560px;
  line-height: 1.5 !important;
}

/* Stat chips on hero right side */
.c2w-page-hero__stats {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.c2w-stat-chip {
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 10px;
  padding: 12px 16px;
  text-align: left;
  min-width: 96px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  backdrop-filter: blur(4px);
}

.c2w-stat-chip b {
  font-size: 20px;
  font-weight: 900;
  color: #ffffff;
  line-height: 1;
  display: block;
}

.c2w-stat-chip span {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.75);
}

.c2w-stat-chip--accent {
  background: rgba(0, 0, 0, 0.2);
  border-color: rgba(0, 0, 0, 0.2);
}

@media (max-width: 767px) {
  .c2w-page-hero {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    border-radius: 12px;
    margin-bottom: 20px !important;
  }
  .c2w-page-hero__stats {
    width: 100%;
    flex-wrap: wrap;
  }
  .c2w-stat-chip {
    flex: 1;
    min-width: 80px;
  }
}

/* =========================================================
   ADD TEAM modern layout parity (ported from chance_basket_v2)
   ========================================================= */

/* Hide legacy duplicate sections only when modern .c2w-at exists */
.tpl-add-team .c2w-at ~ .full-row1,
.tpl-add-team .c2w-at ~ #order_data {
  display: none !important;
}

/* Shell */
.tpl-add-team,
.tpl-add-team .container1,
.tpl-add-team .left-right-space {
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  background: #f5f7fb;
  box-shadow: none !important;
  border: none !important;
}

.tpl-add-team {
  min-height: 100vh;
}

body.page-template-add-team .container1,
body.page-template-add-team-php .container1 {
  padding: 0 !important;
  max-width: 100% !important;
}

.tpl-add-team .back-arrow-img {
  padding: 16px 32px 4px !important;
  margin: 0 !important;
}

/* c2w-at page structure */
.c2w-at {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #f5f7fb;
  color: var(--c2w-secondary, #0a1f44);
  padding: 0;
  margin: 0 auto;
  max-width: 1400px;
}

.c2w-at * {
  box-sizing: border-box;
}

.c2w-at-hero {
  background: #fff;
  border-bottom: 1px solid #e3e7ef;
  padding: 22px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.c2w-at-hero-left {
  flex: 1;
  min-width: 280px;
}

.c2w-at-back {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 600;
  color: #6b7390;
  text-decoration: none;
  margin-bottom: 10px;
}

.c2w-at-back:hover {
  color: var(--c2w-secondary, #0a1f44);
}

.c2w-at-eyebrow {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c2w-primary, #c8102e);
  margin-bottom: 6px;
}

.c2w-at-hero-left h1 {
  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--c2w-secondary, #0a1f44) !important;
  margin: 0 !important;
  text-align: left !important;
  text-transform: none !important;
  font-family: 'Inter', sans-serif !important;
}

.c2w-at-hero-left h1 em {
  font-style: normal;
  color: var(--c2w-primary, #c8102e);
}

.c2w-at-hero-left p {
  font-size: 13px;
  color: #6b7390;
  margin: 6px 0 0;
  max-width: 620px;
  line-height: 1.5;
}

.c2w-at-stats {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.c2w-at-stat {
  background: #fff;
  border: 1px solid #e3e7ef;
  border-radius: 8px;
  padding: 10px 16px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 96px;
}

.c2w-at-stat b {
  font-size: 20px;
  font-weight: 900;
  color: var(--c2w-secondary, #0a1f44);
  line-height: 1;
}

.c2w-at-stat span {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #6b7390;
}

.c2w-at-stat--accent {
  background: var(--c2w-secondary, #0a1f44);
  border-color: var(--c2w-secondary, #0a1f44);
}

.c2w-at-stat--accent b {
  color: #fff;
}

.c2w-at-stat--accent span {
  color: rgba(255, 255, 255, 0.65);
}

.c2w-at-modebar {
  background: #fff;
  border-bottom: 1px solid #e3e7ef;
  padding: 14px 32px;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.c2w-at-modes {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.c2w-at-pill {
  background: #fff;
  border: 1px solid #e3e7ef;
  border-radius: 6px;
  padding: 9px 16px;
  font-size: 11.5px;
  color: #3b4566;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-family: inherit;
  line-height: 1;
}

.c2w-at-pill-ic {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background: rgba(10, 31, 68, 0.06);
  color: var(--c2w-secondary, #0a1f44);
  display: grid;
  place-items: center;
}

.c2w-at-pill.is-active {
  background: var(--c2w-primary, #c8102e);
  color: #fff;
  border-color: var(--c2w-primary, #c8102e);
}

.c2w-at-pill.is-active .c2w-at-pill-ic {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

.c2w-at-reqbar {
  padding: 12px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  background: linear-gradient(90deg, rgba(200, 16, 46, 0.04), #fff);
  border-bottom: 1px solid #e3e7ef;
}

.c2w-at-reqbar-left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
}

.c2w-at-reqbar-ic {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: var(--c2w-primary, #c8102e);
  color: #fff;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.c2w-at-reqbar-text b {
  font-size: 13px;
  font-weight: 800;
  color: var(--c2w-secondary, #0a1f44);
}

.c2w-at-reqbar-text span {
  font-size: 11.5px;
  color: #6b7390;
}

.c2w-at-req-toggle {
  display: flex;
  background: #fff;
  border: 1px solid #e3e7ef;
  border-radius: 6px;
  overflow: hidden;
}

.c2w-at-req-opt input {
  display: none;
}

.c2w-at-req-opt span {
  font-size: 11px;
  font-weight: 800;
  color: #3b4566;
  padding: 8px 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.c2w-at-req-opt.is-on span {
  background: var(--c2w-secondary, #0a1f44);
  color: #fff;
}

.c2w-at-body {
  padding: 18px 32px;
  background: #f5f7fb;
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(420px, 1.4fr);
  gap: 16px;
  align-items: start;
}

.c2w-at-card {
  background: #fff;
  border: 1px solid #e3e7ef;
  border-radius: 8px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c2w-at-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e3e7ef;
}

.c2w-at-card-head h3 {
  font-size: 12.5px !important;
  font-weight: 800 !important;
  color: var(--c2w-secondary, #0a1f44) !important;
  flex: 1;
  text-transform: uppercase !important;
  letter-spacing: 0.06em;
  margin: 0 !important;
  text-align: left !important;
}

.c2w-at-card-tag {
  font-size: 9px;
  font-weight: 700;
  color: #6b7390;
  background: rgba(10, 31, 68, 0.06);
  padding: 3px 8px;
  border-radius: 4px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c2w-at-helper {
  font-size: 12px;
  color: #6b7390;
  line-height: 1.5;
}

.c2w-at-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.c2w-at-field label {
  font-size: 10px;
  font-weight: 800;
  color: #6b7390;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.c2w-at-input {
  background: #fff;
  border: 1px solid #dbe3f1;
  border-radius: 5px;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--c2w-secondary, #0a1f44);
  font-weight: 500;
  font-family: inherit;
  width: 100%;
}

.c2w-at-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 4px;
  flex-wrap: wrap;
}

.c2w-at-btn {
  padding: 11px 18px;
  border-radius: 6px;
  font-weight: 800;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  cursor: pointer;
  border: 1px solid transparent;
  text-decoration: none;
}

.c2w-at-btn--ghost {
  background: #fff !important;
  border: 1px solid #e3e7ef !important;
  color: #3b4566 !important;
}

.c2w-at-btn--primary {
  background: var(--c2w-primary, #c8102e) !important;
  color: #fff !important;
  border: 1px solid var(--c2w-primary, #c8102e) !important;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.18) !important;
}

.c2w-at-iconbtn {
  min-width: 30px;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: 1px solid #e3e7ef;
  background: #fff;
  color: #576080;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  cursor: pointer;
  font-weight: 800;
  padding: 0;
}

.c2w-at-iconbtn:hover {
  border-color: #cfd7e7;
  color: var(--c2w-secondary, #0a1f44);
}

.c2w-at-iconbtn.is-loaded {
  background: #f5f7fb;
  color: var(--c2w-primary, #c8102e);
  border-color: #d9dee9;
}

.c2w-at-iconbtn svg {
  width: 14px;
  height: 14px;
}

.c2w-at-tcard-actions {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-shrink: 0;
}

.c2w-at-listing {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.c2w-at-listing-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.c2w-at-export {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 8px;
  border: 1px solid #dbe3f1;
  background: #fff;
  color: var(--c2w-secondary, #0a1f44);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}

.c2w-at-export:hover {
  border-color: var(--c2w-primary, #c8102e);
  color: var(--c2w-primary, #c8102e);
}

.c2w-at-listing-head h3 {
  font-size: 12.5px !important;
  font-weight: 800 !important;
  color: var(--c2w-secondary, #0a1f44) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em;
  margin: 0 !important;
}

.c2w-at-count {
  background: var(--c2w-secondary, #0a1f44);
  color: #fff;
  border-radius: 10px;
  padding: 2px 9px;
  font-size: 10px;
  font-weight: 800;
}

.c2w-at-tcard {
  background: #fff;
  border: 1px solid #e3e7ef;
  border-radius: 8px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.c2w-at-tcard-top {
  display: flex;
  align-items: center;
  gap: 11px;
}

.c2w-at-mono {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--c2w-primary, #c8102e), rgba(0, 0, 0, 0.25));
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 13px;
}

.c2w-at-tcard-name {
  font-size: 14px;
  font-weight: 800;
  color: var(--c2w-secondary, #0a1f44);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.c2w-at-badge {
  font-size: 9px;
  font-weight: 800;
  color: var(--c2w-secondary, #0a1f44);
  background: rgba(10, 31, 68, 0.08);
  padding: 2px 8px;
  border-radius: 10px;
}

.c2w-at-rank {
  font-size: 9px;
  font-weight: 900;
  color: #fff;
  background: var(--c2w-primary, #c8102e);
  padding: 2px 8px;
  border-radius: 10px;
}

.c2w-at-alpha {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  padding-top: 9px;
  border-top: 1px dashed #e3e7ef;
}

.c2w-at-a {
  min-width: 22px;
  height: 22px;
  border-radius: 4px;
  background: rgba(10, 31, 68, 0.06);
  color: var(--c2w-secondary, #0a1f44);
  font-size: 10px;
  font-weight: 800;
  display: grid;
  place-items: center;
  padding: 0 6px;
  text-decoration: none;
}

.c2w-at-a.c2w-active-btn {
  background: var(--c2w-primary, #c8102e);
  color: #fff;
}

.c2w-at-members {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.c2w-at-members .member-card,
.c2w-at-members > div {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  padding: 8px 11px;
  background: #f5f7fb;
  border: 1px solid #e3e7ef;
  border-radius: 5px;
  font-size: 12px;
}

.c2w-at-members .member-card {
  /* #161 — 4th column for the member delete control */
  grid-template-columns: minmax(0, 1fr) auto auto auto;
}
.c2w-at-members .member-card .member-delete {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; border-radius: 50%;
  background: #fce4ec; color: #c62828;
  font-size: 14px; font-weight: 700; line-height: 1;
  text-decoration: none;
}
.c2w-at-members .member-card .member-delete:hover { background: #c62828; color: #fff; }

.c2w-at-members .member-name {
  font-weight: 700;
  color: var(--c2w-secondary, #0a1f44);
  min-width: 0;
}

.c2w-at-members .member-tickets,
.c2w-at-members .member-sales {
  white-space: nowrap;
  color: #6b7390;
  font-weight: 700;
}

.c2w-members-loading {
  padding: 10px 12px;
  border: 1px dashed #d7ddea;
  border-radius: 6px;
  color: #6b7390;
  background: #fff;
  font-size: 12px;
}

.c2w-at-loadmore {
  display: flex;
  justify-content: center;
  padding-top: 6px;
}

@media (max-width: 980px) {
  .c2w-at-body {
    grid-template-columns: 1fr;
  }
  .c2w-at-hero {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .c2w-at-body {
    padding: 12px 16px;
  }
  .c2w-at-hero,
  .c2w-at-modebar,
  .c2w-at-reqbar {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* =========================================================================
   PHASE A ï¿½ Header Bar (inner pages)
   ========================================================================= */

/* Hide legacy masthead on inner pages */
body:not(.home):not(.page-template-newdesign) #masthead {
  display: none !important;
}

.c2w-header-bar {
  background: var(--c2w-primary, #d94441);
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.c2w-header-bar__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 10px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.c2w-header-bar__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: #fff;
}

.c2w-header-bar__brand:hover {
  color: #fff;
  text-decoration: none;
}

.c2w-header-bar__logo {
  height: 80px !important;
  width: auto;
  object-fit: contain;
}

.c2w-header-bar__name {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.3px;
}

.c2w-header-bar__nav {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* ════ Floating Edit Order Button ════ */
.c2w-float-edit-order {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 26px;
  background: linear-gradient(135deg, var(--c2w-primary, #d94441) 0%, var(--c2w-secondary, #0a1f44) 100%);
  color: #fff !important;
  border-radius: 100px;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 6px 24px rgba(217,68,65,0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  white-space: nowrap;
}
.c2w-float-edit-order:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(217,68,65,0.45);
  color: #fff !important;
  text-decoration: none !important;
}
@media (max-width: 480px) {
  .c2w-float-edit-order { bottom: 16px; right: 16px; padding: 12px 18px; font-size: 14px; }
}

.c2w-header-bar__btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
  white-space: nowrap;
  cursor: pointer;
}

.c2w-header-bar__btn--outline {
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, 0.5);
}

.c2w-header-bar__btn--outline:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
  color: #fff;
  text-decoration: none;
}

.c2w-header-bar__btn--primary {
  background: var(--c2w-accent, #b53835);
  color: #ffffff;
  border: 1.5px solid transparent;
}

.c2w-header-bar__btn--primary:hover {
  opacity: 0.9;
  color: #ffffff;
  text-decoration: none;
}

@media (max-width: 600px) {
  .c2w-header-bar__inner {
    padding: 8px 16px;
  }
  .c2w-header-bar__name {
    font-size: 15px;
  }
  .c2w-header-bar__btn {
    padding: 6px 14px;
    font-size: 13px;
  }
  .c2w-header-bar__logo {
    height: 50px;
  }
}

/* =========================================================================
   PHASE B ï¿½ Footer Bar
   ========================================================================= */

.c2w-footer {
  background: var(--c2w-primary, #d94441);
  color: #fff;
  padding: 0;
  margin-top: 0;
}

.c2w-footer__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.c2w-footer__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.c2w-footer__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 1px;
}

.c2w-footer__powered {
  font-size: 14px;
  opacity: 0.9;
}

.c2w-footer__powered strong {
  font-weight: 700;
  opacity: 1;
}

.c2w-footer__links {
  flex: 1;
  display: flex;
  justify-content: center;
}

.c2w-footer__menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
}

.c2w-footer__menu li {
  margin: 0;
  padding: 0;
}

.c2w-footer__menu a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  transition: color 0.2s;
}

.c2w-footer__menu a:hover {
  color: #fff;
  text-decoration: none;
}

.c2w-footer__cta {
  flex-shrink: 0;
}

.c2w-footer__btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 22px;
  background: var(--c2w-accent, #b53835);
  color: #ffffff;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.c2w-footer__btn:hover {
  opacity: 0.9;
  color: #ffffff;
  text-decoration: none;
}

@media (max-width: 768px) {
  .c2w-footer__inner {
    flex-direction: column;
    text-align: center;
    padding: 20px 16px;
    gap: 16px;
  }
  .c2w-footer__menu {
    gap: 16px;
  }
}

/* =========================================================================
   PHASE C ï¿½ Category Page (Step Progress + Table + Sidebar)
   ========================================================================= */

/* -- Page wrapper -- */
.c2w-category-page {
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px 36px 60px;
  position: relative;
  z-index: 1;
}

/* -- 3-Step Progress Bar -- */
.c2w-steps {
  margin-bottom: 32px;
}

.c2w-steps-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  background: #fff;
  border: 1px solid var(--c2w-primary-soft, #f5c6c6);
  border-radius: 16px;
  overflow: hidden;
}

.c2w-step {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 20px 24px;
  position: relative;
  transition: all 0.3s cubic-bezier(.4,0,.2,1);
  cursor: pointer;
  border-right: 1px solid var(--c2w-primary-soft, #f5c6c6);
}

.c2w-step:last-child {
  border-right: none;
}

.c2w-step:hover {
  background: #fef2f2;
}

.c2w-step--active {
  background: #fef2f2;
}

.c2w-step--active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 20%;
  right: 20%;
  height: 3px;
  background: var(--c2w-primary, #d94441);
  border-radius: 3px 3px 0 0;
}

.c2w-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid var(--c2w-primary-soft, #f5c6c6);
  color: var(--c2w-primary, #d94441); /* #135b — readable palette number (was --c2w-primary-soft, a light tint → the count was almost invisible) */
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.c2w-step--active .c2w-step__num {
  background: var(--c2w-primary, #d94441); /* #135 — was missing: the white number sat on no fill, so the active circle looked empty on every palette */
  border-color: var(--c2w-primary, #d94441);
  color: #fff;
  box-shadow: 0 2px 8px rgba(59, 84, 164, 0.2);
}

.c2w-step__num--icon {
  font-size: 16px;
}

.c2w-step__info {
  min-width: 0;
}

.c2w-step__title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #1a1a2e;
  line-height: 1.3;
}

.c2w-step--active .c2w-step__title {
  color: var(--c2w-primary, #d94441);
}

.c2w-step__title a {
  color: inherit;
  text-decoration: none;
}

.c2w-step__title a:hover {
  text-decoration: none;
  opacity: 0.8;
}

.c2w-step__sub {
  font-size: 11px;
  color: #8b90a5;
  margin-top: 1px;
}

/* -- Two-column layout -- */
.c2w-cat-layout {
  display: grid;
  grid-template-columns: 1fr 380px !important;
  gap: 28px;
  align-items: start;
}

/* -- Full-width layout (no sidebar) -- */
.c2w-cat-layout--full {
  grid-template-columns: 1fr !important;
}

/* -- Main Content Column (holds Step 1 & Step 2) -- */
.c2w-main-content {
  min-width: 0;
}

/* -- Unified Ticket Tracker Bar -- */
.c2w-ticket-tracker {
  background: linear-gradient(135deg, var(--c2w-primary, #d94441) 0%, var(--c2w-secondary, #0a1f44) 100%);
  border-radius: 0 0 14px 14px;
  padding: 20px 24px;
  margin-top: 0;
  color: #fff;
  position: sticky;
  top: 80px; /* flush against the sticky skin topbar */
  z-index: 100;
}

/* ── Compact tracker summary (Total / Assigned / Remaining + progress + toggle) ── */
.c2w-tracker-summary {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.c2w-tracker-stats {
  display: flex;
  align-items: baseline;
  gap: 22px;
  flex: 0 0 auto;
}
.c2w-tracker-stat {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font-size: 13px;
}
.c2w-tracker-stat > span { opacity: 0.82; }
.c2w-tracker-stat b { font-size: 17px; font-weight: 800; }
.c2w-tracker-bar {
  flex: 1 1 160px;
  min-width: 120px;
  height: 8px;
  background: rgba(255,255,255,0.25);
  border-radius: 100px;
  overflow: hidden;
}
.c2w-tracker-bar > span {
  display: block;
  height: 100%;
  width: 0;
  background: #fff;
  border-radius: 100px;
  transition: width 0.35s ease;
}
.c2w-tracker-details-toggle {
  flex: 0 0 auto;
  background: rgba(255,255,255,0.16);
  border: 1px solid rgba(255,255,255,0.35);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 100px;
  cursor: pointer;
  transition: background 0.2s ease;
  white-space: nowrap;
}
.c2w-tracker-details-toggle:hover { background: rgba(255,255,255,0.28); }
.c2w-tracker-caret { display: inline-block; transition: transform 0.2s ease; }
.c2w-tracker-details-toggle.is-open .c2w-tracker-caret { transform: rotate(180deg); }
.c2w-tracker-details { margin-top: 8px; }
@media (max-width: 560px) {
  .c2w-tracker-summary { gap: 12px; }
  .c2w-tracker-stats { gap: 16px; width: 100%; justify-content: space-between; }
  .c2w-tracker-bar { order: 3; flex-basis: 100%; }
}
/* Admin bar adds 32px */


.c2w-ticket-tracker__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.c2w-ticket-tracker__avail {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 15px;
  color: rgba(255,255,255,0.9);
}

.c2w-ticket-tracker__avail strong {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
}

.c2w-ticket-tracker__info {
  display: flex;
  align-items: center;
  gap: 12px;
}

.c2w-ticket-tracker__icon {
  font-size: 28px;
  line-height: 1;
}

.c2w-ticket-tracker__text {
  font-family: 'Instrument Sans', sans-serif;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.9);
}

.c2w-ticket-tracker__text strong {
  color: #fff;
  font-size: 20px;
  font-weight: 800;
}

.c2w-ticket-tracker__btn {
  flex-shrink: 0;
  padding: 12px 28px;
  background: #fff;
  color: var(--c2w-primary, #d94441);
  border: none;
  border-radius: 100px;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.c2w-ticket-tracker__btn:hover {
  background: #f0f4ff;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

/* Checkout button variant ï¿½ green highlight */
.c2w-ticket-tracker__btn--checkout {
  background: #fff !important;
  color: var(--c2w-secondary, #0a1f44) !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
.c2w-ticket-tracker__btn--checkout:hover {
  background: var(--c2w-primary-soft, #fdf1f1) !important;
  color: var(--c2w-secondary, #0a1f44) !important;
  text-decoration: none !important;
  transform: translateY(-1px);
}

/* Tracker sections (Ticket Packages / Prize Baskets) */
.c2w-ticket-tracker__section,
.c2w-ticket-tracker__section--baskets {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.15);
}

.c2w-ticket-tracker__label {
  font-family: 'Instrument Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: rgba(255,255,255,0.55);
  margin-bottom: 8px;
}

.c2w-ticket-tracker__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.c2w-ticket-tracker__pills:empty {
  display: none;
}

/* Package pill variant */
.c2w-tracker-item--pkg {
  background: rgba(255,255,255,0.2) !important;
  border-color: rgba(255,255,255,0.3) !important;
}

/* Basket pill variant */
.c2w-tracker-item--basket {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.2) !important;
}

/* â•â•â• MINI CART PANEL (category page) â•â•â• */
.c2w-minicart-panel {
  background: #fff;
  border: 1.5px solid #e2e8f0;
  border-radius: 14px;
  margin-bottom: 24px;
  overflow: hidden;
}
.c2w-minicart-panel__header {
  background: linear-gradient(135deg, var(--c2w-primary, #d94441) 0%, var(--c2w-accent, #b53835) 100%);
  padding: 14px 20px;
}
.c2w-minicart-panel__header h3 {
  margin: 0;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}
.c2w-minicart-panel__header h3 i {
  margin-right: 8px;
}
.c2w-minicart-panel__body {
  padding: 16px 20px;
}
.c2w-minicart-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.c2w-minicart-table th {
  text-align: left;
  font-weight: 600;
  color: #6b7280;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 6px 8px;
  border-bottom: 1px solid #e5e7eb;
}
.c2w-minicart-table td {
  padding: 10px 8px;
  border-bottom: 1px solid #f3f4f6;
  color: #1a1a2e;
}
.c2w-minicart-table tfoot td {
  border-bottom: none;
  padding-top: 12px;
  font-size: 14px;
}
.c2w-minicart-remove {
  background: none;
  border: none;
  color: var(--c2w-primary, #d94441);
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
  line-height: 1;
}
.c2w-minicart-remove:hover {
  background: #fee2e2;
}
.c2w-minicart-cards {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e5e7eb;
}
.c2w-minicart-cards h4 {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
}
.c2w-minicart-cards__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.c2w-minicart-cards__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 100px;
  padding: 4px 10px;
  font-size: 12px;
  color: #991b1b;
}
.c2w-minicart-cards__remove {
  background: none;
  border: none;
  color: #dc2626;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  padding: 0 2px;
  line-height: 1;
}
.c2w-minicart-panel__footer {
  padding: 12px 20px;
  border-top: 1px solid #e5e7eb;
  text-align: right;
}
.c2w-minicart-btn {
  display: inline-block;
  padding: 10px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  border: none;
  transition: all .2s ease;
}
.c2w-minicart-btn--assign {
  background: var(--c2w-primary, #d94441);
  color: #fff;
}
.c2w-minicart-btn--assign:hover {
  background: var(--c2w-accent, #b53835);
}
.c2w-minicart-btn--checkout {
  background: #16a34a;
  color: #fff;
}
.c2w-minicart-btn--checkout:hover {
  background: #15803d;
  color: #fff;
}

/* -- Step 2: Basket section (rendered by raffle_baskets_category) -- */
.c2w-main-content .select-option-top {
  padding: 16px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  clear: both;
}

.c2w-main-content .select-option-top h2 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0;
  float: none !important;
}

.c2w-main-content .select-option-top .select-option {
  float: none !important;
  margin: 0 !important;
}

.c2w-main-content .select-option select {
  padding: 8px 14px;
  border: 1px solid var(--c2w-primary-soft, #f5c6c6);
  border-radius: 8px;
  font-size: 13px;
  font-family: 'Instrument Sans', sans-serif;
  background: #fff;
  color: #1a1a2e;
}

.c2w-main-content #baskets {
  margin-top: 16px;
}

/* -- Ticket Assignment Tracker -- */
.c2w-assign-tracker {
  background: var(--c2w-primary, #d94441);
  border-radius: 14px;
  padding: 18px 24px;
  margin-bottom: 20px;
  color: #fff;
}
.c2w-assign-tracker__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.c2w-assign-tracker__avail {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 15px;
  color: rgba(255,255,255,0.9);
}
.c2w-assign-tracker__avail strong {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
}
.c2w-assign-tracker__icon {
  font-size: 28px;
  line-height: 1;
}
.c2w-assign-tracker__checkout {
  flex-shrink: 0;
  padding: 10px 24px;
  background: #fff;
  color: var(--c2w-primary, #d94441);
  border: none;
  border-radius: 100px;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.c2w-assign-tracker__checkout:hover {
  background: #f0f4ff;
  color: var(--c2w-primary, #d94441);
  text-decoration: none;
  transform: translateY(-1px);
}
.c2w-assign-tracker__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.c2w-assign-tracker__list:empty {
  margin-top: 0;
}

/* Tracker basket items */
.c2w-tracker-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 100px;
  padding: 6px 8px 6px 14px;
  font-size: 12.5px;
  font-weight: 600;
  backdrop-filter: blur(4px);
}
.c2w-tracker-item__name {
  color: #fff;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.c2w-tracker-item__count {
  color: rgba(255,255,255,0.75);
  font-weight: 500;
}
.c2w-tracker-item__remove {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.25);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  line-height: 1;
  padding: 0;
}
.c2w-tracker-item__remove:hover {
  background: rgba(239,68,68,0.8);
}

/* -- Checkout Entries Summary -- */
.c2w-checkout-entries {
  background: var(--c2w-primary, #d94441);
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 24px;
  color: #fff;
  box-sizing: border-box;
}
.c2w-checkout-entries .c2w-checkout-entries__title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 14px;
  padding-bottom: 0;
  border-bottom: none;
  /* !important: a global heading rule (h3 → #1a1a2e) otherwise wins over this and
     rendered the title black on the purple panel. */
  color: #fff !important;
}
.c2w-checkout-entries__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}
.c2w-checkout-entry {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(255,255,255,0.12);
  border-radius: 8px;
  padding: 10px 16px;
}
.c2w-checkout-entry__name {
  font-weight: 600;
  font-size: 14px;
}
.c2w-checkout-entry__count {
  font-size: 13px;
  background: rgba(255,255,255,0.2);
  border-radius: 100px;
  padding: 4px 12px;
  font-weight: 600;
}
.c2w-checkout-entries__total {
  text-align: right;
  font-size: 14px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.2);
  color: #fff !important;
}

/* ========================================================================
 * Jackpot Banner (reusable across pages)
 * ======================================================================== */
.c2w-jackpot-banner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  background: var(--c2w-primary, #d94441);
  border-radius: 14px;
  padding: 18px 28px;
  margin-bottom: 24px;
  color: #fff;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.c2w-jackpot-banner__label {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: .85;
}
.c2w-jackpot-banner__amt {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -.5px;
}
.c2w-jackpot-banner__cap {
  font-size: 13px;
  opacity: .92;
}

/* ========================================================================
 * Checkout Page
 * ======================================================================== */

/* Hide WP page title on checkout and thank-you */
.woocommerce-checkout .bg-third-div,
.woocommerce-order-received .bg-third-div { display: none !important; }

/* Centered single-column layout (matches basket_v2) */
.woocommerce-checkout .section980 .entry-content,
.woocommerce-checkout .section-top-less-space .entry-content {
  max-width: 1100px !important;
  margin: 0 auto !important;
}
form.woocommerce-checkout {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 30px 20px !important;
  font-family: 'Instrument Sans', 'DM Sans', -apple-system, sans-serif !important;
}

/* Two-column checkout layout (ported from Basket so Queen matches exactly).
   Left = card entries + billing + team; right = sticky order summary + payment.
   Requires woocommerce/checkout/form-checkout.php wrapping the hooks in
   .c2w-co-grid > .c2w-co-main + .c2w-co-side. */
form.woocommerce-checkout .c2w-co-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
form.woocommerce-checkout .c2w-co-main {
  min-width: 0;
}
form.woocommerce-checkout .c2w-co-side {
  min-width: 0;
  position: sticky;
  top: 20px;
}
/* Kill the trailing margins inside the sticky column so it doesn't leave dead space. */
form.woocommerce-checkout .c2w-co-side #order_review {
  margin-bottom: 0 !important;
}
/* Consistent spacing between the stacked left-column cards. */
form.woocommerce-checkout .c2w-co-main > .c2w-checkout-entries,
form.woocommerce-checkout .c2w-co-main > .col2-set {
  margin-bottom: 20px !important;
}
/* Collapse to a single column on tablet / mobile. */
@media (max-width: 900px) {
  form.woocommerce-checkout .c2w-co-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  form.woocommerce-checkout .c2w-co-side {
    position: static;
    top: auto;
    margin-top: 20px;
  }
}

/* Checkout heading */
form.woocommerce-checkout h3,
form.woocommerce-checkout h3#ship-to-different-address {
  font-family: 'Bricolage Grotesque', 'Outfit', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  margin: 0 0 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #e2e8f0 !important;
}

/* Hide WooCommerce's own "Additional information" heading and order-notes textarea.
   Do NOT hide .woocommerce-additional-fields itself: the Team / Team Member selectors
   (inc/c2w-team-attribution.php) and the custom checkout questions
   (inc/c2w-custom-questions.php) both render INSIDE that container, on the
   woocommerce_after_order_notes hook. A blanket display:none on the container hid
   them too, which is why neither feature ever appeared on checkout. */
form.woocommerce-checkout .woocommerce-additional-fields > h3,
form.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: none !important;
}

/* ---------------------------------------------------------------------------
   Checkout extras: team attribution (inc/c2w-team-attribution.php) and the
   opt-in / custom questions (inc/c2w-custom-questions.php).
   Both sit inside a centred container, so everything is re-aligned left here
   rather than in each PHP file.
   --------------------------------------------------------------------------- */
form.woocommerce-checkout .c2w-qoh-attribution,
form.woocommerce-checkout .c2w-queen-checkout-extra {
  text-align: left !important;
  max-width: 560px !important;
  margin: 0 0 4px !important;
}

/* Section heading */
form.woocommerce-checkout .c2w-qoh-attribution > h3 {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  text-align: left !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  border: 0 !important;
}

/* "Please choose your team or team member before paying." */
form.woocommerce-checkout .c2w-qoh-attr-note {
  font-size: 13px !important;
  color: #64748b !important;
  text-align: left !important;
  margin: 0 0 14px !important;
}

/* Field labels */
form.woocommerce-checkout .c2w-qoh-attribution label {
  display: block !important;
  text-align: left !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  margin: 0 0 6px !important;
}

/* WooCommerce auto-appends "(optional)" to every non-required field. Both fields
   here are optional individually (the rule is team OR member), so the markers add
   noise and produced a doubled "(optional) (optional)". The note above says it once. */
form.woocommerce-checkout .c2w-qoh-attribution .optional {
  display: none !important;
}

form.woocommerce-checkout .c2w-qoh-attribution .form-row {
  padding: 0 !important;
  margin: 0 0 14px !important;
  float: none !important;
  width: 100% !important;
}

/* Opt-in checkbox — was inheriting a large bold red treatment. */
form.woocommerce-checkout .c2w-cq-optin {
  margin: 4px 0 0 !important;
  text-align: left !important;
}
form.woocommerce-checkout .c2w-cq-optin label.c2w-cq-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #1a1a2e !important;
  text-align: left !important;
  margin: 0 !important;
  cursor: pointer !important;
}
form.woocommerce-checkout .c2w-cq-optin label.c2w-cq-checkbox span {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #1a1a2e !important;
}
form.woocommerce-checkout .c2w-cq-optin input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  accent-color: var(--c2w-primary, #d94441);
  cursor: pointer;
}

/* Every other checkbox in the custom-question groups gets the same treatment, so a
   multi-choice question doesn't render with browser-default boxes next to the styled
   opt-in. align-items:flex-start keeps the box on the first line when text wraps. */
form.woocommerce-checkout .c2w-queen-checkout-extra .c2w-cq-checkboxes {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
form.woocommerce-checkout .c2w-queen-checkout-extra .c2w-cq-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  margin: 0 !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  cursor: pointer;
}
form.woocommerce-checkout .c2w-queen-checkout-extra .c2w-cq-checkbox input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  accent-color: var(--c2w-primary, #d94441);
  cursor: pointer;
}
form.woocommerce-checkout .c2w-queen-checkout-extra .c2w-cq-checkbox > span {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: #1a1a2e !important;
}

/* Team selectors: full-width stacked rows, label above control. */
form.woocommerce-checkout .c2w-qoh-attribution select,
form.woocommerce-checkout .c2w-qoh-attribution input[type="text"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 6px 12px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  background: #fff !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  color: #1a1a2e !important;
  box-sizing: border-box !important;
}
form.woocommerce-checkout .c2w-qoh-attribution select:focus,
form.woocommerce-checkout .c2w-qoh-attribution input[type="text"]:focus {
  border-color: var(--c2w-primary, #d94441) !important;
  box-shadow: 0 0 0 3px rgba(217, 68, 65, .12) !important;
  outline: none !important;
}

/* Custom questions inherit the same left alignment. */
form.woocommerce-checkout .c2w-queen-checkout-extra .c2w-cq-field > label,
form.woocommerce-checkout .c2w-queen-checkout-extra .c2w-cq-grouplabel {
  text-align: left !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
}

/* Billing / shipping columns â€” full width stacked */
form.woocommerce-checkout .col2-set {
  margin-bottom: 24px !important;
}
form.woocommerce-checkout .col2-set .col-1 {
  float: left !important;
  width: 100% !important;
  margin: 0 0 20px !important;
  padding: 24px !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.08) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 16px rgba(15,23,42,0.06) !important;
  box-sizing: border-box !important;
}

/* col-2 is WooCommerce's shipping + order-notes column. Queen sells virtual entries, so
   it holds nothing visible — but it is never truly empty: form-shipping.php always emits
   .woocommerce-shipping-fields and .woocommerce-additional-fields, plus whitespace text
   nodes. The old `.col-2:empty` rule therefore never matched and the card chrome rendered
   as a blank white box under billing. Chrome is now conditional on a real shipping address
   (.shipping_address is emitted only when the cart needs one). */
form.woocommerce-checkout .col2-set .col-2 {
  float: left !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}
form.woocommerce-checkout .col2-set .col-2:has(.shipping_address) {
  margin-bottom: 20px !important;
  padding: 24px !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.08) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 16px rgba(15,23,42,0.06) !important;
}

/* Form fields */
form.woocommerce-checkout .form-row {
  margin-bottom: 14px !important;
}
form.woocommerce-checkout .form-row label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  margin-bottom: 6px !important;
  display: block !important;
}
form.woocommerce-checkout .form-row input.input-text,
form.woocommerce-checkout .form-row textarea,
form.woocommerce-checkout .form-row select {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-family: 'Instrument Sans', sans-serif !important;
  background: #f8fafc !important;
  color: #1a1a2e !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  box-sizing: border-box !important;
}
form.woocommerce-checkout .form-row input.input-text:focus,
form.woocommerce-checkout .form-row textarea:focus,
form.woocommerce-checkout .form-row select:focus {
  border-color: var(--c2w-primary, #d94441) !important;
  box-shadow: 0 0 0 3px rgba(59,84,164,0.12) !important;
  outline: none !important;
  background: #fff !important;
}

/* Select2 overrides */
form.woocommerce-checkout .select2-container .select2-selection--single {
  height: 46px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  padding: 0 16px !important;
}
form.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 46px !important;
  font-size: 14px !important;
  color: #1a1a2e !important;
}

/* Order review table */
.woocommerce-checkout #order_review_heading {
  font-family: 'Bricolage Grotesque', 'Outfit', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  margin: 0 0 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #e2e8f0 !important;
}
.woocommerce-checkout #order_review {
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.08) !important;
  border-radius: 14px !important;
  padding: 24px !important;
  box-shadow: 0 4px 16px rgba(15,23,42,0.06) !important;
  margin-bottom: 24px !important;
}
form.woocommerce-checkout table.shop_table {
  border: none !important;
  border-collapse: collapse !important;
  margin: 0 !important;
}
form.woocommerce-checkout table.shop_table thead th {
  background: #f1f5f9 !important;
  color: #1a1a2e !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 12px 16px !important;
  border: none !important;
}
form.woocommerce-checkout table.shop_table td {
  padding: 14px 16px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  font-size: 14px !important;
  color: #1a1a2e !important;
}
form.woocommerce-checkout table.shop_table tfoot th {
  font-size: 14px !important;
  padding: 12px 16px !important;
  border-top: 1px solid #e2e8f0 !important;
}
form.woocommerce-checkout table.shop_table tfoot td {
  padding: 12px 16px !important;
  font-weight: 700 !important;
}

/* Payment methods */
form.woocommerce-checkout #payment {
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.08) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 16px rgba(15,23,42,0.06) !important;
  overflow: hidden !important;
}
form.woocommerce-checkout #payment ul.payment_methods {
  padding: 20px 24px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  list-style: none !important;
  margin: 0 !important;
}
form.woocommerce-checkout #payment ul.payment_methods li {
  padding: 12px 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  margin: 0 !important;
}
form.woocommerce-checkout #payment ul.payment_methods li:last-child {
  border-bottom: none !important;
}
form.woocommerce-checkout #payment ul.payment_methods li label {
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #1a1a2e !important;
  cursor: pointer !important;
}
form.woocommerce-checkout #payment div.payment_box {
  background: #f8fafc !important;
  border-radius: 10px !important;
  padding: 16px !important;
  margin-top: 10px !important;
  font-size: 13px !important;
  color: #64748b !important;
}
form.woocommerce-checkout #payment div.place-order {
  padding: 20px 24px !important;
  background: #fafbfc !important;
}

/* Place order button */
form.woocommerce-checkout #payment #place_order,
.woocommerce #payment #place_order {
  float: none !important;
  width: 100% !important;
  padding: 16px 32px !important;
  background: var(--c2w-primary, #d94441) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-family: 'Instrument Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}
form.woocommerce-checkout #payment #place_order:hover,
.woocommerce #payment #place_order:hover {
  background: var(--c2w-accent, #b53835) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 24px rgba(59,84,164,0.3) !important;
}

/* Edit Order button (near Place Order) */
.c2w-checkout-actions {
  display: flex;
  justify-content: center;
  margin-top: 14px;
}

/* #136 — Place Order + "← Edit Order" on ONE line. Both are siblings inside
   `.place-order`; make it a wrapping flexbox so the rules checkbox, privacy text and
   nonce stay full-width and only the two buttons share the final row. */
form.woocommerce-checkout .place-order {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: 12px;
  row-gap: 10px;
}
form.woocommerce-checkout .place-order > * {
  flex: 0 0 100%;
}
/* #136d — width:auto kept losing to the pre-existing
   `form.woocommerce-checkout #payment #place_order{width:100%!important}` above:
   with BOTH rules !important, ties go to specificity, and that rule has 2 IDs
   (#payment + #place_order) vs this one's 1 ID (#place_order) + 2 classes — 2 IDs wins
   regardless of !important. Adding #payment here (it genuinely wraps .place-order in
   the DOM) matches that selector's ID count and adds an extra class, so this wins.
   Buttons size to their OWN content and the row is centered per boss request. */
form.woocommerce-checkout #payment .place-order #place_order {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
}
form.woocommerce-checkout .place-order .c2w-checkout-actions {
  flex: 0 0 auto !important;
  margin: 0 !important;
}
@media (max-width: 480px) {
  form.woocommerce-checkout #payment .place-order #place_order,
  form.woocommerce-checkout .place-order .c2w-checkout-actions {
    flex: 0 0 100%;
  }
}
.c2w-checkout-actions .c2w-continue-shopping {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  background: #fff;
  color: var(--c2w-primary, #d94441);
  border: 2px solid var(--c2w-primary, #d94441);
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  font-family: 'Instrument Sans', sans-serif;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}
.c2w-checkout-actions .c2w-continue-shopping:hover {
  background: var(--c2w-primary, #d94441);
  color: #fff;
}

/* Responsive */
@media (max-width: 768px) {
  form.woocommerce-checkout {
    max-width: 100% !important;
    padding: 16px 12px !important;
  }
  form.woocommerce-checkout .col2-set .col-1,
  form.woocommerce-checkout .col2-set .col-2,
  .woocommerce-checkout #order_review,
  form.woocommerce-checkout #payment {
    padding: 16px !important;
  }
}

.c2w-main-content .raffle-baskets-group {
  margin-bottom: 16px;
}

.c2w-main-content .raffle-baskets-group > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}

/* Category tabs stay pinned directly under the sticky ticket tracker so both the
   "tickets to assign" bar AND the category filter remain visible while scrolling the
   grid. JS (taxonomy-product_cat.php) toggles this class and sets the exact `top`
   offset (measured from the tracker, whose height varies / hides when empty). */
.c2w-main-content .raffle-baskets-group > ul.c2w-tabs-stuck {
  position: sticky;
  z-index: 90; /* below the ticket tracker (z-index:100) */
  background: #fff;
  padding: 10px 0;
  box-shadow: 0 6px 10px -8px rgba(0, 0, 0, 0.18);
}

.c2w-main-content .raffle-baskets-group > ul li h2 {
  font-size: 13px;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 100px;
  border: 1px solid var(--c2w-primary-soft, #f5c6c6);
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
  margin: 0;
}

/* Fixed dark-on-white for the INACTIVE tab, forced past the legacy style.css rule
   `.title-show-new-design{color:#fff!important;…}` AND the `#baskets`-ID-qualified
   rules in c2w-pages.css, which made the text invisible on some palettes.
   Specificity is intentionally boosted (ID + repeated class) so it can't be
   silently out-specificity'd again. */
#baskets .raffle-baskets-group > ul li h2.title-show-new-design.title-show-new-design {
  background: #fff !important;
  color: #1a1a2e !important;
}

#baskets .raffle-baskets-group > ul li h2.title-show-new-design.title-show-new-design:hover,
#baskets .raffle-baskets-group > ul li h2.title-show-new-design.title-show-new-design.selected-basketclass {
  background: var(--c2w-primary, #d94441) !important;
  color: #fff !important;
  border-color: var(--c2w-primary, #d94441) !important;
}

/* -- Prize-card grid ï¿½ EXACTLY like homepage -- */
.c2w-main-content .raffle-baskets {
  display: grid !important;
  grid-template-columns: repeat(8, 1fr) !important;
  gap: 18px !important;
}

/* Override old style.css percentage widths (exclude qoh-card board items) */
#baskets .raffle-basket:not(.qoh-card),
.c2w-main-content .raffle-basket:not(.qoh-card) {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1.5px solid var(--c2w-primary-soft, #f5c6c6) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  text-align: left !important;
  transition: all 0.3s cubic-bezier(.4,0,.2,1) !important;
  position: relative !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

#baskets .raffle-basket:not(.qoh-card):hover,
.c2w-main-content .raffle-basket:not(.qoh-card):hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(26, 31, 54, 0.1);
  border-color: rgba(59, 84, 164, 0.2) !important;
}

/* -- Prize card image (1:1, exactly like homepage) -- */
.c2w-main-content .raffle-basket .pc-img {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #fef2f2;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  border-bottom: 1px solid var(--c2w-primary-soft, #f5c6c6);
  border-radius: 16px 16px 0 0;
}
.c2w-main-content .raffle-basket .pc-img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  border-radius: 16px 16px 0 0;
}
.c2w-main-content .raffle-basket:hover .pc-img > img {
  transform: scale(1.06);
}

/* -- Prize card image slider -- */
.pc-slider {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}
.pc-slider__track {
  width: 100%;
  height: 100%;
  position: relative;
}
.c2w-main-content .raffle-basket .pc-slider__slide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}
.c2w-main-content .raffle-basket .pc-slider__slide.active {
  opacity: 1;
  pointer-events: auto;
}
.c2w-main-content .raffle-basket .pc-slider__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}
.pc-slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.85);
  color: #333;
  font-size: 18px;
  line-height: 28px;
  text-align: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.2s;
  box-shadow: 0 1px 4px rgba(0,0,0,0.15);
  padding: 0;
}
.pc-img:hover .pc-slider__arrow {
  opacity: 1;
}
.pc-slider__arrow--prev { left: 6px; }
.pc-slider__arrow--next { right: 6px; }
.pc-slider__dots {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 5px;
  z-index: 3;
}
.pc-slider__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
  border: 1px solid rgba(0,0,0,0.1);
}
.pc-slider__dot.active {
  background: #fff;
  transform: scale(1.25);
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
}

/* Category badge ï¿½ bottom-left of image */
.c2w-main-content .raffle-basket .pc-type {
  position: absolute;
  bottom: 8px;
  left: 8px;
  padding: 4px 10px;
  border-radius: 100px;
  font-size: 9.5px;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.92);
  color: var(--c2w-primary, #d94441);
  border: 1px solid rgba(59, 84, 164, 0.15);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 4;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* -- Card body -- */
.c2w-main-content .raffle-basket .pc-body {
  padding: 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.c2w-main-content .raffle-basket .pc-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 6px;
  line-height: 1.3;
}
.c2w-main-content .raffle-basket .pc-sub {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 8px;
}

/* Ticket badge ï¿½ matches homepage .pc-ticket */
.c2w-main-content .raffle-basket .pc-ticket {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 100px;
  font-size: 10.5px;
  font-weight: 600;
  background: rgba(59, 84, 164, 0.08);
  color: var(--c2w-primary, #d94441);
  border: 1px solid rgba(59, 84, 164, 0.12);
  margin-bottom: 14px;
  align-self: flex-start;
}
.c2w-main-content .raffle-basket .pc-ticket::before {
  content: '???';
  font-size: 12px;
}

/* -- +/- Ticket assignment controls -- */
.c2w-main-content .raffle-basket .pc-assign {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: auto 0 12px;
  padding-top: 10px;
}
.c2w-main-content .raffle-basket .pc-assign__btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 3px solid var(--c2w-primary, #d94441);
  background: #fff;
  color: var(--c2w-primary, #d94441);
  font-size: 28px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(217, 68, 65, 0.15);
}
.c2w-main-content .raffle-basket .pc-assign__btn:hover {
  background: var(--c2w-primary, #d94441);
  color: #fff;
  box-shadow: 0 4px 16px rgba(217, 68, 65, 0.3);
  transform: scale(1.08);
}
.c2w-main-content .raffle-basket .pc-assign__btn:active {
  transform: scale(0.95);
}
.c2w-main-content .raffle-basket .pc-assign__counter {
  text-align: center;
  min-width: 80px;
  user-select: none;
}
.c2w-main-content .raffle-basket .pc-assign__label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #6b7280;
  margin-bottom: 4px;
}
.c2w-main-content .raffle-basket .pc-assign__value {
  display: block;
  font-size: 28px;
  font-weight: 900;
  color: var(--c2w-primary, #d94441);
  line-height: 1.1;
}

/* -- Action buttons -- */
.c2w-main-content .raffle-basket .pc-actions {
  display: flex;
  gap: 6px;
  margin-bottom: 4px;
}
.c2w-main-content .raffle-basket .pc-btn {
  flex: 1;
  padding: 10px 8px;
  border: none;
  border-radius: 8px;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
}
.c2w-main-content .raffle-basket .pc-btn--bulk {
  background: var(--c2w-primary, #d94441);
  color: #fff;
}
.c2w-main-content .raffle-basket .pc-btn--bulk:hover {
  background: var(--c2w-accent, #b53835);
  transform: translateY(-1px);
}
.c2w-main-content .raffle-basket .pc-btn--info {
  background: transparent;
  color: var(--c2w-primary, #d94441);
  border: 1px solid var(--c2w-primary-soft, #f5c6c6);
}
.c2w-main-content .raffle-basket .pc-btn--info:hover {
  border-color: var(--c2w-primary, #d94441);
  background: rgba(59, 84, 164, 0.05);
}

/* -- Bulk ticket entry row -- */
.c2w-main-content .raffle-basket .pc-bulk {
  display: flex;
  gap: 6px;
  margin-bottom: 4px;
  align-items: stretch;
}
.c2w-main-content .raffle-basket .pc-bulk__input {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid var(--c2w-primary-soft, #f5c6c6);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  outline: none;
  transition: border-color 0.2s ease;
  -moz-appearance: textfield;
  appearance: textfield;
}
.c2w-main-content .raffle-basket .pc-bulk__input::-webkit-outer-spin-button,
.c2w-main-content .raffle-basket .pc-bulk__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.c2w-main-content .raffle-basket .pc-bulk__input:focus {
  border-color: var(--c2w-primary, #d94441);
}
.c2w-main-content .raffle-basket .pc-btn--submit {
  background: var(--c2w-primary, #d94441);
  color: #fff;
}
.c2w-main-content .raffle-basket .pc-btn--submit:hover {
  background: var(--c2w-accent, #b53835);
  transform: translateY(-1px);
}

/* Hidden description */
.c2w-main-content .raffle-basket .pc-desc {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.6;
  color: #555a70;
  border-top: 1px solid var(--c2w-primary-soft, #f5c6c6);
  padding-top: 10px;
}

/* Clear floats override */
.c2w-main-content .raffle-baskets + div[style*="clear:both"] {
  display: none;
}

.c2w-main-content .button.checkout.wc-forward {
  display: inline-block !important;
  padding: 12px 28px;
  background: var(--c2w-primary, #d94441);
  color: #fff;
  border-radius: 100px;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
  margin-top: 20px;
  float: right;
}

.c2w-main-content .button.checkout.wc-forward:hover {
  background: var(--c2w-accent, #b53835);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(59, 84, 164, 0.2);
}

/* -- Ticket Packages Card -- */
.c2w-pkg-card {
  background: #fff;
  border: 1px solid var(--c2w-primary-soft, #f5c6c6);
  border-radius: 16px;
  overflow: hidden;
}

.c2w-pkg-card__header {
  padding: 20px 28px;
  border-bottom: 1px solid var(--c2w-primary-soft, #f5c6c6);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.c2w-pkg-card__header h2 {
  margin: 0;
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #1a1a2e;
}

.c2w-pkg-count {
  font-size: 12px;
  color: #8b90a5;
  font-weight: 500;
}

/* -- Package Table -- */
.c2w-pkg-table {
  width: 100%;
  border-collapse: collapse;
}

.c2w-pkg-table thead th {
  padding: 14px 28px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #8b90a5;
  background: #fafbfe;
  border-bottom: 1px solid var(--c2w-primary-soft, #f5c6c6);
  text-align: left;
}

.c2w-pkg-table thead th:last-child {
  text-align: center;
}

/* -- Package Row -- */
.c2w-pkg-row {
  transition: background 0.3s cubic-bezier(.4,0,.2,1);
}

.c2w-pkg-row:not(:last-child) {
  border-bottom: 1px solid var(--c2w-primary-soft, #f5c6c6);
}

.c2w-pkg-row:hover {
  background: #fef2f2;
}

.c2w-pkg-row td {
  padding: 16px 28px;
  vertical-align: middle;
}

/* Package name with subtitle */
.c2w-pkg-name {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #1a1a2e;
}

.c2w-pkg-name span {
  font-weight: 400;
  color: #8b90a5;
  font-size: 12px;
  display: block;
  margin-top: 2px;
}

/* Package price with per-ticket */
.c2w-pkg-price {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #1a1a2e;
}

.c2w-pkg-per {
  font-size: 11px;
  color: #8b90a5;
  margin-top: 1px;
}

.c2w-pkg-row__price {
  text-align: left;
}

.c2w-pkg-row__action {
  text-align: center;
  /* Stable centering ï¿½ prevent layout shift when WC injects .added_to_cart link */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* Hide WC injected elements that cause layout shift */
.c2w-pkg-row__action .added_to_cart,
.c2w-pkg-row__action .screen-reader-text {
  display: none !important;
}

/* -- Add to Cart Button (pill shape) -- */
/* Double-scoped to beat style.css global a.button / .add_to_cart_button !important rules */
.c2w-add-btn,
.c2w-pkg-row .c2w-pkg-row__action .add_to_cart_button,
.c2w-pkg-row .c2w-pkg-row__action a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 24px !important;
  border-radius: 100px !important;
  font-family: 'Instrument Sans', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: normal !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(.4,0,.2,1) !important;
  border: none !important;
  background: var(--c2w-primary, #d94441) !important;
  color: #ffffff !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  height: auto !important;
  box-sizing: border-box !important;
}

.c2w-add-btn:hover,
.c2w-pkg-row .c2w-pkg-row__action .add_to_cart_button:hover,
.c2w-pkg-row .c2w-pkg-row__action a.button:hover {
  background: var(--c2w-accent, #b53835) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(59, 84, 164, 0.2) !important;
}

.c2w-add-btn--remove {
  background: #ef4444 !important;
  color: #fff !important;
}

.c2w-add-btn--remove:hover {
  background: #dc2626 !important;
  color: #fff !important;
}

.c2w-add-btn--disabled {
  background: #c0c3d0 !important;
  color: #fff !important;
  cursor: not-allowed !important;
  opacity: 0.7;
}
/* WC loading state — keep same size as resting button */
.c2w-pkg-row .c2w-pkg-row__action .add_to_cart_button.loading,
.c2w-pkg-row .c2w-pkg-row__action a.button.loading,
.c2w-add-to-cart-btn.loading {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}
.c2w-pkg-row .c2w-pkg-row__action .add_to_cart_button.loading,
.c2w-pkg-row .c2w-pkg-row__action a.button.loading {
  padding: 8px 24px !important;
  font-size: 12.5px !important;
  line-height: normal !important;
  border-radius: 100px !important;
  opacity: 0.7;
  pointer-events: none;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  height: auto !important;
}
/* hide WC's default spinner pseudo-element */
.c2w-pkg-row .c2w-pkg-row__action .add_to_cart_button.loading::after {
  display: none !important;
}

.c2w-add-btn--added,
.c2w-pkg-row .c2w-pkg-row__action .added {
  background: #22c55e !important;
  color: #fff !important;
  pointer-events: none;
  padding: 8px 24px !important;
  font-size: 12.5px !important;
  line-height: normal !important;
  border-radius: 100px !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
}

/* -- In-cart row highlight -- */
.c2w-pkg-row--in-cart {
  background: #fef2f2;
}

/* -- Cart Sidebar -- */
.c2w-cart-sidebar {
  position: sticky;
  top: 90px;
}

.c2w-cart-sidebar .widget {
  background: #fff;
  border: 1px solid var(--c2w-primary-soft, #f5c6c6);
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
}

.c2w-cart-sidebar .widget .widgettitle,
.c2w-cart-sidebar .widget > h2 {
  margin: 0;
  padding: 18px 24px;
  background: var(--c2w-primary, #d94441);
  color: #fff;
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 15px;
  font-weight: 700;
  border-bottom: none;
}

.c2w-cart-sidebar .woocommerce-mini-cart {
  list-style: none;
  padding: 0 24px;
  margin: 0;
}

.c2w-cart-sidebar .woocommerce-mini-cart-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--c2w-primary-soft, #f5c6c6);
  font-size: 13px;
  font-weight: 600;
  color: #1a1a2e;
}

.c2w-cart-sidebar .woocommerce-mini-cart-item:last-child {
  border-bottom: none;
}

.c2w-cart-sidebar .woocommerce-mini-cart__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px 0;
  margin-top: 0;
  border-top: 2px solid var(--c2w-primary-soft, #f5c6c6);
  font-size: 14px;
  font-weight: 600;
  color: #555a70;
}

.c2w-cart-sidebar .woocommerce-mini-cart__total .woocommerce-Price-amount {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--c2w-primary, #d94441);
}

.c2w-cart-sidebar .woocommerce-mini-cart__buttons {
  padding: 16px 24px 24px;
}

.c2w-cart-sidebar .woocommerce-mini-cart__buttons .button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 14px;
  border-radius: 8px;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  margin-bottom: 8px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s cubic-bezier(.4,0,.2,1);
}

.c2w-cart-sidebar .woocommerce-mini-cart__buttons .button.checkout {
  background: var(--c2w-primary, #d94441);
  color: #ffffff;
}

.c2w-cart-sidebar .woocommerce-mini-cart__buttons .button.checkout:hover {
  background: var(--c2w-accent, #b53835);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(59, 84, 164, 0.2);
}

/* -- Empty cart state -- */
.c2w-cart-sidebar .woocommerce-mini-cart__empty-message {
  text-align: center;
  padding: 24px;
  color: #8b90a5;
  font-size: 13.5px;
}

/* -- Responsive -- */
@media (max-width: 960px) {
  .c2w-cat-layout {
    grid-template-columns: 1fr !important;
  }
  .c2w-cart-sidebar {
    position: static;
  }
  .c2w-steps-bar {
    flex-direction: column;
    border-radius: 12px;
  }
  .c2w-step {
    border-right: none;
    border-bottom: 1px solid var(--c2w-primary-soft, #f5c6c6);
  }
  .c2w-step:last-child {
    border-bottom: none;
  }
  .c2w-step--active::after {
    bottom: auto;
    top: 0;
    left: 0;
    right: 0;
    width: auto;
    height: 3px;
    border-radius: 0;
  }
  .c2w-main-content .raffle-baskets {
    grid-template-columns: repeat(4, 1fr) !important;
  }
  .c2w-assign-tracker__header {
    flex-direction: column;
    text-align: center;
  }
}
@media (max-width: 640px) {
  .c2w-category-page {
    padding-left: 16px;
    padding-right: 16px;
  }
  .c2w-pkg-table thead th,
  .c2w-pkg-table tbody td,
  .c2w-pkg-row td {
    padding: 12px 16px;
  }
  .c2w-step {
    padding: 14px 16px;
    gap: 8px;
  }
  .c2w-main-content .raffle-baskets {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .c2w-ticket-tracker__header {
    flex-direction: row;
    text-align: center;
    gap: 12px;
  }
  .c2w-ticket-tracker__info {
    flex-direction: column;
    gap: 8px;
  }
  .c2w-ticket-tracker__btn {
    justify-content: center;
  }
  .c2w-assign-tracker {
    padding: 14px 16px;
  }
  .c2w-assign-tracker__header {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }
  .c2w-assign-tracker__list {
    justify-content: center;
  }
}

/* -- Product Card (card mode ï¿½ non-taxonomy contexts) -- */
.c2w-product-card {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.c2w-product-card:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  transform: translateY(-4px);
}

.c2w-product-image {
  width: 100%;
  padding-bottom: 75%;
  position: relative;
  overflow: hidden;
  background: #f5f5f5;
}

.c2w-product-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.c2w-product-body {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.c2w-product-title {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 10px;
  color: #1a1a2e;
  line-height: 1.4;
  flex-grow: 1;
}

.c2w-product-price {
  font-size: 28px;
  font-weight: 700;
  color: var(--c2w-primary, #d94441);
  margin: 10px 0 20px;
}

.c2w-product-btn,
.c2w-product-body .add_to_cart_button {
  padding: 12px 20px !important;
  border: none !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: normal !important;
  text-transform: none !important;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none !important;
  display: inline-block;
  text-align: center;
  color: #ffffff !important;
  background: var(--c2w-primary, #d94441) !important;
}

.c2w-product-btn:hover,
.c2w-product-body .add_to_cart_button:hover {
  background: var(--c2w-accent, #b53835) !important;
  text-decoration: none !important;
  color: #ffffff !important;
}

.c2w-product-btn.remove {
  background: #dc3545;
}

.c2w-product-btn.remove:hover {
  background: #c82333;
}

.c2w-product-btn.disabled {
  background: #ccc;
  cursor: not-allowed;
  opacity: 0.7;
}

/* -- Category page responsive -- */
@media (max-width: 900px) {
  .c2w-cat-layout {
    grid-template-columns: 1fr;
  }
  .c2w-cart-sidebar {
    position: static;
  }
}

@media (max-width: 640px) {
  .c2w-steps__inner {
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
  }
  .c2w-step__line {
    display: none;
  }
  .c2w-step {
    flex: 0 0 auto;
  }
  .c2w-category-page {
    padding: 16px 12px 40px;
  }
  .c2w-pkg-row td {
    padding: 12px 14px;
  }
  .c2w-pkg-row__thumb {
    width: 36px;
    height: 36px;
  }
  .c2w-pkg-row__name span {
    font-size: 14px;
  }
  .c2w-add-btn {
    padding: 6px 14px;
    font-size: 12px;
  }
}

/* -- WooCommerce defaults within category page -- */
.c2w-pkg-card .woocommerce-result-count,
.c2w-pkg-card .woocommerce-ordering {
  display: none;
}

/* -- Hide WooCommerce "added to cart" notices on category page -- */
.c2w-category-page .woocommerce-message,
.c2w-category-page .woocommerce-info {
  display: none !important;
}
.c2w-pkg-card .woocommerce-info,
.c2w-pkg-card .woocommerce-message {
  margin: 0 24px;
  border-radius: 8px;
  font-size: 14px;
}

/* -- Card selections on checkout page -- */
.c2w-checkout-cards {
  margin: 20px 0;
  padding: 16px 20px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 10px;
}
.c2w-checkout-cards h3 {
  color: var(--c2w-primary, #d94441);
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 12px;
  font-family: 'Bricolage Grotesque', sans-serif;
}
.c2w-checkout-cards__table {
  width: 100%;
  border-collapse: collapse;
}
.c2w-checkout-cards__table th {
  text-align: left;
  padding: 8px 10px;
  font-size: 12px;
  text-transform: uppercase;
  color: #991b1b;
  border-bottom: 1px solid #fecaca;
  letter-spacing: 0.5px;
}
.c2w-checkout-cards__table td {
  padding: 7px 10px;
  font-size: 14px;
  border-bottom: 1px solid #fde8e8;
}
.c2w-checkout-cards__table tfoot td {
  border-top: 2px solid #fecaca;
  border-bottom: none;
  padding-top: 10px;
  font-weight: 700;
}


/* =====================================================================
 * Prize Add / Edit ï¿½ Redesigned card-based forms (v3)
 * Matches raffle-basket-prize-dashboard_1.html reference design
 * ===================================================================== */

/* -- Override legacy style.css rules that fight the new design -- */
.add-prizes-main .manual-order-updated-design.c2w-prize-shell {
  margin-top: 0 !important;
  padding: 0 !important;
}
.add-prizes-main .manual-order-updated-design.c2w-prize-shell form {
  background: transparent !important;
}
.add-prizes-main .manual-order-updated-design.c2w-prize-shell select,
.add-prizes-main .manual-order-updated-design.c2w-prize-shell input {
  border-radius: 5px !important;
}
.add-prizes-main .manual-order-updated-design.c2w-prize-shell select {
  background-color: #ffffff !important;
  padding: 11px 14px !important;
  width: 100% !important;
}
.add-prizes-main .manual-order-updated-design.c2w-prize-shell input {
  padding: 11px 14px !important;
  max-width: 100% !important;
}

/* -- Main wrapper: form + sidebar grid layout -- */
.add-prizes-main .c2w-prize-layout-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 360px !important;
  gap: 28px !important;
  align-items: start !important;
}

/* -- Sidebar -- */
.add-prizes-main .c2w-prize-sidebar-card {
  background: #ffffff !important;
  border: 1px solid #eceef4 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  position: sticky !important;
  top: 86px !important;
}
.add-prizes-main .c2w-prize-sidebar-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 16px 24px !important;
  border-bottom: 1px solid #eceef4 !important;
}
.add-prizes-main .c2w-prize-sidebar-header h4 {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
}
.add-prizes-main .c2w-sidebar-link {
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  padding: 3px 10px !important;
  border-radius: 100px !important;
  background: #f5f6fa !important;
  border: 1px solid #eceef4 !important;
  text-decoration: none !important;
}
.add-prizes-main .c2w-sidebar-link:hover {
  border-color: var(--c2w-primary, #d94441) !important;
  color: var(--c2w-primary, #d94441) !important;
}
.add-prizes-main .c2w-prize-sidebar-body {
  padding: 24px !important;
  text-align: center !important;
  min-height: 180px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.add-prizes-main .c2w-preview-placeholder {
  text-align: center !important;
  padding: 40px 20px !important;
}
.add-prizes-main .c2w-preview-placeholder p {
  margin: 12px 0 0 !important;
  color: #8b90a5 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

/* -- Live preview card (sidebar) -- */
.add-prizes-main .prev-card {
  border: 1.5px solid #eceef4 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: box-shadow .25s ease !important;
}
.add-prizes-main .prev-card:hover {
  box-shadow: 0 4px 16px rgba(59, 84, 164, .10) !important;
  transform: none !important;
}
.add-prizes-main .prev-img {
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  background: #f5f6fa !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-bottom: 1px solid #eceef4 !important;
  overflow: hidden !important;
  position: relative !important;
}
.add-prizes-main .prev-type {
  position: absolute !important;
  bottom: 10px !important;
  left: 10px !important;
  padding: 4px 10px !important;
  border-radius: 100px !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  background: rgba(59, 84, 164, .08) !important;
  color: var(--c2w-primary, #d94441) !important;
  border: 1px solid rgba(59, 84, 164, .12) !important;
}
.add-prizes-main .prev-body {
  padding: 16px !important;
}
.add-prizes-main .prev-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1b223c !important;
  margin-bottom: 4px !important;
}
.add-prizes-main .prev-heading {
  font-size: 12px !important;
  color: #8b90a5 !important;
  margin-bottom: 10px !important;
}
.add-prizes-main .prev-ticket {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 10px !important;
  border-radius: 100px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  background: #eef1ff !important;
  color: var(--c2w-primary, #d94441) !important;
  border: 1px solid #dbe1ff !important;
  margin-bottom: 12px !important;
}
.add-prizes-main .prev-ticket::before {
  content: '\1F3AB' !important;
  font-size: 11px !important;
}
.add-prizes-main .prev-btn {
  width: 100% !important;
  padding: 8px !important;
  border: none !important;
  border-radius: 5px !important;
  background: var(--c2w-primary, #d94441) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  cursor: default !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}

/* -- Form card container -- */
.add-prizes-main .c2w-prize-form-card {
  background: #ffffff !important;
  border: 1px solid #eceef4 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  margin-top: 0 !important;
  box-shadow: none !important;
}

/* -- Solid primary header (not gradient) -- */
.add-prizes-main .c2w-prize-form-header {
  background: var(--c2w-primary, #d94441) !important;
  color: #ffffff !important;
  padding: 16px 28px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.add-prizes-main .c2w-prize-form-header .dashicons {
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
}

/* -- Form body -- */
.add-prizes-main .c2w-prize-form-body {
  padding: 28px !important;
}

/* -- Grid layout for form fields -- */
.add-prizes-main .c2w-prize-form-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  margin-bottom: 0 !important;
}
.add-prizes-main .c2w-prize-form-grid.c2w-three-col {
  grid-template-columns: 1fr 1fr 1fr !important;
}
.add-prizes-main .c2w-prize-form-grid.c2w-full-width {
  grid-template-columns: 1fr !important;
}

/* -- Individual field -- */
.add-prizes-main .c2w-prize-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin-bottom: 20px !important;
}
.add-prizes-main .c2w-prize-field label {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  display: block !important;
  margin: 0 !important;
}
.add-prizes-main .c2w-required {
  color: #ef4444 !important;
  font-weight: 700 !important;
  margin-left: 2px !important;
}

/* -- Inputs & selects -- */
.add-prizes-main .c2w-prize-field input[type="text"],
.add-prizes-main .c2w-prize-field input[type="number"],
.add-prizes-main .c2w-prize-field select {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 11px 14px !important;
  border: 1.5px solid #dcdfe8 !important;
  border-radius: 5px !important;
  font-size: 13.5px !important;
  color: #1a1a2e !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  outline: none !important;
  transition: border-color .3s cubic-bezier(.4,0,.2,1), box-shadow .3s cubic-bezier(.4,0,.2,1);
  min-height: auto !important;
  height: auto !important;
}
.add-prizes-main .c2w-prize-field input::placeholder {
  color: #c0c3d0 !important;
  font-weight: 400 !important;
}
.add-prizes-main .c2w-prize-field input:focus,
.add-prizes-main .c2w-prize-field select:focus {
  border-color: var(--c2w-primary, #d94441) !important;
  box-shadow: 0 0 0 3px rgba(59, 84, 164, 0.08) !important;
  outline: none !important;
}
.add-prizes-main .c2w-prize-field select {
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b90a5' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 36px !important;
}

/* -- Upload header row -- */
.add-prizes-main .c2w-upload-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-bottom: 12px !important;
}
.add-prizes-main .c2w-upload-header label {
  margin-right: auto !important;
}
.add-prizes-main .c2w-upload-meta {
  font-size: 12px !important;
  color: #8b90a5 !important;
  font-weight: 400 !important;
}
.add-prizes-main .c2w-reset-btn {
  background: var(--c2w-primary, #d94441) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 6px 16px !important;
  border-radius: 100px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .3s cubic-bezier(.4,0,.2,1) !important;
}
.add-prizes-main .c2w-reset-btn:hover {
  background: var(--c2w-accent, #b53835) !important;
}

/* -- Description editor container -- */
.add-prizes-main .c2w-prize-editor-wrap {
  margin-bottom: 0 !important;
  margin-top: 2px !important;
}
.add-prizes-main .c2w-prize-editor-wrap .c2w-prize-description {
  border: 1.5px solid #dcdfe8 !important;
  border-radius: 5px !important;
  overflow: auto !important;
  width: 100% !important;
  min-height: 170px !important;
  padding: 12px 14px !important;
  background: #ffffff !important;
  color: #1b223c !important;
  line-height: 1.6 !important;
  resize: vertical !important;
  box-sizing: border-box !important;
}
.add-prizes-main .c2w-prize-editor-wrap .c2w-prize-description:focus {
  border-color: var(--c2w-primary, #d94441) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(59, 84, 164, 0.08) !important;
}

/* -- Image upload / dropzone section -- */
.add-prizes-main .c2w-prize-upload-area {
  margin-bottom: 20px !important;
}
.add-prizes-main .c2w-prize-dropzone {
  border: 2px dashed #dcdfe8 !important;
  border-radius: 12px !important;
  background: #fafbfe !important;
  padding: 32px 20px !important;
  text-align: center !important;
  position: relative !important;
  transition: border-color .3s cubic-bezier(.4,0,.2,1), background .3s cubic-bezier(.4,0,.2,1);
  cursor: pointer !important;
}
.add-prizes-main .c2w-prize-dropzone:hover,
.add-prizes-main .c2w-prize-dropzone.dragover {
  border-color: var(--c2w-primary, #d94441) !important;
  background: #eaedfa !important;
}
.add-prizes-main .c2w-dropzone-icon {
  margin: 0 auto 8px !important;
  width: 32px !important;
  height: 32px !important;
  color: var(--c2w-primary, #d94441) !important;
  opacity: 0.5;
}
.add-prizes-main .c2w-dropzone-icon svg {
  display: block !important;
}
.add-prizes-main .c2w-prize-dropzone p {
  margin: 0 !important;
  font-size: 13px !important;
  color: #8b90a5 !important;
}
.add-prizes-main .c2w-prize-dropzone p strong {
  text-decoration: none !important;
  color: var(--c2w-primary, #d94441) !important;
  font-weight: 600 !important;
}
.add-prizes-main .c2w-prize-dropzone .c2w-upload-hint {
  display: block !important;
  font-size: 11px !important;
  color: #c0c3d0 !important;
  margin-top: 4px !important;
}
.add-prizes-main .c2w-prize-dropzone input[type="file"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

/* Also override the old .dropzone-wrapper rules from style.css */
.add-prizes-main .c2w-prize-upload-area .dropzone-wrapper {
  border: 2px dashed #dcdfe8 !important;
  border-radius: 12px !important;
  background: #fafbfe !important;
  padding: 32px 20px !important;
  margin: 0 !important;
  height: auto !important;
}

/* -- Image preview grid (add form) -- */
.add-prizes-main .c2w-prize-preview-bar {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.add-prizes-main .c2w-prize-preview-bar .c2w-preview-thumb {
  width: 120px;
  height: 90px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid #dcdfe8;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* -- Image cards for edit form -- */
.add-prizes-main .c2w-prize-images-grid {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.add-prizes-main .c2w-prize-image-card {
  position: relative;
  width: 140px;
  border-radius: 12px;
  overflow: hidden;
  border: 1.5px solid #dcdfe8;
  background: #fafbfe;
}
.add-prizes-main .c2w-prize-image-card img {
  width: 100%;
  height: 100px;
  object-fit: cover;
  display: block;
}
.add-prizes-main .c2w-prize-image-card .c2w-img-delete-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(239, 68, 68, 0.85);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  transition: background .15s ease, transform .15s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.add-prizes-main .c2w-prize-image-card .c2w-img-delete-btn:hover {
  background: rgba(220, 38, 38, 1);
  transform: scale(1.1);
}
.add-prizes-main .c2w-prize-image-card .c2w-img-upload-slot {
  padding: 8px;
  text-align: center;
}
.add-prizes-main .c2w-prize-image-card .c2w-img-upload-slot input[type="file"] {
  font-size: 12px;
  width: 100%;
}
.add-prizes-main .c2w-prize-image-card--empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 140px;
  border: 2px dashed #dcdfe8;
  background: transparent;
  box-shadow: none;
}
.add-prizes-main .c2w-prize-image-card--empty .dashicons {
  font-size: 28px;
  width: 28px;
  height: 28px;
  color: var(--c2w-primary, #d94441);
  opacity: 0.4;
  margin-bottom: 6px;
}

/* File input inside image card (new basket form) */
.add-prizes-main .c2w-prize-image-card input[type="file"] {
  display: block;
  font-size: 11px;
  width: 100%;
  padding: 6px 4px;
  margin: 0;
  cursor: pointer;
}
.add-prizes-main .c2w-prize-image-card .c2w-upload-placeholder {
  pointer-events: none;
}
.add-prizes-main .c2w-prize-image-card .c2w-prize-uploading {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--c2w-primary, #d94441);
  padding: 4px;
}

/* -- Submit button area -- */
.add-prizes-main .c2w-prize-form-actions {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  padding-top: 8px !important;
  margin-top: 0 !important;
}
.add-prizes-main .c2w-prize-form-actions .add-basket-button12,
.add-prizes-main .c2w-prize-form-card .add-basket-button12 {
  background: var(--c2w-primary, #d94441) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 12px 36px !important;
  border-radius: 100px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  letter-spacing: 0.3px !important;
  transition: background .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1) !important;
  width: auto !important;
  min-height: auto !important;
  box-shadow: none !important;
}
.add-prizes-main .c2w-prize-form-actions .add-basket-button12:hover,
.add-prizes-main .c2w-prize-form-card .add-basket-button12:hover {
  background: var(--c2w-accent, #b53835) !important;
  transform: none !important;
  box-shadow: 0 4px 16px rgba(59, 84, 164, 0.2) !important;
}

/* -- Loading animation -- */
.add-prizes-main .c2w-prize-uploading {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 12px 0;
  color: #555a70;
  font-size: 13px;
}
.add-prizes-main .c2w-prize-uploading .c2w-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid #dcdfe8;
  border-top-color: var(--c2w-primary, #d94441);
  border-radius: 50%;
  animation: c2w-spin 0.6s linear infinite;
}
@keyframes c2w-spin {
  to { transform: rotate(360deg); }
}

/* -- Reset preview bar images -- */
.add-prizes-main .c2w-prize-preview-bar img,
.add-prizes-main .box-body img {
  height: 90px;
  width: 120px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #dcdfe8;
}

/* -- Page title -- */
.add-prizes-main .rtg-title-main {
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #1a1a2e !important;
  text-align: center !important;
  margin-bottom: 10px !important;
}

/* -- Description paragraph -- */
.add-prizes-main .dashboard-paragraph {
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #555a70 !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  text-align: center !important;
  font-weight: 400 !important;
}

/* -- Notice bar (em.second-line) -- */
.add-prizes-main em.second-line {
  display: block !important;
  max-width: 720px !important;
  margin: 12px auto 0 !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  background: rgba(245, 158, 11, 0.06) !important;
  border: 1px solid rgba(245, 158, 11, 0.15) !important;
  font-size: 12.5px !important;
  color: #f59e0b !important;
  font-style: italic !important;
  text-align: center !important;
}

/* -- Category section ï¿½ pill layout (overrides old 3-col grid) -- */
.add-prizes-main .rtg-category-section.prize-cat > strong {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  display: block !important;
  margin-bottom: 14px !important;
}
.add-prizes-main .rtg-category-section ul,
.add-prizes-main .rtg-category-section.prize-cat ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  grid-template-columns: none !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.add-prizes-main .rtg-category-section ul li.rtg-category {
  display: block !important;
  text-align: left !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.add-prizes-main .catg-block {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 12px 10px 20px !important;
  background: #ffffff !important;
  border: 1.5px solid #dcdfe8 !important;
  border-radius: 100px !important;
  grid-template-columns: none !important;
  transition: border-color .3s cubic-bezier(.4,0,.2,1), box-shadow .3s cubic-bezier(.4,0,.2,1) !important;
}
.add-prizes-main .catg-block:hover {
  border-color: var(--c2w-primary, #d94441) !important;
  box-shadow: 0 1px 3px rgba(26, 31, 54, 0.05) !important;
  transform: none !important;
}
.add-prizes-main .basket-achor {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background-color: transparent !important;
}
.add-prizes-main .basket-achor .cat-pill-count {
  font-size: 11px !important;
  color: #8b90a5 !important;
  font-weight: 500 !important;
}

/* -- Category edit/delete icon buttons (circle style) -- */
.add-prizes-main .c2w-icon-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  border: 1px solid #eceef4 !important;
  background: #fafbfe !important;
  cursor: pointer !important;
  transition: border-color .3s cubic-bezier(.4,0,.2,1), background .3s cubic-bezier(.4,0,.2,1) !important;
  float: none !important;
}
.add-prizes-main .c2w-icon-btn .dashicons {
  font-size: 14px !important;
  width: 14px !important;
  height: 14px !important;
  line-height: 14px !important;
}
.add-prizes-main .c2w-icon-btn--edit {
  color: var(--c2w-primary, #d94441) !important;
  background: #fafbfe !important;
}
.add-prizes-main .c2w-icon-btn--edit:hover {
  border-color: var(--c2w-primary, #d94441) !important;
  background: #eaedfa !important;
}
.add-prizes-main .c2w-icon-btn--delete {
  color: #ef4444 !important;
  background: #fafbfe !important;
}
.add-prizes-main .c2w-icon-btn--delete:hover {
  border-color: #ef4444 !important;
  background: rgba(239, 68, 68, 0.06) !important;
}

/* -- Hide old ::before pseudo-elements on icon buttons -- */
.add-prizes-main .c2w-icon-btn.rtg-edit::before,
.add-prizes-main .c2w-icon-btn.rtg-delete::before,
.add-prizes-main .c2w-icon-btn.rtg-edit2::before,
.add-prizes-main .c2w-icon-btn.rtg-delete2::before {
  content: none !important;
  display: none !important;
  background-image: none !important;
}
.add-prizes-main .rtg-edit2,
.add-prizes-main .rtg-delete2 {
  width: 30px !important;
  text-align: center !important;
  float: none !important;
}

.add-prizes-main .rtg-closed-data {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  border: 1px solid #eceef4 !important;
  background: #fafbfe !important;
  color: #6b7280 !important;
}
.add-prizes-main .rtg-closed-data::before {
  content: "\f335" !important;
  font-family: dashicons !important;
  background-image: none !important;
  font-size: 14px !important;
  line-height: 14px !important;
  width: 14px !important;
  height: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* -- Category form (inline add/edit) -- */
.add-prizes-main #basket_catform input,
.add-prizes-main #basket_catform2 input {
  border: 1.5px solid #dcdfe8 !important;
  border-radius: 5px !important;
  padding: 11px 14px !important;
}


/* -- Responsive -- */
@media (max-width: 960px) {
  .add-prizes-main .c2w-prize-layout-wrapper {
    grid-template-columns: 1fr !important;
  }
  .add-prizes-main .c2w-prize-sidebar-card {
    position: static !important;
  }
}
@media (max-width: 768px) {
  .add-prizes-main .c2w-prize-form-grid,
  .add-prizes-main .c2w-prize-form-grid.c2w-three-col {
    grid-template-columns: 1fr !important;
  }
  .add-prizes-main .c2w-prize-form-body {
    padding: 18px 14px !important;
  }
  .add-prizes-main .c2w-prize-form-header {
    padding: 16px 18px !important;
    font-size: 15px !important;
  }
  .add-prizes-main .c2w-prize-image-card {
    width: 110px;
  }
  .add-prizes-main .c2w-prize-form-actions {
    flex-direction: column;
    align-items: stretch;
  }
}
@media (max-width: 640px) {
  .add-prizes-main .rtg-category-section ul,
  .add-prizes-main .rtg-category-section.prize-cat ul {
    flex-direction: column !important;
  }
  .add-prizes-main .click-button {
    flex-direction: column !important;
    align-items: center !important;
  }
}

/* -- Quick action buttons (create category / create prize) -- */
.add-prizes-main .click-button {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 18px 0 32px !important;
}
.add-prizes-main .click-button a.click-data.button,
.add-prizes-main .click-button a.click-data {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 22px !important;
  border-radius: 100px !important;
  border: none !important;
  background: var(--c2w-primary, #d94441) !important;
  color: #ffffff !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s cubic-bezier(.4,0,.2,1) !important;
  box-shadow: none !important;
  min-height: auto !important;
}
.add-prizes-main .click-button a.click-data.button:hover,
.add-prizes-main .click-button a.click-data:hover {
  background: var(--c2w-accent, #b53835) !important;
  color: #ffffff !important;
  transform: none !important;
  box-shadow: 0 4px 12px rgba(59, 84, 164, 0.2) !important;
}
.add-prizes-main .click-button a.click-data span {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* -- Back link -- */
.add-prizes-main .back-arrow-img a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--c2w-primary, #d94441) !important;
  text-decoration: none !important;
  padding: 6px 16px !important;
  border-radius: 100px !important;
  border: 1px solid #dcdfe8 !important;
  background: #ffffff !important;
  transition: border-color .3s cubic-bezier(.4,0,.2,1), background .3s cubic-bezier(.4,0,.2,1) !important;
}
.add-prizes-main .back-arrow-img a:hover {
  border-color: var(--c2w-primary, #d94441) !important;
  background: #eaedfa !important;
  transform: none !important;
}
.add-prizes-main .back-arrow-img a img {
  width: 14px !important;
  height: 14px !important;
}

/* ----------------------------------------------------------------------
 * Edit-prize modal
 * ---------------------------------------------------------------------- */
.c2w-edit-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100000;
  align-items: flex-start;
  justify-content: center;
  padding: 40px 20px;
  overflow-y: auto;
}
.c2w-edit-modal.is-open {
  display: flex !important;
}
.c2w-edit-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,.55) !important;
  z-index: 1 !important;
}
.c2w-edit-modal-content {
  position: relative !important;
  z-index: 2 !important;
  background: #fff !important;
  border-radius: 16px !important;
  width: 100% !important;
  max-width: 1100px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.25) !important;
  animation: c2wModalIn .2s ease !important;
}
@keyframes c2wModalIn {
  from { opacity: 0; transform: translateY(20px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.c2w-edit-modal-close {
  position: absolute !important;
  top: 12px !important;
  right: 14px !important;
  z-index: 3 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 0 !important;
  background: rgba(0,0,0,.06) !important;
  font-size: 22px !important;
  line-height: 36px !important;
  text-align: center !important;
  color: #333 !important;
  cursor: pointer !important;
  padding: 0 !important;
}
.c2w-edit-modal-close:hover {
  background: rgba(0,0,0,.12) !important;
}
#c2w-edit-modal-body {
  padding: 0 !important;
}
#c2w-edit-modal-body .manual-order-updated-design.c2w-prize-shell {
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ----------------------------------------------------------------------
 * Edit-prize form layout within modal
 * ---------------------------------------------------------------------- */

/* Prevent the margin-data-class rule (div { margin-top:30px })
   from shifting inner grid children of the prize layout wrapper */
.c2w-prize-layout-wrapper .c2w-prize-form-card,
.c2w-prize-layout-wrapper .c2w-prize-sidebar,
.c2w-prize-layout-wrapper .c2w-prize-form-header,
.c2w-prize-layout-wrapper .c2w-prize-form-body,
.c2w-prize-layout-wrapper .c2w-prize-form-grid,
.c2w-prize-layout-wrapper .c2w-prize-field,
.c2w-prize-layout-wrapper .c2w-prize-form-actions,
.c2w-prize-layout-wrapper .c2w-prize-sidebar-card,
.c2w-prize-layout-wrapper .c2w-prize-sidebar-header,
.c2w-prize-layout-wrapper .c2w-prize-sidebar-body,
.c2w-prize-layout-wrapper .c2w-prize-images-grid,
.c2w-prize-layout-wrapper .c2w-prize-image-card,
.c2w-prize-layout-wrapper .c2w-prize-editor-wrap,
.c2w-prize-layout-wrapper .c2w-upload-header {
  margin-top: 0 !important;
}

/* ----------------------------------------------------------------------
 * Prize list cards ï¿½ title/action alignment cleanup
 * ---------------------------------------------------------------------- */
.add-prizes-main .closet-data {
  list-style: none !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
}

.add-prizes-main .closet-data .charity-table.charity-table-product {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  background: #ffffff !important;
  border: 1px solid #eceef4 !important;
  border-radius: 16px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

.add-prizes-main .closet-data .charity-table.charity-table-product tr:first-child {
  display: none !important;
}

.add-prizes-main .closet-data .charity-table.charity-table-product tr.image_link {
  display: table-row !important;
}

.add-prizes-main .closet-data .charity-table.charity-table-product td {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: 0 !important;
  vertical-align: top !important;
}

.add-prizes-main .closet-data .charity-table.charity-table-product td.tn {
  padding: 18px 18px 10px !important;
  text-align: center !important;
}

.add-prizes-main .closet-data .charity-table.charity-table-product td.tn img {
  display: block !important;
  width: 100% !important;
  max-width: 160px !important;
  height: 160px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

.add-prizes-main .closet-data .charity-table.charity-table-product td.details {
  padding: 0 18px 18px !important;
  text-align: center !important;
}

.add-prizes-main .closet-data .charity-table.charity-table-product td.details h4 {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: #1b223c !important;
  word-break: break-word !important;
}

.add-prizes-main .closet-data .row-actions.row-actions-product {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: auto !important;
  margin: 12px auto 0 !important;
  padding: 0 !important;
}

.add-prizes-main .closet-data .row-actions.row-actions-product span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

.add-prizes-main .closet-data .row-actions .c2w-icon-btn,
.add-prizes-main .closet-data .row-actions .rtg-closed-data {
  width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  float: none !important;
}

.add-prizes-main .closet-data .row-actions .c2w-icon-btn .dashicons,
.add-prizes-main .closet-data .row-actions .rtg-closed-data::before {
  font-size: 15px !important;
  line-height: 15px !important;
}

.add-prizes-main .closet-data .rtg-edit,
.add-prizes-main .closet-data .rtg-delete {
  margin: 0 !important;
}

.add-prizes-main .closet-data .rtg-closed-data {
  border: 1px solid #eceef4 !important;
  border-radius: 50% !important;
  background: #fafbfe !important;
  color: #6b7280 !important;
}

@media (max-width: 640px) {
  .add-prizes-main .closet-data .charity-table.charity-table-product {
    width: 100% !important;
    min-width: 0 !important;
  }

  .add-prizes-main .closet-data .charity-table.charity-table-product td.tn img {
    max-width: 130px !important;
    height: 130px !important;
  }
}

/* =====================================================
   PHONE BREAKPOINT ï¿½ 480px
   ===================================================== */
@media (max-width: 480px) {
  /* --- Admin page wrappers --- */
  body.page-template-site-setting-php .site-sett.site-setting-main,
  body.page-template-site-settings-php .site-sett.site-setting-main,
  body.page-template-payment_processor_page-php .site-sett.payment-processor-main,
  body.page-template-reporting-page-php .report-page12.report-page-main,
  body.page-template-add-manual-order-php .add-manual12,
  body.page-template-add-team-php .add-team12,
  body.page-template-addticketpackages-php .ticket-packages,
  body.page-template-printing-php .report-page12.ticket-printing-main,
  body.page-template-pick-winner-php .pick-winner-front-end {
    padding: 10px 6px 14px !important;
    border-radius: 8px !important;
  }

  body.page-template-site-setting-php .rtg-title-main,
  body.page-template-site-settings-php .rtg-title-main,
  body.page-template-payment_processor_page-php .rtg-title-main,
  body.page-template-reporting-page-php .rtg-title-main,
  body.page-template-add-manual-order-php .rtg-title-main,
  body.page-template-add-team-php .rtg-title-main,
  body.page-template-addticketpackages-php .rtg-title-main,
  body.page-template-printing-php .rtg-title-main,
  body.page-template-pick-winner-php .rtg-title-main {
    font-size: 22px !important;
  }

  /* --- Header bar --- */
  .c2w-header-bar__inner { padding: 6px 10px; }
  .c2w-header-bar__name { font-size: 13px; }
  .c2w-header-bar__btn { padding: 5px 10px; font-size: 12px; }
  .c2w-header-bar__logo { height: 40px; }
  .c2w-header-bar__actions { gap: 6px; }

  /* --- Dashboard hero strips --- */
  body.page-template-site-settings-php .c2w-settings-header,
  body.page-template-add-team-php .c2w-page-header,
  body.page-template-reporting-page-php .c2w-page-header,
  body.page-template-reporting-page-php .c2w-template-hero,
  body.page-template-add-manual-order-php .c2w-template-hero {
    padding: 20px 12px !important;
    border-radius: 10px;
  }

  /* --- Footer --- */
  .c2w-footer__inner { padding: 14px 12px; gap: 12px; }
  .c2w-footer__menu { gap: 10px; flex-wrap: wrap; justify-content: center; }

  /* --- Category page --- */
  .c2w-category-page { padding: 12px 8px 30px; }
  .c2w-main-content .raffle-baskets { grid-template-columns: repeat(2, 1fr) !important; }
  .c2w-step { padding: 10px 12px; font-size: 13px; }

  /* --- Team dashboard --- */
  .c2w-team-dashboard .c2w-team-group-card { padding: 12px; }

  /* --- Checkout --- */
  form.woocommerce-checkout { padding: 10px 8px !important; }
  form.woocommerce-checkout .col2-set .col-1,
  form.woocommerce-checkout .col2-set .col-2,
  .woocommerce-checkout #order_review,
  form.woocommerce-checkout #payment { padding: 12px 8px !important; }

  /* --- Add Prizes --- */
  .add-prizes-main .c2w-prize-image-card { width: 90px; }
  .add-prizes-main .c2w-prize-form-body { padding: 12px 10px !important; }
  .add-prizes-main .closet-data .charity-table.charity-table-product td.tn img {
    max-width: 100px !important;
    height: 100px !important;
  }
}




/* ══════════════════════════════════════════════════════════════════════
   My Account login — branded two-panel welcome card (palette-aware).
   Left: warm-branded welcome (charity name + event name). Right: login form.
   ONE card only (no nested boxes). Colours follow the active skin/palette
   via --c2w-primary/secondary/accent/text/border, with safe fallbacks.
   ══════════════════════════════════════════════════════════════════════ */
/* Centre + cap the logged-out account content area so the wide card sits
   nicely; beats skin rules that stretch it full-width. */
.woocommerce-account:not(.logged-in) .woocommerce {
  width: auto !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  float: none !important;
}
.c2w-login {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  width: 100%;
  max-width: 900px;
  margin: 56px auto;
  background: #fff;
  border: 1px solid var(--c2w-border, #e6e8f0);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px -22px rgba(16, 48, 107, 0.34), 0 2px 10px rgba(16, 48, 107, 0.06);
  box-sizing: border-box;
}
/* ── Left: welcome panel — palette gradient + readability scrim ── */
.c2w-login__welcome {
  position: relative;
  padding: 46px 40px;
  color: #fff;
  display: flex;
  flex-direction: column;
  background:
    linear-gradient(150deg, rgba(0,0,0,0.32), rgba(0,0,0,0.52)),
    linear-gradient(150deg, var(--c2w-primary, #16306b) 0%, var(--c2w-secondary, #00a9e6) 100%);
}
.c2w-login__kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85) !important;
  margin-bottom: 20px;
}
.c2w-login__kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c2w-accent, #ffd166);
  box-shadow: 0 0 0 4px rgba(255,255,255,0.18);
}
.c2w-login__title {
  margin: 0 0 12px;
  font-size: 29px;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #fff !important;
}
.c2w-login__event { color: #fff !important; }
.c2w-login__lead {
  margin: 0 0 26px;
  font-size: 15px !important;
  line-height: 1.6;
  color: rgba(255,255,255,0.9) !important;
  max-width: none;
}
.c2w-login__trust { list-style: none; margin: auto 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.c2w-login__trust li { display: flex; align-items: center; gap: 12px; font-size: 14px; color: rgba(255,255,255,0.95) !important; }
.c2w-login__ic {
  width: 30px; height: 30px; border-radius: 8px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center; font-size: 15px;
  background: rgba(255,255,255,0.15);
}
/* ── Right: login form panel ── */
.c2w-login__panel {
  padding: 46px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
}
.c2w-login__panel h2 {
  margin: 0 0 6px;
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--c2w-primary, #16306b);
}
/* WooCommerce helper paragraphs (e.g. Queen's admin instructions) */
.c2w-login__panel form > p:not(.form-row):not(.woocommerce-form-row):not(.woocommerce-LostPassword) {
  font-size: 13px; color: #6b7280; margin: 0 0 14px; line-height: 1.5;
}
/* Neutralise WooCommerce/theme default form box so the form sits flush */
.c2w-login__panel form.woocommerce-form-login,
.c2w-login__panel form.woocommerce-form-login.login,
.c2w-login__panel form.woocommerce-form-register,
.c2w-login__panel .woocommerce-form-login,
.c2w-login__panel #customer_login {
  width: 100%; max-width: 100%; margin: 0; border: 0; padding: 0; border-radius: 0;
  background: none; box-shadow: none;
}
.c2w-login__panel .woocommerce-form-row,
.c2w-login__panel .form-row { margin: 0 0 16px; }
.c2w-login__panel label {
  display: block; margin: 0 0 7px; font-size: 13px; font-weight: 700; color: var(--c2w-text, #2b3350);
}
.c2w-login__panel label .required { color: #d63447; }
/* Inputs */
.c2w-login__panel input.input-text,
.c2w-login__panel input[type="text"],
.c2w-login__panel input[type="email"],
.c2w-login__panel input[type="password"] {
  width: 100%; box-sizing: border-box; padding: 13px 15px; font-size: 15px; color: #1a2138;
  background: #fbfcfe; border: 1.5px solid var(--c2w-border, #d9deeb); border-radius: 11px;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.c2w-login__panel input.input-text::placeholder { color: #9aa2b8; }
.c2w-login__panel input.input-text:focus,
.c2w-login__panel input[type="password"]:focus {
  outline: none; background: #fff; border-color: var(--c2w-primary, #16306b);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--c2w-primary, #16306b) 16%, transparent);
}
/* Password show/hide toggle */
.c2w-login__panel .password-input { position: relative; display: block; }
.c2w-login__panel .password-input input.input-text { padding-right: 46px; }
.c2w-login__panel .password-input .show-password-input {
  position: absolute; top: 50%; right: 12px; transform: translateY(-50%);
  width: 24px; height: 24px; margin: 0; padding: 0;
  display: flex; align-items: center; justify-content: center;
  border: 0 !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important;
  cursor: pointer; opacity: .5; transition: opacity .15s ease;
}
.c2w-login__panel .password-input .show-password-input:hover,
.c2w-login__panel .password-input .show-password-input.display-password { opacity: 1; }
/* Human-check (All-In-One WP Security math question) — warm accent box */
.c2w-login__panel .aiowps-captcha { margin: 0 0 6px; }
.c2w-login__panel .aiowps-captcha-equation {
  display: flex; align-items: center; gap: 10px; margin: 0 0 18px;
  font-size: 15px; font-weight: 700; color: var(--c2w-text, #2b3350);
  background: color-mix(in srgb, var(--c2w-accent, #ffd166) 15%, #fff);
  border: 1px solid color-mix(in srgb, var(--c2w-accent, #ffd166) 45%, #fff);
  border-radius: 11px; padding: 10px 13px;
}
.c2w-login__panel .aiowps-captcha-equation input[type="text"] {
  width: 74px; padding: 9px 11px; font-size: 15px; text-align: center;
  border: 1.5px solid var(--c2w-border, #d9deeb); border-radius: 9px; background: #fff;
}
.c2w-login__panel .aiowps-captcha-equation input[type="text"]:focus {
  outline: none; border-color: var(--c2w-primary, #16306b);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--c2w-primary, #16306b) 16%, transparent);
}
/* Log in button — brand gradient, full width */
.c2w-login__panel .woocommerce-button.button.woocommerce-form-login__submit,
.c2w-login__panel .woocommerce-form-login__submit,
.c2w-login__panel button[name="login"],
.c2w-login__panel button[type="submit"] {
  /* !important throughout — global .button rules otherwise squash/reshape the login button. */
  display: block !important; width: 100% !important; margin: 6px 0 4px !important;
  padding: 14px 20px !important; min-width: 0 !important; height: auto !important;
  font-size: 15.5px !important; font-weight: 800 !important; line-height: 1.3 !important;
  letter-spacing: .01em; text-transform: none !important; color: #fff !important;
  background: linear-gradient(135deg, var(--c2w-primary, #16306b), color-mix(in srgb, var(--c2w-primary, #16306b) 78%, #000)) !important;
  border: 0 !important; border-radius: 12px !important; cursor: pointer;
  box-shadow: 0 10px 22px -10px rgba(16, 48, 107, 0.6);
  transition: transform .12s ease, box-shadow .15s ease, filter .15s ease;
}
.c2w-login__panel .woocommerce-form-login__submit:hover,
.c2w-login__panel button[name="login"]:hover,
.c2w-login__panel button[type="submit"]:hover {
  filter: brightness(1.06); transform: translateY(-1px); box-shadow: 0 14px 26px -10px rgba(16, 48, 107, 0.7);
}
.c2w-login__panel .woocommerce-form-login__submit:active,
.c2w-login__panel button[name="login"]:active,
.c2w-login__panel button[type="submit"]:active { transform: translateY(0); }
/* Remember me */
.c2w-login__panel .woocommerce-form-login__rememberme {
  display: flex; align-items: center; gap: 8px; margin: 14px 0 4px;
  font-size: 14px; color: var(--c2w-text, #4a5270); cursor: pointer;
}
.c2w-login__panel .woocommerce-form-login__rememberme input { margin: 0; width: 16px; height: 16px; accent-color: var(--c2w-primary, #16306b); }
/* Lost password */
.c2w-login__panel .woocommerce-LostPassword {
  margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--c2w-border, #eef1f7);
  text-align: center; font-size: 14px;
}
.c2w-login__panel .woocommerce-LostPassword a { color: var(--c2w-primary, #16306b); font-weight: 700; text-decoration: none; }
.c2w-login__panel .woocommerce-LostPassword a:hover { text-decoration: underline; }
/* Responsive — stack the two panels */
@media (max-width: 760px) {
  .c2w-login { grid-template-columns: 1fr; max-width: 440px; margin: 24px auto; }
  .c2w-login__welcome { padding: 30px 22px; }
  .c2w-login__trust { margin-top: 22px; }
  .c2w-login__panel { padding: 28px 22px; }
  .c2w-login__title { font-size: 24px; }
}
/* Small phones: trim the side padding so the form uses the width instead of being
   squeezed into a narrow column with big left/right gaps. */
@media (max-width: 440px) {
  .c2w-login { margin: 16px auto; border-radius: 16px; max-width: 100%; }
  .c2w-login__welcome { padding: 24px 16px; }
  .c2w-login__panel { padding: 22px 16px; }
  .c2w-login__title { font-size: 22px; }
}
/* The bigger squeeze was the theme's own wrappers: .entry-content (20px) + .woocommerce
   (18px) stack ~38px of side padding on mobile, boxing the login card into a narrow
   column. Trim them on the LOGIN page only (scoped via :has) so the card uses the
   screen width. Falls back gracefully where :has() is unsupported. */
@media (max-width: 600px) {
  body:has(.c2w-login) .entry-content { padding-left: 8px !important; padding-right: 8px !important; }
  body:has(.c2w-login) .woocommerce { padding-left: 0 !important; padding-right: 0 !important; max-width: 100% !important; }
}

/* ========================================================================
 * Checkout design-system pass — palette + layout polish
 * ======================================================================== */

/* "Who referred you?" attribution + custom questions get the same card
   chrome as the billing details card, instead of floating on the page bg. */
form.woocommerce-checkout .c2w-qoh-attribution,
form.woocommerce-checkout .c2w-queen-checkout-extra {
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.08) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 16px rgba(15,23,42,0.06) !important;
  padding: 24px !important;
  max-width: 100% !important;
  margin: 0 0 20px !important;
  box-sizing: border-box !important;
}
/* Inputs stay a readable width inside the full-width card */
form.woocommerce-checkout .c2w-qoh-attribution .form-row {
  max-width: 560px !important;
}

/* "Your order" heading — left-aligned like every other section heading */
.woocommerce-checkout #order_review_heading {
  text-align: left !important;
}

/* Raffle-rules confirmation — one tidy checkbox row in a soft primary panel,
   not a bare checkbox floating above bold text. */
form.woocommerce-checkout p.form-row.terms {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
  padding: 14px 16px !important;
  background: var(--c2w-primary-soft, #fdf1f1) !important;
  border: 1px solid color-mix(in srgb, var(--c2w-primary, #d94441) 25%, #fff) !important;
  border-radius: 10px !important;
  text-align: left !important;
}
form.woocommerce-checkout p.form-row.terms input.input-checkbox {
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
  flex: 0 0 auto !important;
  accent-color: var(--c2w-primary, #d94441) !important;
}
form.woocommerce-checkout p.form-row.terms label.checkbox {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  text-align: left !important;
  display: inline !important;
}

/* Privacy-policy blurb — quiet, left-aligned small print */
form.woocommerce-checkout .woocommerce-privacy-policy-text p {
  text-align: left !important;
  font-size: 13px !important;
  color: #64748b !important;
  margin: 0 0 16px !important;
  line-height: 1.5 !important;
}

/* The page template's entry-footer holds only the admin "Edit" link and
   rendered as a navy bar above the site footer — never show it. */
footer.entry-footer { display: none !important; }

/* ==== Mobile fixed bottom checkout bar (category page, ported from basket) ====
   The tracker checkout button sits at the top of the page; on phones, users deep
   in the card grid hit "You have used all your tickets" with no checkout control
   in sight. This bar appears at the bottom once every ticket is assigned. */
.c2w-mob-checkout { display: none; }
@media (max-width: 782px) {
  .c2w-mob-checkout.is-on {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    background: var(--c2w-primary, #d94441);
    color: var(--c2w-on-primary, #fff) !important;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 800;
    font-family: 'Instrument Sans', sans-serif;
    text-decoration: none !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.3);
  }
  .c2w-mob-checkout.is-on:active { transform: scale(0.98); }
}
/* Homepage Sections editor without the layout-preview sidebar */
.c2w-hp-editor--nopreview { grid-template-columns: 1fr; }
/* Jackpot amount fields inside the Homepage Sections "Jackpot Banner" card */
.c2w-hp-jackpot-fields { display: grid; gap: 16px; margin-top: 16px; padding-top: 16px; border-top: 1px solid #eef1f6; }
.c2w-hp-jp-row { display: grid; gap: 6px; text-align: left; }
.c2w-hp-jp-row label { font-weight: 600; font-size: 13px; color: #1a1a2e; margin: 0; }
.c2w-hp-jp-row input[type="number"] { width: 220px; max-width: 100%; padding: 9px 12px; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 14px; }
.c2w-hp-jp-row input[type="text"] { width: 100%; max-width: 480px; padding: 9px 12px; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 14px; }
.c2w-hp-jp-row .hint { font-size: 12px; color: #64748b; }
.c2w-hp-jp-row .hint code { background: #f2f0fc; color: #4b3bbf; padding: 1px 5px; border-radius: 5px; font-size: 11px; }
/* Jackpot pot-mode picker (Site Setup, step 6) */
.c2wq-modes { display: grid; gap: 8px; }
.c2wq-mode { display: block; border: 1.5px solid #e2e8f0; border-radius: 10px; padding: 10px 12px; cursor: pointer; transition: border-color .15s, background .15s; }
.c2wq-mode:hover { border-color: #c9c2f5; }
.c2wq-mode.is-active { border-color: var(--c2w-primary, #6A5ACD); background: #faf9ff; box-shadow: 0 0 0 3px rgba(124,92,255,.12); }
.c2wq-mode-h { display: flex; align-items: center; gap: 9px; font-size: 14px; color: #1a1a2e; }
.c2wq-mode-h input { margin: 0; flex: 0 0 auto; }
.c2wq-mode-d { display: block; font-size: 12px; color: #64748b; margin: 5px 0 0 26px; }
.c2wq-mode-sub { display: none; margin: 9px 0 2px 26px; }
.c2wq-mode.is-active .c2wq-mode-sub { display: block; }
.c2wq-mode-sub input { width: 220px; max-width: 100%; padding: 8px 11px; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 14px; }
/* Homepage-emphasis picker: two equal cards side by side (mockup layout). */
.c2wq-emph { grid-template-columns: 1fr 1fr; }
@media (max-width: 560px) { .c2wq-emph { grid-template-columns: 1fr; } }

/* ==== Launch Readiness checklist (COPY-4) ==== */
.c2wq-launch { border-radius: 12px; padding: 16px 18px; border: 1.5px solid #e2e8f0; background: #fff; }
.c2wq-launch.is-ready { border-color: #a7f3d0; background: #f0fdf6; }
.c2wq-launch.is-blocked { border-color: #fca5a5; background: #fff7f7; }
.c2wq-launch__lead { margin: 0 0 12px; font-size: 14px; font-weight: 600; color: #1a1a2e; }
.c2wq-launch__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.c2wq-launch__item { display: flex; align-items: flex-start; gap: 10px; }
.c2wq-launch__ico { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 800; line-height: 1; color: #fff; }
.c2wq-launch__item.ok  .c2wq-launch__ico { background: #10b981; }
.c2wq-launch__item.bad .c2wq-launch__ico { background: #ef4444; }
.c2wq-launch__txt { display: block; font-size: 13.5px; color: #1a1a2e; }
.c2wq-launch__txt strong { display: block; font-weight: 700; }
.c2wq-launch__detail { display: block; font-size: 12px; color: #64748b; margin-top: 1px; }
.c2wq-launch__detail em { font-style: normal; color: #b45309; font-weight: 600; }
.c2wq-launch__item.ok .c2wq-launch__txt strong { color: #157347; }
.c2wq-danger__gate { margin: 4px 0 10px; font-size: 13px; font-weight: 600; color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; border-radius: 8px; padding: 8px 11px; }
/* ==== Event-ended banner (taxonomy-product_cat.php sales-closed notice) ==== */
.c2w-event-ended-banner {
	margin: 0 0 18px;
	padding: 14px 18px;
	border-radius: 10px;
	background: var(--c2w-primary-soft, #fde7eb);
	border: 1px solid var(--c2w-primary, #c8102e);
	color: var(--c2w-accent, #8a0f22);
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
}
.c2w-event-ended-banner strong { color: var(--c2w-primary, #c8102e); }

/* == Ticket-package quantity box (ported from basket #158 / #126B) == */
.c2w-qty-add { display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:center; }
.c2w-qty-field { display:inline-flex; align-items:center; border:1.5px solid #d5d9e6; border-radius:8px; background:#fff; overflow:hidden; height:38px; }
.c2w-qty-adj { width:30px; height:100%; border:none; background:transparent; color:#5a6482; font-size:18px; line-height:1; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:color .15s ease; }
.c2w-qty-adj:hover { color: var(--c2w-primary, #d94441); }
.c2w-qty-num { width:46px; height:100%; border:none; border-left:1px solid #eceef4; border-right:1px solid #eceef4; text-align:center; font-size:15px; font-weight:700; color:#1a237e; background:transparent; -moz-appearance:textfield; padding:0; }
.c2w-qty-num::-webkit-outer-spin-button, .c2w-qty-num::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.c2w-qty-num:focus { outline:none; }
.c2w-qty-field--spin { display:inline-flex; align-items:stretch; width:88px; height:40px; border:1.5px solid #d5d9e6; border-radius:8px; background:#fff; overflow:hidden; padding:0; }
.c2w-qty-field--spin:focus-within { border-color: var(--c2w-primary, #d94441); box-shadow:0 0 0 3px rgba(217,68,65,.12); }
.c2w-qty-field--spin .c2w-qty-num { flex:1 1 auto; width:auto; min-width:0; height:100%; border:none; border-radius:0; text-align:left; padding:0 8px; font-size:15px; font-weight:600; color:#1a237e; background:transparent; -moz-appearance:textfield; }
.c2w-qty-field--spin .c2w-qty-num::-webkit-outer-spin-button, .c2w-qty-field--spin .c2w-qty-num::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.c2w-qty-spin { display:flex; flex-direction:column; flex:0 0 22px; border-left:1px solid #e4e7f0; }
.c2w-qty-field--spin .c2w-qty-spin .c2w-qty-adj { flex:1 1 0; width:100%; height:auto; min-height:0; border:none; border-radius:0; background:#f4f6fb; color:#5a6482; font-size:8px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; transition:background .12s ease, color .12s ease; }
.c2w-qty-field--spin .c2w-qty-spin .c2w-qty-up { border-bottom:1px solid #e4e7f0; }
.c2w-qty-field--spin .c2w-qty-spin .c2w-qty-adj:hover { background: var(--c2w-primary, #d94441); color:#fff; }
/* small inline loading state -- NOT the giant circle the old button showed */
.c2w-add-qty.loading { opacity:.6; cursor:wait; pointer-events:none; }
.c2w-add-qty.loading::after { display:none !important; }

/* Guarantee the package Add button stays a pill, never the global .loading circle */
.c2w-pkg-row .c2w-pkg-row__action .c2w-qty-add .c2w-add-qty { width:auto !important; min-width:0 !important; max-width:none !important; height:38px !important; min-height:0 !important; padding:0 22px !important; border-radius:100px !important; aspect-ratio:auto !important; flex:0 0 auto !important; white-space:nowrap !important; line-height:1 !important; }
.c2w-add-qty.c2w-adding::after { display:none !important; }

/* Awaiting-draw state — shown on the homepage when the drawing time has passed
   but the winner has not been drawn yet (sales closed, timer frozen). */
.qoh-countdown--awaiting { text-align: center; }
.qoh-countdown--awaiting .qoh-cd-awaiting {
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	opacity: .9;
	margin-top: 6px;
}

/* "Proudly made in America" footer badge (under Powered by Chance2Win) */
.c2w-made-usa { display:flex; align-items:center; justify-content:flex-start; gap:6px; width:100%; flex-basis:100%; box-sizing:border-box; margin-top:6px; font-size:12px; font-weight:600; letter-spacing:.02em; opacity:.82; color:inherit; }
.c2w-made-usa__flag { font-size:14px; line-height:1; }
/* Badge is now the Proudly-Made-in-America image (300x100) — full opacity, capped height. */
.c2w-made-usa { opacity:1; }
.c2w-made-usa__img { display:block; height:80px; width:auto; max-width:100%; }
.qoh-ftr-left { flex-wrap:wrap; }
.qoh-ftr-left .c2w-made-usa { padding-left:0; }

/* ── Admin-only "Reset Event for Launch" danger zone (Site Setup → Event Setup) ── */
.c2wq-danger-fs { border: 1px solid #f3c2c2 !important; }
.c2wq-danger {
	background: #fff6f6;
	border: 1px solid #f0c4c4;
	border-radius: 10px;
	padding: 16px 18px;
}
.c2wq-danger__lead { margin: 0 0 8px; color: #8a1c1c; font-size: 14px; }
.c2wq-danger__what { margin: 0 0 14px; color: #5a4a4a; font-size: 13px; line-height: 1.6; }
.c2wq-danger__check {
	display: block; margin: 0 0 12px; font-size: 13px; color: #333;
	cursor: pointer;
}
.c2wq-danger__check input { margin-right: 8px; vertical-align: middle; }
.c2wq-danger__confirm { display: block; margin: 0 0 12px; font-size: 13px; color: #333; }
.c2wq-danger__confirm code {
	background: #f2e2e2; padding: 1px 6px; border-radius: 4px; font-weight: 700; color: #8a1c1c;
}
.c2wq-danger__confirm input {
	display: inline-block; margin-left: 8px; width: 160px;
	padding: 6px 10px; border: 1px solid #d8b6b6; border-radius: 6px;
	font-size: 13px; letter-spacing: .1em; text-transform: uppercase;
}
.c2wq-danger__btn {
	display: inline-block; padding: 10px 18px; border: none; border-radius: 6px;
	background: #c8102e; color: #fff !important; font-size: 13px; font-weight: 800;
	cursor: pointer; transition: background .15s, opacity .15s;
}
.c2wq-danger__btn:hover:not(:disabled) { background: #a80d26; }
.c2wq-danger__btn:disabled { opacity: .45; cursor: not-allowed; }
.c2wq-danger__status { display: inline-block; margin-left: 12px; font-size: 13px; font-weight: 700; color: #12633b; }

/* ─────────────────────────────────────────────────────────────────────────
 * Stripe / wallet team-attribution gate  (inc/c2w-stripe-attribution-gate.php)
 * Wallet buttons (Apple Pay / Google Pay / Link) carry no team selector, so a
 * buyer paying with them skips seller credit. Two rules enforce the fix:
 *   1. Hide wallet buttons on cart & product pages when attribution is required
 *      — there is nowhere to pick a team there, so payment must happen on the
 *      gated checkout instead.
 *   2. On checkout, while body.c2w-attr-locked is set (JS: no team chosen yet),
 *      hide the wallet buttons and dim the disabled Place Order button, and show
 *      the "choose a team first" note.
 * ───────────────────────────────────────────────────────────────────────── */
body.c2w-attr-required.woocommerce-cart #wc-stripe-payment-request-wrapper,
body.c2w-attr-required.woocommerce-cart .wc-stripe-payment-request-button,
body.c2w-attr-required.woocommerce-cart #wc-stripe-express-checkout-element,
body.c2w-attr-required.woocommerce-cart .wc-block-components-express-payment,
body.c2w-attr-required.single-product #wc-stripe-payment-request-wrapper,
body.c2w-attr-required.single-product .wc-stripe-payment-request-button,
body.c2w-attr-required.single-product #wc-stripe-express-checkout-element,
body.c2w-attr-required.single-product .wc-block-components-express-payment {
  display: none !important;
}

/* Checkout gate — locked state hides every wallet wrapper until a team is chosen. */
body.c2w-attr-locked #wc-stripe-payment-request-wrapper,
body.c2w-attr-locked #wc-stripe-payment-request-button,
body.c2w-attr-locked .wc-stripe-payment-request-button,
body.c2w-attr-locked #wc-stripe-payment-request-button-separator,
body.c2w-attr-locked .wc-stripe-payment-request-button-separator,
body.c2w-attr-locked #wc-stripe-express-checkout-element,
body.c2w-attr-locked .wc-stripe-express-checkout-element,
body.c2w-attr-locked #wc-stripe-express-checkout-button-separator,
body.c2w-attr-locked .wc-block-components-express-payment,
body.c2w-attr-locked .wc-block-components-express-payment-continue-rule {
  display: none !important;
}
body.c2w-attr-locked #place_order {
  opacity: .5 !important;
  cursor: not-allowed !important;
}

/* "Please choose your team or team member above before paying." */
.c2w-gate-note {
  margin: 10px 0 0 !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  background: rgba(217, 68, 65, .08) !important;
  border: 1px solid rgba(217, 68, 65, .25) !important;
  color: #b02a27 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: left !important;
}

/* ─────────────────────────────────────────────────────────────────────────
 * Manual Winner Entry  (pick-winner.php + inc/c2wq-manual-winner.php)
 * Ticket # → confirm order/card (c2w-modal popup) → record → result popup.
 * ───────────────────────────────────────────────────────────────────────── */
.c2wq-mw-card { margin-top: 20px; }
.c2wq-mw-card > h3 { margin: 0 0 6px; font-size: 17px; font-weight: 800; color: #1a1a2e; }
.c2wq-mw-card > p { margin: 0 0 14px; color: #64748b; font-size: 14px; }
.c2wq-mw-form label { display: block; font-size: 13px; font-weight: 700; color: #1a1a2e; margin: 0 0 6px; }
.c2wq-mw-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.c2wq-mw-row input {
  flex: 0 1 220px; height: 44px; padding: 6px 14px; border: 1px solid #cbd5e1;
  border-radius: 10px; font-size: 15px; box-sizing: border-box; background: #fff; color: #1a1a2e;
}
.c2wq-mw-row input:focus { outline: none; border-color: var(--c2w-primary, #d94441); box-shadow: 0 0 0 3px rgba(217,68,65,.12); }
.c2wq-mw-msg { margin-top: 10px; font-size: 13px; font-weight: 600; color: #64748b; min-height: 18px; }
.c2wq-mw-msg.is-error { color: #b02a27; }

/* Confirmation popup body */
.c2wq-mw-pop { position: relative; padding: 26px 26px 22px; background: #fff; border-radius: 16px; box-shadow: 0 24px 60px -20px rgba(2,8,40,.5); max-height: 90vh; overflow: auto; }
.c2wq-mw-pop > h3 { margin: 0 0 16px; font-size: 18px; font-weight: 800; color: #1a1a2e; }
.c2w-modal-content .c2wq-mw-x, .c2wq-mw-x {
  position: absolute !important; top: 12px !important; right: 14px !important; width: 34px !important; height: 34px !important;
  min-width: 0 !important; min-height: 0 !important; max-width: 34px !important; padding: 0 !important; margin: 0 !important;
  border: 0 !important; border-radius: 50% !important; background: #eef1f7 !important; color: #475569 !important;
  font-size: 22px !important; font-weight: 400 !important; line-height: 34px !important; text-align: center !important;
  box-shadow: none !important; text-shadow: none !important; cursor: pointer !important; z-index: 6 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
.c2wq-mw-x:hover { background: #e2e6f0 !important; color: #1a1a2e !important; filter: none !important; }
.c2wq-mw-details {
  display: grid; grid-template-columns: auto 1fr; gap: 10px 16px; margin: 0 0 22px;
  padding: 16px 18px; border: 1px solid #e6e8f0; border-radius: 12px; background: #f8fafc;
}
.c2wq-mw-details dt { margin: 0; font-size: 13px; font-weight: 700; color: #64748b; }
.c2wq-mw-details dd { margin: 0; font-size: 15px; font-weight: 700; color: #1a1a2e; }
.c2wq-mw-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.c2wq-mw-actions .pw-action-btn.is-busy { opacity: .6; cursor: progress; }
/* Legal "type YES" confirmation gate */
.c2wq-mw-legal { margin: 0 0 12px; padding: 12px 14px; background: #fffbeb; border: 1px solid #fde68a; border-radius: 8px; color: #713f12; font-size: 13.5px; font-weight: 600; line-height: 1.5; }
.c2wq-mw-yes { width: 100%; box-sizing: border-box; height: 44px; margin: 0 0 14px; padding: 4px 14px; border: 1.5px solid #cbd5e1; border-radius: 8px; text-align: center; letter-spacing: 3px; font-weight: 800; text-transform: uppercase; color: #1a1a2e; }
.c2wq-mw-yes:focus { outline: none; border-color: #6d28d9; box-shadow: 0 0 0 3px rgba(109,40,217,.15); }
.c2wq-mw-actions .pw-action-btn.c2wq-mw-btn--primary:disabled { background: #cbd5e1; color: #eef2f7; cursor: not-allowed; box-shadow: none; }

/* Result popup */
.c2wq-mw-result { padding: 34px 30px 30px; background: #fff; border-radius: 16px; box-shadow: 0 24px 60px -20px rgba(2,8,40,.5); max-height: 90vh; overflow: auto; }
.c2wq-mw-res { text-align: center; }
.c2wq-mw-res__emoji { font-size: 46px; line-height: 1; margin-bottom: 8px; }
.c2wq-mw-res h2 { margin: 0 0 10px; font-size: 22px; font-weight: 900; color: #1a1a2e; }
.c2wq-mw-res p { margin: 0 0 22px; color: #475569; font-size: 15px; line-height: 1.5; }
.c2wq-mw-res--queen h2 { color: var(--c2w-primary, #b02a27); }
.c2wq-mw-res__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.c2wq-mw-btn--primary {
  background: var(--c2w-primary, #d94441) !important; color: #fff !important; border-color: var(--c2w-primary, #d94441) !important;
}
.c2wq-mw-btn--primary:hover { filter: brightness(1.06); }

/* ── Danger Zone: Reset Demo Data (inc/c2wq-reset-demo.php, shown on the dashboard) ── */
.c2wt-danger{margin-top:28px;padding:22px 24px;border:1.5px solid #f3c9c9;border-left:5px solid #c8102e;border-radius:14px;background:#fff7f7;}
.c2wt-danger>h3{margin:0 0 8px;font-size:17px;font-weight:800;color:#a11722;}
.c2wt-danger__emoji{margin-right:4px;}
.c2wt-danger__lead{margin:0 0 10px;color:#7a1420;font-size:14px;}
.c2wt-danger__list{margin:0 0 10px;padding-left:20px;color:#7a1420;font-size:13.5px;line-height:1.7;}
.c2wt-danger__keep{margin:0 0 16px;color:#8a6a2a;font-size:12.5px;font-style:italic;}
.c2wt-danger__confirm{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.c2wt-danger__confirm label{font-size:13px;font-weight:700;color:#1a1a2e;}
.c2wt-danger__confirm input{height:42px;padding:6px 14px;border:1px solid #cbd5e1;border-radius:10px;font-size:15px;letter-spacing:.08em;text-transform:uppercase;width:160px;box-sizing:border-box;background:#fff;color:#1a1a2e;}
.c2wt-danger__confirm input:focus{outline:none;border-color:#c8102e;box-shadow:0 0 0 3px rgba(200,16,46,.12);}
.c2wt-danger__btn{height:42px;padding:0 20px;border:0;border-radius:10px;background:#c8102e !important;color:#fff !important;font-size:14px;font-weight:700;cursor:pointer;}
.c2wt-danger__btn:hover{filter:brightness(1.08);color:#fff !important;}
.c2wt-danger__btn[disabled]{opacity:.5;cursor:not-allowed;}
.c2wt-danger__btn.is-busy{opacity:.7;cursor:progress;}
.c2wt-danger__msg{margin-top:12px;font-size:13px;font-weight:600;min-height:18px;}
.c2wt-danger__msg.is-error{color:#b02a27;}
.c2wt-danger__msg.is-ok{color:#1b7a43;}
/* ── Login panel readable-text fix (all cores) ──────────────────────────────
 * The site palette can set --c2w-text to WHITE (dark hero), which made the login
 * labels / math-captcha / remember-me invisible on the white form panel. Re-scope
 * the variable to dark here and force dark text on every label/helper regardless. */
.c2w-login__panel { --c2w-text: var(--c2w-primary); }
.c2w-login__panel label,
.c2w-login__panel legend,
.c2w-login__panel form > p,
.c2w-login__panel .form-row label,
.c2w-login__panel .woocommerce-form-row label,
.c2w-login__panel .woocommerce-form__label,
.c2w-login__panel .woocommerce-form__label-for-checkbox,
.c2w-login__panel .woocommerce-form-login__rememberme,
.c2w-login__panel [class*="captcha"],
.c2w-login__panel [class*="captcha"] label {
  color: var(--c2w-primary) !important;
}
.c2w-login__panel label .required { color: var(--c2w-secondary) !important; }
