.booking-page{background:#f3f9fb;min-height:calc(100vh - 76px);padding:52px 24px 72px}.booking-header{max-width:1160px}.back-home{font-size:13px;font-weight:700}.booking-intro{max-width:1104px;margin:0 auto 32px}.booking-intro h1{letter-spacing:-1.5px;margin:8px 0 12px;font-family:Manrope,sans-serif;font-size:clamp(30px,4vw,44px)}.booking-intro h1 span{color:var(--turquoise-deep)}.booking-intro>p:last-child{color:var(--muted);line-height:1.6}.booking-layout{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:start;gap:28px;max-width:1104px;margin:auto;display:grid}.booking-card{border:1px solid var(--line);background:#fff;border-radius:18px;min-width:0;padding:32px;box-shadow:0 12px 32px #0b355a06}.booking-card fieldset{border:0;min-width:0;margin:0 0 30px;padding:0}.booking-card legend{align-items:center;gap:10px;margin-bottom:18px;font-size:18px;font-weight:800;display:flex}.booking-card legend>span{color:#087078;background:#e7f9fa;border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;display:grid}.booking-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.booking-card label{font-size:13px;font-weight:700;line-height:1.5;display:block}.booking-card input:not([type=radio]):not([type=checkbox]),.booking-card select,.booking-card textarea{width:100%;min-width:0;color:var(--navy);font:inherit;background:#fff;border:1px solid #bacdd7;border-radius:8px;min-height:46px;margin-top:7px;padding:12px;font-weight:400;display:block}.booking-card textarea{resize:vertical}.booking-card input:focus-visible,.booking-card select:focus-visible,.booking-card textarea:focus-visible,.booking-card button:focus-visible{outline-offset:3px;outline:3px solid #14c8cf}.optional{color:var(--muted);font-weight:400}.field-help{color:var(--muted);margin:10px 0 16px;font-size:12px;line-height:1.6}.date-fields{margin-top:18px}.handover-options{flex-wrap:wrap;gap:12px;display:flex}.handover-options label{border:1px solid var(--line);cursor:pointer;background:#f2f9fb;border-radius:8px;align-items:center;gap:9px;padding:13px 16px;display:flex}.booking-card input[type=radio],.booking-card input[type=checkbox]{accent-color:#087a82;flex-shrink:0;width:18px;height:18px}.booking-card .booking-consent{align-items:flex-start;gap:10px;margin-bottom:20px;font-weight:400;display:flex}.booking-submit{cursor:pointer;color:#fff;text-align:center;background:#087e87;border:0;width:100%;min-width:0;padding:14px 18px;font-family:inherit;line-height:1.5}.booking-error{color:#a32222;background:#fff1f1;border-radius:8px;padding:12px;font-size:14px}.booking-summary{background:var(--navy);color:#fff;border-radius:18px;min-width:0;padding:28px;position:sticky;top:104px}.booking-summary .eyebrow{color:#7de3e7;font-size:9px}.booking-summary h2{margin:14px 0;font-family:Manrope,sans-serif;font-size:27px}.booking-summary>p:not(.eyebrow),.booking-summary li{color:#d0e3ef;font-size:14px;line-height:1.7}.booking-total{border-block:1px solid #fff3;margin:20px 0;padding:22px 0}.booking-total span,.booking-total strong,.booking-total small{display:block}.booking-total strong{color:#7de3e7;margin:8px 0;font-size:36px;line-height:1.2}.booking-total small{color:#d0e3ef;font-size:12px;line-height:1.6}.booking-summary h3{font-size:15px}.booking-summary ol{padding-left:20px}.booking-summary li{margin-bottom:10px;padding-left:4px}.booking-summary>a{color:#7de3e7;text-underline-offset:4px;margin-top:14px;font-size:13px;text-decoration:underline;display:inline-block}.booking-review h2{margin:8px 0;font-size:26px}.booking-review>p{color:var(--muted);line-height:1.6}.booking-review dl{grid-template-columns:110px minmax(0,1fr);gap:14px;padding-block:20px;font-size:14px;line-height:1.6;display:grid}.booking-review dt{color:var(--muted)}.booking-review dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.booking-edit{color:var(--navy);font:inherit;cursor:pointer;background:0 0;border:0;padding:16px 0;text-decoration:underline;display:block}@media (max-width:800px){.booking-page{padding:32px 18px 48px}.booking-layout{grid-template-columns:minmax(0,1fr);gap:20px}.booking-summary{position:static}.booking-card{padding:24px}}@media (max-width:480px){.booking-fields{grid-template-columns:minmax(0,1fr);gap:16px}.booking-card{padding:20px 16px}.booking-header{gap:8px;padding-inline:14px}.booking-header .logo{gap:5px}.booking-header .logo-icon{width:30px;height:30px}.booking-header .logo-copy strong{font-size:15px}.back-home{font-size:11px}.booking-review dl{grid-template-columns:minmax(0,1fr);gap:4px}.booking-review dd{margin-bottom:12px}}
