.booking-hero{padding:86px 0 42px;text-align:center;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 90%,#fff),color-mix(in srgb,var(--accent) 15%,var(--surface)))}.booking-hero .lead{margin-inline:auto}.booking-shell{padding:34px 0 100px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:28px;align-items:start}.booking-card,.booking-summary{background:#fff;border:1px solid var(--line);box-shadow:0 24px 65px rgba(12,28,42,.10)}.booking-card{padding:38px}.booking-summary{padding:28px;position:sticky;top:120px}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:30px}.booking-progress span{padding:9px 6px;border-bottom:3px solid var(--line);color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.1em;text-align:center;text-transform:uppercase}.booking-progress span.active{border-color:var(--accent);color:var(--primary)}.booking-step{display:none}.booking-step.active{display:block}.booking-step h2{font:500 clamp(29px,3vw,42px)/1.08 var(--serif);margin:0 0 8px}.booking-step>p{color:var(--muted);margin:0 0 25px}.booking-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-option{min-height:92px;padding:16px;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:.2s}.booking-option b,.booking-option small{display:block}.booking-option small{margin-top:6px;color:var(--muted)}.booking-option.selected,.booking-option:hover{border-color:var(--accent);box-shadow:0 9px 25px color-mix(in srgb,var(--accent) 18%,transparent);transform:translateY(-2px)}.booking-option.selected{background:color-mix(in srgb,var(--accent) 12%,#fff)}.booking-date{width:100%;padding:15px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit}.booking-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:18px}.booking-slot{padding:12px 5px;border:1px solid var(--line);background:#fff;color:var(--primary);font-weight:800;cursor:pointer}.booking-slot.selected,.booking-slot:hover{background:var(--primary);border-color:var(--primary);color:#fff}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-fields label{font-size:11px;font-weight:800;color:var(--primary)}.booking-fields label:last-child{grid-column:1/3}.booking-fields input,.booking-fields textarea{display:block;width:100%;margin-top:7px;padding:14px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit}.booking-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.booking-actions button{cursor:pointer}.booking-summary h3{font:500 27px var(--serif);margin:0 0 18px}.booking-summary dl{margin:0}.booking-summary div{padding:13px 0;border-top:1px solid var(--line)}.booking-summary dt{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.booking-summary dd{margin:3px 0 0;font-weight:700}.booking-note{margin-top:18px;padding:13px;background:var(--section);color:var(--muted);font-size:12px}.booking-message{display:none;margin:18px 0 0;padding:14px;border:1px solid #9cd3b7;background:#edf9f2;color:#16583a}.booking-message.error{border-color:#e0a0a0;background:#fff1f1;color:#7c2020}.booking-message.show{display:block}.booking-success{text-align:center;padding:40px 10px}.booking-success strong{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 18px;border-radius:50%;background:#e8f8ef;color:#16804f;font-size:32px}@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;order:-1}.booking-card{padding:25px}.booking-options{grid-template-columns:1fr}.booking-slots{grid-template-columns:repeat(3,1fr)}.booking-fields{grid-template-columns:1fr}.booking-fields label:last-child{grid-column:auto}.booking-progress span{font-size:8px}}body .booking-actions button[hidden]{display:none!important}body .contact-booking-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}body .contact-detail-grid .booking-card{--ink:#17243e;--primary:#17243e;--muted:#526078;--surface:#f4f6fb;--section:#f4f6fb;--line:#d6deeb;color:#17243e;background:#fff;min-width:0}body .contact-detail-grid .booking-card h2,body .contact-detail-grid .booking-card h3{color:#17243e}body .contact-detail-grid .booking-card .booking-summary{position:static;box-shadow:none;padding:22px 0 0;border:0;margin-top:24px;background:#fff;color:#17243e}body .contact-detail-grid .booking-card .button{background:#17243e;color:#fff;border-color:#17243e}body .contact-detail-grid .booking-card .button.ghost{background:#fff;color:#17243e}body .contact-detail-grid .local-card{color:#fff!important;background:#102a48}body .contact-detail-grid .local-card h2,body .contact-detail-grid .local-card li,body .contact-detail-grid .local-card p{color:#fff!important}body .contact-detail-grid .local-card .button{background:#fff;color:#102a48!important;border-color:#fff}@media(max-width:850px){body .contact-detail-grid{grid-template-columns:minmax(0,1fr)}body .contact-detail-grid .booking-card{padding:22px 18px}body .contact-detail-grid .local-card{padding:28px}}