/* Responsive booking and native reservation calendar */
.booking-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(28px,5vw,72px)}
.booking-layout>*{min-width:0}
.booking-copy .section-title{font-size:clamp(34px,4vw,62px);line-height:1.12;overflow-wrap:normal}
.booking-copy .section-title .line{white-space:normal}
.booking-panel{width:100%;max-width:480px;justify-self:end}
.booking-panel-top img{flex:0 0 52px;object-fit:contain}
.booking-panel-top span{min-width:0}
.booking-panel-top strong{font-size:clamp(18px,2vw,23px);line-height:1.3}
.booking-panel .btn{white-space:normal;gap:12px}
.booking-points p{min-width:0}
.modal-panel{width:min(720px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
[hidden]{display:none!important}
#smajli-booking-form select{width:100%;min-height:50px;border:1px solid #59464d;border-radius:14px;background:#130c0e;color:#fff;padding:12px;font:inherit}
#smajli-booking-form input,#smajli-booking-form textarea{min-width:0}
#smajli-booking-form label{min-width:0}
.smajli-calendar{margin:0 0 25px;padding:20px;border:1px solid #59464d;border-radius:20px;background:#191114}
.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}
.calendar-nav h3{margin:0;text-transform:capitalize;font-size:20px;text-align:center}
.calendar-nav button{background:transparent;color:#f4e9df;border:1px solid #67524e;border-radius:10px;width:42px;min-height:42px;cursor:pointer}
.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}
.calendar-week{font-size:12px;color:#bcaeb2;margin:16px 0 8px}
.calendar-days button{min-width:0;min-height:42px;border:1px solid #526e60;border-radius:9px;background:#21362b;color:#d7f5df;cursor:pointer;font:inherit}
.calendar-days .busy{color:#e1afb3;background:#44292f;border-color:#71414c;text-decoration:line-through}
.calendar-days .past{opacity:.35;background:transparent;border-color:transparent;color:#bcaeb2}
.calendar-days [aria-pressed=true]{outline:2px solid #edc99a;outline-offset:1px;background:#d9b27a;color:#211417}
.calendar-days button:focus-visible,.calendar-nav button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.calendar-legend{font-size:12px;color:#bee5c9;margin:12px 0}.calendar-legend span{color:#e1afb3;margin-left:15px}
#calendar-status{font-size:13px;color:#e1d3d6;margin:16px 0 0}
.singer-row{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #47323a;font-size:14px}
.singer-row strong{overflow-wrap:anywhere}.singer-row span{flex-shrink:0;font-size:12px}.singer-row .busy{color:#e1afb3}.singer-row .free{color:#bee5c9}
.smajli-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#booking-feedback{color:#ffb3aa;font-size:14px}
button:disabled{cursor:not-allowed;opacity:.55}
body::before{background-image:none}
@media(max-width:1000px){.booking-layout{grid-template-columns:minmax(0,1fr);gap:32px}.booking-panel{max-width:620px;justify-self:start}.booking-copy .section-title{font-size:clamp(34px,6vw,60px)}}
@media(max-width:580px){.booking-section{min-height:0}.booking-copy .section-title{font-size:clamp(30px,8.5vw,46px)}.booking-panel{padding:24px 20px;border-radius:22px}.booking-panel-top{gap:12px}.modal-panel{max-height:calc(100dvh - 16px)}.smajli-calendar{padding:12px}.calendar-days,.calendar-week{gap:4px}.calendar-days button{min-height:38px}.calendar-nav h3{font-size:17px}.form-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.marquee-track{min-width:0}.marquee-group{flex:0 0 auto}

