/* Shared interaction fixes; original design retained. */
html{scroll-padding-top:100px}
*,*::before,*::after{box-sizing:border-box}
button,a,input,textarea,summary,[role=button]{touch-action:manipulation}
button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid #9c77d5;outline-offset:3px}
body.booking-open{overflow:hidden}
.form-status{grid-column:1/-1;order:10;font-size:15px;line-height:1.5;margin:8px 4px;overflow-wrap:anywhere}
.form-status:empty{display:none}.form-status.error{color:#8c2040}
.contact-stay{grid-column:1/-1;border:0;padding:0;margin:0;text-align:left}
.contact-stay summary{cursor:pointer;padding:10px;font-size:16px}
.stay-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:10px 0}
.stay-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px;text-align:left}
.stay-fields input{min-width:0;font-size:16px!important}
.book-modal{max-width:100%;min-width:0}.book-modal .mrow>*{min-width:0}
.book-modal .plate{width:100%;text-align:left;border:0}
.rq-card{max-height:calc(100dvh - 40px)}
.overlay{overscroll-behavior:contain}
.calendar-close{border:0;background:transparent;text-decoration:underline;color:inherit;padding:10px;cursor:pointer}
@media(max-width:600px){
 input,textarea,select{font-size:16px!important}
 .stay-fields{grid-template-columns:1fr}
 .overlay{padding:12px 10px}
 .book-modal{padding:28px 18px}
 .book-modal .mrow{flex-direction:column}
 .book-modal .mfield{width:100%}
 .book-modal .datebtn{height:auto;min-height:54px}
 .book-modal .pop{max-width:calc(100vw - 56px)}
 .rq-card{max-height:94dvh}
 .hgf a{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.cal-grid button.d{font:inherit;color:inherit;border:0;background:transparent;padding:0;cursor:pointer}.cal-grid button.d.start,.cal-grid button.d.end{background:#25064d;color:white}.cal-grid button.d.in{background:#e8def7}.cal-grid button.d:disabled{opacity:.35;cursor:default}

.nav-toggle{display:none}
@media(max-width:900px){
 .hero .top,.top2{position:relative}
 .nav-toggle{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;background:transparent;border:1px solid currentColor;border-radius:24px;color:white;font:inherit;cursor:pointer;margin-left:auto}
 .nav.js-nav,.nav2.js-nav{display:none;position:absolute;z-index:70;top:calc(100% - 5px);right:14px;width:min(260px,calc(100vw - 40px));background:#fff;border-radius:20px;box-shadow:0 10px 30px #25064d33;padding:12px;color:#25064d}
 .nav.js-nav.menu-open,.nav2.js-nav.menu-open{display:flex;flex-direction:column;align-items:stretch}
 .hero .nav.js-nav a,.nav2.js-nav a{display:block!important;color:#25064d!important;border:0!important;border-radius:10px!important;margin:0!important;padding:14px!important;font-size:18px}
}

@media(max-width:380px){.pager{gap:12px;max-width:100%;justify-content:center}.pg-btn{min-width:44px;width:44px;flex-shrink:0;padding:8px}.pg-info{font-size:14px}}

@media(max-width:380px){
 .cust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}
 .cust-grid figure{min-width:0}.cust-grid figcaption{font-size:17px;overflow-wrap:anywhere}
 .circ{width:min(130px,100%)}
 .stick{gap:8px;padding:6px 6px 6px 12px;max-width:calc(100% - 16px);font-size:14px}
 .stick button{font-size:15px;flex-shrink:0}.stick span{white-space:normal}
}
@media(max-width:900px){.top2{z-index:3}}
