/* QueenSpa responsive correction v1.1: loaded after the existing styles */
html,body{max-width:100%;overflow-x:clip}
img,svg,video{max-width:100%}
.site-header,.site-nav,.hero,.hero-content,.hero-visual,.booking-inner,.booking-card,.service-grid,.package-grid{min-width:0}
@media(max-width:900px){
 .site-header{gap:10px}
 .site-nav{max-height:calc(100dvh - 74px);overflow-y:auto}
 .hero{gap:24px}
 .hero-promotions{max-width:100%}
}
@media(max-width:580px){
 body{min-width:0}
 .site-header{height:70px;padding:0 12px}
 .site-brand{font-size:19px;min-width:0;gap:6px;letter-spacing:.4px}
 .site-brand small{font-size:6px;letter-spacing:.5px;white-space:nowrap}
 .site-logo{width:30px;height:30px;flex-shrink:0}
 .header-actions{flex-shrink:0;gap:5px}
 .header-actions .button-small{padding:9px 10px;font-size:11px;min-height:39px;white-space:nowrap}
 .mobile-menu{min-width:40px;width:40px;height:40px}
 .site-nav{width:min(340px,calc(100vw - 24px));max-width:100%}
 .hero{padding:27px 17px 30px;gap:20px;grid-template-columns:minmax(0,1fr)}
 .hero h1{font-size:clamp(37px,11vw,55px);letter-spacing:-1.4px;overflow-wrap:normal}
 .hero-content>p{font-size:14px}
 .hero-actions{gap:8px 14px;align-items:flex-start}
 .hero-actions .button{max-width:100%;font-size:12px}
 .hero-visual{width:100%}
 .hero-photo{height:clamp(260px,98vw,450px);border-radius:85px 85px 6px 6px}
 .hero-promotions{position:static;width:100%;margin-top:12px;right:auto;bottom:auto}
 .section{padding-left:17px;padding-right:17px}
 .service-grid,.package-grid,.menu-grid{grid-template-columns:minmax(0,1fr)}
 .package-card{width:100%;min-width:0}
 .booking-inner{grid-template-columns:minmax(0,1fr);padding:45px 15px}
 .booking-card{width:100%;padding:20px 15px}
 .booking-datetime-row,.customer-fields,.field-row{grid-template-columns:minmax(0,1fr)}
 .field-label input,.field-label select{width:100%;min-width:0;font-size:16px}
 .date-shortcuts{gap:8px}
 .booking-total{flex-wrap:wrap;gap:10px}
 .booking-total b{font-size:clamp(23px,7vw,32px)}
 .choice-tabs{display:flex;min-width:0}
 .choice-tab{min-width:0;flex:1}
 .addon-list{grid-template-columns:minmax(0,1fr)}
 .footer-main,.footer-bottom{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:360px){
 .site-brand{font-size:17px}
 .site-brand small{font-size:5.5px}
 .header-actions .button-small{padding:8px;font-size:10px}
 .hero h1{font-size:37px}
}
