.booking-body{min-height:100vh;background:radial-gradient(ellipse at top right,#35070b 0,transparent 45%),#080909}.booking-header{height:96px;border-bottom:1px solid #292929}.booking-header .back{font-size:14px;color:#ccc}.booking-main{max-width:680px;padding:40px 0 60px}.booking-main h1{font-size:clamp(32px,7vw,48px);letter-spacing:-.04em;margin:10px 0 16px}.booking-intro{font-size:17px;color:#ccc;line-height:1.6;margin-bottom:26px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.booking-form label,.field{display:flex;flex-direction:column;gap:9px;font-size:16px;font-weight:600}.booking-form .wide{grid-column:1/-1}.booking-form small,.booking-note{font-size:14px;font-weight:400;color:#bbb;line-height:1.5}.booking-form input,.booking-form select{width:100%;min-width:0;background:#171818;border:1px solid #505050;border-radius:7px;color:#fff;padding:14px 12px;min-height:50px;font:inherit;color-scheme:dark}.booking-form input:focus,.booking-form select:focus{outline:2px solid var(--red);outline-offset:3px}.booking-form select:disabled{opacity:.6}.booking-form .book{margin:0;border:0;width:100%}.booking-note{padding:15px;border-left:3px solid var(--red);background:#161616}.booking-feedback{font-size:16px;line-height:1.5;color:#ffb5bd;margin:18px 0}.booking-feedback:empty{display:none}.booking-success{padding:24px;border:1px solid #385845;border-radius:8px;background:#111b15;line-height:1.6}.booking-success h2{margin-bottom:12px}.booking-success p{margin-top:10px}.booking-success a{text-decoration:underline}.terms-dialog{width:min(640px,calc(100% - 28px));max-height:90dvh;padding:0;border:1px solid #444;border-radius:12px;background:#151616;color:#fff;box-shadow:0 20px 100px #000b}.terms-dialog::backdrop{background:#000c}.terms-shell{padding:24px;display:flex;flex-direction:column;max-height:88dvh}.terms-shell h2{font-size:24px;margin-bottom:18px}.terms-scroll{overflow-y:auto;min-height:80px;line-height:1.65;padding-right:12px;overscroll-behavior:contain}.terms-scroll p{margin:12px 0}.terms-scroll h3{font-size:17px;margin:22px 0 8px}.terms-actions{border-top:1px solid #444;margin-top:18px;padding-top:16px}.check-label{display:flex;align-items:flex-start;gap:12px;line-height:1.5;cursor:pointer}.check-label input{width:22px;height:22px;flex-shrink:0;accent-color:var(--red);margin:1px 0}.dialog-buttons{display:flex;gap:12px;margin-top:18px}.dialog-buttons button,.confirm-button{min-height:48px;padding:12px 22px;border:1px solid #555;border-radius:7px;background:#242424;font-size:16px;font-weight:700}.dialog-buttons .primary,.confirm-button{background:var(--red);border-color:var(--red)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.trap-field{position:absolute;left:-10000px}.preview-notice{padding:12px;margin-bottom:20px;background:#332a10;color:#ffdc82;font-size:14px;line-height:1.5}.booking-details{display:grid;grid-template-columns:auto 1fr;gap:12px 22px;padding:22px;background:#181818;border-radius:8px;margin:24px 0}.booking-details dt{color:#bbb}.booking-details dd{margin:0;overflow-wrap:anywhere}.confirmation-actions .confirm-button{margin-top:20px}.payment-actions{margin:20px 0;padding:20px;border:1px solid #353535;border-radius:8px;background:#141515}.payment-actions>p:first-child{margin:0 0 14px;color:#ddd}.payment-action-buttons{display:flex;flex-wrap:wrap;gap:12px}.payment-action-buttons .confirm-button{display:inline-flex;align-items:center;justify-content:center;margin:0;color:#fff;text-decoration:none;cursor:pointer}.payment-actions .booking-feedback{margin-bottom:0}.booking-main [hidden]{display:none!important}@media(max-width:520px){.booking-header .logo{width:140px}.booking-header .controls{gap:6px}.booking-header .back{font-size:12px}.booking-main{padding-top:28px}.booking-form{grid-template-columns:1fr}.terms-shell{padding:20px}.dialog-buttons{flex-wrap:wrap}.dialog-buttons button{flex:1}.booking-details{grid-template-columns:1fr;gap:5px}.booking-details dd{margin-bottom:15px}.payment-action-buttons{display:grid}.payment-action-buttons>*{width:100%}}

.booking-success .success-ok{min-width:120px;margin-top:14px;text-decoration:none;text-align:center}

.booking-success .success-ok{min-width:120px;margin-top:14px;text-decoration:none;text-align:center}

.availability-hint{color:#ff6b78!important;font-size:14px!important;line-height:1.5}.availability-hint[data-state="stale"]{font-weight:700}
