:root{--ink:#172c3a;--muted:#536675;--paper:#f4f7f9;--teal:#12675f;--border:#d5dfe5;--red:#a7323b;--fc-border-color:#d5dfe5;--fc-button-bg-color:#172c3a;--fc-button-border-color:#172c3a;--fc-button-active-bg-color:#12675f;--fc-today-bg-color:#eaf3f1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}a{color:var(--teal)}header{background:white;border-bottom:1px solid var(--border);padding:20px max(5vw,20px);display:flex;justify-content:space-between;gap:18px;align-items:center}header a{text-decoration:none}nav{display:flex;gap:20px}.brand{font-size:22px;font-weight:750;color:var(--ink)}main{max-width:1300px;margin:auto;padding:32px 24px 60px}h1{font:500 clamp(30px,4vw,48px)/1.15 Georgia,serif;margin:12px 0 18px}h2{font-size:21px;margin:0 0 16px}h3{font-size:17px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--teal)}.lead{max-width:730px;color:var(--muted)}.panel{background:white;border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:18px;box-shadow:0 4px 15px #172c3a04}.layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.cart-panel{position:sticky;top:20px}.row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:145px}label{font-size:14px;font-weight:600}input,select,button{font:inherit}input:not([type=checkbox]),select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:white;max-width:100%;width:100%;color:var(--ink)}button,.button{padding:10px 16px;background:var(--teal);border:1px solid var(--teal);border-radius:8px;color:white;cursor:pointer;display:inline-block;text-decoration:none;font-weight:600}button:disabled{opacity:.5;cursor:wait}.secondary{background:white;color:var(--ink);border-color:var(--border)}.danger{background:white;color:var(--red);border-color:var(--red)}.compact{padding:4px 9px;font-size:13px}.notice{padding:13px 16px;background:#e9f4ef;border-left:3px solid var(--teal);border-radius:6px;margin-bottom:20px}.notice.error{background:#fbeeed;border-color:var(--red);color:var(--red)}.muted{color:var(--muted);font-size:14px}.slot-days{display:grid;gap:16px;margin-top:24px}.slot-grid{display:flex;flex-wrap:wrap;gap:8px}.slot{background:white;color:var(--teal);min-width:82px}.slot.selected{background:var(--teal);color:white}.cart-item{border-top:1px solid var(--border);padding:15px 0;display:grid;gap:5px}.cart-item:last-child{border-bottom:1px solid var(--border)}.cart-total{display:flex;justify-content:space-between;font-size:19px;font-weight:700;padding:18px 0}.hold{font-variant-numeric:tabular-nums;color:#93620b;font-weight:650}form{display:grid;gap:14px}.consent{display:flex;gap:10px;font-size:13px;align-items:start}.consent input{margin-top:6px}.series-list{list-style:none;padding:0}.series-list li{padding:8px 0;border-bottom:1px solid var(--border)}.series-conflict{color:var(--red)}.legend{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;margin:12px 0 24px}.dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}.open{background:#b9dfd0}.excluded{background:#b7bbc2}.held{background:#e4b646}.booked{background:#326888}.fc{font-size:14px}.fc .fc-toolbar{flex-wrap:wrap;gap:12px}.fc .fc-toolbar-title{font-size:21px}.fc .fc-button{font-size:13px}.fc .fc-timegrid-slot{height:24px}.fc-bg-event{opacity:.65!important}.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.mode.active{background:var(--teal);color:white}.orders{display:grid;gap:14px}.order{border:1px solid var(--border);border-radius:8px;padding:16px}.admin-layout{display:grid;grid-template-columns:1fr 300px;gap:24px}.order-item{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--border)}.side-form{padding:18px}.side-form h2{font-size:18px}.screen-reader-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}:focus-visible{outline:3px solid #dfac3c;outline-offset:3px}@media(max-width:950px){.layout,.admin-layout{grid-template-columns:1fr}.cart-panel{position:static}.admin-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:15px}}@media(max-width:600px){.row .field{flex-basis:100%}main{padding:24px 14px}header{padding:16px;align-items:start}nav{gap:12px;font-size:14px}.panel{padding:18px}.admin-sidebar{display:block}.fc .fc-toolbar{align-items:start}.fc .fc-toolbar-title{font-size:18px}.fc .fc-timegrid-axis{font-size:11px}}

.series-fieldset{border:1px solid var(--border);border-radius:8px;margin:18px 0;padding:14px}.weekday-grid{display:grid;gap:10px}.weekday-row{display:grid;grid-template-columns:140px 130px 1fr;gap:12px;align-items:center}.series-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.series-row strong{flex-basis:100%}.replacement-panel{flex-basis:100%;display:grid;gap:10px}.replacement-panel input{max-width:240px}@media(max-width:600px){.weekday-row{grid-template-columns:1fr 110px}.weekday-row .muted{grid-column:1/-1}}

.business-disclosure{font-size:1rem;line-height:1.55;margin-top:1.5rem}.business-disclosure p{margin:.75rem 0}footer{padding:1.5rem;text-align:center}#eu-notice{padding:.8rem;border:1px solid var(--line,#ccd8d5);border-radius:8px}

/* Student checkout follows the Sirius English School site palette. */
.booking-page { --ink:#2c3e50; --muted:#566b79; --paper:#f8f9fa; --teal:#2b84bd; --border:#dce6eb; --red:#a7323b; }
.booking-page header { box-shadow:0 2px 4px rgba(0,0,0,.05); }
.booking-page .brand { font-size:1.5rem; font-weight:700; }
.booking-page h1 { font:600 clamp(2.1rem,4vw,3.25rem)/1.2 system-ui,sans-serif; }
.booking-page .eyebrow { color:#2b84bd; }
.booking-page .panel { border-radius:12px; box-shadow:0 8px 28px rgba(22,48,64,.04); }
.booking-page button:not(.secondary):not(.danger):not(.slot) { background:#e74c3c; border-color:#e74c3c; }
.booking-page button:not(.secondary):not(.danger):not(.slot):hover { background:#c93e31; border-color:#c93e31; }
.booking-page .notice { background:#e8f3fb; }
@media(max-width:600px){.booking-page header{flex-wrap:wrap}.booking-page .brand{font-size:1.2rem}}

/* Official Stripe mark appears only beside the booking payment action. */
.stripe-checkout-badge{display:block;width:max-content;line-height:0;margin:.85rem auto 1.25rem}
.stripe-checkout-badge img{display:block;width:150px;height:34px}

/* Student-facing site wordmark, slogan and booking payment footer. */
.booking-site-brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.15rem;line-height:1.12}
.booking-site-brand .site-name{display:block}
.booking-site-brand .brand-tagline{display:block;color:#47799a;font:italic 400 .66em/1.2 Georgia,'Times New Roman',serif;letter-spacing:.035em}
.checkout-footer-payment{margin:1rem auto 0;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--muted);font-size:.875rem}
.checkout-footer-payment p{margin:0}
.checkout-footer-payment a{display:block;line-height:0}
.checkout-footer-payment img{display:block;width:150px;height:34px}
@media(max-width:600px){.booking-site-brand{font-size:1.2rem}}
