.booking-shell{max-width:1180px;margin:32px auto;padding:0 28px}.back-link{color:var(--purple);font-size:.84rem;font-weight:750;text-decoration:none}.booking-layout{display:grid;grid-template-columns:1fr 370px;gap:25px;align-items:start;margin-top:20px}.booking-form,.booking-summary{background:#fff;border:1px solid var(--line);border-radius:25px}.booking-form{padding:30px}.booking-heading>span{color:var(--purple);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.booking-heading h1{font-size:2rem;letter-spacing:-.04em;margin:7px 0}.booking-heading p{color:var(--muted);margin:0}.booking-error,.verification-note{margin-top:18px;padding:13px 15px;border-radius:12px;background:#fff2f2;color:#a92323;font-size:.8rem}.form-section{padding:25px 0;border-bottom:1px solid var(--line)}.form-section h2{font-size:1rem;margin:0 0 15px}.form-section label>span{display:block;color:var(--muted);font-size:.72rem;font-weight:750;margin-bottom:7px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.form-section input[type=datetime-local],.form-section select,.form-section textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;font:600 .82rem Manrope;outline:0}.rate-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rate-options label{cursor:pointer}.rate-options input{position:absolute;opacity:0}.rate-options label>span{display:block;border:1px solid var(--line);border-radius:14px;padding:14px;margin:0;color:var(--ink)}.rate-options input:checked+span{border-color:var(--purple);background:var(--purple-soft);box-shadow:0 0 0 2px rgba(75,43,189,.08)}.rate-options b,.rate-options strong,.rate-options small{display:block}.rate-options b{font-size:.76rem}.rate-options strong{margin-top:8px;font-size:.9rem}.rate-options small{color:var(--muted);font-size:.65rem}.rate-options label.disabled{opacity:.4;pointer-events:none}.addon-options{display:grid;gap:9px}.addon-options label{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:13px;cursor:pointer}.addon-options input{accent-color:var(--purple);width:17px;height:17px}.addon-options label>span{flex:1;margin:0}.addon-options b,.addon-options small{display:block}.addon-options b{color:var(--ink);font-size:.79rem}.addon-options small{font-weight:500;margin-top:3px}.addon-options label>strong{font-size:.72rem;color:var(--purple)}.booking-submit{width:100%;margin-top:24px}.booking-summary{position:sticky;top:100px;padding:20px}.summary-car{display:flex;gap:13px;align-items:center;padding-bottom:19px;border-bottom:1px solid var(--line)}.summary-car img{width:105px;height:76px;object-fit:cover;border-radius:13px;background:var(--canvas)}.summary-car small,.summary-car span{color:var(--muted);font-size:.67rem}.summary-car h2{font-size:.92rem;margin:4px 0}.summary-lines{display:grid;gap:13px;padding-top:19px}.summary-lines>div{display:flex;justify-content:space-between;gap:16px;font-size:.76rem}.summary-lines span{color:var(--muted)}.summary-total{padding-top:14px;border-top:1px solid var(--line);font-size:.9rem!important}.summary-total strong{color:var(--purple)}.summary-note{color:var(--muted);font-size:.7rem;line-height:1.6;margin:17px 0 0}.verification-note{background:#fff8df;color:#826200}.booking-confirmation{max-width:760px;margin:55px auto;padding:0 20px}.confirmation-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:35px;box-shadow:var(--shadow)}.confirmation-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--purple-soft);color:var(--purple);font-size:1.7rem}.confirmation-card h1{font-size:2rem;letter-spacing:-.04em}.confirmation-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.confirmation-details div{background:var(--canvas);border-radius:13px;padding:14px}.confirmation-details small,.confirmation-details strong{display:block}.confirmation-details small{color:var(--muted);font-size:.68rem}.confirmation-details strong{font-size:.82rem;margin-top:4px}@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;grid-row:1}}@media(max-width:640px){.booking-shell{margin:16px auto;padding:0 14px}.booking-form{padding:21px}.form-grid.two,.rate-options{grid-template-columns:1fr 1fr}.booking-heading h1{font-size:1.65rem}.confirmation-card{padding:24px}.confirmation-details{grid-template-columns:1fr}}
