/* Shared responsive layer: same content and identity across screen sizes. */
:root{--site-header-height:92px}
.nav-toggle{display:none}
[hidden]{display:none!important}
.pd-anchor-nav{top:var(--site-header-height)}
[id]{scroll-margin-top:calc(var(--site-header-height) + 24px)}
#catalog-results,#products{scroll-margin-top:calc(var(--site-header-height) + 24px)}
.pd-feature-section,.pd-spec-section{scroll-margin-top:calc(var(--site-header-height) + 80px)}
.product-breadcrumb>a,.product-breadcrumb>span[aria-hidden]{flex-shrink:0}
.product-breadcrumb>span:last-child{min-width:0}
.pd-dialog{height:min(850px,90dvh);max-height:90dvh;max-width:96vw;padding:60px 56px;overscroll-behavior:contain}
.pd-dialog img{width:auto;height:auto;max-width:100%;max-height:100%}
.pd-close{width:44px;height:44px;display:grid;place-items:center;z-index:2;line-height:1}
body.photo-view-open{overflow:hidden}
.pd-thumbnails{overscroll-behavior-x:contain;scroll-snap-type:x proximity}
.pd-thumb{scroll-snap-align:center}
.btn{white-space:normal;text-align:center;line-height:1.4;padding-block:12px}
@media(max-width:1100px){
 .site-header{z-index:20}
 .header-inner{position:relative;min-height:80px;flex-wrap:nowrap;justify-content:space-between;padding-block:12px;gap:16px}
 .header-inner>a{flex:0 1 210px;min-width:0}
 .header-inner .logo{width:210px;max-width:100%;height:auto}
 .nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 14px;flex-shrink:0;border:1px solid #d8bdc6;border-radius:6px;background:#fff;color:#742c43;font-weight:750}
 .nav-toggle-icon{width:18px;display:grid;gap:4px}
 .nav-toggle-icon i{display:block;height:2px;background:currentColor;border-radius:2px}
 .navigation{position:absolute;top:100%;left:0;right:0;display:none;width:100%;padding:16px;gap:4px;background:#fff;border:1px solid #eadfe2;border-radius:0 0 10px 10px;box-shadow:0 16px 25px #28192114;max-height:calc(100dvh - var(--site-header-height) - 16px);overflow-y:auto;overscroll-behavior:contain}
 .navigation.is-open{display:flex;flex-direction:column;align-items:stretch}
 .navigation a,.navigation a:nth-child(3){display:flex;min-height:48px;align-items:center;padding:10px 14px;font-size:1rem;border-radius:5px}
 .navigation a[aria-current]{background:#f8f1f3}
 .navigation .nav-contact{display:flex;justify-content:center;margin-top:8px;font-size:1rem;min-height:48px;background:#8b2d42;color:#fff}
}
@media(max-width:900px){
 .pd-intro-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .pd-gallery{width:100%;max-width:640px;margin-inline:auto}
 .pd-photo{height:auto;aspect-ratio:1.15;max-height:540px;min-height:280px}
 .pd-intro-copy{padding:0}
 .pd-intro-copy h1{font-size:clamp(2rem,5vw,3rem);line-height:1.16}
 .pd-spec-grid{grid-template-columns:minmax(0,1fr)}
 .pd-anchor-nav .wrap{min-width:0;min-height:56px;gap:24px;flex-wrap:wrap}
 .pd-anchor-nav a{display:flex;align-items:center;min-height:48px}
 .pd-summary{font-size:1.04rem}
 .pd-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pd-feature{min-height:170px;gap:20px}
 .section-head{flex-direction:column;align-items:flex-start}
 .text-link{white-space:normal;line-height:1.5}
 .contact-band .wrap{flex-direction:column;align-items:flex-start}
}
@media(max-width:760px){
 .wrap{width:calc(100% - 40px)}
 .header-inner{min-height:76px}
 .header-inner>a{flex-basis:190px}
 .header-inner .logo{width:190px}
 .home-banner .banner-stage{display:grid;aspect-ratio:auto;height:auto;min-height:0}
 /* One shared grid cell reserves the tallest slide, preventing layout shifts. */
 .home-banner .banner-slide.campaign-slide{position:relative;inset:auto;grid-area:1/1;display:flex;flex-direction:column;align-self:stretch;width:100%;height:auto;min-width:0;background:#321b25;transition:none}
 .home-banner .banner-slide.campaign-slide.is-active{display:flex;transition:none}
 .campaign-media{position:absolute;inset:0 0 auto;aspect-ratio:4/5;height:auto}
 .campaign-media picture,.campaign-media picture img{width:100%;height:100%}
 .campaign-media picture img{object-fit:contain;object-position:top center}
 .campaign-slide:not(.campaign-first) .campaign-media:after{background:linear-gradient(0deg,#321b25 0%,rgba(50,27,37,.75) 20%,transparent 58%)}
 .home-banner .campaign-content{position:relative;inset:auto;transform:none;max-width:560px;margin:clamp(220px,58vw,380px) auto 0;padding:0 24px 30px;text-align:left}
 .campaign-content h2{font-size:clamp(2rem,7.8vw,3rem);line-height:1.13;max-width:none;margin:0 0 18px;overflow-wrap:break-word}
 .campaign-content p{max-width:none;font-size:1rem;line-height:1.6;margin-bottom:24px}
 .campaign-category{font-size:.78rem;margin-bottom:14px}
 .campaign-content a{max-width:100%;white-space:normal;text-align:center;line-height:1.4;min-height:48px;padding:12px 18px}
 .home-banner .banner-nav{position:relative;inset:auto;height:auto;min-height:64px;background:#291620}
 .home-banner .banner-nav-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:8px 16px}
 .home-banner .banner-dots{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:14px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:0 2px;scroll-snap-type:x proximity}
 .home-banner .banner-dots button,.home-banner .banner-dots button[aria-current="true"]{flex:0 0 auto;width:auto;min-width:44px;height:44px;font-size:.83rem;padding:0 4px;border-bottom:2px solid transparent;scroll-snap-align:center}
 .home-banner .banner-dots button[aria-current="true"]{border-bottom-color:#fff}
 .home-banner .banner-dots button:before{display:none}
 .home-banner .banner-dots button span{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
 .home-banner .banner-arrows{display:flex;gap:6px}
 .home-banner .banner-arrows button{width:44px;min-width:44px;height:44px;min-height:44px}
 .section,.pd-feature-section,.pd-spec-section{padding-block:56px}
 .section h2,.pd-feature-section h2,.pd-spec-section h2{font-size:clamp(1.85rem,6.8vw,2.5rem);line-height:1.18;overflow-wrap:break-word}
 .section-head{gap:20px;margin-bottom:28px}
 #solucoes .solutions-simple{grid-template-columns:minmax(0,1fr);gap:24px}
 #solucoes .solutions-copy h1{font-size:clamp(1.9rem,6.8vw,2.5rem);line-height:1.22}
 .catalog-hero h1{font-size:clamp(1.9rem,7vw,2.6rem);line-height:1.18}
 .catalog{padding-block:28px 56px}
 .search{font-size:16px;height:50px}
 .filters{gap:8px;margin-bottom:24px}
 .filter{font-size:.9rem;min-height:44px;max-width:100%;padding:10px 14px;white-space:normal}
 .featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .product-content{padding:18px}
 .product-actions>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
 .product-actions{gap:8px}
 .product-content h3{font-size:1.08rem;line-height:1.4;min-height:0}
 .pagination{gap:12px;margin-top:28px}
 .pagination-pages{order:-1;flex-basis:100%;gap:8px}
 .pagination-pages button{min-width:44px;min-height:44px;padding-inline:10px}
 .pagination>button{min-height:44px;min-width:104px}
 .pagination-status{font-size:.9rem}
 .pd-intro{padding:8px 0 44px}
 .pd-model{overflow-wrap:anywhere;font-size:1rem}
 .pd-intro-copy h1{font-size:clamp(1.9rem,7vw,2.7rem)}
 .pd-photo{padding:18px 18px 48px;aspect-ratio:1;min-height:0}
 .pd-photo img#pd-main-photo{width:100%!important;height:100%!important}
 .pd-prev{left:8px}.pd-next{right:8px}
 .pd-expand{bottom:10px;right:10px;min-height:44px;max-width:calc(100% - 90px)}
 .pd-photo-count{bottom:17px;left:12px}
 .pd-thumbnails{gap:10px;max-width:100%}
 .pd-thumbnails .pd-thumb{flex-basis:68px;width:68px;height:68px}
 .pd-spec-grid{gap:24px}
 .pd-spec-grid dl>div{grid-template-columns:minmax(0,1fr);gap:7px;padding:18px}
 .pd-spec-grid aside{padding:24px;min-width:0}
 .pd-spec-grid aside a{line-height:1.7;overflow-wrap:anywhere}
 .pd-spec-label{padding:16px 18px;line-height:1.5}
 .pd-dialog{width:96vw;height:90dvh;max-height:90dvh;padding:60px 16px 64px}
 .pd-dialog-prev,.pd-dialog-next{top:auto;bottom:12px;transform:none}
 .pd-dialog-prev{left:16px}.pd-dialog-next{right:16px}
 .pd-dialog-count{bottom:24px}
 .pd-close{top:8px;right:8px}
 .related-card{min-width:0}
 .related-card strong{overflow-wrap:anywhere}
 .testimonial-box{padding:24px;flex-direction:column;align-items:flex-start}
 .contact-band{padding-block:48px}
 .footer .wrap{flex-direction:column;align-items:flex-start}
 .footer-links{gap:4px 20px}
 .footer-links a{display:inline-flex;align-items:center;min-height:44px}
 .installation-hero{padding-block:44px}
 .installation-process{grid-template-columns:minmax(0,1fr);gap:28px}
 .installation-process ol{padding-left:26px}
 .installation-process li{padding-left:8px}
}
@media(max-width:540px){
 .featured-grid,.pd-feature-grid{grid-template-columns:minmax(0,1fr)}
 .product-image{max-height:300px}
 .pd-feature{min-height:0;padding:24px;gap:18px}
 .pd-feature h3{font-size:1.35rem;line-height:1.4}
 .pd-action-panel .btn,.contact-band .btn,.testimonial-box .btn{width:100%}
 .pd-anchor-nav .wrap{justify-content:space-between;gap:12px}
}
@media(max-width:359px){
 .wrap{width:calc(100% - 32px)}
 .header-inner>a{flex-basis:158px}
 .nav-toggle{padding-inline:10px;gap:8px}
 .home-banner .campaign-content{padding-inline:20px}
 .home-banner .banner-nav-inner{padding-inline:12px;gap:6px}
}
@media(hover:none){.product-card:hover,.related-card:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.product-image img,.product-card,.related-card{transition:none}}

/* Compact landscape artwork with separate, readable copy on phones. */
@media(max-width:760px){
 .home-banner .campaign-slide .campaign-media{flex:none;position:relative;inset:auto;width:100%;aspect-ratio:200/73;height:auto}
 .home-banner .campaign-slide .campaign-media picture img{object-fit:contain;object-position:center}
 .home-banner .campaign-slide .campaign-media:after{background:linear-gradient(0deg,#321b25,transparent 12%)}
 .home-banner .campaign-slide .campaign-content{display:flex;flex-direction:column;flex:1;width:100%;margin:0 auto;padding:16px 20px 22px;max-width:560px}
 .home-banner .campaign-content .campaign-category{font-size:.73rem;margin-bottom:9px;letter-spacing:.12em}
 .home-banner .campaign-content h2{font-size:clamp(1.65rem,6.2vw,2.1rem);line-height:1.16;margin-bottom:12px}
 .home-banner .campaign-content p{font-size:.95rem;line-height:1.5;margin-bottom:17px}
 .home-banner .campaign-content a{align-self:flex-start;margin-top:auto;min-height:44px;padding:10px 16px;font-size:.93rem}
}
