:root{--navy:#1B3557;--green:#527C60;--cream:#F7F4ED;--line:#DDE2DE;--muted:#637078}body{background:#fbfcfa;color:var(--navy)}.booking-shell{width:min(980px,calc(100% - 2rem));margin:auto;padding:2rem 0 4rem}.booking-shell>header{text-align:center;max-width:720px;margin:auto}.booking-shell header>span,#receipt>span{text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-size:.72rem;font-weight:800}.booking-shell h1,.booking-shell h2{font-family:Georgia,serif;font-weight:500}.booking-shell h1{font-size:clamp(2.4rem,6vw,4.2rem);margin:.25rem}.booking-shell header p{color:var(--muted)}.privacy-note{margin:1.2rem auto;background:#EAF1EC;border-left:5px solid var(--green);padding:1rem;border-radius:12px;max-width:820px}form{display:grid;gap:1rem;margin-top:1rem}label{display:grid;gap:.4rem;font-weight:700}select,input{font:inherit;padding:.8rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy)}.choice-panel,.confirm-panel,#receipt{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.2rem;box-shadow:0 10px 28px rgba(27,53,87,.05)}.choice-panel h2{margin:0}.micro{font-size:.9rem;color:var(--muted)}.calendar{margin-top:1rem}.calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center;background:var(--navy);color:#fff;border-radius:14px 14px 0 0;padding:.55rem}.calendar-head strong{font-size:1.08rem}.calendar-head button{border:0;border-radius:9px;background:rgba(255,255,255,.13);color:#fff;font-size:1.6rem;line-height:1;width:38px;height:38px;cursor:pointer}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;border:1px solid var(--line);border-top:0;padding:.7rem;background:#fafbf9}.weekday{text-align:center;font-size:.72rem;font-weight:800;color:var(--muted);padding:.3rem 0}.day{min-height:58px;border:1px solid transparent;border-radius:10px;background:#eef5f0;color:var(--navy);position:relative;cursor:pointer;font-weight:800}.day i{display:block;width:6px;height:6px;border-radius:50%;background:var(--green);position:absolute;bottom:7px;left:50%;transform:translateX(-50%)}.day:hover:not(:disabled),.day:focus-visible{border-color:var(--green);box-shadow:0 0 0 2px rgba(82,124,96,.15)}.day.selected-day{background:var(--green);color:#fff}.day.selected-day i{background:#fff}.day:disabled{background:#f5f5f3;color:#afb5b1;cursor:not-allowed}.day:disabled i{background:#c8ceca}.time-options{border:1px solid var(--line);border-top:0;padding:1rem;border-radius:0 0 14px 14px}.time-options h3,.series-preview h3{font-size:1rem;margin:0 0 .65rem}.time-row{display:flex;gap:.55rem;flex-wrap:wrap}.time-button{min-width:135px;border:1px solid #bfd0c3;background:#f3f8f4;border-radius:11px;padding:.65rem .8rem;color:var(--navy);cursor:pointer;text-align:left}.time-button strong,.time-button small{display:block}.time-button small{margin-top:.2rem;color:var(--muted)}.time-button.selected{background:var(--green);color:#fff;border-color:var(--green)}.time-button.selected small{color:#fff}.time-button:disabled{background:#f2f2f0;color:#9ca39f;border-style:dashed;cursor:not-allowed}.series-preview{margin-top:.85rem;background:#eef3f7;border-left:4px solid var(--navy);border-radius:10px;padding:.9rem}.series-preview p{margin:0;color:var(--muted)}.series-preview ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.series-preview li{display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:8px;padding:.5rem;font-size:.86rem}.series-preview li span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:.72rem;font-weight:800;flex:none}.btn{border:0;border-radius:999px;background:var(--navy);color:white;padding:.8rem 1rem;font-weight:800;cursor:pointer}.btn.secondary{background:var(--green)}#message{min-height:1.2em;color:#8b3e32}#receipt{margin-top:1rem}.receipt-actions{display:flex;gap:.6rem;flex-wrap:wrap}#dates li{margin:.45rem 0}.payment-summary{display:grid;grid-template-columns:1fr auto;gap:.25rem .75rem;background:#eef3f7;border-left:4px solid var(--navy);border-radius:12px;padding:.9rem;margin-bottom:1rem}.payment-summary span,.payment-summary small{grid-column:1/-1;color:var(--muted);font-size:.82rem}.payment-summary strong{color:var(--navy)}.payment-summary b{font-size:1.15rem;color:var(--green)}.policy-check{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:.65rem;font-weight:500;font-size:.9rem}.policy-check input{width:1.15rem;height:1.15rem;margin:.15rem 0 0;padding:0}.policy-check a{color:var(--navy)}.btn:disabled{opacity:.65;cursor:wait}@media(max-width:620px){.booking-shell{width:calc(100% - 1rem);padding-top:1rem}.choice-panel,.confirm-panel,#receipt{border-radius:13px;padding:.85rem}.month-grid{padding:.35rem;gap:2px}.day{min-height:45px;border-radius:7px}.weekday{font-size:.62rem}.time-row{display:grid;grid-template-columns:1fr 1fr}.time-button{min-width:0}.series-preview ol{grid-template-columns:1fr}}@media print{nav,.privacy-note,form,.receipt-actions,.micro,#statusLink{display:none!important}#receipt{display:block!important;border:0;box-shadow:none}.booking-shell{width:100%}}
