/* Adaptive layouts and accessible touch controls. Desktop composition is preserved. */
@media(max-width:1024px){
 *,*::before,*::after{box-sizing:border-box}
 img,video,canvas,iframe{max-width:100%}
 input,select,textarea{min-width:0;font-size:16px!important}
 button,a,input,select,textarea{touch-action:manipulation}
 h1,h2,h3,p{overflow-wrap:break-word}
}
@media(pointer:coarse){button,[role=button],input,select{min-height:44px}}

@media(max-width:1000px){
 .mobile-menu.open{padding:12px max(16px,calc((100vw - 780px)/2))!important}
 .mobile-menu a{min-height:44px}
 .nav{gap:12px!important}
 .gallery-main,.product-panel,.checkout-form,.order-summary,.form-card{min-width:0}
 .cart-drawer{width:min(100%,480px)!important;max-height:100dvh}
}
@media(max-width:620px){
 .nav{grid-template-columns:auto minmax(0,1fr) auto}
 .nav-actions{gap:6px}
 .menu-btn{min-width:44px;min-height:44px}
 .logo{letter-spacing:.18em!important}
 .announce{height:auto;min-height:32px;padding:8px 12px;text-align:center}
 .hero-copy h1{font-size:clamp(42px,12vw,62px);line-height:1.04}
 .hero-overlay{padding-top:40px}.hero-card{min-height:540px}
 .section-head h2,.checkout-head h1,.success h2{font-size:clamp(32px,10vw,48px)}
 .footer-grid{gap:24px}.newsletter{max-width:100%}.newsletter input{min-width:0;width:100%}
 .filters{flex-wrap:wrap;gap:8px}.filter{min-height:44px}
 .product-panel,.form-card,.order-summary,.story-panel{padding:24px 18px}
 .product-panel h1{font-size:clamp(32px,10vw,46px)}
 .radio-row{align-items:flex-start;gap:10px}.radio-row>*{min-width:0}
 .cart-drawer{max-width:100vw;padding:22px 16px!important}
}
@media(max-width:1024px){
 .vela-from-left,.vela-from-right{transform:translateY(22px)!important}
 .vela-from-left.visible,.vela-from-right.visible{transform:none!important}
 .case-hero,.hero,.section,.case-section,main{min-width:0}
 .demo-overlay{padding:8px!important}
 .demo-window{width:100%!important;height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)!important}
 .demo-frame-wrap{min-height:0;flex:1}
 .contact-window{max-height:calc(100dvh - 24px)}
}
@media(max-width:600px){
 .demo-topbar{flex-wrap:wrap;height:auto!important;gap:8px;padding:10px!important}
 .demo-topbar .demo-close-button{min-height:44px}
}
/* Clip only decorative reveal/parallax overshoot without creating a scroll container. */
html{overflow-x:clip}
@media(max-width:1024px){.demo-window{inset:8px!important;width:auto!important}.demo-window-bar{flex-shrink:0}.demo-window-actions button{min-width:44px;min-height:44px}}
@media(max-width:620px){.product-frame{height:auto!important;min-height:0!important;overflow:hidden}.product-frame>img{height:340px!important;min-height:0!important;object-fit:cover}.product-frame .fake-panel{position:relative;inset:auto;width:auto;height:auto;min-height:0;margin:12px;padding:24px;transform:none!important}.fake-panel button{min-height:48px;white-space:normal}.fake-sizes{flex-wrap:wrap}.fake-panel h3{font-size:32px;line-height:1.1}.fake-panel strong{font-size:22px}}

.mobile-back-top{display:none}
@media(max-width:600px){.mobile-back-top:not([hidden]){position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:45;display:flex;flex-direction:column;align-items:center;justify-content:center;width:60px;height:60px;border:0;border-radius:50%;background:#ff8a1f;color:#fff;box-shadow:0 4px 18px #0002;font:800 10px/1.2 Arial,sans-serif;gap:2px;cursor:pointer}}
@media(max-width:620px){.faq-item button{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:12px;width:100%;white-space:normal}.faq-item button>*{min-width:0}.faq-item button span{overflow-wrap:anywhere}}
@media(max-width:620px){.faq-item button{padding-right:10px;box-sizing:border-box}.faq-item button b{justify-self:center}}
.faq-item button{padding-right:12px;box-sizing:border-box}

.fake-panel .fake-sizes{margin-bottom:20px}

/* An inset rounded cart keeps all four corners visible on phones. */
.cart-drawer{border-radius:24px 0 0 24px;overflow:hidden}
@media(max-width:620px){.cart-drawer{top:8px;right:8px;width:calc(100% - 16px)!important;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:24px;padding:0!important}.drawer-head,.drawer-foot{padding:20px}.cart-items{padding:12px 20px}}
