/* Public reservations only — the school forms and admin retain their styles. */
.booking-brand-page{--accent:#2b3b96;--accent-dark:#202d79;--ink:#202638;--muted:#626a78;--line:#d9dfe8;--bg:#f3f5f8;--shadow:none;font-family:Calibri,Carlito,"Segoe UI",Arial,sans-serif;font-size:17px;background:var(--bg);color:var(--ink)}
.booking-brand-page input,.booking-brand-page select,.booking-brand-page textarea,.booking-brand-page button{font-family:inherit;font-size:17px}
.booking-brand-page .wrap{width:calc(100% - 64px);max-width:none}
.booking-brand-page h1,.booking-brand-page h2,.booking-brand-page h3{color:#202638;letter-spacing:0}
.booking-brand-page h1{font-size:clamp(25px,2.4vw,38px);line-height:1.18;font-weight:700;margin:0}
.booking-brand-page h2{font-size:25px;margin:0 0 12px}
.booking-brand-page h3{font-size:21px}
.booking-brand-page a{color:var(--accent);text-underline-offset:3px}
.booking-header{background:#fff;border-bottom:3px solid var(--accent)}
.booking-brandbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.booking-logos{display:flex;align-items:center;gap:30px}
.booking-logos a{display:block;line-height:0}
.booking-logos a+a{padding-left:30px;border-left:1px solid var(--line)}
.booking-logos img{display:block;width:190px;height:74px;object-fit:contain}
.booking-account-link{font-weight:700;text-decoration:none;padding:12px 0;white-space:nowrap}
.booking-title{padding:24px 0 28px}
.booking-brand-page .eyebrow{margin:0 0 8px;color:var(--accent);font-size:12px;letter-spacing:.12em}
.booking-public{padding:28px 0 48px}
.booking-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
.booking-trip-info{background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:6px;padding:24px;position:sticky;top:20px}
.booking-trip-info h2{font-size:23px;margin-bottom:22px}
.booking-facts{margin:0}
.booking-facts>div{padding:12px 0;border-bottom:1px solid #e8ebf1}
.booking-facts>div:first-child{padding-top:0}
.booking-facts dt{font-size:15px;color:var(--muted);margin:0 0 3px}
.booking-facts dd{margin:0;font-size:20px;font-weight:700;color:var(--accent)}
.booking-description,.booking-age{font-size:16px;line-height:1.5;margin:20px 0;overflow-wrap:anywhere}
.booking-organizer{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:15px;line-height:1.5}
.booking-organizer span,.booking-organizer strong,.booking-organizer small{display:block}
.booking-organizer span,.booking-organizer small{color:var(--muted)}
.booking-brand-page .card{border-radius:6px;box-shadow:none;padding:30px;border:1px solid var(--line)}
.booking-brand-page .booking-form-card{position:static;padding:30px 34px}
.booking-form-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.booking-form-heading p{margin:0;color:var(--muted)}
.booking-form-heading>a{font-size:15px;line-height:1.4;margin-top:5px}
.booking-brand-page .form-stack{margin-top:26px;gap:18px}
.booking-brand-page .form-stack p{margin-top:0;margin-bottom:0;line-height:1.5}
.booking-brand-page fieldset{margin:0;padding:0 0 25px;border:0;border-bottom:1px solid var(--line);min-width:0}
.booking-brand-page legend{font-size:22px;font-weight:700;padding:0 0 18px;margin:0;color:var(--accent)}
.booking-brand-page label{font-size:17px;font-weight:600}
.booking-brand-page input:not([type=checkbox]):not([type=hidden]),.booking-brand-page select,.booking-brand-page textarea{border:1px solid #c7ceda;border-radius:5px;box-shadow:none;background:#fff;color:var(--ink);padding:11px 13px;width:100%;min-height:46px}
.booking-brand-page textarea{min-height:84px;resize:vertical}
.booking-brand-page input:focus,.booking-brand-page select:focus,.booking-brand-page textarea:focus{border-color:var(--accent);outline:2px solid #2b3b9626;outline-offset:1px}
.booking-brand-page .grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.booking-brand-page .check{align-items:flex-start;font-weight:400;line-height:1.45;margin-top:16px;gap:12px}
.booking-brand-page input[type=checkbox]{accent-color:var(--accent);width:20px;height:20px;flex:0 0 20px;margin-top:2px}
.booking-brand-page .booking-person{background:#f8f9fc;border:1px solid var(--line);border-radius:5px;padding:22px;margin:0 0 18px}
.booking-brand-page .booking-person legend{font-size:20px;padding:0 8px}
.booking-brand-page .button{border-radius:5px;min-height:46px;padding:11px 22px;font-size:17px;box-shadow:none;font-weight:700;line-height:1.35}
.booking-brand-page .button.primary{background:var(--accent);color:#fff}
.booking-brand-page .button.primary:hover{background:var(--accent-dark)}
.booking-brand-page .button.secondary{color:var(--accent);border-color:#bac3df;background:#fff}
.booking-brand-page .button.secondary:hover{background:#f0f3fc;border-color:var(--accent)}
.booking-brand-page #add-participant{justify-self:start}
.booking-brand-page .booking-total{background:#eef1fb;border-left:4px solid var(--accent);padding:18px 22px;font-size:23px;color:var(--accent)}
.booking-brand-page .alert{border-radius:5px;box-shadow:none}
.booking-customer-page .booking-public{display:grid;gap:20px}
.booking-customer-page .booking-login-card{width:min(640px,100%);margin:12px auto}
.booking-customer-page .booking-brandbar>.booking-account-link{display:none}
.booking-brand-page.booking-embedded .wrap{width:calc(100% - 32px)}
.booking-brand-page.booking-embedded .booking-public{padding:20px 0}
@media(min-width:1700px){.booking-shell{grid-template-columns:340px minmax(0,1fr);gap:36px}.booking-brand-page .booking-form-card{padding:36px 44px}}
@media(max-width:1000px){.booking-shell{grid-template-columns:240px minmax(0,1fr);gap:18px}.booking-trip-info{padding:20px}.booking-form-heading{display:block}.booking-form-heading>a{display:inline-block;margin-top:12px}.booking-brand-page .booking-form-card{padding:24px}.booking-logos img{width:165px;height:64px}}
@media(max-width:760px){.booking-brand-page .wrap,.booking-brand-page.booking-embedded .wrap{width:calc(100% - 28px)}.booking-shell{grid-template-columns:1fr}.booking-trip-info{position:static}.booking-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.booking-facts>div:first-child{padding-top:12px}.booking-brandbar{gap:16px;flex-wrap:wrap;padding:16px 0}.booking-logos{gap:16px}.booking-logos a+a{padding-left:16px}.booking-logos img{width:140px;height:54px}.booking-title{padding:20px 0}.booking-account-link{padding:0;font-size:15px}.booking-public{padding-top:18px}.booking-brand-page .card,.booking-brand-page .booking-form-card{padding:22px}.booking-brand-page .grid.two{grid-template-columns:1fr;gap:16px}.booking-brand-page .booking-person{padding:18px}.booking-brand-page .button{width:100%}.booking-brand-page #add-participant{justify-self:stretch}}
@media(max-width:360px){.booking-logos img{width:118px;height:46px}.booking-logos,.booking-logos a+a{gap:12px}.booking-logos a+a{padding-left:12px}}
