/* Final storefront and touch layout refinements. */
#cartOpen{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 10px;border-radius:999px;transition:background .22s,transform .22s}
#cartOpen:hover{background:#f0f1ed;transform:translateY(-2px)}
#cartOpen .cart-icon{display:block;width:21px;height:21px;flex:none}
#cartOpen .cart-label{font-size:13px;font-weight:700;line-height:1}
#cartOpen #count{display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;box-sizing:border-box;border-radius:50%;font-size:11px;font-weight:800}
@media(max-width:600px){
  header{grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:8px;padding:11px 4% 10px}
  header .logo{font-size:27px;white-space:nowrap}
  header nav{min-width:0;display:flex;justify-content:flex-start;gap:clamp(13px,4vw,24px);padding:8px 54px 0 0;border-top:1px solid #e9eae5;overflow:hidden}
  header nav a{font-size:12px;white-space:nowrap;min-height:38px}
  #cartOpen{grid-column:2;grid-row:2;justify-self:end;align-self:center;width:44px;height:44px;padding:0;position:relative;border:1px solid #e3e5df;background:#f8f9f6}
  #cartOpen .cart-label{display:none}
  #cartOpen .cart-icon{width:21px;height:21px}
  #cartOpen #count{position:absolute;right:-5px;top:-7px;min-width:19px;height:19px;font-size:10px;background:#161916;color:#fff;border:2px solid #fff}
  .account-zone{max-width:min(48vw,190px);gap:2px}
  .account-zone .profile-button{font-size:12px;min-height:33px;max-width:100%;line-height:1.2}
  .balance-button{font-size:10px;padding:4px 8px;min-height:29px}
  .hero-copy{padding:41px 4% 28px}
  .hero h1{font-size:clamp(36px,10vw,50px);line-height:1.03}
  .hero .intro{font-size:14px;line-height:1.65}
  .hero-actions .cta{min-height:48px}
  .hero-image{height:310px!important;min-height:310px!important;max-height:310px!important}
  .hero-products{padding:18px 4px!important}
  .brand-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 6px;padding:24px 4%;font-size:17px}
  .catalog{padding:52px 4% 76px}
  .section-head h2{font-size:clamp(31px,8vw,39px)}
  .catalog-bar{margin-top:22px}
  .filters{margin-right:-4vw;padding-right:4vw;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .filters button{scroll-snap-align:start;min-height:43px}
  .grid{grid-template-columns:1fr;gap:30px}
  .product-image{aspect-ratio:4/4.3}
  .product-meta{display:flex;align-items:baseline;gap:12px}
  .product-meta span{margin-top:0;margin-left:auto}
  .product-meta strong,.product-meta span{font-size:15px}
  .product p{font-size:13px}
  .contact-section{padding:55px 4%}
  .channel-card{padding:18px;gap:13px}
  .channel-name{font-size:21px}
  footer{padding:30px 4%;gap:12px 22px}
  dialog{margin:auto;max-height:calc(100dvh - 20px)}
  #cartDialog,#productDialog,.account-dialog{width:calc(100vw - 20px);box-sizing:border-box}
  #cartDialog{padding:46px 20px 24px;border-radius:18px}
  .account-dialog{max-height:calc(100dvh - 20px)}
  .account-dialog input,.account-dialog textarea,#productDialog select{font-size:16px}
}
@media(max-width:370px){header nav{gap:10px}header nav a{font-size:11px}.account-zone{max-width:160px}.hero h1{font-size:35px}.hero-image{height:275px!important;min-height:275px!important;max-height:275px!important}}
@media(prefers-reduced-motion:reduce){#cartOpen{transition:none}}
