.booking-page{background:radial-gradient(circle at 75% 12%,#c2903f3d,#0000 35%),#16231f;padding:170px 24px 120px}.booking-intro{width:min(1050px,100%);margin:0 auto 70px}.booking-intro h1{letter-spacing:-.065em;margin:0;font-size:clamp(3.2rem,6vw,6rem);line-height:.94}.booking-intro h1 em{color:var(--amber);font-family:var(--font-display);font-weight:400}.booking-intro>p:last-child{color:#9fb4c1;max-width:650px;font-size:17px}.booking-widget{border:1px solid var(--line-dark);background:#1e2f29;border-radius:28px;width:min(1050px,100%);margin:auto;overflow:hidden;box-shadow:0 40px 100px #0000004d}.booking-progress{border-bottom:1px solid var(--line-dark);background:#ffffff05;justify-content:center;align-items:center;gap:14px;padding:22px 32px;display:flex}.booking-progress span{color:#658093;background:#24352e;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:flex}.booking-progress span b{display:none}.booking-progress span.active{background:var(--amber);color:#fff;box-shadow:0 0 24px #c2903f66}.booking-progress span.done{color:var(--amber);background:#3d5c4c}.booking-progress i{background:var(--line-dark);width:80px;height:1px}.slots-panel,.booking-form{padding:48px}.booking-heading span{color:var(--amber);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:7px;font-size:11px;display:inline-flex}.booking-heading h2,.form-heading h2,.booking-success h2{letter-spacing:-.05em;margin:15px 0;font-size:clamp(2rem,4vw,3.5rem);line-height:1}.booking-heading p,.form-heading p{color:#819aaa}.day-list{border-top:1px solid var(--line-dark);margin-top:40px}.day-row{border-bottom:1px solid var(--line-dark);grid-template-columns:150px 1fr;padding:24px 0;display:grid}.day-label{flex-direction:column;display:flex}.day-label strong{font-size:15px}.day-label span{color:#71899a;text-transform:capitalize;font-size:12px}.slot-list{flex-wrap:wrap;gap:9px;display:flex}.slot-list button{border:1px solid var(--line-dark);cursor:pointer;color:#d4e1e8;background:#ffffff08;border-radius:10px;align-items:center;gap:7px;padding:11px 15px;font-size:13px;display:flex}.slot-list button:hover{border-color:var(--amber);color:var(--amber);background:#c2903f0f}.slot-list svg{width:14px}.loading,.empty-state{color:#819aaa;justify-content:center;align-items:center;gap:10px;padding:70px 0;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.back-button{color:#8ca4b3;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;display:flex}.back-button svg{width:16px}.selected-slot{background:#c2903f12;border:1px solid #c2903f2e;border-radius:14px;align-items:center;gap:14px;margin:30px 0 40px;padding:18px;display:flex}.selected-slot>svg{color:var(--amber)}.selected-slot div{flex-direction:column;display:flex}.selected-slot span{color:#7792a3;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.selected-slot strong{text-transform:capitalize;font-size:15px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:32px;display:grid}.form-grid label{color:#9cb1bf;flex-direction:column;gap:8px;font-size:11px;font-weight:700;display:flex}.form-grid label.full{grid-column:1/-1}.form-grid input{border:1px solid var(--line-dark);color:#fff;background:#1c2b25;border-radius:11px;outline:none;width:100%;padding:15px 16px}.form-grid input:focus{border-color:var(--amber);box-shadow:0 0 0 3px #c2903f14}.honeypot{left:-9999px;position:absolute!important}.consents{gap:12px;margin-top:27px;display:grid}.consents label{color:#91a7b5;align-items:flex-start;gap:10px;font-size:12px;display:flex}.consents input{accent-color:var(--amber);margin-top:4px}.consents a{color:#fff;text-decoration:underline}.submit-button{border:0;width:100%;margin-top:28px}.submit-button:disabled{opacity:.6;cursor:wait}.secure-note{color:#6f8798;justify-content:center;align-items:center;gap:7px;font-size:10px;display:flex}.secure-note svg{width:13px}.form-error{color:#ff9389;font-size:12px}.booking-success{text-align:center;flex-direction:column;align-items:center;width:min(900px,100%);margin:auto;padding:80px 48px;display:flex}.success-icon{width:72px;height:72px;color:var(--amber);background:#c2903f1a;border-radius:50%;place-items:center;margin-bottom:25px;display:grid}.success-icon svg{width:34px;height:34px}.booking-success>p{color:#9bb0be}.booking-success .notice{text-align:left;border:1px solid var(--line-dark);background:#ffffff08;border-radius:14px;gap:14px;max-width:650px;margin:30px 0;padding:20px;display:flex}.notice svg{color:var(--amber);flex:none}.notice div{flex-direction:column;display:flex}.notice span{color:#8da4b3;font-size:12px}.manage-page{place-items:center;min-height:100vh;display:grid}.manage-card{border:1px solid var(--line-dark);text-align:center;background:#1e2f29;border-radius:28px;flex-direction:column;align-items:center;width:min(660px,100%);padding:55px;display:flex;box-shadow:0 40px 100px #0000004d}.manage-card>svg{color:var(--amber);width:38px;height:38px}.manage-card h1{letter-spacing:-.05em;margin:15px;font-size:clamp(2rem,5vw,4rem)}.status{color:var(--amber);text-transform:uppercase;letter-spacing:.12em;background:#c2903f1a;border-radius:99px;padding:7px 11px;font-size:10px}.status-cancelled,.status-expired{color:#ff8a80;background:#ff6e641a}.manage-date{text-transform:capitalize;align-items:center;gap:10px;display:flex}.manage-date svg{color:var(--amber)}.manage-date span{color:#9bb0be}.manage-info{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:30px 0;display:grid}.manage-info div{border:1px solid var(--line-dark);border-radius:14px;justify-items:center;padding:20px;display:grid}.manage-info svg{color:var(--amber);margin-bottom:8px}.manage-info span{color:#728b9b;text-transform:uppercase;font-size:10px}.manage-card .text-button{color:#ff968e;cursor:pointer;background:0 0;border:0;margin-top:18px;text-decoration:underline}.manage-card small{color:#6e8797;margin-top:35px}@media (max-width:700px){.booking-page{padding:130px 14px 80px}.slots-panel,.booking-form{padding:28px 20px}.day-row{grid-template-columns:1fr;gap:15px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.booking-progress i{width:36px}.booking-success{padding:60px 22px}.manage-card{padding:38px 20px}.manage-info{grid-template-columns:1fr}}
