/* Existing Sora and palette tokens; C30 remains the project's recorded colour discrepancy. */
.booking-request{min-width:0;width:100%;font-family:Sora,Arial,sans-serif}
.booking-request [hidden]{display:none!important}
.booking-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0 0 26px;border-bottom:1px solid var(--line)}
.booking-progress li{font-size:12px;padding:0 0 16px;border-bottom:3px solid transparent;line-height:1.5}
.booking-progress li[aria-current="step"]{border-bottom-color:var(--ink);font-weight:600}
.booking-progress span{display:block;font-size:11px;letter-spacing:.1em;margin-bottom:6px}
.booking-request .booking-intro{font-size:14px;line-height:1.8;margin:0 0 28px}
.booking-step{min-width:0;padding:0;margin:0;border:0}
.booking-step>legend{font-size:24px;letter-spacing:-.035em;line-height:1.25;font-weight:500;padding:0;margin-bottom:24px}
.booking-request .field{margin:0 0 20px;min-width:0}
.booking-request .field label{font-size:13px;line-height:1.55;margin-bottom:8px}
.booking-request .field input,.booking-request .field select,.booking-request .field textarea{font-size:16px;min-height:52px;padding:13px 12px;max-width:100%;line-height:1.5}
.booking-request .two-fields{gap:18px}
.booking-request .booking-help{font-size:12px;line-height:1.75;margin:0 0 22px}
.booking-preferences{border-block:1px solid var(--line);padding:18px 0;margin:4px 0 24px}
.booking-preferences summary{font-size:13px;line-height:1.7;cursor:pointer;min-height:32px}
.booking-preferences[open] summary{margin-bottom:20px}
.booking-preferences .field{margin-bottom:0}
.booking-equipment{border:0;padding:0;margin:0 0 22px;min-width:0}
.booking-equipment legend{font-size:14px;font-weight:600;padding:0;margin-bottom:8px}
.booking-request .booking-equipment .booking-help{margin-bottom:12px}
.booking-check{display:flex;align-items:flex-start;gap:12px;min-height:44px;font-size:14px;line-height:1.65;padding:8px 0;cursor:pointer}
.booking-check input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--ink);margin:2px 0 0}
.booking-departure{margin-top:4px}
.booking-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}
.booking-actions>.button{margin-left:auto;min-height:54px;font-size:13px;text-align:left}
.booking-back{background:none;border:0;border-bottom:1px solid var(--ink);padding:12px 3px;font-size:13px;min-height:44px}
.booking-review{background:var(--mist);padding:24px;margin-top:25px}
.booking-review h3{font-size:21px;margin:0 0 18px}
.booking-review dl{margin:0;display:grid;grid-template-columns:minmax(100px,.65fr) minmax(0,1fr);gap:10px 20px;font-size:12px;line-height:1.65}
.booking-review dt{font-weight:500}.booking-review dd{margin:0;overflow-wrap:anywhere}
.booking-request .booking-review p{font-size:12px;margin:18px 0 0}
.booking-request .booking-privacy,.booking-request .booking-fallback{font-size:12px;line-height:1.8;margin:22px 0 0}
.booking-request a{text-decoration:underline;text-underline-offset:3px}
.booking-request .booking-feedback{font-size:14px;line-height:1.8;margin:22px 0 0;overflow-wrap:anywhere}
.booking-feedback:empty{display:none}
.booking-feedback.is-success{padding:25px;background:var(--ice);border:1px solid var(--slate)}
.booking-errors{padding:18px 20px;border:2px solid var(--ink);font-size:13px;line-height:1.75;margin:0 0 24px}
.booking-request [aria-invalid="true"]{border:2px solid var(--ink);background:var(--ice)}
.booking-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.booking-request :is(input,select,textarea,button,a,summary):focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.booking-step>legend:focus,.booking-feedback:focus,.booking-errors:focus{outline:2px solid var(--ink);outline-offset:6px}
@media(max-width:600px){.booking-progress{gap:10px}.booking-progress li{font-size:11px}.booking-request .two-fields{grid-template-columns:1fr;gap:0}.booking-step>legend{font-size:23px}.booking-review{padding:20px}.booking-review dl{grid-template-columns:1fr;gap:4px}.booking-review dd{margin-bottom:12px}.booking-actions{gap:14px}.booking-actions>.button{width:auto;flex:1;justify-content:center}.booking-actions>.button span{display:none}.booking-preferences .field+.field{margin-top:20px}}

.booking-apartment-guests{background:var(--mist);border:1px solid var(--line);padding:20px;margin:0 0 24px}
.booking-apartment-guests h3{font-size:17px;line-height:1.4;margin:0 0 8px}
.booking-apartment-guests>p{font-size:12px;line-height:1.7;margin:0 0 18px}
.booking-apartment-guest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.booking-apartment-guests .field{margin-bottom:12px}
.booking-apartment-guests .field input{width:100%}
.booking-apartment-guests .field .booking-help{margin:7px 0 0}
.booking-extra-note{font-size:12px;line-height:1.6;margin:7px 0 0;font-weight:600}
.booking-request #request-group[readonly]{background:var(--mist)}
@media(max-width:600px){.booking-apartment-guest-grid{grid-template-columns:1fr}.booking-apartment-guests{padding:16px}}

.booking-rental-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:8px 0;min-height:64px}
.booking-rental-row label{font-size:13px;line-height:1.5;margin:0}
.booking-request .booking-rental-row input{width:92px;min-height:44px;padding:8px 10px;text-align:center;font-size:16px}
