/* Shared responsive safeguards for all public pages. */
img,video,iframe{max-width:100%}
.prose{overflow-wrap:anywhere}
.prose table{display:block;max-width:100%;overflow-x:auto}
.mobile-locale-switch{display:none}
.product-description,.catalog-intro,.card-body,.empty-state{overflow-wrap:anywhere}
.contact-grid>*,.contact-form-layout>*,.form-grid>*{min-width:0}
.contact-list a,.contact-list span,.footer-contact a,.footer-contact span{overflow-wrap:anywhere;word-break:break-word}
.product-description iframe,.prose iframe{width:100%;aspect-ratio:16/9;height:auto}

@media(max-width:900px){
    .header-inner{position:relative;gap:10px}
    .site-nav{z-index:100;max-height:calc(100dvh - 70px);overflow-y:auto;border-top:1px solid var(--line)}
    .site-nav a{display:block;width:100%;padding:10px 4px}
    .menu-toggle{position:relative;z-index:101;flex:0 0 44px}
    .menu-toggle svg{display:block;width:22px;height:22px}
    .mobile-locale-switch{display:inline-flex;min-width:42px;height:42px;padding:0 7px;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--teal);font:800 11px Arial;white-space:nowrap}
    body.menu-open{overflow:hidden}
    .product-tile-media img,.card-media img{object-position:center}
}

@media(max-width:800px){
    #quote-form>.site-wrap{grid-template-columns:1fr!important;gap:25px!important}
    #quote-form{padding:55px 0!important}
    .contact-grid{gap:18px}
    .contact-map,.contact-map iframe{height:330px;min-height:330px}
    .reveal{opacity:1;transform:none}
    .gallery-shell,.product-summary-panel,.sidebar-box{min-width:0}
    .g-recaptcha{max-width:100%;overflow:hidden}
    .pagination{max-width:100%;overflow-x:auto;justify-content:flex-start;padding-bottom:5px}
}

@media(max-width:600px){
    .header-inner{gap:8px}
    .search-toggle{display:none}
    .site-brand{min-width:0;overflow:hidden}
    .site-brand span{min-width:0}
    .site-brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    html[dir=ltr] .site-brand strong{font-size:12px}
    .header-actions{gap:6px;flex:0 0 auto}
    .page-hero h1{font-size:clamp(30px,9vw,40px);overflow-wrap:anywhere}
    .content-section{padding:45px 0}
    .card-media{width:100%;height:190px;max-height:none;aspect-ratio:auto}
    .card-media img{width:100%;height:100%;object-fit:cover;background:#fff}
    .contact-panel,.prose,.modern-form{padding:22px}
    .contact-panel h2{font-size:24px}
    .contact-list a,.contact-list span{overflow-wrap:anywhere}
    .site-cta .site-btn{width:100%}
    .system-message{inset-inline:14px;bottom:14px;max-width:none}
    .section-heading h2,.empty-state h1{font-size:clamp(25px,8vw,34px);overflow-wrap:anywhere}
    .product-gallery img,.gallery-stage img{width:100%;height:100%;max-width:100%;object-fit:cover}
    .gallery-stage{width:100%;height:280px!important;max-height:none;aspect-ratio:auto}
    .gallery-thumbs{overflow-x:auto;grid-auto-flow:column;grid-auto-columns:64px;grid-template-columns:none!important}
    .spec-table{overflow-x:auto}
    .spec-row{min-width:280px}
    .form-field input,.form-field select,.form-field textarea{width:100%;min-width:0}
    .g-recaptcha{transform:scale(.86);transform-origin:top right;margin-bottom:-12px}
    html[dir=ltr] .g-recaptcha{transform-origin:top left}
}

@media(max-width:380px){
    .site-brand img{width:42px;height:42px}
    .site-brand strong{font-size:12px}
    .mobile-locale-switch{min-width:38px;padding:0 5px}
    .icon-button{width:40px;height:40px}
    .g-recaptcha{transform:scale(.78);margin-bottom:-20px}
}
