/* Small layout and accessibility improvements; existing brand colours retained. */
html{scroll-padding-top:24px}
body.frontend-bag-open{overflow:hidden}
#drawer[aria-hidden=true]{visibility:hidden;pointer-events:none}
#drawer.open{visibility:visible;pointer-events:auto;height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}
#drawer .drawerhead{gap:16px;align-items:center}
#drawer #closeCart{min-width:44px;min-height:44px;flex-shrink:0}
#drawer .cartfoot{margin-top:auto;flex-shrink:0}
#drawer .bag-item-copy,#drawer .cartfoot{overflow-wrap:anywhere}
#checkoutInfo{line-height:1.65}
#catalog .product{display:flex;flex-direction:column;min-width:0}
#catalog .product>.controls{margin-top:auto;padding-top:14px;align-content:end}
#catalog .product>.price{margin-bottom:10px}
#catalog .product>.product-open:has(h3){min-height:58px}
#catalog .controls>.card-highlights{width:100%;min-height:100px}
#catalog .controls>[data-add],#catalog .controls>.buy-now{min-width:0;white-space:normal;line-height:1.4}
#catalog .size-options:has(input:focus-visible) {outline-offset:3px}
.product-dialog{box-sizing:border-box;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;border:1px solid #dce1d6;border-radius:14px}
.product-dialog .detail-copy{min-width:0;overflow-wrap:anywhere}
.product-dialog .detail-copy h2{overflow-wrap:anywhere}
.product-dialog .detail-close{position:sticky;top:0;z-index:4;min-width:44px;min-height:44px;border-radius:50%;background:#fafaf6;box-shadow:0 1px 6px #17281e12}
.product-dialog input[type=number]{font-size:16px;min-height:46px}
.product-dialog .purchase-actions{gap:10px}
.product-dialog .purchase-actions>*{min-width:0;white-space:normal;line-height:1.5}
#checkoutDialog input,#checkoutDialog textarea{scroll-margin-block:80px}
#orderForm .payment-instructions,#orderForm .payment-receipt{overflow-wrap:anywhere}
#filters button{min-height:44px;flex-shrink:0}
.shop-tools>*{min-width:0}
.size-choice input:focus-visible+span{outline:2px solid #75876a;outline-offset:3px}
@media(max-width:640px){
 .campaign-store header{height:auto;min-height:80px;gap:12px;padding-block:16px}
 .campaign-store header .logo{font-size:clamp(18px,5.4vw,23px);letter-spacing:-.6px}
 .campaign-store header nav{gap:10px;flex-shrink:0}
 .campaign-store header nav #cartToggle{padding:8px 11px;min-height:44px}
 .campaign-store .filters{gap:8px;padding-bottom:8px;scroll-padding-inline:4px}
 .campaign-store .filters button{padding:10px 14px}
 #catalog .product>.product-open:has(h3){min-height:60px}
 #catalog .product h3{font-size:12px!important;line-height:1.5}
 #catalog .controls>.card-highlights{font-size:11px;min-height:112px;line-height:1.55}
 #catalog .product .controls{gap:8px}
 #catalog .controls>[data-add],#catalog .controls>.buy-now{font-size:11px!important;padding:11px 5px!important;min-height:46px!important;letter-spacing:0}
 .product-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:18px;max-height:calc(100dvh - 20px)}
 .product-dialog .product-detail{gap:18px}
 .product-dialog .detail-copy h2{font-size:24px;line-height:1.3}
 .product-dialog .purchase-actions{grid-template-columns:1fr}
 #drawer{width:min(440px,100vw)}
 #checkoutDialog{padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .footer-links .footer-column a{display:block;padding-block:6px}
}
@media(max-width:360px){.campaign-store header nav>a{display:none}#catalog .product .controls{grid-template-columns:1fr!important}#catalog .controls>.card-highlights{min-height:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:640px){body.campaign-store header>nav{width:auto!important;max-width:none;flex:0 0 auto;margin-left:auto}body.campaign-store header .logo{flex:0 1 auto;min-width:0}body.campaign-store header .mobile-menu{flex:0 0 auto}body.campaign-store header .mobile-menu nav{max-width:calc(100vw - 32px)}}
