/* Shared type scale. Small text remains readable at normal browser zoom. */
:root{--font-caption:12px;--font-meta:13px;--font-small:14px;--font-ui:15px;--font-body:16px;--font-lead:18px;--font-subheading:20px}
body{font-size:var(--font-body);line-height:1.7}
.prose,.editorial .prose,.category-editorial .prose,.product-editorial .prose,.landing-editorial .prose{font-size:18px;line-height:1.85}
.prose h2{font-size:28px}.prose h3{font-size:23px}.prose h4{font-size:20px}
.product-title,.landing-product-grid .product-title{font-size:18px;line-height:1.5}
.product-bottom,.landing-product-grid .product-bottom{flex-wrap:wrap;gap:8px}
.product-bottom strong,.landing-product-grid .product-bottom strong{font-size:18px}
.announcement{height:auto;min-height:36px;padding:7px 18px;flex-wrap:wrap;text-align:center;line-height:1.6}
.hero-caption{gap:10px;flex-wrap:wrap;line-height:1.6}
.nav-dropdown{max-height:calc(100dvh - 130px);overflow-y:auto}
.header-inner{gap:20px}.main-nav{font-size:15px;gap:16px}
.button{white-space:normal;text-align:center;line-height:1.5}
.section-heading{flex-wrap:wrap}
.catalog-controls{flex-wrap:wrap}
.form-stack input:not([type=checkbox]):not([type=color]),.form-stack textarea,.form-stack select,.admin-body .form-stack input:not([type=checkbox]):not([type=color]),.admin-body .form-stack textarea,.admin-body .form-stack select,.newsletter input{font-size:16px}
.admin-body{font-size:16px}.admin-body .cms-writing-area{font-size:16px;line-height:1.8}
.admin-body .cms-topbar{height:auto;min-height:70px;padding-block:14px;gap:10px;flex-wrap:wrap}
/* Switch to the existing expandable menu before larger labels become cramped. */
@media(max-width:1280px){
 .mobile-toggle{display:flex}
 .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:12px 24px 24px;border-bottom:1px solid var(--line);max-height:calc(100dvh - 110px);overflow-y:auto}
 .main-nav.is-open{display:block}
 .main-nav .nav-item{display:grid;grid-template-columns:minmax(0,1fr) 44px;width:100%}
 .main-nav .nav-item>a{padding:14px 0;font-size:16px;border-bottom:1px solid #eee;white-space:normal}
 .main-nav .nav-item>a>.icon{display:none}
 .main-nav .nav-expand{display:flex;align-items:center;justify-content:center}
 .main-nav .nav-item .nav-dropdown,.main-nav .nav-item:hover .nav-dropdown,.main-nav .nav-item:focus-within .nav-dropdown{display:none;position:static;grid-column:1/-1;left:auto;right:auto;width:100%;max-height:none;transform:none;opacity:1;visibility:visible;border:0;box-shadow:none;padding:8px 0 16px}
 .main-nav .nav-item.is-expanded .nav-dropdown{display:block}
 .main-nav .nav-item.is-expanded .nav-dropdown.mega-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .main-nav .nav-item.is-expanded .nav-expand .icon{transform:rotate(180deg)}
 .main-nav .nav-dropdown>a{font-size:16px;margin:8px 0;padding:8px 0}
 .main-nav .mega-column a{font-size:14px;padding:10px 7px}
 .main-nav .mega-column .mega-heading{font-size:16px}
}
@media(max-width:600px){
 .prose,.editorial .prose,.category-editorial .prose,.product-editorial .prose,.landing-editorial .prose{font-size:16px;line-height:1.85}
 .prose h2{font-size:24px}.prose h3{font-size:21px}.prose h4{font-size:19px}
 .product-title,.landing-product-grid .product-title{font-size:16px;line-height:1.5;min-height:48px}
 .product-bottom strong,.landing-product-grid .product-bottom strong{font-size:16px}
 .product-info>p{font-size:13px;line-height:1.7}
 .landing-view-all .button,.landing-actions .button{font-size:14px}
 .section-heading>.text-link{white-space:normal}
 .catalog-controls input{width:100%;min-width:0}
 .catalog-controls select{max-width:100%}
 .main-nav{padding-inline:18px}
}
