/* ==========================================================================
   RP Kids Club - front-end styles (scoped under .kc)
   Palette aligned on raiffeisen-parc.ch (#2a7e74 / #004c45 / #5fa89f)
   ========================================================================== */
.kc{
  --green:#014f4a;        /* vert foncé (sections sombres, boutons) = fond exact des illustrations */
  --green-2:#1a3d3d;      /* texte / titres sur fond clair */
  --green-accent:#2a7e74; /* vert accent Raiffeisen Parc */
  --green-soft:#5fa89f;
  --green-pale:#c7e2df;
  --illus:#014f4a;        /* fond des illustrations (PNG fournis) */
  --mint:#f1f8f6;
  --line:#dbe9e6;
  --ink:#333;
  --white:#fff;
  --age-kc:#FBE7D6;--age-kc-ink:#8A5A38;
  --age-pre:#E4F0DA;--age-pre-ink:#4E6B39;
  --age-harmos:#DCE8F4;--age-harmos-ink:#3B5A79;
  --age-sr:#F0ECE6;--age-sr-ink:#77706A;
  --radius:20px;
  --radius-sm:14px;
  --maxw:1180px;
  --shadow:0 10px 30px rgba(0,76,69,.08);
  --shadow-lg:0 18px 50px rgba(0,76,69,.16);

  font-family:Aeonik,Poppins,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--green-2);line-height:1.6;font-size:17px;background:var(--white);
  -webkit-font-smoothing:antialiased;
}
.kc *,.kc *::before,.kc *::after{box-sizing:border-box}
.kc h1,.kc h2,.kc h3,.kc .display{font-family:"Bebas Neue",Aeonik,"Arial Narrow",sans-serif;font-weight:600;letter-spacing:.02em;line-height:1.05;margin:0;color:inherit;text-transform:uppercase}
.kc p{margin:0 0 1em}
.kc a{color:inherit;text-decoration:none}
.kc sup{font-size:.62em;line-height:0}
.kc img{display:block;max-width:100%;height:auto}
.kc-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.kc-wrap--flush{padding:0}
.kc-kicker{font-family:Poppins,sans-serif;font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--green-accent);margin:0 0 10px}
.kc-section{padding:84px 0}
.kc-section.alt{background:var(--mint)}
.kc-h2{font-size:clamp(28px,3.4vw,42px);color:var(--green-2);text-transform:uppercase;margin-bottom:14px}
.kc-lead{max-width:740px;font-size:18px;color:#3f5a58}
.kc-center{text-align:center}
.kc-center .kc-lead{margin-left:auto;margin-right:auto}
.kc-mt-0{margin-top:0!important}.kc-mt-6{margin-top:6px!important}.kc-mt-20{margin-top:20px!important}.kc-mt-36{margin-top:36px!important}
.kc-link{display:inline-block;margin-top:14px;font-family:Poppins,sans-serif;font-weight:600;font-size:14px;color:var(--green-accent)}
.kc-link:hover{text-decoration:underline}

/* ---------- Buttons ---------- */
.kc .kc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:Poppins,sans-serif;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:999px;padding:15px 30px;transition:.2s;cursor:pointer;border:2px solid transparent;line-height:1.2;position:relative}
.kc .kc-btn.primary{background:var(--green-accent);color:#fff;border-color:var(--green-accent)}
.kc .kc-btn.primary:hover{background:var(--green);border-color:var(--green);transform:translateY(-1px);box-shadow:var(--shadow)}
.kc .kc-btn.outline{background:transparent;color:var(--green);border-color:var(--green)}
.kc .kc-btn.outline:hover{background:var(--green);color:#fff}
.kc .kc-btn.light{background:#fff;color:var(--green)}
.kc .kc-btn.light:hover{background:var(--green-pale)}
.kc .kc-btn.ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.7);backdrop-filter:blur(3px)}
.kc .kc-btn.ghost:hover{background:#fff;color:var(--green)}
.kc .kc-btn.small{padding:11px 20px;font-size:12px}
.kc .kc-btn[disabled]{opacity:.65;cursor:progress;transform:none}
.kc-spinner{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:kc-spin .7s linear infinite}
.kc .kc-btn.is-loading .kc-spinner{display:inline-block}
@keyframes kc-spin{to{transform:rotate(360deg)}}

/* ---------- Notices ---------- */
.kc-notice{padding:16px 0;font-size:15px;font-family:Poppins,sans-serif}
.kc-notice strong{margin-right:6px}
.kc-notice.ok{background:#e3f4ee;color:#0f4d3f;border-bottom:1px solid #bfe3d5}
.kc-notice.wait{background:#fff6e0;color:#7a5200;border-bottom:1px solid #f1dfa6}
.kc-notice.cancel{background:#fdeeee;color:#7d2b2b;border-bottom:1px solid #f3c7c7}
.kc-notice a{text-decoration:underline}

/* ---------- HERO (two columns: text + illustration) ---------- */
.kc-hero{position:relative;min-height:min(72vh,660px);display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--illus);border-radius:0 0 var(--radius) var(--radius)}
.kc-hero::after{content:none}
.kc-hero .kc-wrap{position:relative;z-index:2;padding-top:140px;padding-bottom:56px;width:100%}
.kc-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.kc-hero-art{display:flex;align-items:center;justify-content:center}
.kc-hero-art img{width:100%;max-width:640px;height:auto;display:block;border-radius:var(--radius);box-shadow:none}
.kc-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;font-family:Poppins,sans-serif;font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:8px 16px;border-radius:999px;margin-bottom:22px}
.kc .kc-hero h1{font-size:clamp(40px,5.2vw,72px);line-height:1.02;color:#fff;max-width:860px}
.kc-hero .sub{max-width:600px;font-size:17px;margin:16px 0 26px;color:#eaf3f0}
.kc-hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- STATS ---------- */
.kc-stats{background:var(--green);color:#fff;position:relative;z-index:0}
.kc-hero+.kc-stats{margin-top:-24px;padding-top:24px}
.kc-notice{position:relative;z-index:1}
.kc-stats .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.kc-stat{padding:44px 28px;border-left:1px solid rgba(255,255,255,.12)}
.kc-stat:first-child{border-left:0}
.kc-stat .num{font-family:"Bebas Neue",sans-serif;font-weight:600;font-size:48px;line-height:.9;color:#fff}
.kc-stat .lab{font-family:Poppins,sans-serif;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:8px 0 10px;color:#9fe0bc}
.kc-stat .desc{font-size:14.5px;color:#dcebe6;margin:0}

/* ---------- STEPS ---------- */
.kc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:20px}
.kc-step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;box-shadow:var(--shadow);transition:.25s}
.kc-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.kc-step .n{font-family:"Bebas Neue",sans-serif;font-weight:600;font-size:40px;color:var(--green-accent);line-height:1}
.kc-step h3{font-size:24px;color:var(--green-2);text-transform:uppercase;margin:6px 0 10px}
.kc-step p{font-size:15.5px;margin:0}

/* ---------- CARDS ---------- */
.kc-cards{display:grid;gap:26px;margin-top:20px}
.kc-cards.c2{grid-template-columns:repeat(2,1fr)}
.kc-cards.c3{grid-template-columns:repeat(3,1fr)}
.kc-cards.c4{grid-template-columns:repeat(4,1fr)}
.kc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:.25s}
.kc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.kc-card .body{padding:26px;display:flex;flex-direction:column;flex:1}
.kc-card h3{font-size:24px;color:var(--green-2);text-transform:uppercase;margin-bottom:8px}
.kc-card .tag{display:inline-block;align-self:flex-start;font-family:Poppins,sans-serif;font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-accent);background:var(--mint);border-radius:999px;padding:5px 12px;margin-bottom:12px}
.kc-card p{font-size:15px;margin:0}
.kc-card.feat{border-color:var(--green-accent);box-shadow:0 8px 26px rgba(42,126,116,.16)}
.kc-img{overflow:hidden;background:var(--illus)}
.kc .kc-img>img,.kc .kc-img img{display:block;width:100%!important;height:100%!important;max-width:none!important;min-height:100%;object-fit:contain;object-position:center;border-radius:0;transition:transform .5s ease}
.kc-card:hover .kc-img img{transform:scale(1.03)}
.kc-img--card{aspect-ratio:16/10;height:auto}
.kc-img--space{aspect-ratio:16/10;height:auto}
.kc-img--highlight{aspect-ratio:4/3;height:auto;border-radius:var(--radius-sm)}
.kc-img--coach{aspect-ratio:4/3;height:auto;border-radius:var(--radius)}
.kc-space .body{padding:22px 24px}
.kc-space h3{font-size:22px}

/* ---------- HIGHLIGHT (English) ---------- */
.kc-highlight{background:var(--illus);color:#fff;border-radius:28px;padding:56px 52px;display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}
.kc-highlight .kc-kicker{color:#9fe0bc}
.kc-highlight h2{font-size:clamp(28px,3.4vw,42px);color:#fff;text-transform:uppercase;margin-bottom:14px}
.kc-highlight p{color:#e6f2ee;margin:0 0 .8em}
.kc-highlight .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.kc-highlight .chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 15px;font-family:Poppins,sans-serif;font-size:13px;font-weight:500}

/* ---------- COACH ---------- */
.kc-coach{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
.kc-coach h2{font-size:clamp(28px,3.4vw,42px);color:var(--green-2);text-transform:uppercase;margin:4px 0 6px}
.kc-coach .role{font-family:Poppins,sans-serif;font-weight:600;color:var(--green-accent);font-size:14px;letter-spacing:.04em;margin-bottom:16px}
.kc-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.kc-tags span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 15px;font-family:Poppins,sans-serif;font-size:13px;font-weight:500;color:var(--green-2)}

/* ---------- SCHEDULE ---------- */
.kc-table-wrap{overflow-x:auto;margin-top:22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.kc table.kc-grid{border-collapse:collapse;width:100%;min-width:720px;font-size:14px;margin:0}
.kc table.kc-grid th,.kc table.kc-grid td{padding:13px 10px;text-align:center;border:1px solid var(--line)}
.kc table.kc-grid thead th{background:var(--green);color:#fff;font-family:Poppins,sans-serif;font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:12px;border-color:rgba(255,255,255,.12)}
.kc table.kc-grid tbody th{background:var(--mint);color:var(--green-2);font-family:Poppins,sans-serif;font-weight:600;white-space:nowrap}
.kc .cell-kc{background:var(--age-kc);color:var(--age-kc-ink);font-weight:600}
.kc .cell-pre{background:var(--age-pre);color:var(--age-pre-ink);font-weight:600}
.kc .cell-harmos{background:var(--age-harmos);color:var(--age-harmos-ink);font-weight:600}
.kc .cell-sr{background:var(--age-sr);color:var(--age-sr-ink)}
.kc .cell-off{color:#c2ccca}
.kc-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;font-family:Poppins,sans-serif;font-size:13px;font-weight:500}
.kc-legend span{display:inline-flex;align-items:center;gap:8px}
.kc-legend i{width:16px;height:16px;border-radius:5px;display:inline-block}
.kc-legend .lg-kc{background:var(--age-kc)}.kc-legend .lg-pre{background:var(--age-pre)}.kc-legend .lg-harmos{background:var(--age-harmos)}.kc-legend .lg-sr{background:var(--age-sr)}
.kc-note{font-size:14px;color:#6a7a77;margin-top:14px}
.kc-scroll-hint{display:none;font-family:Poppins,sans-serif;font-size:12px;color:#6a7a77;margin:8px 0 0;text-align:center}

/* ---------- PRICING ---------- */
.kc-table-wrap--price{margin-top:8px}
.kc table.kc-price{border-collapse:collapse;width:100%;font-size:15px;margin:0;min-width:760px}
.kc table.kc-price th,.kc table.kc-price td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;border-left:0;border-right:0;border-top:0}
.kc table.kc-price thead th{background:var(--green);color:#fff;font-family:Poppins,sans-serif;font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.kc table.kc-price td.price{font-family:"Bebas Neue",sans-serif;font-weight:600;font-size:24px;color:var(--green-2);white-space:nowrap}
.kc table.kc-price td.book{white-space:nowrap}
.kc table.kc-price tbody tr:nth-child(even){background:var(--mint)}
.kc table.kc-price tbody tr:last-child td{border-bottom:0}
.kc table.kc-price tr.is-focus{background:#e3f4ee!important;box-shadow:inset 4px 0 0 var(--green-accent)}
.kc-price-notes{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px}
.kc-price-notes li{padding-left:26px;position:relative;font-size:15px}
.kc-price-notes li::before{content:"✓";position:absolute;left:0;color:var(--green-accent);font-weight:700}

/* ---------- Booking control ---------- */
.kc-book{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.kc-vac .kc-book{margin-top:auto;padding-top:18px}
.kc-qty{display:inline-flex;align-items:center;border:2px solid var(--line);border-radius:999px;background:#fff;overflow:hidden}
.kc .kc-qty-btn{appearance:none;border:0;background:transparent;width:34px;height:36px;font-size:18px;line-height:1;color:var(--green-accent);cursor:pointer;font-family:Poppins,sans-serif;font-weight:600;padding:0;margin:0;border-radius:0;box-shadow:none}
.kc .kc-qty-btn:hover{background:var(--mint)}
.kc .kc-qty-input{width:38px;height:36px;border:0;text-align:center;font-family:Poppins,sans-serif;font-weight:600;font-size:14px;color:var(--green-2);background:transparent;padding:0;margin:0;-moz-appearance:textfield;box-shadow:none;border-radius:0}
.kc .kc-qty-input::-webkit-outer-spin-button,.kc .kc-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.kc .kc-qty-input:focus{outline:none}
.kc-card.is-focus{border-color:var(--green-accent);box-shadow:0 0 0 4px rgba(42,126,116,.18)}

/* ---------- CTA ---------- */
.kc-cta{position:relative;background:var(--illus) center/cover no-repeat;color:#fff;text-align:center;padding:100px 0;overflow:hidden;border-radius:var(--radius);margin:0 24px}
.kc-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,79,74,.86),rgba(0,60,54,.94))}
.kc-cta .kc-wrap{position:relative;z-index:1}
.kc-cta h2{font-size:clamp(30px,3.8vw,46px);color:#fff;text-transform:uppercase;margin-bottom:14px}
.kc-cta p{max-width:640px;margin:0 auto 28px;color:#dcebe6;font-size:18px}
.kc-cta .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.kc-cta .fineprint{margin-top:22px;font-size:13.5px;color:#9fc4ba}

/* ---------- Value / activities ---------- */
.kc-value{display:flex;gap:22px;align-items:center;background:var(--mint);border:2px solid var(--green-accent);border-radius:var(--radius);padding:28px 32px;margin-top:28px}
.kc-value-badge{flex:none;width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:var(--green-accent);border-radius:16px}
.kc-value h3{font-size:24px;color:var(--green-2);text-transform:uppercase;margin:0 0 8px}
.kc-value p{margin:0;font-size:15px;color:var(--green-2)}
.kc-pills{display:flex;flex-wrap:wrap;gap:10px}
.kc-pills .p{border-radius:999px;padding:8px 15px;font-family:Poppins,sans-serif;font-size:13px;font-weight:600;background:#fff;border:1px solid var(--line);color:var(--green-accent)}
.kc-actbox{background:var(--mint);border-radius:var(--radius);padding:32px 34px;margin-top:30px}
.kc-actbox h3{font-size:24px;color:var(--green-2);text-transform:uppercase;margin:2px 0 20px}
.kc-actrow{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:start;padding:16px 0;border-top:1px solid var(--line)}
.kc-actrow:first-of-type{border-top:0;padding-top:2px}
.kc-actlab{font-family:Poppins,sans-serif;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--green-accent);padding-top:9px}

/* ---------- TABS ---------- */
.kc-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 22px}
.kc .kc-tab{font-family:Poppins,sans-serif;font-weight:600;font-size:13px;letter-spacing:.05em;text-transform:uppercase;padding:12px 26px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--green-2);cursor:pointer;transition:.2s;box-shadow:none}
.kc .kc-tab:hover{border-color:var(--green-accent)}
.kc .kc-tab.active{background:var(--green);color:#fff;border-color:var(--green)}
.kc-panel{display:none}
.kc-panel.active{display:block;animation:kc-fade .3s ease}
@keyframes kc-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.kc-slot{font-family:Poppins,sans-serif;font-weight:600;font-size:13px;color:var(--green-accent);margin-bottom:6px}
.kc-amount{font-family:"Bebas Neue",sans-serif;font-weight:600;font-size:36px;line-height:1;color:var(--green-2);margin-bottom:10px}

/* ---------- CONTACT ---------- */
.kc-contact{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:24px;text-align:left}
.kc-info{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff;box-shadow:var(--shadow)}
.kc-info .lab{font-family:Poppins,sans-serif;font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--green-accent);margin-bottom:8px}
.kc-info .val{font-size:16px;color:var(--green-2);word-break:break-word}
.kc-info .val a:hover{text-decoration:underline}

/* ---------- Toast ---------- */
.kc-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#7d2b2b;color:#fff;padding:14px 22px;border-radius:999px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:9999;max-width:90vw}
.kc-toast[hidden]{display:none}
.kc-toast.info{background:var(--green)}

/* ==========================================================================
   RESPONSIVE
   Breakpoints: 1100 (large tablet / small laptop), 900 (tablet), 760 (large
   phone / small tablet), 600 (phone), 420 (small phone)
   ========================================================================== */
.kc{overflow-x:clip}
.kc-cta{background-position:center}

/* Touch devices: no hover lift (avoids jitter on tap) */
@media (hover:none){
  .kc-card:hover,.kc-step:hover{transform:none;box-shadow:var(--shadow)}
  .kc-card:hover .kc-img img{transform:none}
  .kc .kc-btn.primary:hover{transform:none;box-shadow:none}
}
@media (prefers-reduced-motion:reduce){
  .kc *,.kc *::before,.kc *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* ---------- ≤1100 : small laptop / large tablet ---------- */
@media(max-width:1100px){
  .kc-cards.c4{grid-template-columns:repeat(2,1fr)}
  .kc-highlight{padding:44px 40px;gap:32px}
  .kc-coach{gap:36px}
}

/* ---------- ≤900 : tablet ---------- */
@media(max-width:900px){
  .kc-section{padding:64px 0}
  .kc-hero{min-height:0}
  .kc-hero .kc-wrap{padding-top:120px;padding-bottom:44px}
  .kc-hero-grid{grid-template-columns:1fr;gap:22px}
  .kc-hero-art img{max-width:520px;margin:0 auto}
  .kc-stats .grid{grid-template-columns:repeat(2,1fr)}
  .kc-stat{padding:32px 24px}
  .kc-stat:nth-child(3){border-left:0}
  .kc-stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
  .kc-steps,.kc-cards.c3{grid-template-columns:1fr 1fr}
  .kc-highlight,.kc-coach{grid-template-columns:1fr;gap:26px}
  .kc-highlight{padding:40px 32px}
  .kc-contact{grid-template-columns:repeat(2,1fr)}
  .kc-actbox{padding:28px 26px}
  .kc-actrow{grid-template-columns:120px 1fr}
}

/* ---------- ≤760 : large phone / small tablet ---------- */
@media(max-width:760px){
  .kc-wrap{padding:0 20px}
  .kc-steps,.kc-cards.c2,.kc-cards.c3,.kc-cards.c4{grid-template-columns:1fr}
  .kc-step{padding:26px 24px}
  .kc-tabs{gap:8px}
  .kc .kc-tab{flex:1 1 auto;text-align:center;padding:11px 16px}
  .kc-value{padding:24px}
  .kc-cta{margin:0 16px;padding:72px 0}
  .kc-cta .cta-row{gap:10px}
  .kc-scroll-hint{display:block}

  /* Pricing table → stacked cards */
  .kc-table-wrap--price{border:0;background:transparent;overflow:visible}
  .kc table.kc-price{min-width:0;display:block}
  .kc table.kc-price thead{display:none}
  .kc table.kc-price tbody{display:grid;gap:14px}
  .kc table.kc-price tbody tr{display:block;background:#fff!important;border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px 18px 16px;box-shadow:var(--shadow)}
  .kc table.kc-price tbody tr.is-focus{border-color:var(--green-accent);box-shadow:0 0 0 4px rgba(42,126,116,.18)}
  .kc table.kc-price td{display:block;padding:0;border:0!important;white-space:normal}
  .kc table.kc-price td.name{font-size:17px;margin-bottom:4px}
  .kc table.kc-price td.desc{font-size:14px;color:#5c6f6c;margin-bottom:10px}
  .kc table.kc-price td.price{font-size:28px;margin-bottom:12px}
  .kc table.kc-price td.book .kc-book{display:flex;justify-content:space-between}
  .kc table.kc-price td.book .kc-btn{flex:1;justify-content:center}
}

/* ---------- ≤600 : phone ---------- */
@media(max-width:600px){
  .kc{font-size:16px}
  .kc-section{padding:52px 0}
  .kc-lead{font-size:16.5px}
  .kc-kicker{font-size:12px;letter-spacing:.14em}
  .kc-hero{border-radius:0 0 var(--radius-sm) var(--radius-sm)}
  .kc-hero .kc-wrap{padding-top:110px;padding-bottom:36px}
  .kc-hero-art img{max-width:100%}
  .kc-pill{font-size:11px;padding:7px 12px;margin-bottom:16px;white-space:normal;text-align:left;line-height:1.3}
  .kc .kc-hero h1{font-size:40px}
  .kc-hero .sub{font-size:16px;margin:12px 0 20px}
  .kc-hero .cta-row,.kc-cta .cta-row{flex-direction:column;align-items:stretch}
  .kc-hero .cta-row .kc-btn,.kc-cta .cta-row .kc-btn{width:100%}
  .kc-hero+.kc-stats{margin-top:-14px;padding-top:14px}
  .kc-stats .grid{grid-template-columns:1fr}
  .kc-stat{border-left:0;border-top:1px solid rgba(255,255,255,.12);padding:22px 20px}
  .kc-stat:first-child{border-top:0}
  .kc-stat .num{font-size:40px}
  .kc-stat .lab{margin:6px 0 6px}
  .kc-notice{font-size:14px;padding:14px 0}
  .kc-steps{gap:16px}
  .kc-cards{gap:16px}
  .kc-card .body{padding:22px 20px}
  .kc-card h3,.kc-step h3{font-size:22px}
  .kc-highlight{padding:30px 22px;border-radius:var(--radius)}
  .kc-img--coach{border-radius:var(--radius-sm)}
  .kc-coach .role{font-size:13px}
  .kc-tags span,.kc-highlight .chip{font-size:12px;padding:7px 12px}
  .kc table.kc-grid{font-size:13px}
  .kc table.kc-grid th,.kc table.kc-grid td{padding:10px 8px}
  .kc-legend{gap:10px 14px;font-size:12.5px}
  .kc-cta{margin:0 12px;padding:56px 0;border-radius:var(--radius-sm)}
  .kc-cta p{font-size:16px}
  .kc-cta .fineprint{font-size:12.5px}
  .kc-value{flex-direction:row;align-items:flex-start;gap:14px;padding:20px}
  .kc-value-badge{width:52px;height:52px;border-radius:12px}
  .kc-value-badge svg{width:28px;height:28px}
  .kc-value h3{font-size:20px}
  .kc-value p{font-size:14px}
  .kc-price-notes li{font-size:14px}
  .kc-actbox{padding:22px 18px;margin-top:22px}
  .kc-actbox h3{font-size:22px;margin-bottom:12px}
  .kc-actrow{grid-template-columns:1fr;gap:8px;padding:14px 0}
  .kc-actlab{padding-top:0}
  .kc-pills{gap:8px}
  .kc-pills .p{font-size:12px;padding:7px 12px}
  .kc-contact{grid-template-columns:1fr;gap:12px}
  .kc-info{padding:20px}
  .kc .kc-btn{padding:14px 22px}
  .kc .kc-btn.small{padding:11px 16px}
  .kc-toast{bottom:16px;border-radius:14px;text-align:center}
}

/* ---------- ≤420 : small phone ---------- */
@media(max-width:420px){
  .kc-wrap{padding:0 16px}
  .kc .kc-hero h1{font-size:36px}
  .kc-h2{font-size:26px}
  .kc-hero .kc-wrap{padding-top:110px}
  .kc-stat .num{font-size:36px}
  .kc-card .body{padding:20px 18px}
  .kc-highlight{padding:26px 18px}
  .kc-value{flex-direction:column}
  .kc-amount{font-size:32px}
  .kc table.kc-price tbody tr{padding:16px 14px 14px}
  .kc table.kc-price td.book .kc-book{flex-direction:column;align-items:stretch}
  .kc table.kc-price td.book .kc-qty{justify-content:center}
  .kc .kc-qty-btn{flex:1}
  .kc-cta{margin:0 8px;padding:48px 0}
  .kc-cta h2{font-size:28px}
}

/* ==========================================================================
   BOOKING MODAL
   ========================================================================== */
body.kc-modal-open{overflow:hidden}
.kc-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}
.kc-modal[hidden]{display:none}
.kc-modal-backdrop{position:absolute;inset:0;background:rgba(0,44,40,.62);backdrop-filter:blur(4px);opacity:0;transition:opacity .2s}
.kc-modal.is-open .kc-modal-backdrop{opacity:1}
.kc-modal-dialog{position:relative;width:100%;max-width:680px;max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:24px;box-shadow:0 30px 80px rgba(0,40,36,.35);padding:34px 36px 30px;transform:translateY(16px) scale(.98);opacity:0;transition:transform .22s ease,opacity .22s ease;outline:none;-webkit-overflow-scrolling:touch}
.kc-modal.is-open .kc-modal-dialog{transform:none;opacity:1}
.kc .kc-modal-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:var(--mint);color:var(--green-2);font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:none}
.kc .kc-modal-close:hover{background:var(--green-pale)}
.kc-modal-head{margin-bottom:8px;padding-right:44px}
.kc-modal-head h3{font-size:30px;color:var(--green-2)}
.kc-modal-summary{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:12px;background:var(--mint);border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-family:Poppins,sans-serif;font-size:14px}
.kc-ms-label{font-weight:600;color:var(--green-2)}
.kc-ms-price{color:var(--green-accent);font-weight:600;white-space:normal;line-height:1.45}
.kc-ms-desc{margin-top:2px;font-size:12.5px;color:#4f6664;line-height:1.45}
.kc-ms-desc[hidden]{display:none}

.kc-form{font-family:Poppins,sans-serif}
.kc-form-hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.kc-fs{border:0;padding:0;margin:18px 0 0;min-width:0}
.kc-fs legend{font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-accent);padding:0;margin-bottom:10px}
.kc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kc-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;position:relative;min-width:0}
.kc-field>span{font-size:13px;font-weight:600;color:var(--green-2)}
.kc-field>span b{color:#c0392b;font-weight:700}
.kc .kc-field input:not([type=checkbox]):not(.kc-qty-input):not(.numInput),.kc .kc-field select:not(.flatpickr-monthDropdown-months),.kc .kc-field textarea{width:100%;border:2px solid var(--line);border-radius:12px;padding:11px 14px;font:inherit;font-size:15px;color:var(--green-2);background:#fff;box-shadow:none;min-height:46px;line-height:1.4;transition:border-color .15s,box-shadow .15s;margin:0}
.kc .kc-field textarea{resize:vertical;min-height:80px}
.kc .kc-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232a7e74' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.kc .kc-field input:not(.numInput):focus,.kc .kc-field select:not(.flatpickr-monthDropdown-months):focus,.kc .kc-field textarea:focus{outline:none;border-color:var(--green-accent);box-shadow:0 0 0 4px rgba(42,126,116,.15)}
.kc-field.is-invalid input:not(.numInput),.kc-field.is-invalid select:not(.flatpickr-monthDropdown-months),.kc-field.is-invalid textarea{border-color:#d33}
.kc-field-msg{font-size:12.5px;color:#c0392b;font-weight:500}
.kc-consent.is-invalid{color:#c0392b}
.kc-consent.is-invalid .kc-field-msg{display:block;margin-top:6px}
.kc-field-qty .kc-qty{align-self:flex-start;border-radius:12px;min-height:46px}
.kc .kc-field-qty .kc-qty-btn{width:42px;height:42px;font-size:20px}
.kc .kc-field-qty .kc-qty-input{width:48px;height:42px;font-size:15px}
.kc-consent{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:#3f5a58;margin-top:10px;cursor:pointer}
.kc .kc-consent input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--green-accent)}
.kc-consent b{color:#c0392b}
.kc .kc-consent a{color:var(--green-accent)!important;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.kc .kc-consent a:hover{color:var(--green-2)!important}
.kc-form-error{background:#fdeeee;color:#7d2b2b;border:1px solid #f3c7c7;border-radius:12px;padding:12px 16px;font-size:14px;margin-top:14px}
.kc-form-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.kc-total{display:flex;flex-direction:column;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6a7a77;font-weight:600}
.kc-total strong{font-family:"Bebas Neue",sans-serif;font-weight:600;font-size:30px;letter-spacing:.02em;color:var(--green-2);text-transform:none;line-height:1.1}
.kc-form-note{font-size:12.5px;color:#6a7a77;margin:14px 0 0;line-height:1.5}

@media(max-width:600px){
  .kc-modal{padding:0;align-items:flex-end}
  .kc-modal-dialog{max-height:94vh;border-radius:22px 22px 0 0;padding:26px 20px 22px;transform:translateY(40px)}
  .kc-modal-head h3{font-size:24px}
  .kc-grid2{grid-template-columns:1fr;gap:0}
  .kc-form-foot{flex-direction:column;align-items:stretch}
  .kc .kc-form-submit{width:100%}
  .kc-ms-price{margin-left:0}
}

/* ---------- flatpickr (dates in the booking modal) ---------- */
.kc .kc-field .flatpickr-wrapper{position:relative;width:100%;display:block}
.kc .kc-field input.kc-date,.kc .kc-field input.kc-date.form-control{background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%232a7e74' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='3'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E")!important;background-repeat:no-repeat;background-position:right 14px center!important;background-repeat:no-repeat!important;padding-right:42px;cursor:pointer}
.kc .flatpickr-calendar{font-family:Poppins,sans-serif;line-height:24px;font-size:14px;border-radius:16px;box-shadow:0 14px 40px rgba(0,44,40,.18);border:1px solid var(--line);width:307.875px}
.kc .flatpickr-calendar.static{top:calc(100% + 6px)}
.kc .flatpickr-calendar.static.open{z-index:5}
.kc .flatpickr-months{padding:8px 4px 0}
.kc .flatpickr-current-month{padding-top:4px;font-size:15px}
.kc .flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;-webkit-appearance:menulist;background:transparent;border:0;height:auto;min-height:0;padding:2px 6px;margin:0;box-shadow:none;width:auto}
.kc .flatpickr-current-month input.cur-year{border:0;background:transparent;min-height:0;padding:0 0 0 .5ch;margin:0;box-shadow:none;height:auto;border-radius:0}
.kc .flatpickr-innerContainer{padding:2px 0 6px}
.kc .flatpickr-months .flatpickr-month,.kc .flatpickr-current-month,.kc .flatpickr-weekdays{color:var(--green-2);fill:var(--green-2)}
.kc .flatpickr-current-month .flatpickr-monthDropdown-months,.kc .flatpickr-current-month input.cur-year{font-family:Poppins,sans-serif;font-weight:600;font-size:15px;color:var(--green-2)}
.kc .flatpickr-current-month .flatpickr-monthDropdown-months{border-radius:8px;padding:2px 4px}
.kc .flatpickr-months .flatpickr-prev-month,.kc .flatpickr-months .flatpickr-next-month{fill:var(--green-accent);padding:8px 10px}
.kc .flatpickr-months .flatpickr-prev-month:hover svg,.kc .flatpickr-months .flatpickr-next-month:hover svg{fill:var(--green)}
.kc span.flatpickr-weekday{color:var(--green-accent);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.kc .flatpickr-day{color:var(--green-2);border-radius:10px;font-weight:500;border:0}
.kc .flatpickr-day:hover,.kc .flatpickr-day.prevMonthDay:hover,.kc .flatpickr-day.nextMonthDay:hover{background:var(--mint);border-color:var(--mint)}
.kc .flatpickr-day.today{border:2px solid var(--green-pale)}
.kc .flatpickr-day.today:hover{background:var(--mint);color:var(--green-2)}
.kc .flatpickr-day.selected,.kc .flatpickr-day.selected:hover,.kc .flatpickr-day.startRange,.kc .flatpickr-day.endRange{background:var(--green-accent);border-color:var(--green-accent);color:#fff;font-weight:600}
.kc .flatpickr-day.flatpickr-disabled,.kc .flatpickr-day.flatpickr-disabled:hover,.kc .flatpickr-day.prevMonthDay,.kc .flatpickr-day.nextMonthDay{color:#b9c8c5}
.kc .flatpickr-day.flatpickr-disabled{text-decoration:line-through;opacity:.55}
.kc .numInputWrapper:hover,.kc .flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:var(--mint)}
.kc .numInputWrapper span.arrowUp:after{border-bottom-color:var(--green-accent)}
.kc .numInputWrapper span.arrowDown:after{border-top-color:var(--green-accent)}
@media(max-width:600px){
  .kc .flatpickr-calendar{width:100%;max-width:307.875px}
}

/* ==========================================================================
   THEME OVERRIDES - the site theme styles button:hover / a:hover globally
   (pink background). Every interactive element of the plugin pins its own
   colours for hover, focus and active states.
   ========================================================================== */
.kc .kc-qty-btn,.kc .kc-qty-btn:hover,.kc .kc-qty-btn:focus,.kc .kc-qty-btn:active,.kc .kc-qty-btn:focus-visible{background:transparent!important;background-color:transparent!important;color:var(--green-accent)!important;border:0!important;box-shadow:none!important;outline:none!important;transform:none!important;text-decoration:none!important}
.kc .kc-qty-btn:hover,.kc .kc-qty-btn:focus-visible{background-color:var(--mint)!important}
.kc .kc-qty-btn:active{background-color:var(--green-pale)!important}
.kc .kc-qty-input,.kc .kc-qty-input:focus,.kc .kc-qty-input:hover{background:transparent!important;border:0!important;box-shadow:none!important;outline:none!important;color:var(--green-2)!important}

.kc .kc-btn,.kc .kc-btn:hover,.kc .kc-btn:focus,.kc .kc-btn:active{text-decoration:none!important;outline:none!important}
.kc .kc-btn.primary,.kc .kc-btn.primary:focus{background-color:var(--green-accent)!important;border-color:var(--green-accent)!important;color:#fff!important}
.kc .kc-btn.primary:hover,.kc .kc-btn.primary:active,.kc .kc-btn.primary:focus-visible{background-color:var(--green)!important;border-color:var(--green)!important;color:#fff!important}
.kc .kc-btn.light,.kc .kc-btn.light:focus{background-color:#fff!important;border-color:#fff!important;color:var(--green)!important}
.kc .kc-btn.light:hover,.kc .kc-btn.light:active,.kc .kc-btn.light:focus-visible{background-color:var(--green-pale)!important;border-color:var(--green-pale)!important;color:var(--green)!important}
.kc .kc-btn.ghost,.kc .kc-btn.ghost:focus{background-color:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.7)!important;color:#fff!important}
.kc .kc-btn.ghost:hover,.kc .kc-btn.ghost:active,.kc .kc-btn.ghost:focus-visible{background-color:#fff!important;border-color:#fff!important;color:var(--green)!important}
.kc .kc-btn.outline,.kc .kc-btn.outline:focus{background-color:transparent!important;border-color:var(--green)!important;color:var(--green)!important}
.kc .kc-btn.outline:hover,.kc .kc-btn.outline:active{background-color:var(--green)!important;color:#fff!important}
.kc .kc-btn[disabled],.kc .kc-btn[disabled]:hover{opacity:.65!important;transform:none!important}

.kc .kc-tab,.kc .kc-tab:focus{background-color:#fff!important;color:var(--green-2)!important;border:2px solid var(--line)!important;box-shadow:none!important;outline:none!important}
.kc .kc-tab:hover,.kc .kc-tab:focus-visible{background-color:#fff!important;border-color:var(--green-accent)!important;color:var(--green-2)!important}
.kc .kc-tab.active,.kc .kc-tab.active:hover,.kc .kc-tab.active:focus{background-color:var(--green)!important;border-color:var(--green)!important;color:#fff!important}

.kc .kc-modal-close,.kc .kc-modal-close:focus{background-color:var(--mint)!important;color:var(--green-2)!important;border:0!important;box-shadow:none!important;outline:none!important}
.kc .kc-modal-close:hover,.kc .kc-modal-close:active,.kc .kc-modal-close:focus-visible{background-color:var(--green-pale)!important;color:var(--green-2)!important}

.kc .kc-link,.kc .kc-link:hover,.kc .kc-link:focus{color:var(--green-accent)!important}
.kc .kc-info .val a,.kc .kc-info .val a:hover{color:var(--green-2)!important}
.kc .kc-price-notes a,.kc .kc-price-notes a:hover{color:var(--green-accent)!important}

.kc .kc-field[hidden]{display:none!important}

/* ---------- Réservations ouvertes ---------- */
.kc-open{margin:8px 0 34px}
.kc-open-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:6px}
.kc-open-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow)}
.kc-open-card.is-now{border-color:var(--green-accent);box-shadow:0 8px 26px rgba(42,126,116,.16)}
.kc-open-head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.kc-open-head h3{font-size:24px;color:var(--green-2)}
.kc-open-dates{font-family:Poppins,sans-serif;font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--green-accent)}
.kc-open-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.kc-open-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:15px}
.kc-open-list li:first-child{border-top:0;padding-top:0}
.kc-open-name{flex:1;color:var(--green-2);font-weight:500}
.kc-open-price{font-family:"Bebas Neue",sans-serif;font-weight:600;font-size:22px;color:var(--green-2);white-space:nowrap}
.kc .kc-open-list .kc-btn.small{padding:9px 16px;font-size:11px}
@media(max-width:600px){
  .kc-open-card{padding:18px}
  .kc-open-list li{flex-wrap:wrap}
  .kc-open-name{flex:1 1 100%}
}

.kc-field-help{font-size:12px;color:#6a7a77;font-weight:400;line-height:1.4}
.kc-field-class{margin-top:2px}

/* ---------- Payment choice + done state ---------- */
.kc-radios{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kc-radio{display:flex;gap:10px;align-items:flex-start;border:2px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;transition:border-color .15s,background .15s}
.kc-radio:hover{border-color:var(--green-soft)}
.kc-radio:has(input:checked){border-color:var(--green-accent);background:var(--mint)}
.kc .kc-radio input{width:18px;height:18px;margin:3px 0 0;flex:none;accent-color:var(--green-accent)}
.kc-radio span{display:flex;flex-direction:column;gap:2px}
.kc-radio strong{font-size:14px;color:var(--green-2)}
.kc-radio small{font-size:12px;color:#6a7a77;line-height:1.4}
.kc-radio.is-disabled{opacity:.5;cursor:not-allowed}
.kc-form-done{text-align:center;padding:30px 10px 10px}
.kc-done-icon{width:64px;height:64px;border-radius:50%;background:var(--green-accent);color:#fff;font-size:32px;line-height:64px;margin:0 auto 16px;font-weight:700}
.kc-form-done h3{font-size:28px;color:var(--green-2);margin-bottom:10px}
.kc-done-text{font-family:Poppins,sans-serif;font-size:15px;color:#3f5a58;max-width:460px;margin:0 auto 22px;line-height:1.6}
@media(max-width:600px){.kc-radios{grid-template-columns:1fr}}

/* ==========================================================================
   AGENDA (inline calendar + offers of the day)
   ========================================================================== */
.kc-agenda{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:28px;align-items:start;margin-top:26px}
.kc-agenda-cal{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 12px;box-shadow:var(--shadow)}
.kc-agenda-legend{display:flex;align-items:center;gap:8px;font-family:Poppins,sans-serif;font-size:12.5px;color:#6a7a77;margin:10px 4px 0}
.kc-dot{width:8px;height:8px;border-radius:50%;background:var(--green-accent);display:inline-block}
.kc-agenda-day{background:var(--mint);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;min-height:320px}
.kc-day-kicker{margin-bottom:6px}
.kc-day-title{font-size:30px;color:var(--green-2);margin-bottom:26px}
.kc-day-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.kc-offer{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px}
.kc-offer-time{font-family:"Bebas Neue",sans-serif;font-weight:600;font-size:22px;color:var(--green-accent);white-space:nowrap;min-width:110px}
.kc-offer-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.kc-offer-name{font-size:15px;color:var(--green-2);font-weight:600}
.kc-offer-aud{font-family:Poppins,sans-serif;font-size:12.5px;color:#6a7a77}
.kc-offer-desc{font-family:Poppins,sans-serif;font-size:12.5px;color:var(--green-2);line-height:1.4;margin-top:2px}
.kc-offer-desc[hidden]{display:none}
.kc-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.kc-offer-left{display:inline-block;align-self:flex-start;margin-top:6px;font-family:Poppins,sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.02em;padding:3px 10px;border-radius:999px;background:#fff3cd;color:#7a4b00}
.kc-offer-left.is-full{background:#e8e8e8;color:#50575e}
.kc-offer.is-full{background:#f6f8f7}
.kc-offer.is-full .kc-offer-price{color:#8a9997}
.kc .kc-offer.is-full .kc-btn.small{background:#c3cfcc;border-color:#c3cfcc;color:#fff;cursor:not-allowed;box-shadow:none}
.kc-offer-price{font-family:"Bebas Neue",sans-serif;font-weight:600;font-size:22px;color:var(--green-2);white-space:nowrap}
.kc .kc-offer .kc-btn.small{padding:10px 18px;font-size:11.5px}
.kc-day-empty,.kc-day-none{font-family:Poppins,sans-serif;font-size:15px;color:#3f5a58;margin:6px 0 0}
.kc .kc-day-next{background:none;border:0;padding:0;margin:0;cursor:pointer;box-shadow:none;font:inherit;font-weight:600;color:var(--green-accent)}
.kc-field.is-locked input.kc-date{background-color:var(--mint)!important;cursor:default;color:#3f5a58}

/* inline flatpickr sized to its column */
.kc .kc-agenda-cal .flatpickr-calendar.inline{width:100%!important;max-width:none;box-shadow:none;border:0;border-radius:0;margin:0;top:0}
.kc .kc-agenda-cal .flatpickr-innerContainer,.kc .kc-agenda-cal .flatpickr-rContainer,.kc .kc-agenda-cal .flatpickr-days,.kc .kc-agenda-cal .dayContainer{width:100%;min-width:0;max-width:none}
.kc .kc-agenda-cal .flatpickr-weekdays,.kc .kc-agenda-cal .flatpickr-weekdaycontainer{width:100%}
.kc .kc-agenda-cal .flatpickr-day{flex:0 0 14.2857%;max-width:none;width:auto;height:44px;line-height:44px;margin:2px 0;font-size:15px;border-radius:12px;position:relative}
.kc .kc-agenda-cal .flatpickr-day.kc-has:not(.selected){background:#e6f3f0;color:var(--green-2);font-weight:600}
.kc .kc-agenda-cal .flatpickr-day.kc-has:not(.selected)::after{content:"";position:absolute;left:50%;bottom:5px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--green-accent)}
.kc .kc-agenda-cal .flatpickr-day.kc-has:not(.selected):hover{background:var(--green-pale)}
.kc .kc-agenda-cal .flatpickr-day.flatpickr-disabled{opacity:.35;text-decoration:none}
.kc .kc-agenda-cal .flatpickr-months .flatpickr-month{height:44px}
.kc .kc-agenda-cal .flatpickr-current-month{font-size:16px;padding-top:8px}
.kc .kc-agenda-cal .flatpickr-current-month .cur-month{font-weight:600;color:var(--green-2)}
.kc .kc-agenda-cal .flatpickr-months .flatpickr-prev-month,.kc .kc-agenda-cal .flatpickr-months .flatpickr-next-month{top:4px}
@media(max-width:900px){
  .kc-agenda{grid-template-columns:1fr}
  .kc-agenda-cal{max-width:460px}
}
@media(max-width:600px){
  .kc-agenda-day{padding:20px 18px;min-height:0}
  .kc-day-title{font-size:26px;margin-bottom:22px}
  .kc-offer{grid-template-columns:1fr auto;grid-template-areas:"time price" "main main" "btn btn";gap:8px 12px}
  .kc-offer-time{grid-area:time;min-width:0}
  .kc-offer-price{grid-area:price}
  .kc-offer-main{grid-area:main}
  .kc .kc-offer .kc-btn.small{grid-area:btn;width:100%}
  .kc .kc-agenda-cal .flatpickr-day{height:40px;line-height:40px}
}

/* ---------- Birthdate selects ---------- */
.kc-birth{display:grid;grid-template-columns:1fr 1.6fr 1.2fr;gap:8px}
.kc .kc-field .kc-birth select{width:100%;min-width:0}
.kc-qty-help{display:block;margin-top:6px}
@media(max-width:420px){.kc-birth{grid-template-columns:1fr 1fr;} .kc-birth .kc-birth-y{grid-column:1 / -1}}
/* Year input of the date picker: keep it visible whatever the theme does to inputs */
.kc .flatpickr-current-month input.cur-year,.kc .flatpickr-current-month .numInputWrapper{display:inline-block!important;color:var(--green-2)!important;font-size:15px!important;font-family:Poppins,sans-serif!important;opacity:1!important;visibility:visible!important;width:auto!important;min-width:4.5ch}
.kc .flatpickr-current-month .numInputWrapper{width:6.5ch!important}

/* ---------- Children blocks ---------- */
.kc-children{display:grid;gap:10px;margin-top:2px}
.kc-children.is-multi .kc-child{border:1px solid var(--line);border-radius:14px;padding:14px 16px 2px;background:#fff}
.kc-child-head{font-family:Poppins,sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-accent);margin:0 0 10px}
.kc-child-head[hidden]{display:none}
.kc-child .kc-grid2{align-items:start}
.kc-child .kc-field>span{display:block;min-height:20px;line-height:20px}
.kc-form:not(.kc-needs-class) .kc-field-class{display:none}
.kc-fs-children .kc-field-qty{margin-bottom:14px}

/* Modal summary: full width on small screens, price line may wrap */
.kc-modal-summary{width:100%}
@media(max-width:600px){
  .kc-modal-head{padding-right:0}
  .kc-modal-head h3{padding-right:44px}
  .kc-modal-summary{flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px}
  .kc-ms-price{white-space:normal;margin-left:0;line-height:1.45}
}

/* ---------- Hero logo, "à venir" badge, regular care block ---------- */
.kc-hero-art img.kc-hero-logo{max-width:460px;width:100%;height:auto;border-radius:0;filter:drop-shadow(0 12px 30px rgba(0,0,0,.18))}
.kc-soon{display:inline-block;vertical-align:middle;margin-left:8px;font-family:Poppins,sans-serif;font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-accent);background:var(--mint);border:1px solid var(--line);border-radius:999px;padding:4px 10px;line-height:1;position:relative;top:-2px}
.kc-cta-regular{margin-top:38px;padding-top:30px;border-top:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;align-items:center;gap:16px}
.kc-cta-regular h3{font-size:clamp(24px,3vw,32px);color:#fff;margin:0}
@media(max-width:900px){.kc-hero-art img.kc-hero-logo{max-width:360px}}
@media(max-width:600px){.kc-hero-art img.kc-hero-logo{max-width:260px}.kc-cta-regular{margin-top:28px;padding-top:22px}}

/* ---------- Childcare on request line ---------- */
.kc-offer-contact{background:var(--mint);border-style:dashed}
.kc-offer-contact .kc-offer-time{font-size:16px;font-family:Poppins,sans-serif;font-weight:600;letter-spacing:.02em;text-transform:none}
.kc .kc-offer-contact .kc-btn.outline.small{padding:9px 16px;font-size:11px}
