@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;600;700;800;900&family=Nunito:wght@400;600;700;800&display=swap');

:root {
  --blue-deep: #0a2a6e;
  --blue-mid: #1356b8;
  --blue-bright: #1e90ff;
  --aqua: #00d4ff;
  --aqua-light: #a8f0ff;
  --teal: #00b4b0;
  --orange: #ff6b35;
  --yellow: #ffd60a;
  --green: #10b981;
  --white: #ffffff;
  --off-white: #f0faff;
  --card-bg: rgba(255, 255, 255, 0.97);
  --shadow: 0 8px 40px rgba(10, 42, 110, 0.15);
  --shadow-hover: 0 20px 60px rgba(10, 42, 110, 0.28);
  --radius: 24px;
  --radius-sm: 14px;
}

.wct-wrap *,
.wct-cart-panel *,
.wct-cart-bar *,
.wct-modal-overlay * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ── WRAPPER ── */
.wct-wrap {
  font-family: 'Nunito', sans-serif;
  background: linear-gradient(160deg, #0a2a6e 0%, #1356b8 40%, #00b4b0 100%);
  min-height: 60vh;
  color: var(--blue-deep);
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}

/* ── ANIMATED WAVE BG ── */
.wct-wave-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.wct-wave-bg::before,
.wct-wave-bg::after {
  content: '';
  position: absolute;
  width: 200%;
  height: 200%;
  border-radius: 43%;
  animation: wctWave 12s linear infinite;
  opacity: .04;
  background: white;
}

.wct-wave-bg::before {
  top: -60%;
  left: -50%;
  animation-duration: 12s;
}

.wct-wave-bg::after {
  top: -70%;
  left: -30%;
  animation-duration: 18s;
  animation-direction: reverse;
}

@keyframes wctWave {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* ── BUBBLES ── */
.wct-bubbles {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.wct-bubble {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, rgba(255, 255, 255, .6), rgba(0, 212, 255, .1));
  border: 1px solid rgba(255, 255, 255, .3);
  animation: wctFloat linear infinite;
}

@keyframes wctFloat {
  0% {
    transform: translateY(110%) scale(.5);
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  90% {
    opacity: .6;
  }

  100% {
    transform: translateY(-10%) scale(1);
    opacity: 0;
  }
}

/* ── INNER ── */
.wct-inner {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  padding: 52px 20px 80px;
}

/* ── HEADER ── */
.wct-header {
  text-align: center;
  margin-bottom: 52px;
  animation: wctFadeDown .7s ease both;
}

@keyframes wctFadeDown {
  from {
    opacity: 0;
    transform: translateY(-24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.wct-logo-badge {
  display: inline-block;
  background: rgba(255, 255, 255, .15);
  border: 2px solid rgba(255, 255, 255, .35);
  border-radius: 50px;
  padding: 8px 24px;
  color: var(--aqua-light);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 18px;
  backdrop-filter: blur(8px);
}

.wct-header h1 {
  font-family: 'Baloo 2', cursive;
  font-size: clamp(2.6rem, 7vw, 4.8rem);
  font-weight: 900;
  color: #fff;
  line-height: 1;
  text-shadow: 0 4px 24px rgba(0, 0, 0, .3);
}

.wct-header h1 span {
  color: var(--aqua);
}

.wct-header p {
  color: rgba(255, 255, 255, .75);
  font-size: 1.1rem;
  margin-top: 14px;
  font-weight: 600;
}

/* ── STEP BAR ── */
.wct-steps {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-bottom: 36px;
  animation: wctFadeUp .5s .05s ease both;
  flex-wrap: wrap;
}

@keyframes wctFadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.wct-step {
  display: flex;
  align-items: center;
  gap: 6px;
}

.wct-step-dot {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .15);
  border: 2px solid rgba(255, 255, 255, .3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .8rem;
  font-weight: 900;
  color: rgba(255, 255, 255, .7);
}

.wct-step-dot.done {
  background: var(--aqua);
  border-color: var(--aqua);
  color: var(--blue-deep);
}

.wct-step-label {
  font-size: .78rem;
  font-weight: 700;
  color: rgba(255, 255, 255, .6);
}

.wct-step-sep {
  width: 24px;
  height: 2px;
  background: rgba(255, 255, 255, .2);
}

/* ── TOGGLE ── */
.wct-toggle-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 44px;
  animation: wctFadeUp .6s .1s ease both;
}

.wct-toggle {
  display: flex;
  background: rgba(255, 255, 255, .12);
  border: 2px solid rgba(255, 255, 255, .25);
  border-radius: 50px;
  padding: 5px;
  backdrop-filter: blur(10px);
  gap: 4px;
}

.wct-toggle-btn {
  padding: 12px 30px;
  border: none;
  border-radius: 40px;
  font-family: 'Nunito', sans-serif;
  font-size: 1rem;
  font-weight: 800;
  cursor: pointer;
  transition: all .3s;
  color: rgba(255, 255, 255, .7);
  background: transparent;
  display: flex;
  align-items: center;
  gap: 8px;
}

.wct-toggle-btn.active {
  background: #fff;
  color: var(--blue-deep);
  box-shadow: 0 4px 20px rgba(0, 0, 0, .2);
}

/* ── SECTION LABEL ── */
.wct-section-label {
  text-align: center;
  margin-bottom: 24px;
}

.wct-section-label h2 {
  font-family: 'Baloo 2', cursive;
  font-size: 1.6rem;
  font-weight: 800;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.wct-section-label h2::before,
.wct-section-label h2::after {
  content: '';
  flex: 1;
  max-width: 80px;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .4));
}

.wct-section-label h2::after {
  transform: scaleX(-1);
}

/* ── PROFILE SECTIONS ── */
.wct-profile {
  display: none;
}

.wct-profile.active {
  display: block;
}

/* ── GRID ── */
.wct-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  margin-bottom: 40px;
}

.wct-grid-2 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

/* ── TICKET CARD ── */
.wct-card {
  background: var(--card-bg);
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow);
  transition: all .35s cubic-bezier(.34, 1.56, .64, 1);
  position: relative;
  overflow: hidden;
  cursor: pointer;
  animation: wctPop .5s cubic-bezier(.34, 1.56, .64, 1) both;
}

.wct-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: var(--shadow-hover);
}

@keyframes wctPop {
  from {
    opacity: 0;
    transform: scale(.85) translateY(20px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.wct-card:nth-child(1) {
  animation-delay: .05s;
}

.wct-card:nth-child(2) {
  animation-delay: .1s;
}

.wct-card:nth-child(3) {
  animation-delay: .15s;
}

.wct-card:nth-child(4) {
  animation-delay: .2s;
}

.wct-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--blue-bright), var(--aqua));
  border-radius: var(--radius) var(--radius) 0 0;
}

.wct-card.accent-orange::before {
  background: linear-gradient(90deg, var(--orange), var(--yellow));
}

.wct-card.accent-teal::before {
  background: linear-gradient(90deg, var(--teal), var(--aqua));
}

.wct-card.accent-purple::before {
  background: linear-gradient(90deg, #7c3aed, #c084fc);
}

.wct-card.accent-green::before {
  background: linear-gradient(90deg, #10b981, #34d399);
}

/* Badge */
.wct-badge-popular,
.wct-badge-promo {
  position: absolute;
  top: 16px;
  right: 16px;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
}

.wct-badge-popular {
  background: linear-gradient(135deg, var(--orange), var(--yellow));
  color: var(--blue-deep);
}

.wct-badge-promo {
  background: linear-gradient(135deg, #10b981, #34d399);
  color: #fff;
}

.wct-card-icon {
  font-size: 2.4rem;
  margin-bottom: 12px;
  display: block;
}

.wct-card-title {
  font-family: 'Baloo 2', cursive;
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--blue-deep);
  margin-bottom: 4px;
}

.wct-card-sub {
  font-size: .82rem;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 20px;
}

.wct-card-family-mention {
  background: rgba(16, 185, 129, 0.08);
  border: 1px dashed rgba(16, 185, 129, 0.4);
  color: #059669;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 8px 10px;
  border-radius: 10px;
  margin: 12px 0;
  text-align: center;
  display: block;
  line-height: 1.3;
}


/* Price rows */
.wct-price-rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.wct-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  background: var(--off-white);
  border: 1.5px solid #e2f0ff;
}

.wct-price-row .who {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .92rem;
  font-weight: 700;
  color: #334155;
}

.wct-price-row .price {
  font-family: 'Baloo 2', cursive;
  font-size: 1.55rem;
  font-weight: 900;
  color: var(--blue-mid);
}

.wct-price-row .price span {
  font-size: .9rem;
  font-weight: 700;
}

.wct-card-note {
  margin-top: 14px;
  font-size: .78rem;
  color: #94a3b8;
  font-weight: 600;
  line-height: 1.5;
}

.wct-card-note.promo {
  color: #10b981;
  font-weight: 700;
}

/* CTA */
.wct-btn {
  width: 100%;
  margin-top: 18px;
  padding: 13px;
  border: none;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, var(--blue-mid), var(--blue-bright));
  color: #fff;
  font-family: 'Nunito', sans-serif;
  font-size: 1rem;
  font-weight: 800;
  cursor: pointer;
  transition: all .25s;
  letter-spacing: .5px;
}

.wct-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(30, 144, 255, .4);
  background: linear-gradient(135deg, var(--blue-bright), var(--aqua));
  color: var(--blue-deep);
}

.wct-btn.orange {
  background: linear-gradient(135deg, var(--orange), var(--yellow));
  color: var(--blue-deep);
}

.wct-btn.orange:hover {
  box-shadow: 0 6px 20px rgba(255, 107, 53, .4);
}

.wct-btn.white {
  background: #fff;
  color: var(--blue-deep);
}

.wct-btn.white:hover {
  background: var(--aqua);
  box-shadow: 0 6px 20px rgba(0, 212, 255, .4);
}

.wct-btn.dark {
  background: #0a2a6e;
  color: #fff;
}

.wct-btn.dark:hover {
  box-shadow: 0 6px 20px rgba(10, 42, 110, .4);
}

.wct-btn.gold {
  background: linear-gradient(135deg, var(--yellow), var(--orange));
  color: var(--blue-deep);
}

.wct-btn.purple {
  background: linear-gradient(135deg, #7c3aed, #c084fc);
  color: #fff;
}

/* ── GROUP DARK CARD ── */
.wct-card.dark-card {
  background: linear-gradient(135deg, #0a2a6e, #1356b8);
  color: #fff;
}

.wct-card.dark-card .wct-card-title {
  color: #fff;
}

.wct-card.dark-card .wct-card-sub {
  color: rgba(255, 255, 255, .55);
}

.wct-group-tiers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 20px;
}

.wct-tier {
  text-align: center;
  padding: 18px 12px;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, .08);
  border: 1.5px solid rgba(255, 255, 255, .15);
  transition: all .25s;
}

.wct-tier:hover {
  background: rgba(255, 255, 255, .16);
  transform: translateY(-4px);
}

.wct-tier .t-people {
  font-size: .8rem;
  font-weight: 700;
  color: var(--aqua-light);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
}

.wct-tier .t-disc {
  font-family: 'Baloo 2', cursive;
  font-size: 2rem;
  font-weight: 900;
  color: var(--yellow);
  line-height: 1;
}

.wct-tier .t-lbl {
  font-size: .78rem;
  color: rgba(255, 255, 255, .6);
  margin-top: 4px;
}

.wct-tier.special .t-disc {
  font-size: 1.1rem;
  color: var(--aqua);
}

.wct-group-info {
  font-size: .85rem;
  color: rgba(255, 255, 255, .65);
  margin-top: 12px;
  line-height: 1.6;
}

/* ── FAMILLE BANNER ── */
.wct-famille {
  background: linear-gradient(135deg, #10b981, #059669);
  border-radius: var(--radius);
  padding: 28px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  box-shadow: var(--shadow);
  margin-bottom: 40px;
  animation: wctPop .5s .25s both;
  position: relative;
  overflow: hidden;
}

.wct-famille::after {
  content: '👨‍👩‍👧‍👦';
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 6rem;
  opacity: .15;
  pointer-events: none;
}


.wct-fam-badge {
  display: inline-block;
  background: rgba(255, 255, 255, .2);
  border-radius: 20px;
  padding: 4px 12px;
  font-size: .75rem;
  font-weight: 800;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
}

.wct-famille h3 {
  font-family: 'Baloo 2', cursive;
  font-size: 1.7rem;
  font-weight: 900;
  color: #fff;
  line-height: 1.1;
  margin-bottom: 6px;
}

.wct-famille p {
  color: rgba(255, 255, 255, .8);
  font-size: .88rem;
  font-weight: 600;
}

.wct-fam-disc {
  font-family: 'Baloo 2', cursive;
  font-size: 4rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
}

.wct-fam-disc small {
  font-size: 1.4rem;
}

.wct-btn-famille {
  background: #fff;
  color: #059669;
  padding: 13px 28px;
  border: none;
  border-radius: var(--radius-sm);
  font-family: 'Nunito', sans-serif;
  font-size: 1rem;
  font-weight: 800;
  cursor: pointer;
  transition: all .25s;
  white-space: nowrap;
}

.wct-btn-famille:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
}

/* ── FIDELITE ── */
.wct-fid-saison {
  background: linear-gradient(135deg, #0f172a, #1e293b);
  color: #fff;
}

.wct-fid-saison::before {
  background: linear-gradient(90deg, var(--yellow), var(--orange)) !important;
}

.wct-fid-saison .wct-card-title {
  color: #fff;
}

.wct-fid-saison .wct-card-sub {
  color: rgba(255, 255, 255, .5);
}

.wct-saison-prices {
  display: flex;
  gap: 16px;
  margin: 16px 0;
}

.wct-saison-block {
  flex: 1;
  text-align: center;
  padding: 18px 12px;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, .07);
  border: 1.5px solid rgba(255, 255, 255, .12);
}

.wct-saison-block .who {
  font-size: .8rem;
  color: rgba(255, 255, 255, .6);
  margin-bottom: 6px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.wct-saison-block .price {
  font-family: 'Baloo 2', cursive;
  font-size: 2rem;
  font-weight: 900;
  background: linear-gradient(135deg, var(--yellow), var(--orange));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.wct-saison-block .plbl {
  font-size: .75rem;
  color: rgba(255, 255, 255, .4);
  margin-top: 2px;
}

.wct-fid-gift {
  background: linear-gradient(135deg, #ff6b35, #ffd60a);
  color: #fff;
}

.wct-fid-gift::before {
  display: none !important;
}

.wct-fid-gift .wct-card-title {
  color: #fff;
}

.wct-fid-gift .wct-card-sub {
  color: rgba(255, 255, 255, .75);
}

.wct-fid-gift .gift-desc {
  color: rgba(255, 255, 255, .85);
  font-size: .92rem;
  line-height: 1.6;
  margin: 16px 0;
}

/* ── INFO PANEL ── */
.wct-info-panel {
  background: rgba(255, 255, 255, .1);
  border: 1.5px solid rgba(255, 255, 255, .2);
  border-radius: var(--radius);
  padding: 28px 32px;
  backdrop-filter: blur(10px);
  margin-bottom: 40px;
  animation: wctFadeUp .5s .4s ease both;
}

.wct-info-panel h3 {
  font-family: 'Baloo 2', cursive;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--aqua-light);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.wct-info-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
}

.wct-info-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .88rem;
  color: rgba(255, 255, 255, .8);
  font-weight: 600;
  line-height: 1.5;
}

.wct-info-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--aqua);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .65rem;
  color: var(--blue-deep);
  font-weight: 900;
  margin-top: 1px;
}

/* ── ANCV ── */
.wct-ancv {
  text-align: center;
  color: rgba(255, 255, 255, .65);
  font-size: .85rem;
  font-weight: 600;
  margin-top: 16px;
}

.wct-ancv span {
  color: var(--aqua-light);
}

.wct-ancv a {
  color: var(--aqua-light);
}



/* ── CART BAR ── */
.wct-cart-bar {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #0a2a6e, #1356b8);
  box-shadow: 0 8px 40px rgba(10, 42, 110, .5);
  border-radius: 50px;
  padding: 14px 28px;
  display: none;
  align-items: center;
  gap: 16px;
  z-index: 9999;
  color: #fff;
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  border: 2px solid rgba(255, 255, 255, .2);
  backdrop-filter: blur(10px);
}

.wct-cart-bar.visible {
  display: flex !important;
}

.wct-cart-count {
  background: var(--aqua);
  color: var(--blue-deep);
  border-radius: 50px;
  padding: 4px 14px;
  font-weight: 900;
}

.wct-btn-checkout {
  background: #fff !important;
  color: var(--blue-deep) !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 10px 22px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 900 !important;
  font-size: .95rem !important;
  cursor: pointer !important;
  transition: all .2s !important;
  line-height: 1 !important;
}

.wct-btn-checkout:hover {
  background: var(--aqua) !important;
  transform: scale(1.04);
}

/* ── MODAL ── */

.wct-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 42, 110, .65);
  backdrop-filter: blur(6px);
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.wct-modal-overlay.open {
  display: flex;
}

.wct-modal {
  background: #fff;
  border-radius: var(--radius);
  padding: 36px;
  max-width: 520px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 32px 80px rgba(0, 0, 0, .3);
}

.wct-modal h2 {
  font-family: 'Baloo 2', cursive;
  font-size: 1.6rem;
  color: var(--blue-deep);
  margin-bottom: 20px;
}

.wct-modal-close {
  float: right;
  background: none;
  border: none;
  font-size: 1.4rem;
  cursor: pointer;
  color: #94a3b8;
}

/* Checkout items */
.wct-co-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid #e2f0ff;
}

.wct-co-item:last-child {
  border: none;
}

.wct-co-item .lbl {
  font-weight: 700;
  color: #334155;
  font-size: .92rem;
}

.wct-qty-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.wct-qty-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #e2f0ff;
  background: var(--off-white);
  cursor: pointer;
  font-size: 1.1rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .2s;
}

.wct-qty-btn:hover {
  background: var(--blue-bright);
  border-color: var(--blue-bright);
  color: #fff;
}

.wct-qty-val {
  font-weight: 900;
  font-size: 1rem;
  min-width: 20px;
  text-align: center;
}

.wct-co-price {
  font-family: 'Baloo 2', cursive;
  font-size: 1.1rem;
  font-weight: 900;
  color: var(--blue-mid);
  min-width: 60px;
  text-align: right;
}

.wct-co-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0 0;
  border-top: 2px solid #e2f0ff;
  margin-top: 8px;
  font-weight: 800;
}

.wct-co-total-row .amount {
  font-family: 'Baloo 2', cursive;
  font-size: 1.6rem;
  color: var(--blue-deep);
}

/* Form fields */
.wct-field {
  margin-bottom: 16px;
}

.wct-field label {
  display: block;
  font-size: .85rem;
  font-weight: 800;
  color: #334155;
  margin-bottom: 6px;
}

.wct-field input,
.wct-field select,
.wct-field textarea {
  width: 100%;
  padding: 12px 14px;
  border: 2px solid #e2f0ff;
  border-radius: var(--radius-sm);
  font-family: 'Nunito', sans-serif;
  font-size: .95rem;
  color: #1a2a4a;
  transition: border-color .2s;
  background: var(--off-white);
}

.wct-field input:focus,
.wct-field select:focus,
.wct-field textarea:focus {
  outline: none;
  border-color: var(--blue-bright);
  background: #fff;
}

/* discount pills */
.wct-disc-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.wct-disc-options label {
  padding: 8px 16px;
  border-radius: 50px;
  border: 2px solid #e2f0ff;
  font-size: .85rem;
  font-weight: 800;
  cursor: pointer;
  transition: .2s;
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--off-white);
}

.wct-disc-options input {
  display: none;
}

.wct-disc-options input:checked+span,
.wct-disc-options label:has(input:checked) {
  border-color: var(--blue-bright);
  background: #eff8ff;
  color: var(--blue-deep);
}

.wct-response {
  display: none;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  font-weight: 700;
  margin-top: 12px;
}

.wct-response.success {
  background: #d1fae5;
  color: #065f46;
}

.wct-response.error {
  background: #fee2e2;
  color: #991b1b;
}

/* ── QUOTE FORM ── */
.wct-quote-form-wrap {
  display: none;
  background: rgba(255, 255, 255, .08);
  backdrop-filter: blur(12px);
  border: 1.5px solid rgba(255, 255, 255, .2);
  border-radius: var(--radius);
  padding: 32px;
  margin-bottom: 40px;
  animation: wctFadeUp .4s ease both;
}

.wct-quote-form-wrap h3 {
  font-family: 'Baloo 2', cursive;
  font-size: 1.4rem;
  color: #fff;
  margin-bottom: 20px;
}

.wct-quote-form-wrap .wct-field label {
  color: rgba(255, 255, 255, .85);
}

.wct-quote-form-wrap .wct-field input,
.wct-quote-form-wrap .wct-field select,
.wct-quote-form-wrap .wct-field textarea {
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .2);
  color: #fff;
}

.wct-quote-form-wrap .wct-field input::placeholder {
  color: rgba(255, 255, 255, .45);
}

/* ── PRIVATISATION CARD ── */
.wct-priv-card {
  background: linear-gradient(135deg, #1e293b, #334155);
  border-radius: var(--radius);
  padding: 28px 24px;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow);
  animation: wctPop .5s .15s both;
  color: #fff;
}

.wct-priv-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #7c3aed, #c084fc);
  border-radius: var(--radius) var(--radius) 0 0;
}

.wct-priv-card h3 {
  font-family: 'Baloo 2', cursive;
  font-size: 1.4rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 4px;
}

.wct-priv-card p.sub {
  font-size: .82rem;
  color: rgba(255, 255, 255, .5);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 16px;
}

.wct-priv-stats {
  display: flex;
  gap: 12px;
  margin: 16px 0;
}

.wct-priv-stat {
  flex: 1;
  text-align: center;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .07);
  border: 1.5px solid rgba(255, 255, 255, .12);
}

.wct-priv-stat .val {
  font-family: 'Baloo 2', cursive;
  font-size: 1.8rem;
  font-weight: 900;
  color: #c084fc;
}

.wct-priv-stat .lbl {
  font-size: .78rem;
  color: rgba(255, 255, 255, .5);
}

/* ══════════════════════════════════════════
   GROUP CONFIGURATOR
══════════════════════════════════════════ */

/* Discount tier bar */
.wct-disc-tier-bar {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
  margin-bottom: 28px;
}

.wct-disc-tier {
  border-radius: var(--radius-sm);
  padding: 16px 12px;
  text-align: center;
  background: rgba(255, 255, 255, .07);
  border: 2px solid rgba(255, 255, 255, .12);
  transition: all .3s;
}

.wct-disc-tier.active {
  background: rgba(255, 214, 10, .12);
  border-color: var(--yellow);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(255, 214, 10, .2);
}

.wct-disc-tier .tier-range {
  font-size: .78rem;
  font-weight: 800;
  color: var(--aqua-light);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
}

.wct-disc-tier .tier-pct {
  font-family: 'Baloo 2', cursive;
  font-size: 2rem;
  font-weight: 900;
  color: var(--yellow);
  line-height: 1;
}

.wct-disc-tier.special .tier-pct {
  font-size: 1rem;
  color: var(--aqua);
}

.wct-disc-tier .tier-note {
  font-size: .72rem;
  color: rgba(255, 255, 255, .55);
  margin-top: 4px;
}

/* Group configurator box */
.wct-group-config {
  background: rgba(255, 255, 255, .06);
  backdrop-filter: blur(12px);
  border: 1.5px solid rgba(255, 255, 255, .18);
  border-radius: var(--radius);
  padding: 32px;
  margin-bottom: 32px;
  animation: wctFadeUp .5s ease both;
}

.wct-group-config-title {
  font-family: 'Baloo 2', cursive;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--aqua-light);
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* People counter */
.wct-people-counter {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  background: rgba(255, 255, 255, .08);
  border-radius: var(--radius-sm);
  padding: 16px 20px;
  border: 1.5px solid rgba(255, 255, 255, .15);
}

.wct-people-counter label {
  color: rgba(255, 255, 255, .85);
  font-weight: 800;
  font-size: .92rem;
  flex: 1;
}

.wct-people-spin {
  display: flex;
  align-items: center;
  gap: 10px;
}

.wct-spin-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .15);
  border: 2px solid rgba(255, 255, 255, .25);
  color: #fff;
  font-size: 1.3rem;
  font-weight: 900;
  cursor: pointer;
  transition: all .2s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wct-spin-btn:hover {
  background: var(--aqua);
  border-color: var(--aqua);
  color: var(--blue-deep);
}

.wct-spin-val {
  font-family: 'Baloo 2', cursive;
  font-size: 1.6rem;
  font-weight: 900;
  color: #fff;
  min-width: 48px;
  text-align: center;
}

.wct-disc-badge {
  background: linear-gradient(135deg, var(--yellow), var(--orange));
  color: var(--blue-deep);
  font-weight: 900;
  font-size: .9rem;
  border-radius: 50px;
  padding: 6px 16px;
  white-space: nowrap;
  transition: all .3s;
}

.wct-disc-badge.hidden {
  opacity: 0;
  pointer-events: none;
}

/* Selector pills (offer type + duration) */
.wct-selector-label {
  font-size: .82rem;
  font-weight: 800;
  color: rgba(255, 255, 255, .75);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.wct-selector-label .req {
  color: var(--yellow);
}

.wct-pill-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.wct-pill {
  padding: 10px 20px;
  border-radius: 50px;
  background: rgba(255, 255, 255, .08);
  border: 2px solid rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .8);
  font-weight: 800;
  font-size: .9rem;
  cursor: pointer;
  transition: all .25s;
  white-space: nowrap;
}

.wct-pill:hover {
  background: rgba(255, 255, 255, .16);
  border-color: rgba(255, 255, 255, .35);
}

.wct-pill.selected {
  background: rgba(0, 212, 255, .18);
  border-color: var(--aqua);
  color: #fff;
  box-shadow: 0 4px 16px rgba(0, 212, 255, .25);
}

.wct-pill[data-offer="spectateur"].selected {
  border-color: var(--teal);
  background: rgba(0, 180, 176, .2);
}

.wct-pill[data-offer="f2h"].selected {
  border-color: var(--orange);
  background: rgba(255, 107, 53, .2);
}

.wct-pill[data-offer="dj"].selected {
  border-color: var(--blue-bright);
  background: rgba(30, 144, 255, .2);
}

.wct-pill[data-offer="jour"].selected {
  border-color: var(--aqua);
  background: rgba(0, 212, 255, .2);
}

/* Adults / Children row */
.wct-group-people-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 24px;
}

.wct-split-block {
  background: rgba(255, 255, 255, .07);
  border: 1.5px solid rgba(255, 255, 255, .14);
  border-radius: var(--radius-sm);
  padding: 14px 16px;
}

.wct-split-block label {
  display: block;
  font-size: .78rem;
  font-weight: 800;
  color: rgba(255, 255, 255, .65);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
}

.wct-split-block .wct-people-spin {
  justify-content: center;
}

/* Live calc panel */
.wct-group-calc {
  background: linear-gradient(135deg, rgba(10, 42, 110, .8), rgba(19, 86, 184, .6));
  border: 1.5px solid rgba(0, 212, 255, .3);
  border-radius: var(--radius-sm);
  padding: 20px 24px;
  margin-bottom: 20px;
  transition: all .3s;
}

.wct-calc-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  font-size: .9rem;
  color: rgba(255, 255, 255, .8);
  font-weight: 700;
}

.wct-calc-row.total {
  border-top: 2px solid rgba(255, 255, 255, .2);
  margin-top: 8px;
  padding-top: 12px;
}

.wct-calc-row .val {
  font-family: 'Baloo 2', cursive;
  font-size: 1.1rem;
  font-weight: 900;
  color: #fff;
}

.wct-calc-row.total .val {
  font-size: 1.6rem;
  color: var(--aqua);
}

.wct-calc-row.disc .val {
  color: #4ade80;
}

.wct-calc-placeholder {
  text-align: center;
  color: rgba(255, 255, 255, .45);
  font-size: .9rem;
  font-weight: 700;
  padding: 8px;
}

/* Validation errors */
.wct-group-error {
  background: rgba(239, 68, 68, .15);
  border: 1.5px solid rgba(239, 68, 68, .5);
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  margin-bottom: 16px;
  color: #fca5a5;
  font-weight: 700;
  font-size: .88rem;
  display: none;
}

/* Quote form (100+ only) */
.wct-group-quote-panel {
  display: none;
  background: rgba(255, 255, 255, .06);
  border: 1.5px solid rgba(255, 255, 255, .18);
  border-radius: var(--radius);
  padding: 28px 32px;
  margin-bottom: 32px;
  animation: wctFadeUp .4s ease both;
}

.wct-group-quote-panel h3 {
  font-family: 'Baloo 2', cursive;
  font-size: 1.3rem;
  color: #fff;
  margin-bottom: 18px;
}

.wct-group-quote-panel .wct-field label {
  color: rgba(255, 255, 255, .85);
}

.wct-group-quote-panel .wct-field input,
.wct-group-quote-panel .wct-field select,
.wct-group-quote-panel .wct-field textarea {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .2);
  color: #fff;
}

.wct-group-quote-panel .wct-field input::placeholder,
.wct-group-quote-panel .wct-field textarea::placeholder {
  color: rgba(255, 255, 255, .4);
}

/* ── RESPONSIVE ── */
@media(max-width:640px) {
  .wct-toggle-btn {
    padding: 10px 16px;
    font-size: .88rem;
  }

  .wct-disc-tier-bar {
    grid-template-columns: 1fr;
  }

  .wct-group-people-split {
    grid-template-columns: 1fr;
  }

  .wct-saison-prices {
    flex-direction: column;
  }

  .wct-famille {
    text-align: center;
    flex-direction: column;
  }

  .wct-famille::after {
    display: none;
  }

  .wct-fam-disc {
    font-size: 3rem;
  }

  .wct-inner {
    padding: 36px 16px 60px;
  }

  .wct-modal {
    padding: 24px;
  }

  .wct-group-config {
    padding: 20px;
  }

  .wct-group-quote-panel {
    padding: 20px;
  }
}

/* ── Editable number inputs inside spinners ── */
.wct-spin-input {
  font-family: 'Baloo 2', cursive;
  font-size: 1.55rem;
  font-weight: 900;
  color: #fff;
  background: transparent;
  border: 2px solid transparent;
  border-radius: 8px;
  text-align: center;
  width: 64px;
  outline: none;
  -moz-appearance: textfield;
  appearance: textfield;
  transition: background .2s, border-color .2s;
}

.wct-spin-input::-webkit-inner-spin-button,
.wct-spin-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.wct-spin-input:focus {
  background: rgba(255, 255, 255, .15);
  border-color: rgba(0, 212, 255, .5);
}

/* ── Tier cards: pointer + hover ── */
.wct-disc-tier {
  cursor: pointer;
  user-select: none;
  transition: background .2s, border-color .2s, transform .2s;
}

.wct-disc-tier:not(.active):hover {
  background: rgba(255, 255, 255, .14) !important;
  border-color: rgba(255, 255, 255, .3) !important;
  transform: translateY(-4px);
}

.wct-disc-tier .tier-hint {
  font-size: .68rem;
  color: rgba(255, 255, 255, .4);
  margin-top: 6px;
  font-style: italic;
}

/* ══════════════════════════════════════════════
   CARTE 10 ENTRÉES CONFIGURATOR
══════════════════════════════════════════════ */

/* La carte reste blanche mais son hover est désactivé
   (le configurateur nécessite des clics internes) */
.wct-card-carte10 {
  cursor: default;
}

.wct-card-carte10:hover {
  transform: none;
  box-shadow: var(--shadow);
}

.wct-card-carte10::before {
  background: linear-gradient(90deg, #1356b8, #ffd60a) !important;
}

/* Rows */
.c10-rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

.c10-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 12px;
  background: #f0f7ff;
  border: 1.5px solid #dbeafe;
  transition: background .2s;
}

.c10-row:hover {
  background: #e0f0ff;
  border-color: #bfdbfe;
}

.c10-row-label {
  font-size: .88rem;
  font-weight: 700;
  color: #334155;
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
}

.c10-price-tag {
  font-family: 'Baloo 2', cursive;
  font-weight: 900;
  color: #1356b8;
  font-size: .95rem;
  margin-left: auto;
  margin-right: 8px;
}

/* Spinners */
.c10-spin {
  display: flex;
  align-items: center;
  gap: 6px;
}

.c10-btn {
  width: 30px;
  height: 30px;
  border: 2px solid #bfdbfe;
  border-radius: 50%;
  background: #fff;
  color: #1356b8;
  font-size: 1.1rem;
  font-weight: 900;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s;
  line-height: 1;
  padding: 0;
  font-family: 'Nunito', sans-serif;
}

.c10-btn:hover:not(:disabled) {
  background: #1356b8;
  color: #fff;
  border-color: #1356b8;
  transform: scale(1.1);
}

.c10-btn:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.c10-input {
  width: 38px;
  text-align: center;
  border: 2px solid #bfdbfe;
  border-radius: 8px;
  font-family: 'Baloo 2', cursive;
  font-size: 1rem;
  font-weight: 900;
  color: #1356b8;
  background: #fff;
  padding: 4px 2px;
  -moz-appearance: textfield;
  appearance: textfield;
}

.c10-input::-webkit-outer-spin-button,
.c10-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

/* Progress bar */
.c10-progress-wrap {
  margin: 16px 0 10px;
}

.c10-progress-label {
  font-size: .85rem;
  font-weight: 800;
  color: #334155;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.c10-progress-label #c10-count {
  font-family: 'Baloo 2', cursive;
  font-size: 1.2rem;
  color: #1356b8;
}

.c10-progress-bar-bg {
  height: 10px;
  border-radius: 50px;
  background: #dbeafe;
  overflow: hidden;
}

.c10-progress-bar {
  height: 100%;
  border-radius: 50px;
  background: linear-gradient(90deg, #1356b8, #00d4ff);
  transition: width .35s cubic-bezier(.34, 1.56, .64, 1);
}

/* Live calculation */
.c10-calc {
  background: #f0f7ff;
  border: 1.5px solid #dbeafe;
  border-radius: 14px;
  padding: 14px 18px;
  margin: 14px 0 10px;
}

.c10-calc-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
  font-size: .88rem;
  font-weight: 700;
  color: #475569;
  border-bottom: 1px solid #e2f0ff;
}

.c10-calc-row:last-child {
  border-bottom: none;
}

.c10-calc-row.disc span:last-child {
  color: #10b981 !important;
}

.c10-calc-row.total {
  border-top: 2px solid #1356b8;
  margin-top: 6px;
  padding-top: 10px;
  font-size: 1rem;
  font-weight: 900;
  color: #0a2a6e;
}

.c10-calc-row.total span:last-child {
  font-family: 'Baloo 2', cursive;
  font-size: 1.4rem;
  color: #1356b8;
}

/* Message */
.c10-msg {
  display: none;
  padding: 11px 14px;
  border-radius: 10px;
  font-size: .88rem;
  font-weight: 700;
  margin-bottom: 8px;
}

/* ══════════════════════════════════════════════
   LAYOUT : MAIN CONTENT + CART SIDEBAR
══════════════════════════════════════════════ */

.wct-layout {
  display: flex;
  gap: 28px;
  align-items: flex-start;
}

.wct-layout-main {
  flex: 1;
  min-width: 0;
}

/* ── CART SIDEBAR PANEL (FIXED SLIDING) ── */
.wct-cart-panel {
  position: fixed;
  top: 0;
  right: -450px;
  /* Hidden by default */
  width: 400px;
  max-width: 90vw;
  height: 100vh;
  background: linear-gradient(135deg, #1e3a8a, #1356b8);
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.3);
  z-index: 10000;
  padding: 30px 25px;
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: none;
  /* Changed from flex to none */
  flex-direction: column;
  color: #fff;
  overflow-y: auto;
}

.wct-cart-panel.active {
  display: flex;
  /* Show when active */
  transform: translateX(-450px);
  /* Slide in */
}

@media (max-width: 500px) {
  .wct-cart-panel.active {
    transform: translateX(-100%);
  }
}

/* Header */
.wct-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 15px;
}

.wct-panel-header h3 {
  margin: 0;
  font-family: 'Baloo 2', cursive;
  font-size: 1.5rem;
  color: #fff;
}

.wct-panel-close {
  background: none;
  border: none;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
  line-height: 1;
}

/* État vide */
.wct-panel-empty {
  text-align: center;
  padding: 50px 20px;
  opacity: 0.7;
}

/* Items */
.wct-panel-items {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}

.wct-panel-item {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  padding: 10px 12px;
  flex-wrap: wrap;
}

.wct-panel-item-lbl {
  flex: 1;
  font-size: .82rem;
  font-weight: 700;
  color: #fff;
  min-width: 0;
  line-height: 1.3;
}

.wct-panel-item-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.wct-panel-qty {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .15) !important;
  border: 1.5px solid rgba(255, 255, 255, .3) !important;
  color: #fff !important;
  font-size: .9rem !important;
  font-weight: 900 !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  transition: background .2s !important;
  line-height: 1 !important;
}

.wct-panel-qty:hover {
  background: rgba(255, 255, 255, .3) !important;
}

.wct-panel-item-qty {
  font-family: 'Baloo 2', cursive;
  font-size: .95rem;
  font-weight: 900;
  color: var(--aqua);
  min-width: 18px;
  text-align: center;
}

.wct-panel-item-price {
  font-family: 'Baloo 2', cursive;
  font-size: .95rem;
  font-weight: 900;
  color: #fff;
  white-space: nowrap;
}

/* Totaux */
.wct-panel-totals {
  border-top: 1.5px solid rgba(255, 255, 255, 0.2);
  padding-top: 14px;
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wct-panel-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .87rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.75);
}

.wct-panel-total-row.disc {
  color: #4ade80;
  font-size: .84rem;
}

.wct-panel-total-row.total {
  border-top: 2px solid rgba(255, 255, 255, .25);
  padding-top: 10px;
  margin-top: 4px;
  font-size: 1rem;
  font-weight: 900;
  color: #fff;
}

.wct-panel-total-row.total span:last-child {
  font-family: 'Baloo 2', cursive;
  font-size: 1.4rem;
  color: var(--aqua);
}

/* Badge remise */
.wct-panel-disc-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(74, 222, 128, 0.15);
  border: 1.5px solid rgba(74, 222, 128, 0.35);
  border-radius: 10px;
  padding: 9px 12px;
  font-size: .8rem;
  font-weight: 800;
  color: #4ade80;
  margin-top: 6px;
}

/* Bouton finaliser */
.wct-panel-checkout-btn {
  width: 100%;
  margin-top: 18px;
  padding: 14px;
  border: none;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--aqua), var(--blue-bright));
  color: var(--blue-deep);
  font-family: 'Nunito', sans-serif;
  font-size: 1rem;
  font-weight: 900;
  cursor: pointer;
  transition: all .25s cubic-bezier(.34, 1.56, .64, 1);
  letter-spacing: .3px;
  box-shadow: 0 4px 20px rgba(0, 212, 255, 0.35);
}

.wct-panel-checkout-btn:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 8px 28px rgba(0, 212, 255, 0.5);
}

/* Sécurité */
.wct-panel-secure {
  text-align: center;
  margin-top: 12px;
  font-size: .72rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.35);
  letter-spacing: .5px;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .wct-layout {
    flex-direction: column;
  }

  .wct-cart-panel.active {
    width: 100%;
    position: fixed;
    /* Keep it fixed even on mobile if active */
    top: 0;
    right: 0;
    transform: none;
    z-index: 10001;
  }

  .wct-cart-panel-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: flex-start;
  }

  .wct-cart-panel-header {
    width: 100%;
    margin-bottom: 0;
    padding-bottom: 12px;
  }

  .wct-cart-panel-items,
  .wct-cart-panel-totals {
    flex: 1;
    min-width: 220px;
  }

  .wct-panel-checkout-btn {
    width: 100%;
  }
}

/* ──────────────────────────────────────────
   FORCE PREMIUM OVERRIDES (SERVER FIX)
   ────────────────────────────────────────── */

/* Sections and Headers color fix */
#wct-billetterie .wct-header h1 {
  color: #ffffff !important;
  font-family: 'Baloo 2', cursive !important;
}

#wct-billetterie .wct-section-label h2 {
  color: #ffffff !important;
  font-family: 'Baloo 2', cursive !important;
  font-size: 2rem !important;
  margin-top: 30px !important;
}

/* Card overrides */
#wct-billetterie .wct-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 30px rgba(10, 42, 110, 0.1) !important;
}

/* Date Input Fluidness & Style */
#wct-billetterie input[type="date"] {
  cursor: pointer !important;
  padding: 12px 15px !important;
  border-radius: 12px !important;
  border: 2px solid #e2e8f0 !important;
  font-family: 'Nunito', sans-serif !important;
  width: 100% !important;
  appearance: none !important;
  background: #f8fafc !important;
}

#wct-billetterie input[type="date"]:focus {
  border-color: #1356b8 !important;
  outline: none !important;
  background: #ffffff !important;
}

/* Button overrides for Adulte/Enfant same shade */
#wct-billetterie .wct-btn {
  background: linear-gradient(135deg, #1356b8, #1e90ff) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
}

#wct-billetterie .wct-btn:hover {
  background: linear-gradient(135deg, #1e90ff, #00d4ff) !important;
  color: #0a2a6e !important;
}

#wct-billetterie .wct-btn.orange {
  background: linear-gradient(135deg, #ff6b35, #ffd60a) !important;
  color: #0c2d6e !important;
}

/* Toggle tabs consistency */
#wct-billetterie .wct-toggle-btn {
  color: rgba(255, 255, 255, 0.7) !important;
  font-family: 'Nunito', sans-serif !important;
  background: rgba(255, 255, 255, 0.1) !important;
  font-weight: 700 !important;
}

#wct-billetterie .wct-toggle-btn.active {
  background: #ffffff !important;
  color: #1356b8 !important;
}