.breadcrumbs{padding-block:14px;font-size:.78rem;font-weight:800}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.breadcrumbs li+li::before{margin-right:10px;color:var(--green-dark);content:"/"}.breadcrumbs a{color:var(--blue);text-underline-offset:3px}
.addon-choice .field-label{display:block;margin-bottom:7px;color:var(--navy);font-size:.86rem}.addon-options{display:flex;gap:9px}.addon-options .radio-card{min-height:44px;min-width:84px;padding:9px 14px;gap:8px}
.reservation-hero{padding:72px 0;background:linear-gradient(110deg,rgb(0 31 57 / 97%),rgb(0 40 75 / 82%)),url('../images/indoor-private-bays.jpg') center/cover;color:#fff}.reservation-hero h1{max-width:850px;margin:0;font-size:clamp(2.7rem,5vw,4.7rem);line-height:.98;letter-spacing:-.045em}.reservation-hero p:not(.kicker){max-width:760px;margin:22px 0 0;font-size:1.05rem}.reservation-hero .kicker{color:var(--green-light)}
.reservation-section{padding:78px 0;background:var(--pale)}.reservation-layout{display:grid;grid-template-columns:minmax(0,.68fr) minmax(560px,1.32fr);gap:52px;align-items:start}.reservation-intro{position:sticky;top:150px}.reservation-intro h2{margin:0;color:var(--navy);font-size:clamp(2rem,3.7vw,3.2rem);line-height:1.02}.reservation-intro>p{color:var(--muted)}.reservation-steps{display:grid;gap:14px;margin-top:28px}.reservation-steps div{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start}.reservation-steps strong:first-child{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff}.reservation-steps span{display:block;margin-top:3px;color:var(--muted);font-size:.84rem}
.reservation-form{padding:34px;border-top:5px solid var(--green);background:#fff;box-shadow:0 16px 40px rgb(0 40 75 / 13%)}.form-section{margin:0 0 34px;padding:0;border:0}.form-section legend{width:100%;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--navy);font-size:1.05rem;font-weight:900}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid label,.upload-field{display:grid;gap:7px;color:var(--navy);font-size:.78rem;font-weight:900}.form-wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.upload-field input{width:100%;min-height:49px;padding:11px;border:1px solid #9eb3bf;background:#fff;color:var(--ink);font:inherit}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.upload-field input:focus{outline:3px solid rgb(120 180 0 / 20%);border-color:var(--green-dark)}
.storage-types{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.choice-card,.plan-card,.radio-card{position:relative;display:grid;gap:5px;padding:16px;border:2px solid var(--line);background:#fff;cursor:pointer}.choice-card input,.plan-card input,.radio-card input{position:absolute;opacity:0;pointer-events:none}.choice-card strong,.plan-card strong,.radio-card strong{color:var(--navy)}.choice-card span,.plan-card span{color:var(--muted);font-size:.75rem;line-height:1.4}.choice-card:has(input:checked),.plan-card:has(input:checked),.radio-card:has(input:checked){border-color:var(--green);background:#f2f8e8;box-shadow:inset 0 0 0 1px var(--green)}.choice-card:has(input:focus-visible),.plan-card:has(input:focus-visible),.radio-card:has(input:focus-visible){outline:3px solid rgb(120 180 0 / 25%)}
.plan-selector{margin-top:16px;padding:18px;background:var(--pale)}.plan-selector>p{margin:0 0 12px;color:var(--navy);font-size:.8rem;font-weight:900}.plan-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.plan-card{grid-template-columns:1fr auto;align-items:center}.plan-card span{grid-column:1/-1}.plan-card b{color:var(--navy);font-size:1.1rem}.plan-help{margin:12px 0 0;color:var(--muted);font-size:.76rem}.wash-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.radio-card{grid-template-columns:auto 1fr;align-items:center}.radio-card::before{width:15px;height:15px;border:2px solid var(--line);border-radius:50%;content:""}.radio-card:has(input:checked)::before{border:5px solid var(--green)}
.upload-field{padding:18px;border:1px dashed #7f9aa9;background:#f8fbfc}.upload-field small{color:var(--muted);font-weight:400}.form-consent{color:var(--muted);font-size:.7rem;line-height:1.5}.form-consent a{color:var(--blue)}.reservation-form button{width:100%;min-height:56px;border:0;background:var(--green);color:#fff;font-weight:900;letter-spacing:.06em;cursor:pointer}.reservation-form button:hover{background:#5f8e00}.honeypot{position:absolute;left:-10000px}
@media(max-width:980px){.reservation-layout{grid-template-columns:1fr}.reservation-intro{position:static}.storage-types{grid-template-columns:1fr}.reservation-form{max-width:760px}.reservation-section{padding-top:55px}}
@media(max-width:620px){.reservation-hero{padding:58px 0}.reservation-section{padding:45px 0}.reservation-form{padding:24px 18px}.form-grid,.plan-options,.wash-choice{grid-template-columns:1fr}.form-wide{grid-column:auto}}

.reservation-form input.field-error,.reservation-form select.field-error,.reservation-form textarea.field-error{border-color:#c62828;background:#fff5f5;box-shadow:0 0 0 2px rgb(198 40 40 / 14%)}.reservation-form label:has(.field-error),.reservation-form fieldset:has(>input.field-error){color:#a61f1f}.choice-card:has(input.field-error),.plan-card:has(input.field-error),.radio-card:has(input.field-error),.upload-field:has(input.field-error){border-color:#c62828;background:#fff5f5;box-shadow:0 0 0 2px rgb(198 40 40 / 14%)}
