
/* ---- shared mobile layout and header consistency ---- */
html,body{width:100%;max-width:100%;overflow-x:hidden}
header{min-width:0}
.logo{min-width:0;flex:none}
.acts{min-width:0;flex:none}
.page,.reviews-page,.slide{width:100%;min-width:0}
.card,.cw,.info,.ph,.phead,.reviews-layout,.review-card,.review-form-card{min-width:0}
.info h3,.info p,.pdesc,.review-card p,.review-form-card .sub{overflow-wrap:anywhere}
#featured .fgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){
 body{font-size:16px}
 header{padding-inline:12px}
 .logo img{height:40px;max-width:48px}
 .acts{gap:6px}
 .acts .ic{width:42px;height:42px}
 .acts .btn.sm{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .page{padding-inline:18px}
 .reviews-page{padding-inline:18px}
 #featured .fgrid{grid-template-columns:1fr;max-width:none}
 .grid{grid-template-columns:1fr!important;min-width:0}
 .ph{aspect-ratio:16/9}
 .info{padding:16px}
 .info h3{font-size:19px;line-height:1.2}
 .info p{font-size:15px;line-height:1.45;min-height:0}
 .vp{min-width:0;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}
 .vo{flex:0 0 auto;max-width:calc(100vw - 70px)}
 .ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
 .ba .btn{min-width:0;white-space:normal;line-height:1.2}
 .shop-filters{min-width:0}
 .shop-filters label{min-width:0}
 .filter-menu{min-width:0;width:100%}
 .filter-trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #chips{width:100%!important;max-width:100%;overflow:visible!important}
 #chips button{min-width:0;max-width:100%;white-space:normal;text-align:left}
 .nudge,.gwn{max-width:calc(100vw - 24px);overflow:hidden}
 .nudge .nd-t,.gwn-t{min-width:0;overflow-wrap:anywhere}
 .nudge .nd-b,.gwn-b{max-width:100%;white-space:nowrap}
}
@media (max-width:420px){
 .logo img{height:36px}
 .acts .dsc{display:grid}
 .acts .btn.sm{max-width:92px;padding-inline:10px!important}
 .shop-filters{grid-template-columns:1fr!important}
 .reviews-page .reviews-hero h1{font-size:clamp(42px,12vw,60px)}
}
@media (prefers-reduced-motion:reduce){.cw:hover{transform:none}}
