/* Ajustes de estabilidad para móvil, tablet, escritorio y pantallas táctiles. */
html,body{max-width:100%;overflow-x:hidden}
.shell>*,
.section-head>*,
.custom-grid>*,
.lab-grid>*,
.contact-grid>*,
.maker-grid>*,
.space-grid>*,
.business-grid>*,
.review-layout>*,
.behind-grid>*,
.feature-split>*,
.showcase>*{min-width:0}
img,svg,video,canvas{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}

@media (pointer:coarse){
  .menu,.quote-link,.main-button,.secondary-link,.add-cart,.qty button,
  .cart-float,.christmas-float,.close-button,.lightbox-close,
  .space-product-picks button,.hero-view-toggle button,.viewer-switch button{min-height:2.75rem}
  .quote-form input,.quote-form select,.quote-form textarea,
  .maker-form input,.maker-form select,.maker-form textarea,
  .space-controls input,.space-controls textarea,.review-form input,
  .review-form textarea{font-size:1rem}
}

@media (max-width:1050px){
  .section-head,.custom-grid,.lab-grid,.contact-grid,.maker-grid,.space-grid,.business-grid,
  .review-layout,.behind-grid{min-width:0}
  .hero-content{max-width:min(40rem,100%)}
  .quote-form,.maker-form{width:100%}
}

@media (max-width:700px){
  .nav{gap:.65rem}.brand{min-width:0}.brand small{white-space:normal}
  .nav-links{max-height:calc(100dvh - 5.25rem);overflow-y:auto;overscroll-behavior:contain}
  .hero{min-height:auto}.hero-content{padding-bottom:3rem}
  .hero-actions>*{min-height:2.9rem}
  .hero-note{flex-wrap:wrap;line-height:1.45}
  .cart-panel{width:min(100%,29rem);padding-bottom:env(safe-area-inset-bottom)}
  .cart-head,.cart-items,.cart-foot{padding-left:1rem;padding-right:1rem}
  .cart-row{min-width:0}.cart-row strong{overflow-wrap:anywhere}
  .lightbox{padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom))}
  .lightbox img{max-height:76dvh}
  .space-product-picks{display:grid;grid-template-columns:1fr}
  .space-product-picks button{text-align:left}
  .space-stage{min-height:19rem}
  .space-note,.maker-help,.form-help{overflow-wrap:anywhere}
  .footer{padding-bottom:max(5.5rem,calc(env(safe-area-inset-bottom) + 4.8rem))}
}

@media (max-width:380px){
  .shell{padding-inline:1rem}
  h1{font-size:clamp(3.15rem,16vw,3.85rem)}
  .section h2,.contact h2{font-size:clamp(2.65rem,14vw,3.3rem)}
  .product-photo{height:15.5rem}
  .space-stage{min-height:17rem}
  .cart-float{right:.75rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* SEO and conversion additions retain the existing visual language on every viewport. */
.smarttech-faq{background:#151a20;color:#fff}.smarttech-faq .section-description{color:#b8c2c5}.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.faq-grid details{background:#1d232a;border:1px solid rgba(255,255,255,.12);padding:1rem 1.15rem}.faq-grid summary{cursor:pointer;font-weight:800;line-height:1.35}.faq-grid p{margin:.8rem 0 0;color:#bdc7ca;font-size:.9rem}.faq-button{margin-top:1.35rem}.wa--contact{width:auto;min-width:3.65rem;padding:.35rem .85rem;gap:.45rem;border-radius:999px;text-decoration:none}.wa--contact svg{width:1.9rem;flex:0 0 auto}.wa-phone{font:800 .7rem/1.15 Manrope,Arial,sans-serif;white-space:nowrap;color:#062d18}@media(max-width:700px){.faq-grid{grid-template-columns:1fr}.faq-grid details{padding:1rem}.wa--contact{right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));min-width:3.4rem;width:3.4rem;height:3.4rem;padding:0}.wa--contact svg{width:1.85rem}.wa-phone{position:absolute;right:0;bottom:calc(100% + .45rem);padding:.45rem .6rem;border-radius:.45rem;background:#25d366;box-shadow:0 8px 22px rgba(0,0,0,.24);font-size:.62rem}.smarttech-faq .section-head{gap:1.2rem}}

/* Final cross-device stability layer: prevents accidental side-scroll and clipped form content. */
html,body{overflow-x:clip}
*,*::before,*::after{min-width:0}
.nav-links a,.hero-content,.hero-copy,.section-description,.contact-card,.cart-row,.maker-help,.form-help,.space-note,.review-card-empty,.faq-grid details{overflow-wrap:anywhere}
@media(max-width:480px){
  .nav-links{left:.55rem;right:.55rem;max-height:calc(100dvh - 4.8rem)}
  .hero-actions,.hero-actions .main-button,.hero-actions .secondary-link{width:100%}
  .hero-actions .secondary-link{justify-content:space-between}
  .viewer-info{flex-direction:column}
  .viewer-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .viewer-switch button{min-height:2.75rem}
  .space-sliders label,.quote-form label,.maker-form label{min-width:0}
  .wa-phone{max-width:calc(100vw - 1.5rem);overflow:hidden;text-overflow:ellipsis}
}
@media(min-width:1440px){
  .shell{max-width:84rem}
  .hero-content{max-width:48rem}
}
