/* The page fits the device; horizontal scrolling belongs to individual rails/tables. */
html{width:100%;max-width:100%;box-sizing:border-box;-webkit-text-size-adjust:100%;text-size-adjust:100%}
*,*::before,*::after{box-sizing:inherit}
body{width:100%;min-width:0;max-width:100%;overflow-x:clip}
#app{width:100%;min-width:0;max-width:100%}
#app>*,#app .grid>*,.managed-header-primary>*{min-width:0}
#app>section,#app>main,#app>article,#app>footer,.managed-header,.managed-header-wrap,.managed-header-primary{max-width:100%}
img,video,iframe{max-width:100%}
.prose-copy,.reference-card-copy,.contact-card,.page-banner h1{overflow-wrap:anywhere}
.app-bottom-nav{left:0;right:0;width:100%;max-width:100dvw;box-sizing:border-box}
.app-bottom-nav>button{min-width:0;max-width:100%;padding-inline:2px;overflow-wrap:anywhere}
.mascot-support,.mascot-restore{right:max(12px,env(safe-area-inset-right));max-width:calc(100dvw - 24px)}
.mascot-support{width:max-content}
.mascot-dismiss{right:0}
@media(max-width:1199px){
 .managed-header-wrap{width:100%;padding-inline:14px}
 .managed-header .managed-header-primary{padding:8px 0;gap:8px;width:100%;flex-wrap:nowrap}
 .managed-header .managed-logo{max-width:calc(100% - 125px);flex-shrink:1}
 .managed-header[data-layout=center] .managed-logo{max-width:calc(100% - 125px)}
 .managed-logo img{max-width:100%!important}
 .compact-header-actions{flex-shrink:0;gap:6px;min-width:0}
 .visitor-language,.managed-menu-toggle{flex-shrink:0}
 .mobile-quick-strip{width:100%;max-width:100%;padding-inline:14px}
 .mobile-quick-strip .managed-header-actions{min-width:0}
 .mobile-quick-strip .managed-header-actions>*{min-width:0;overflow-wrap:anywhere}
 .hero-brand-strip{max-width:100%;flex-wrap:wrap}
 .hero-brand{min-width:0;max-width:100%}
 .hero-brand-logo{max-width:100%!important}
 .catalog-layout,.catalog-products,.catalog-filter-toolbar,.reference-unified-grid{min-width:0;max-width:100%}
 .mascot-options{max-width:calc(100dvw - 28px)}
}
@media(max-width:767px){
 #app>section[data-studio=hero]>div{width:100%;min-width:0;padding-inline:18px;gap:28px;grid-template-columns:minmax(0,1fr)}
 #app>section[data-studio=hero] h1{font-size:clamp(28px,8vw,36px);line-height:1.18;overflow-wrap:anywhere;max-width:100%;margin-bottom:18px}
 #app>section[data-studio=hero] p{font-size:clamp(15px,4.2vw,17px);line-height:1.65;margin-bottom:24px;max-width:100%}
 #app>section[data-studio=hero]>div>div:last-child{height:245px;min-width:0}
 #app>section[data-studio=hero]>div>div:last-child>div:last-child{width:100%;min-width:0;display:flex;justify-content:center}
 #app>section[data-studio=hero]>div>div:last-child img{width:auto;height:auto;max-height:265px;max-width:100%;object-fit:contain}
 #app>section[data-studio=hero] .flex.flex-wrap>button{min-width:0;max-width:100%;font-size:14px;padding:12px 16px}
 .app-bottom-nav{padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right));grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}
 .app-bottom-nav>button>span{font-size:10px;line-height:1.3;white-space:normal;text-align:center}
 .app-bottom-nav svg{width:21px;height:21px;flex-shrink:0}
 .mascot-support>summary img{width:64px;height:64px}
 .mascot-greeting{max-width:min(150px,calc(100dvw - 40px));margin-right:0;font-size:11px}
 .mascot-dismiss{bottom:51px}
 .mascot-options{bottom:130px;max-height:calc(100dvh - 240px - env(safe-area-inset-bottom))}
 .mascot-support.above-compare .mascot-options{max-height:calc(100dvh - 320px - env(safe-area-inset-bottom))}
 .quote-dialog{max-width:100%;min-width:0}.quote-fields>*{min-width:0}
 [data-compare-dock]{width:max-content;max-width:calc(100dvw - 24px);flex-wrap:wrap;justify-content:center}
}
@media(max-width:359px){
 .managed-wordmark{font-size:14px}.managed-wordmark small{font-size:5px}
 .mobile-quick-strip .managed-header-actions>*{font-size:10px;padding-inline:3px}
 #app>section[data-studio=hero] .flex.flex-wrap>button{width:100%}
 .app-bottom-nav>button>span{font-size:9px}
}
/* Shared content must shrink inside the viewport, including long model values. */
#app .grid{min-width:0}
#app :is(h1,h2,h3,p,li,a,strong,dd){overflow-wrap:anywhere}
.product-detail-page{width:100%;min-width:0}
.product-detail-page table{width:100%;table-layout:fixed}
.product-detail-page :is(th,td){white-space:normal;overflow-wrap:anywhere}
.product-detail-page th{width:42%}
.mobile-comparison-cards{display:none}
@media(max-width:767px){
 #app>.max-w-7xl,#app>.editorial-wrap{width:100%;padding-inline:16px;min-width:0}
 .product-detail-page [data-product-image]{height:clamp(220px,42svh,320px)}
 .product-detail-page [data-product-image]>img{max-height:100%!important;padding:18px!important}
 .product-detail-page [data-product-image] a{flex-shrink:0}
 .product-detail-page [data-product-image] a img{width:48px!important;height:48px!important}
 .product-detail-page h1{font-size:clamp(25px,7vw,34px)}
 .product-detail-page .grid-cols-2>div{padding:13px}
 .product-detail-page .grid-cols-2 strong{font-size:15px}
 .product-detail-page .flex-wrap>button{min-width:0;flex:1 1 145px;padding-inline:12px}
 .product-detail-page .border-b.flex{gap:8px}
 .product-detail-page .border-b.flex>button{min-width:0;flex:1;font-size:12px;padding-inline:2px;white-space:normal}
 .product-detail-page .mt-20{margin-top:30px}
 .product-detail-page :is(th,td){font-size:12px;padding:10px}
 .blog-filters{flex-wrap:wrap}.blog-filters>*{min-width:0;max-width:100%}
 .contact-card-grid>*,.quote-fields>*{min-width:0}
 .desktop-comparison-table{display:none}
 .mobile-comparison-cards{display:grid;gap:16px}
 .mobile-comparison-cards article{min-width:0;background:white;border:1px solid #dce5eb;border-radius:14px;padding:16px}
 .mobile-comparison-cards img{height:140px;width:100%;object-fit:contain}
 .mobile-comparison-cards dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;border-bottom:1px solid #e2e8f0;padding:10px 0;font-size:12px}
 .mobile-comparison-cards :is(dt,dd){min-width:0;overflow-wrap:anywhere}
}

/* Blog search and optional filters remain inside their own grid tracks. */
.blog-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:28px}
.blog-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.blog-filters label{min-width:0;display:flex;flex-direction:column;gap:8px}
.blog-filters input,.blog-filters select{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font-size:16px;min-height:48px}
.blog-filters button{min-height:48px}
.blog-filter-options{min-width:0;border:1px solid #d8e2e9;border-radius:12px;background:white}
.blog-filter-options summary{cursor:pointer;padding:14px 16px;font-weight:700;color:#10243b}
.blog-filter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 16px 16px}
.blog-filters .blog-filter-reset{grid-column:1/-1;background:#edf5f5;color:#11868a;white-space:normal}
.blog-result-count{font-size:13px;color:#64748b}
@media(min-width:768px){.blog-filters{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}.blog-result-count{grid-column:1/-1}.blog-search-row{align-items:end}}
