
:root{--navy:#1f4e7a;--blue:#2f6fa8;--sage:#b9d0c0;--blush:#f2d9de;--cream:#fffaf3;--gold:#c7a15a;--ink:#17324a;--muted:#6e7f8c;--line:#dce6ea}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(145deg,#f7fbff 0%,#f4f8f3 52%,#fff8f4 100%);min-height:100vh}
.booking-shell{width:min(760px,calc(100% - 28px));margin:0 auto;padding:28px 0 38px}
.booking-brand{display:flex;align-items:center;gap:13px;margin:0 0 18px}.booking-brand strong{display:block;font-size:19px;color:var(--navy)}.booking-brand span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.booking-shield{width:42px;height:49px;background:var(--blue);clip-path:polygon(50% 0%,67% 12%,88% 19%,92% 25%,92% 56%,88% 72%,76% 87%,50% 100%,24% 87%,12% 72%,8% 56%,8% 25%,12% 19%,33% 12%);position:relative;box-shadow:0 10px 24px rgba(31,78,122,.12)}
.booking-shield:before{content:"";position:absolute;inset:0;background:linear-gradient(#fff 0 0) center/12% 34% no-repeat,linear-gradient(#fff 0 0) center/34% 12% no-repeat}
.booking-card{background:rgba(255,255,255,.92);border:1px solid rgba(220,230,234,.9);border-radius:26px;padding:clamp(22px,4vw,38px);box-shadow:0 24px 60px rgba(31,78,122,.10)}
.booking-eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:var(--gold);margin-bottom:8px}.booking-card h1{margin:0;font-size:clamp(28px,5vw,42px);line-height:1.08;color:var(--navy)}.booking-lead{color:var(--muted);line-height:1.6;margin:13px 0 24px}
.booking-status{padding:14px 16px;border-radius:14px;background:#f4f8fb;color:var(--muted);margin-bottom:14px}
.booking-days{display:flex;gap:9px;overflow:auto;padding-bottom:8px}.booking-days button,.booking-slots button{appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:14px;padding:11px 13px;font:inherit;cursor:pointer}.booking-days button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.booking-days button strong{display:block}.booking-days button small{display:block;opacity:.72;margin-top:2px}
.booking-slots{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 20px}.booking-slots button{min-width:82px;font-weight:750}.booking-slots button:hover{border-color:var(--blue);transform:translateY(-1px)}
.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid var(--line);padding-top:22px}.booking-form label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}.booking-form label span{font-weight:500;color:var(--muted);font-size:12px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 13px;font:inherit;background:#fff;color:var(--ink);outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,111,168,.10)}.selected-slot{grid-column:1/-1;background:linear-gradient(135deg,rgba(185,208,192,.30),rgba(242,217,222,.30));border-radius:14px;padding:13px 15px;font-weight:800}.privacy-check{grid-column:1/-1;display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:9px!important;font-weight:500!important;line-height:1.45}.privacy-check input{width:auto;margin-top:3px}.booking-submit{grid-column:1/-1;border:0;border-radius:14px;padding:14px 18px;background:var(--navy);color:#fff;font:inherit;font-weight:800;cursor:pointer}.booking-submit:disabled{opacity:.55;cursor:wait}.booking-success{padding:22px;border-radius:18px;background:linear-gradient(135deg,rgba(185,208,192,.38),rgba(255,250,243,.85));line-height:1.6}.booking-success strong{display:block;color:var(--navy);font-size:22px;margin-bottom:5px}
.urgent-note{margin:16px 0 0;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.75);border:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.urgent-note a{color:var(--navy);font-weight:800}footer{text-align:center;color:var(--muted);font-size:13px;padding:18px 0}footer a{color:var(--navy)}
.hidden{display:none!important}.hp{position:absolute!important;left:-9999px!important}
@media(max-width:620px){.booking-shell{width:min(100% - 18px,760px);padding-top:16px}.booking-card{border-radius:21px;padding:20px 16px}.booking-form{grid-template-columns:1fr}.selected-slot,.privacy-check,.booking-submit{grid-column:1}.booking-days button{min-width:112px}}
