/* Keats checkout styles — booking page overrides (enrol-v2.css from the design handoff). Load after confirm.css. */
.e2{max-width:760px;margin:0 auto;padding:36px 24px 120px}
.intro{display:flex;flex-direction:column;gap:8px;padding-bottom:28px}
.intro h1{font-size:28px;letter-spacing:-.015em}.intro p{color:#3A4152;font-size:15px;max-width:58ch;text-wrap:pretty}
.intro .fine{margin-top:2px}
.stp2{border-top:1px solid var(--line);padding:26px 0}.intro+.stp2{border-top:0;padding-top:0}
.hdr .prog{flex-wrap:nowrap;flex-shrink:0}.hdr .prog li{flex-direction:row;white-space:nowrap;flex-shrink:0}.hdr .prog li.done .mono{display:inline}
.stp2-h{display:flex;align-items:center;gap:14px}.stp2-h .num{font-size:12px;font-weight:600;color:var(--muted);min-width:22px;letter-spacing:.04em}.stp2-h h2{font-size:20px;flex:1}
.stp2.future .stp2-h h2{color:#9AA0AE;font-size:17px}.stp2.future .stp2-h .num{color:#C4C8D2}
.stp2.done .stp2-h h2{font-size:17px}
.stp2-sum{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;font-size:14.5px;color:#3A4152;margin:12px 0 0 36px}.stp2-sum dt{color:var(--muted)}.stp2-sum dd{margin:0}
.stp2-body{display:flex;flex-direction:column;gap:26px;margin-top:22px;animation:rise .35s cubic-bezier(.2,.7,.2,1) both}
.fs{display:flex;flex-direction:column;gap:14px}.fs>h3{font-size:15px;font-weight:600;font-family:Inter,sans-serif;color:var(--navy);display:flex;align-items:baseline;gap:8px}.fs>h3 .opt{font-weight:400;color:var(--muted);font-size:13px}
.disc{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.disc>button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:0;padding:14px 16px;text-align:left;font-size:14.5px;color:var(--navy);min-height:48px}.disc>button b{font-weight:600}.disc>button span{color:var(--muted);font-size:13px}.disc>button svg{transition:transform .2s;color:var(--muted)}.disc.open>button svg{transform:rotate(180deg)}
.disc-b{padding:4px 16px 18px;display:flex;flex-direction:column;gap:16px;animation:rise .3s both}
.chip{min-height:44px}
textarea.input{min-height:76px}
.stu{display:flex;flex-direction:column;gap:14px}.stu+.stu{border-top:1px solid var(--line);padding-top:22px}
.stu-h{display:flex;justify-content:space-between;align-items:baseline}.stu-h h3{font-size:15px;font-family:Inter,sans-serif;font-weight:600;color:var(--navy)}
.addstu{font-size:14px;color:#3A4152;display:flex;flex-direction:column;gap:4px}.addstu .help{font-size:12.5px}
.step-act{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:6px}
.step-act .cta{width:auto;min-width:260px;padding:0 24px}.step-act .help{max-width:36ch}
.loc3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.loc3 .opt-h{min-height:72px;align-items:flex-start}.loc3 .opt-t b{font-size:15px}
.slots{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.slot{min-height:52px;border-radius:10px;padding:10px 12px}.slot b{font-size:15px}.slot span{font-size:12px}
.slot.on{background:var(--sel);color:var(--navy);border-color:var(--sel-line);box-shadow:inset 0 0 0 1px var(--sel-line)}.slot.on span{color:var(--gold-d)}
.day[aria-pressed=true]{background:var(--navy);border-color:var(--navy)}
.checking{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;min-height:120px}.checking .spin{border-color:#D1D5DB;border-top-color:var(--navy)}
.review{border:1px solid var(--line);border-radius:12px;background:#fff;padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.review .line{font-size:14.5px}.review .line dt{color:var(--muted)}.review .line.total{font-size:17px}
.pay2{display:flex;flex-direction:column;gap:14px}
.saved{position:fixed;top:72px;right:24px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:12.5px;color:var(--muted);display:flex;gap:6px;align-items:center;z-index:30;animation:fade .2s both}.saved svg{color:#15803D}
.mbar2 .cta{max-width:none}
@media (max-width:900px){.e2{padding:24px 16px 120px}.intro h1{font-size:24px}.loc3{grid-template-columns:1fr}.loc3 .opt-h{min-height:56px}.step-act .cta,.step-act .help{display:none}.stp2-sum{margin-left:0}.saved{top:64px;right:16px}}
@media (min-width:901px){.mbar2{display:none}}
/* the step state class "done" must not pick up the success-screen .done container rule */
.stp2.done{max-width:none;margin:0;display:block;gap:0}

/* 2026-09-14 handoff: 'Before you book' navy band under the intro H1 */
.byb{background:var(--navy-deep);color:#fff;border-radius:10px;padding:14px 18px;margin-top:6px}.byb p{color:rgba(255,255,255,.85);font-size:14.5px;line-height:1.55;max-width:none;text-wrap:pretty}.byb b{color:var(--gold-l);font-weight:600}
