.booking-page{color:#fff;min-height:100vh;font-family:var(--font);background:linear-gradient(135deg,#0a0f1e 0%,#0f172a 100%);justify-content:center;align-items:flex-start;padding:32px 16px;display:flex}.booking-shell{background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;grid-template-columns:320px 1fr;width:100%;max-width:1080px;display:grid;overflow:hidden}@media (width<=820px){.booking-shell{grid-template-columns:1fr}}.booking-info{background:#ffffff04;border-right:1px solid #ffffff0f;padding:32px 28px}@media (width<=820px){.booking-info{border-bottom:1px solid #ffffff0f;border-right:none}}.booking-info__back{color:#ffffff80;margin-bottom:24px;font-size:.78rem;text-decoration:none;display:inline-block}.booking-info__back:hover{color:#ca8a04}.booking-info__brand{letter-spacing:.12em;text-transform:uppercase;color:#ca8a04;margin-bottom:14px;font-size:.72rem;font-weight:700}.booking-info__title{margin:0 0 16px;font-size:1.4rem;font-weight:800;line-height:1.3}.booking-info__meta{color:#ffffffa6;flex-direction:column;gap:6px;margin-bottom:18px;font-size:.85rem;display:flex}.booking-info__desc{color:#fff9;white-space:pre-line;font-size:.85rem;line-height:1.6}.booking-picker{flex-direction:column;gap:20px;padding:28px;display:flex}.booking-cal__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.booking-cal__header strong{color:#fff;font-size:1rem;font-weight:700}.booking-cal__header button{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;width:32px;height:32px;font-size:1.1rem}.booking-cal__header button:hover{background:#ffffff1a}.booking-cal__weekdays{color:#fff6;text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;font-size:.7rem;display:grid}.booking-cal__grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.booking-cal__cell{aspect-ratio:1;color:#fff6;cursor:not-allowed;background:#ffffff05;border:1px solid #0000;border-radius:8px;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .15s}.booking-cal__cell--empty{background:0 0;border:none}.booking-cal__cell--past{color:#fff3;text-decoration:line-through}.booking-cal__cell--avail{color:#fff;cursor:pointer;background:#ca8a0414;border-color:#ca8a0433}.booking-cal__cell--avail:hover{background:#ca8a042e;border-color:#ca8a04}.booking-cal__cell--selected{color:#0f172a!important;background:#ca8a04!important;border-color:#ca8a04!important}.booking-slots__title{color:#fff;text-transform:capitalize;margin-bottom:8px;font-size:.95rem;font-weight:700}.booking-slots__hint{color:#fff6;margin:0 0 12px;font-size:.8rem}.booking-slots__grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px;display:grid}.booking-slot-btn{color:#fff;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;padding:10px 8px;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .15s}.booking-slot-btn:hover{background:#ca8a042e;border-color:#ca8a04}.booking-slot-btn--selected{color:#0f172a;background:#ca8a04;border-color:#ca8a04}.booking-form{flex-direction:column;gap:14px;display:flex}.booking-form__back{color:#fff9;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-family:inherit;font-size:.8rem}.booking-form__back:hover{color:#ca8a04}.booking-form__summary{background:#ca8a0414;border:1px solid #ca8a0433;border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;font-size:.88rem;display:flex}.booking-form__summary strong{color:#fff;text-transform:capitalize}.booking-form__summary span{color:#ffffffa6;font-size:.82rem}.booking-form h2{margin:4px 0 0;font-size:1rem;font-weight:700}.booking-form__error{color:#fca5a5;background:#f871711a;border:1px solid #f871714d;border-radius:6px;padding:10px 12px;font-size:.82rem}.booking-form__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=540px){.booking-form__row{grid-template-columns:1fr}}.booking-form label{color:#ffffffb3;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;display:flex}.booking-form input,.booking-form textarea{color:#fff;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:.9rem}.booking-form input:focus,.booking-form textarea:focus{border-color:#ca8a04}.booking-form textarea{resize:vertical}.booking-form__consent{background:#ca8a040f;border:1px solid #ca8a0433;border-radius:8px;padding:12px 14px}.booking-form__checkbox{cursor:pointer;text-transform:none;letter-spacing:normal;align-items:flex-start;gap:10px;line-height:1.55;display:flex;color:#ffffffb3!important;font-size:.78rem!important;font-weight:400!important}.booking-form__checkbox input[type=checkbox]{cursor:pointer;accent-color:#ca8a04;background:0 0;border:none;flex-shrink:0;width:auto;margin:2px 0 0;padding:0}.booking-form__checkbox a{color:#ca8a04;text-decoration:underline}.booking-form .btn-primary{color:#0f172a;cursor:pointer;text-transform:none;background:#ca8a04;border:none;border-radius:8px;margin-top:6px;padding:12px 16px;font-size:.9rem;font-weight:700}.booking-form .btn-primary:disabled{opacity:.6;cursor:progress}.booking-confirm{text-align:center;background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;width:100%;max-width:480px;padding:40px 32px}.booking-confirm__check{background:#4ade801a;border:2px solid #4ade804d;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:18px;display:inline-flex}.booking-confirm h1{margin:0 0 8px;font-size:1.4rem;font-weight:800}.booking-confirm__sub{color:#fff9;margin:0 0 22px;font-size:.88rem}.booking-confirm__details{text-align:left;background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:22px;padding:18px;display:flex}.booking-confirm__details strong{text-transform:capitalize;font-size:1rem}.booking-confirm__details div:not(:first-child){color:#ffffffb3;font-size:.85rem}.booking-confirm__actions{justify-content:center;gap:12px;display:flex}.booking-confirm .btn{border-radius:8px;padding:12px 22px;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-block}.booking-confirm .btn-primary{color:#0f172a;background:#ca8a04}.booking-loading{text-align:center;color:#fff6;width:100%;padding:80px 16px}.booking-error{text-align:center;color:#fff;width:100%;max-width:460px;padding:40px 24px}.booking-error h1{margin:0 0 8px;font-size:1.3rem}.booking-error p{color:#fff9;margin:0 0 18px}.booking-error a{color:#ca8a04;font-weight:600;text-decoration:none}
