
.customer-heading{margin:30px 0}.customer-heading h1{font-size:clamp(28px,4vw,44px);letter-spacing:-1.5px;margin:8px 0}.customer-heading p{color:var(--muted);max-width:650px;line-height:1.6}
.customer-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:26px;align-items:start}
.customer-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;min-width:0}
.customer-panel fieldset{border:0;margin:0 0 28px;padding:0}.customer-panel legend{font-weight:700;font-size:17px;margin-bottom:18px}.customer-panel fieldset+fieldset{border-top:1px solid var(--line);padding-top:26px}
.customer-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.customer-field:first-child{grid-column:1/-1}.customer-panel label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;margin-bottom:4px}.customer-panel input{width:100%;padding:12px;min-height:46px}.customer-panel .muted{font-size:12px;line-height:1.7}
.customer-panel .customer-check{display:flex;flex-direction:row;align-items:center;margin:20px 0}.customer-check input{width:18px;min-height:18px;accent-color:var(--forest)}
.customer-error,.field-error{color:#a12626;font-size:12px;line-height:1.5}.field-error:empty,.customer-error:empty{display:none}.customer-panel [aria-invalid=true]{border-color:#a12626}.security-panel h2{margin-top:0}.security-panel label{margin:16px 0}.customer-checkout{padding:32px}.checkout-steps{display:flex;flex-wrap:wrap;gap:26px;font-size:12px;color:var(--muted)}.checkout-steps b{color:var(--forest)}
.checkout-review{position:sticky;top:155px}.checkout-review h2{margin:0 0 20px}.review-line{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);align-items:center}.review-line img,.review-placeholder{width:48px;height:65px;object-fit:contain;background:var(--paper);border-radius:5px;flex-shrink:0}.review-line>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px;font-size:12px}.review-line small{font-size:10px;color:var(--muted)}.review-line strong{font-size:12px}.review-total{display:flex;justify-content:space-between;gap:12px;margin:24px 0;font-size:16px}.review-total strong{font-size:22px}
.reservation-confirmation{max-width:760px;margin:50px auto;padding:24px;text-align:center}.confirmation-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--lime);margin:0 auto 25px;font-size:30px;color:var(--forest)}.reservation-confirmation h1{font-size:38px;letter-spacing:-1px}.confirmation-card{background:white;border:1px solid var(--line);border-radius:16px;padding:28px;margin:30px 0;text-align:left}.confirmation-card>strong{display:block;font-size:25px;margin:8px 0 25px}.confirmation-card>p{display:flex;justify-content:space-between;gap:20px;font-size:13px}.reservation-confirmation>.button,.reservation-confirmation>.outline{display:inline-flex;margin:5px}
@media(max-width:760px){.customer-layout{grid-template-columns:1fr}.customer-checkout{padding:24px 16px}.customer-panel{padding:20px}.customer-grid{grid-template-columns:1fr}.checkout-review{position:static}.checkout-steps{gap:15px}.reservation-confirmation h1{font-size:30px}.account-tabs{overflow:auto;white-space:nowrap}}
