/* Final responsive safety layer for all customer-facing pages. */
html,body{max-width:100%;overflow-x:hidden}img,svg,video{max-width:100%}table{max-width:100%}button,a,input,select,textarea{max-width:100%}
@media(max-width:1024px){main{width:100%;padding-inline:20px}.head{grid-template-columns:160px minmax(280px,1fr);gap:16px;padding:12px 20px}.head>.nav{grid-column:1/-1;justify-content:flex-end;padding:0 0 4px;flex-wrap:wrap}.catin,.topin,.foot{padding-inline:20px}.cart-layout,.checkout-layout{grid-template-columns:minmax(0,1fr) 300px}.customer-account-shell{width:calc(100% - 28px);margin-inline:14px}.program-grid,.plan-grid,.voucher-grid{min-width:0}}
@media(max-width:760px){body{padding-bottom:62px}main{padding:30px 14px 60px}h1{overflow-wrap:anywhere}.topin{height:28px;padding-inline:14px;font-size:10px}.topin span:last-child{display:none}.header{position:relative;top:auto}.head{min-height:auto;grid-template-columns:1fr;gap:12px;padding:13px 14px}.head .logo{font-size:25px}.head .brand-mark{width:34px;height:34px;border-width:4px}.head>.navbar-search{grid-row:auto;width:100%}.head>.nav{display:none}.catbar{display:block}.catin{height:42px;padding-inline:14px;gap:18px;scrollbar-width:none}.catin::-webkit-scrollbar{display:none}.page-title{margin-bottom:22px}.page-title h1{font-size:clamp(2rem,11vw,3rem)}.cart-layout,.checkout-layout,.support-layout,.product-detail,.budget-panel,.auth-shell{grid-template-columns:minmax(0,1fr)}.cart-page .summary,.checkout-summary{position:static}.product-detail{gap:24px;padding:18px}.big-product-image{min-height:260px}.product-detail form{align-items:stretch;flex-direction:column}.inline-form{align-items:stretch;flex-direction:column}.inline-form .btn{width:100%}.timeline{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.timeline span{min-width:130px;scroll-snap-align:start}.data-list>a,.data-list>div{grid-template-columns:1fr;gap:7px}.customer-account-shell{width:calc(100% - 20px);margin:14px 10px 48px;border-radius:15px}.customer-account-sidebar{position:static;min-height:0;max-height:none}.customer-account-sidebar nav{display:flex;overflow-x:auto;scrollbar-width:none}.customer-account-sidebar nav::-webkit-scrollbar{display:none}.customer-account-sidebar nav section{display:flex;flex:none}.customer-account-sidebar nav a{white-space:nowrap}.account-content{padding:24px 16px 38px}.account-profile-form{padding:16px}.account-subnav{display:flex;max-width:100%;overflow-x:auto;scrollbar-width:none}.account-subnav a{flex:none;white-space:nowrap}.program-hero{grid-template-columns:1fr!important;gap:20px}.points-orb{justify-self:center}.program-grid,.plan-grid,.voucher-grid,.donation-list{grid-template-columns:1fr!important}.footer,.foot{grid-template-columns:1fr 1fr;gap:24px 18px;padding-inline:18px}.foot>div:first-child{grid-column:1/-1}.mobile-nav{display:grid;position:fixed;z-index:100;right:0;bottom:0;left:0;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(43,0,110,.08)}.mobile-nav a{display:flex;min-width:0;align-items:center;justify-content:center;padding:14px 5px;font-size:11px;font-weight:800;text-align:center}}
@media(max-width:520px){main{padding-inline:10px}.trust{grid-template-columns:1fr 1fr;padding:12px}.category-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-card{padding:10px}.product-card h3{font-size:13px}.product-image{height:112px}.cart-page .cart-item{grid-template-columns:50px minmax(0,1fr);gap:10px}.cart-page .quantity-control,.cart-page .line-total{grid-column:2;grid-row:auto;justify-self:start}.cart-page .line-total{text-align:left}.checkout-form,.checkout-summary,.summary,.panel,.confirmation,.legal{padding:18px 14px}.checkout-page .checkout-steps{width:100%}.checkout-steps li>b{max-width:90px;font-size:10px}.available-vouchers article,.applied-voucher{grid-template-columns:auto minmax(0,1fr)}.available-vouchers form,.applied-voucher form{grid-column:2}.auth-shell>section,.auth-shell form,.auth-form{padding:28px 18px}.form-row{align-items:flex-start;flex-direction:column;gap:8px}.foot{grid-template-columns:1fr}.foot>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
