/* Reserva y «Mis sesiones» · usa las fuentes, colores y tokens del sitio (theme-v2.css). Todo bajo .bk */
.bk{padding-bottom:var(--space-section)}
.bk .breadcrumb{padding:22px 0 0}
.bk-head{padding:24px 0 30px;max-width:760px}
.bk-head h1{font-size:clamp(34px,4vw,52px);margin-bottom:10px}
.bk-head p:not(.original-kicker){font-size:var(--fs-lead);color:var(--ink-2);margin:0}
.bk-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
.bk-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:36px 40px;box-shadow:var(--shadow);min-width:0}
.bk-loading{color:var(--muted)}

/* Botones */
.bk .btn-primary,.bk .btn-secondary,.bk .btn-ghost,.bk .btn-danger,.bk .btn-danger-ghost{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:13px 22px;border-radius:10px;font-size:var(--fs-btn);font-weight:600;line-height:1.2;border:1.5px solid transparent;transition:background .15s,border-color .15s,color .15s;text-decoration:none}
.bk .btn-primary{background:var(--blue);color:#fff}
.bk .btn-primary:hover:not(:disabled){background:var(--blue-600)}
.bk .btn-secondary{background:#fff;color:var(--ink);border-color:#b7c5cd}
.bk .btn-secondary:hover:not(:disabled){border-color:var(--blue);background:var(--blue-50)}
.bk .btn-ghost{background:none;color:var(--ink);padding-inline:6px}
.bk .btn-ghost:hover{color:var(--blue)}
.bk .btn-danger{background:var(--danger);color:#fff}
.bk .btn-danger-ghost{background:#fff;color:var(--danger);border-color:#f0c7c2}
.bk .btn-danger-ghost:hover:not(:disabled){background:#fff4f2}
.bk .small{min-height:44px;padding:9px 16px;font-size:15px}
.bk button:disabled{opacity:.45;cursor:not-allowed}
.bk .link-btn{background:none;border:0;color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:6px;margin-left:auto}
.bk-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.bk-actions.end{justify-content:flex-end}

/* Etapas */
.bk-steps{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 30px}
.bk-steps li{flex:1;min-width:0}
.bk-steps li>span,.bk-steps li>button{display:flex;align-items:center;gap:10px;width:100%;padding:0 0 12px;border:0;border-bottom:3px solid #e3ebef;background:none;font-size:var(--fs-small);font-weight:600;color:#7d8f9a;text-align:left}
.bk-steps li>button{cursor:pointer;color:var(--ink)}
.bk-steps li>button:hover{color:var(--blue)}
.bk-steps b{display:inline-grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#eef3f6;font-size:14px}
.bk-steps .current>span{color:var(--ink);border-color:var(--blue)}
.bk-steps .current b{background:var(--blue);color:#fff}
.bk-steps .done>span,.bk-steps .done>button{border-color:#9fd1ec}
.bk-steps .done b{background:#dff1fa;color:var(--blue)}
.step-title{margin-bottom:22px}
.step-title h2{font-size:clamp(26px,2.4vw,32px);margin-bottom:6px}
.step-title p{color:var(--ink-2);margin:0}
.bk-alert{border-radius:12px;padding:14px 16px;margin-bottom:20px;font-size:var(--fs-body)}
.bk-alert.error{background:#fff4f2;color:#8c1d13;border:1px solid #f3c9c3}
.bk-alert.ok{background:#ecf8f2;color:#145c3e;border:1px solid #bfe6d2}

/* Paso 1 · pack */
.bk-pack{position:relative;border:1px solid var(--line);border-radius:20px;padding:34px 24px 24px;background:#fbfdfe;text-align:center}
.bk-pack.recommended{background:var(--rec-soft);border-color:var(--rec);box-shadow:inset 0 0 0 1px var(--rec)}
.bk-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--rec-badge);color:var(--rec-ink);border:1px solid var(--rec);font-size:var(--fs-small);font-weight:700;padding:7px 16px;border-radius:999px;white-space:nowrap}
.bk-qty{display:flex;justify-content:center;align-items:center;gap:36px}
.bk-qty strong{display:block;font:400 80px/1 Literata,Georgia,serif}
.bk-qty span{font-size:var(--fs-small);color:var(--muted)}
.bk .qty{width:52px;height:52px;border-radius:50%;border:1.5px solid #b9d3df;background:#fff;color:var(--blue);display:inline-grid;place-items:center;padding:0}
.bk .qty:hover:not(:disabled){background:var(--blue);border-color:var(--blue);color:#fff}
.bk-ticks{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:22px 0}
.bk-ticks button{min-width:46px;height:46px;border-radius:50%;border:1.5px solid #d3e1e8;background:#fff;font-weight:600;font-size:16px;color:var(--ink)}
.bk-ticks button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.bk-quote{display:grid;gap:4px;justify-items:center;border-top:1px solid var(--line);padding-top:18px}
.bk-quote .name{font-size:var(--fs-small);color:var(--muted)}
.bk-quote strong{font-size:44px;line-height:1.1;letter-spacing:-1px}
.bk-quote .saving{color:var(--ok);font-weight:600}
.legal-note{font-size:var(--fs-small);color:var(--muted);background:var(--bg-soft);border-radius:12px;padding:14px 16px;margin:22px 0 0}
.legal-note a{color:var(--blue);text-decoration:underline}

/* Paso 2 · franja de 7 días */
.date-strip{display:grid;gap:18px}
.strip-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.strip-range{font-weight:600;font-size:var(--fs-body);text-transform:capitalize}
.strip-arrow{width:48px;height:48px;border-radius:50%;border:1.5px solid #c9d8e0;background:#fff;color:var(--ink);display:grid;place-items:center;padding:0}
.strip-arrow:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}
.strip-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.strip-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 4px 10px;border-radius:14px;border:1.5px solid #d3e1e8;background:#fff;color:var(--ink);min-height:104px;transition:border-color .15s,background .15s}
.strip-day .wd{font-size:13px;text-transform:capitalize;color:var(--muted);font-weight:600}
.strip-day strong{font-size:26px;line-height:1.1}
.strip-day .mo{font-size:13px;text-transform:capitalize;color:var(--muted)}
.strip-day small{font-size:11.5px;color:var(--ok);font-weight:600;margin-top:4px;white-space:nowrap}
.strip-day:hover:not(:disabled){border-color:var(--blue);background:var(--blue-50)}
.strip-day.today{box-shadow:inset 0 -3px 0 #9fd1ec}
.strip-day.chosen{background:var(--blue);border-color:var(--blue);color:#fff}
.strip-day.chosen .wd,.strip-day.chosen .mo,.strip-day.chosen small{color:#e0f2fc}
.bk .strip-day:disabled{opacity:1;background:#f4f6f8;border-color:#e6ecef;color:#a3b1b9}
.strip-day:disabled .wd,.strip-day:disabled .mo{color:#a3b1b9}
.strip-day:disabled small{color:#a3b1b9;font-weight:500}
.times-title{font-size:var(--fs-body);margin:0 0 12px;color:var(--ink-2)}
.time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.time-btn{min-height:52px;border-radius:12px;border:1.5px solid #c9d8e0;background:#fff;font-size:17px;font-weight:600;color:var(--ink)}
.time-btn:hover{border-color:var(--blue);background:var(--blue-50)}
.time-btn.chosen{background:var(--blue);border-color:var(--blue);color:#fff}
.times-empty{color:var(--muted);background:var(--bg-soft);border-radius:12px;padding:16px;margin:0}
.times-empty a{color:var(--blue);text-decoration:underline}

/* Paso 3 · datos */
.bk-selection,.bk-payment{display:flex;gap:14px;align-items:center;border-radius:14px;padding:16px 18px}
.bk-selection{background:var(--blue-50);border:1px solid #cfe7f4;margin-bottom:22px;color:var(--ink)}
.bk-selection svg,.bk-payment svg{color:var(--blue);flex:0 0 auto}
.bk-selection span{display:grid;font-weight:600;font-size:var(--fs-body)}
.bk-selection small{font-weight:400;color:var(--muted);font-size:var(--fs-small)}
.bk-form{display:grid}
.bk-form label:not(.bk-consent):not(.hp){font-weight:600;font-size:var(--fs-small);margin:14px 0 6px}
.bk-form input:not([type=checkbox]){min-height:52px;border:1.5px solid #c8d4dc;border-radius:10px;padding:12px 14px;font-size:16px;background:#fff;color:var(--ink);width:100%}
.bk-form input:focus{border-color:var(--blue);outline:3px solid #cfe9f8;outline-offset:0}
.bk-form input[aria-invalid=true]{border-color:var(--danger);background:#fffafa}
.bk-form input[readonly]{background:#f4f7f9}
.field-error{color:var(--danger);font-size:var(--fs-small);margin-top:6px}
.bk-payment{background:#f6faf8;border:1px solid #d5ebe0;margin-top:22px;align-items:flex-start}
.bk-payment strong{display:block;margin-bottom:2px}
.bk-payment p{margin:0;color:var(--ink-2);font-size:var(--fs-small)}
.bk-consent{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:var(--fs-small);color:var(--ink-2);line-height:1.55;cursor:pointer}
.bk-consent input{width:22px;height:22px;flex:0 0 22px;margin-top:1px;accent-color:var(--blue)}
.bk-consent a{color:var(--blue);text-decoration:underline}
.bk-consent.invalid span{color:#8c1d13}

/* Confirmación */
.bk-done{text-align:center;display:grid;justify-items:center;gap:6px;padding:10px 0}
.bk-done .check{width:68px;height:68px;border-radius:50%;background:#e3f6ec;color:var(--ok);display:grid;place-items:center;margin-bottom:6px}
.bk-done h2{font-size:clamp(28px,2.6vw,36px)}
.bk-done .when{font-size:20px;font-weight:600}
.bk-done p{max-width:60ch;color:var(--ink-2)}
.bk-summary{display:grid;gap:8px;width:100%;max-width:520px;background:var(--bg-soft);border-radius:14px;padding:16px 18px;margin:8px 0;text-align:left}
.bk-summary div{display:flex;justify-content:space-between;gap:14px}
.bk-summary dt{color:var(--muted)}
.bk-summary dd{margin:0;font-weight:600;text-align:right}
.bk-instructions{white-space:pre-wrap;text-align:left;background:#fff;border:1px dashed #9fc4d8;border-radius:12px;padding:14px 16px;width:100%;max-width:520px;font-size:var(--fs-body)}

/* Mis sesiones */
.manage-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.manage-head h2{margin-bottom:4px;font-size:clamp(26px,2.4vw,32px)}
.manage-head p{margin:0;color:var(--ink-2)}
.manage-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}
.manage-facts div{background:var(--bg-soft);border-radius:14px;padding:14px 16px;font-size:var(--fs-small);color:var(--muted)}
.manage-facts strong{display:block;color:var(--ink);font-size:18px;margin-top:2px}
.manage-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--blue-50);border:1px solid #cfe7f4;border-radius:14px;padding:16px 18px;margin-bottom:22px}
.manage-title{font-size:20px;margin:26px 0 12px}
.session-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.session-list li{border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:grid;gap:12px}
.session-list .row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.session-list .when{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;font-weight:600}
.session-list .when small{grid-column:2;font-weight:400;color:var(--muted);font-size:var(--fs-small)}
.session-list .when svg{color:var(--blue)}
.session-list.past li{padding:12px 16px;background:#fbfcfd}
.session-list.past .when{font-weight:500;color:var(--ink-2)}
.row-actions{display:flex;gap:10px;flex-wrap:wrap}
.meet-link{display:inline-flex;align-items:center;gap:8px;justify-self:start;background:#e3f6ec;color:#145c3e;font-weight:600;border-radius:999px;padding:8px 14px}
.reschedule{border-top:1px dashed var(--line);padding-top:16px;display:grid;gap:16px}
.reschedule .btn-primary{justify-self:end}
.retract-box{margin-top:30px;border:1px solid #f0d7d3;background:#fffafa;border-radius:16px;padding:20px}
.retract-box h3{font-size:19px;margin-bottom:6px}
.retract-box p{color:var(--ink-2);font-size:var(--fs-small)}
.chip-status{display:inline-block;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;white-space:nowrap;background:#eef3f6;color:#4a5d69}
.chip-status.pending,.chip-status.pending_payment{background:#fff3dc;color:#7a4b00}
.chip-status.confirmed,.chip-status.paid{background:#e3f1fb;color:#0b5f93}
.chip-status.completed{background:#e3f6ec;color:#145c3e}
.chip-status.cancelled,.chip-status.expired,.chip-status.refunded{background:#f1f3f5;color:#6b7a84}
.chip-status.no_show,.chip-status.refund_pending{background:#fde8e6;color:#8c1d13}
.muted{color:var(--muted)}

/* Resumen lateral */
.bk-side{position:sticky;top:116px;display:grid;gap:16px}
.bk-side-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow)}
.side-kicker{font-size:13px;text-transform:uppercase;letter-spacing:.7px;font-weight:700;color:var(--muted);margin-bottom:8px}
.bk-side-card h3{font:400 24px/1.25 Literata,Georgia,serif;margin:0 0 4px}
.side-name{color:var(--muted);font-size:var(--fs-small);margin-bottom:12px}
.side-test{display:inline-flex;align-items:center;gap:6px;background:var(--rec-badge);color:var(--rec-ink);border:1px solid var(--rec);font-size:13px;font-weight:700;border-radius:999px;padding:5px 12px;margin-bottom:12px}
.bk-side-card dl{display:grid;gap:10px;margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}
.bk-side-card dl div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.bk-side-card dt{color:var(--muted);font-size:var(--fs-small)}
.bk-side-card dd{margin:0;font-weight:600;text-align:right}
.bk-side-card dd.big{font-size:24px}
.side-change{display:inline-flex;align-items:center;gap:6px;margin-top:14px;background:none;border:0;padding:6px 0;color:var(--blue);font-weight:600;font-size:var(--fs-small)}
.side-list{list-style:none;padding:16px 0 0;margin:16px 0 0;border-top:1px solid var(--line);display:grid;gap:9px;font-size:var(--fs-small);color:var(--ink-2)}
.side-list li{display:flex;gap:10px;align-items:center}
.side-list svg{color:var(--blue);flex:0 0 auto}
.bk-side-pro{display:flex;gap:14px;align-items:center;background:var(--bg-soft);border-radius:18px;padding:16px}
.bk-side-pro img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.bk-side-pro div{display:grid;line-height:1.35}
.bk-side-pro span{font-size:13px;color:var(--muted)}
.bk-side-pro a{font-size:var(--fs-small);color:var(--blue);font-weight:600;margin-top:2px}
.bk-side-help{font-size:var(--fs-small);color:var(--muted);margin:0 4px}
.bk-side-help a{color:var(--blue);text-decoration:underline}
.bk-mobile-bar{display:none}

/* Diálogo de confirmación */
.confirm-dialog{border:0;border-radius:20px;padding:28px;max-width:min(440px,calc(100vw - 32px));box-shadow:0 20px 60px rgba(7,35,55,.3);color:var(--ink)}
.confirm-dialog::backdrop{background:rgba(7,35,55,.5)}
.confirm-dialog h2{font-size:24px;margin-bottom:8px}
.confirm-dialog p{color:var(--ink-2)}
.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}

@media(max-width:1000px){
  .bk-grid{grid-template-columns:1fr}
  .bk-side{position:static}
}
@media(max-width:760px){
  .bk-card{padding:24px 18px;border-radius:20px}
  .bk-steps li>span,.bk-steps li>button{flex-direction:column;align-items:flex-start;gap:6px;font-size:13px}
  .strip-days{gap:8px}
  .strip-day{padding:10px 2px 8px;min-height:100px;border-radius:12px}
  .strip-day strong{font-size:24px}
  .strip-day small{font-size:11px;white-space:normal;text-align:center;line-height:1.2}
  .time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bk-actions{flex-direction:column-reverse;align-items:stretch}
  .bk-actions .btn-primary{width:100%;justify-content:space-between}
  .manage-facts{grid-template-columns:1fr}
  .bk-qty{gap:24px}
  .bk-qty strong{font-size:66px}
  .bk-card.with-bar{margin-bottom:8px}
  .bk-mobile-bar{display:block;position:sticky;bottom:0;z-index:20;margin:16px calc(var(--gutter) * -1) 0;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(7,53,81,.08);padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom))}
  .bk-mobile-bar div{display:grid;line-height:1.35}
  .bk-mobile-bar strong{font-size:16px}
  .bk-mobile-bar span{font-size:13px;color:var(--muted)}
  .reschedule .btn-primary{justify-self:stretch}
}

.bk-card-payment{margin:24px 0;padding:24px;border:1px solid #bad8e9;border-radius:18px;background:#f4faff;text-align:left;min-width:0}.bk-card-payment h3{font-size:22px;line-height:1.3;margin:0 0 12px}.bk-card-payment p{margin:12px 0}.bk-card-payment>button,.bk-card-payment>a{margin:8px 8px 0 0}.bk-card-payment iframe{max-width:100%}@media(max-width:600px){.bk-card-payment{padding:16px}.bk-card-payment>button,.bk-card-payment>a{width:100%;margin-right:0}}
.checkout-flow{width:100%;min-width:0;text-align:left;scroll-margin-top:100px;margin:24px 0}.checkout-progress{display:grid;grid-template-columns:1fr 1fr;gap:16px;list-style:none;padding:0;margin:0 0 32px}.checkout-progress li{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:3px solid #e0e9ed;color:#647887;font-size:15px;font-weight:600}.checkout-progress b{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#edf3f6}.checkout-progress .current{color:#07547b;border-color:#1886bd}.checkout-progress .current b{background:#1886bd;color:white}.checkout-progress .complete b{background:#e0f4e9;color:#20704e}.consent-heading{display:flex;align-items:center;gap:14px;color:#12648f}.checkout-eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:700;margin:0 0 6px!important;color:#12648f!important}.consent-heading h2{margin:0!important}.consent-intro{font-size:18px;line-height:1.65;max-width:none!important}.consent-document{border:1px solid #b8d4e5;border-radius:16px;padding:24px;background:#f6fbfe;margin:24px 0;color:#243f4e}.consent-document h3{font-size:23px;line-height:1.35;margin:0 0 10px}.consent-document h4{font:600 17px/1.5 'Public Sans',sans-serif;margin:24px 0 8px}.consent-document p{font-size:15px;line-height:1.75;max-width:none!important;margin:0 0 14px}.consent-version{font-size:12px!important;color:#647887!important}.consent-form{border-top:1px solid #d5e4ec;padding-top:24px}.guardian-accept{display:flex!important;align-items:flex-start;gap:14px;padding:20px;border:2px solid #2783b4;border-radius:12px;background:#ecf7ff;font-size:16px;line-height:1.6;margin:20px 0!important;cursor:pointer}.guardian-accept input{width:22px!important;height:22px;flex:0 0 22px;accent-color:#127db6;margin-top:3px}.guardian-accept strong{display:block;color:#144d6d}.consent-saved{display:flex;align-items:center;gap:10px;background:#edf8f1;color:#236747;padding:14px;border-radius:10px;font-size:14px}.checkout-flow .bk-card-payment{margin-bottom:0}.checkout-flow .bk-card-payment h2{margin:0;font-size:30px}.checkout-flow .bk-card-payment p{max-width:none!important}@media(max-width:600px){.consent-document{padding:18px}.guardian-accept{padding:16px}.checkout-progress{gap:12px}.checkout-progress li{font-size:13px;align-items:flex-start}.consent-heading h2{font-size:28px}.consent-form>button{width:100%}}
.payment-success{display:grid;justify-items:center;gap:14px;padding:36px 24px;border:1px solid #b9dced;border-radius:20px;background:#edf8ff;text-align:center;scroll-margin-top:100px}.payment-success>svg{color:#147db5}.payment-success h2{margin:0!important;font-size:clamp(28px,4vw,38px)}.payment-success p{margin:0;max-width:48ch!important;line-height:1.6}.payment-success .payment-success-total{font-size:25px;font-weight:700;color:#125b83}.payment-success .checkout-eyebrow{color:#126b9b!important}.payment-success .btn-primary{margin-top:10px}@media(max-width:600px){.payment-success{padding:28px 18px}.payment-success .btn-primary{width:100%}}
.consent-form .legal-note{margin:12px 0 28px;padding:0 2px;line-height:1.8}.consent-form .guardian-accept{margin-bottom:20px!important}.consent-form>.btn-primary{margin-top:4px}@media(max-width:600px){.consent-form .legal-note{margin:16px 0 30px;line-height:1.85}}
.manage-cta{margin-top:28px;margin-bottom:28px}@media(max-width:600px){.manage-cta{margin-top:26px;margin-bottom:30px}}
.bk-card-payment .card-fields-title{font-family:'Public Sans',sans-serif;font-size:21px;line-height:1.4;font-weight:600;letter-spacing:normal;margin:24px 0 18px}.bk-card-payment select:not([multiple]):not([size]){min-width:100px;background-image:none!important;-webkit-appearance:none;appearance:none}.bk-card-payment label{margin-top:8px;margin-bottom:8px}

/* Green indicates processing only; approval is still confirmed by the server. */
.bk-card-payment .card-form-processing button[type="submit"]{background:#21845d!important;border-color:#21845d!important;color:#fff!important;opacity:1;transition:background-color .2s ease}

.bk-grid.checkout-only{grid-template-columns:minmax(0,780px);justify-content:center}.payment-declined{margin:24px 0;padding:24px;border:1px solid #edb7b7;border-radius:16px;background:#fff4f4;color:#862b2b;text-align:left}.payment-declined h3{margin:12px 0;font-size:24px}.payment-declined p{line-height:1.65;margin:12px 0 20px}.payment-declined .btn-primary{margin-top:8px}.payment-declined~.card-fields-title{margin-top:24px}

/* Payment and authorization use the same white step surface as the booking form. */
.checkout-flow{margin:0;text-align:left}.checkout-flow .bk-card-payment{background:transparent;border:0;border-radius:0;padding:0;margin:0}.checkout-flow .step-title{margin-bottom:24px}.checkout-flow .step-title h2,.checkout-flow .consent-heading h2{font-family:Literata,Georgia,serif;font-weight:500;font-size:clamp(27px,3vw,34px);line-height:1.3;color:var(--ink)}.checkout-flow .step-title p{line-height:1.65;color:var(--ink-2);margin-top:12px}.checkout-total{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:#edf8ff;border:1px solid #c8e2f1;border-radius:14px;margin:24px 0}.checkout-total>span{font-weight:600}.checkout-total small{display:block;font-weight:400;font-size:13px;color:var(--ink-2);margin-top:6px}.checkout-total strong{font-size:30px;color:#096896;white-space:nowrap}.checkout-security{font-size:14px!important;line-height:1.6;color:var(--ink-2);padding-left:16px;border-left:3px solid #badbed;margin:20px 0 28px!important}.checkout-flow .card-fields-title{font-size:18px!important;margin-top:28px}.checkout-progress{margin-bottom:28px}.checkout-flow .consent-heading{align-items:flex-start;margin:8px 0 20px}.checkout-flow .consent-heading>svg{flex:0 0 26px;margin-top:8px}.consent-intro{font-size:16px;line-height:1.7;margin-bottom:24px}.consent-document{background:#f8fbfd;border-color:#d6e5ef;padding:24px;margin:24px 0 32px}.consent-document>h3{font-size:21px}.consent-document section{padding-top:20px;margin-top:20px;border-top:1px solid #dce8ef}.consent-document section h4{margin:0 0 10px}.consent-form{display:grid;gap:14px}.consent-form>label:not(.guardian-accept){margin:8px 0 0}.consent-form .legal-note{padding:4px 0 12px;margin:0;line-height:1.7}.consent-form>.guardian-accept{margin:16px 0!important}.consent-form>button{margin-top:8px}.payment-send-error{padding:20px;border:1px solid #e7bcbc;border-radius:14px;background:#fff6f6;margin:24px 0;color:#872c2c}.payment-send-error h3{font-size:20px;margin:0 0 12px}.payment-send-error p{line-height:1.65}.payment-send-error button{margin-top:12px}.bk-done>.checkout-flow{margin-top:16px}.bk-grid.checkout-only>.bk-card{padding:32px 36px}@media(max-width:600px){.bk-grid.checkout-only>.bk-card{padding:24px 20px}.checkout-total{padding:18px;gap:12px}.checkout-total strong{font-size:27px}.checkout-total small{font-size:12px}.checkout-flow .consent-heading{gap:10px}.consent-document{padding:20px 18px}.checkout-progress li{font-size:13px}.payment-send-error button,.payment-declined button{width:100%}}
.checkout-flow [id^="mp-card-"]{padding:24px;background:#f4faff;border:1px solid #c8e2f1;border-radius:16px;box-sizing:border-box}
.checkout-flow .checkout-total{padding:24px 28px}
@media(max-width:600px){.checkout-flow [id^="mp-card-"]{padding:20px 16px}.checkout-flow .checkout-total{padding:22px 20px}}

/* Orientation uses the same booking surfaces, scoped to its own page. */
body.orientation-page{font-family:'Public Sans',PublicSans,Arial,sans-serif;background:var(--bg-soft,#f4f7f9)}
.orientation-booking{padding-bottom:64px}.orientation-booking .bk-head h1{line-height:1.2}.orientation-booking .strip-days{grid-template-columns:repeat(7,minmax(0,1fr))}.orientation-booking .bk-steps b svg{width:16px;height:16px}.orientation-booking .bk-side dd{overflow-wrap:anywhere}.orientation-booking .bk-consent{margin-top:20px}.orientation-booking .bk-form .legal-note{margin-top:24px}.orientation-booking .og-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.orientation-booking .time-grid{margin-bottom:0}.orientation-booking .strip-range{font-size:14px;text-align:center}.orientation-booking .bk-actions{margin-bottom:0}.orientation-booking .og-error{margin-bottom:24px}.orientation-management .orientation-manage-section{border:0;padding:0;box-shadow:none;background:transparent;margin:28px 0}.orientation-management .og-confirm{border:0}.orientation-management .og-confirm h1{font:500 clamp(26px,3vw,34px)/1.3 Literata,Georgia,serif}.orientation-management .og-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.orientation-management .og-pills{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.orientation-management .og-pills span{border-radius:999px;background:#e4f2fa;padding:6px 12px;font-size:14px}.orientation-management .og-note{padding:18px;background:#f3faff;border-left:3px solid #badbed;margin:24px 0}.orientation-booking [hidden]{display:none!important}
@media(max-width:760px){.orientation-booking .strip-days{grid-template-columns:repeat(4,minmax(0,1fr))}.orientation-booking .bk-head{padding:24px 0}.orientation-booking .bk-side{display:none}.orientation-booking .bk-steps{gap:8px}.orientation-booking .bk-steps li>span{font-size:12px}.orientation-booking .bk-form .bk-actions .btn-primary{justify-content:center}.orientation-booking .bk-card{padding:24px 18px}.orientation-management .og-actions>*{width:100%}.orientation-booking .time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
