/* Responsive layer: loaded after the base theme. */
html,body{max-width:100%;overflow-x:clip}
.menu-toggle{display:none}
.mobile-nav,.mobile-cart[hidden]{display:none!important}
.product-card,.store-card,.summary-item,.cart-line{min-width:0}
.product-name button,.cart-line h3,.summary-item b{overflow-wrap:anywhere}

@media(max-width:1200px){
  .shell{width:min(100% - 32px,1120px)}
  .desktop-nav{gap:18px}
  .header-inner{gap:16px}
  .hero-copy{padding:56px 44px}
  .about-grid{gap:48px}
  .contact-card{padding:56px 48px}
}

@media(max-width:1020px){
  html{scroll-padding-top:86px}
  .desktop-nav{display:none}
  .menu-toggle{display:inline-flex;position:relative;width:48px;height:44px;border:1px solid var(--line);border-radius:999px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer}
  .menu-toggle span{display:block;width:18px;height:1.5px;background:var(--ink);transition:transform .2s,opacity .2s}
  .menu-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
  .mobile-nav:not([hidden]){display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-top:8px;padding-bottom:18px}
  .mobile-nav a{min-height:46px;display:flex;align-items:center;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}
  .mobile-nav a:last-child{color:var(--gold-dark)}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:32px}
  .footer-brand{grid-column:1/-1}
}

@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:54px 48px}
  .hero-visual{min-height:520px}
  .hero-card{left:28px;right:28px}
  .about-grid{grid-template-columns:1fr;gap:42px}
  .about-images img:first-child,.about-images img{height:min(70vw,620px)}
  .delivery-card{grid-template-columns:1fr;gap:38px;padding:50px}
  .contact-card{align-items:flex-start;flex-direction:column;gap:34px}
  .contact-buttons{justify-content:flex-start;max-width:none}
  .product-dialog-body{grid-template-columns:1fr;min-height:0}
  .product-gallery{min-height:460px}
  .product-main-image{height:430px}
  .product-detail{padding:44px 42px}
  .checkout-layout{grid-template-columns:1fr}
  .checkout-summary{order:-1}
}

@media(max-width:760px){
  html{scroll-padding-top:78px}
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  .shell{width:min(100% - 28px,620px)}
  .announcement{height:auto;min-height:30px;padding:6px 14px;text-align:center;line-height:1.35}
  .header-inner{height:66px;gap:10px}
  .brand{gap:8px;font-size:13px;letter-spacing:.14em}
  .brand img{width:34px;height:34px}
  .phone-link,.cart-button span{display:none}
  .header-actions{gap:8px}
  .cart-button{width:44px;height:44px;padding:0;justify-content:center}
  .cart-button b{position:absolute;right:-5px;top:-5px;margin:0}
  .mobile-nav:not([hidden]){grid-template-columns:1fr 1fr;padding-bottom:14px}
  .mobile-nav a:nth-child(odd){border-right:1px solid var(--line);padding-right:12px}
  .mobile-nav a:nth-child(even){padding-left:16px}
  .hero{padding:0 0 52px}
  .hero-grid{width:100%;display:flex;flex-direction:column}
  .hero-copy{padding:40px 22px 44px}
  .hero h1{font-size:clamp(40px,12vw,54px);line-height:1.02}
  .hero-copy>p{font-size:16px;margin:22px 0}
  .hero-actions{align-items:stretch;gap:14px}
  .hero-actions .button{width:100%}
  .hero-actions .text-link{text-align:center;padding:11px 4px}
  .hero-proof{margin-top:28px;gap:9px 16px}
  .hero-visual{min-height:390px}
  .hero-card{left:14px;right:14px;bottom:14px;padding:18px}
  .catalog-section{padding:62px 0 76px}
  .section-heading{display:block;margin-bottom:28px}
  .section-heading h2{font-size:clamp(36px,10vw,48px)}
  .section-heading>p{margin-top:16px}
  .catalog-toolbar{grid-template-columns:1fr}
  .search-field,.sort-field{min-width:0}
  .sort-field select{max-width:65%}
  .category-chips{margin-right:-14px;padding-right:14px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 10px}
  .product-name{font-size:17px;min-height:44px}
  .product-kicker{font-size:10px;line-height:1.35;min-height:27px}
  .product-bottom{align-items:center}
  .product-price{font-size:14px;flex-wrap:wrap;gap:2px 6px}
  .quick-add{min-width:40px;width:40px;height:40px}
  .promise-grid{grid-template-columns:1fr 1fr;gap:28px 12px}
  .stores-section{padding:72px 0 76px}
  .stores-heading h2 br{display:none}
  .store-grid{grid-template-columns:1fr}
  .store-card{min-height:0;padding:22px}
  .store-card h3{font-size:22px}
  .about-section{padding:76px 0}
  .about-images img:first-child,.about-images img{height:min(118vw,520px)}
  .about-copy h2{font-size:clamp(38px,11vw,46px)}
  .about-copy>p{font-size:16px}
  .delivery-section{padding-bottom:76px}
  .delivery-card{padding:38px 24px}
  .delivery-facts{grid-template-columns:1fr}
  .delivery-facts div{min-height:94px}
  .contact-card{padding:42px 24px}
  .contact-card h2{font-size:clamp(36px,10vw,48px);line-height:1.08}
  .contact-details{display:block}
  .contact-details a{display:block;width:max-content;max-width:100%;margin-top:10px;overflow-wrap:anywhere}
  .contact-buttons{width:100%;flex-direction:column}
  .contact-buttons .button{width:100%}
  .footer-grid{grid-template-columns:1fr 1fr;gap:34px 20px}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{display:block}
  .overlay{padding:0;place-items:end}
  .dialog{width:100%;max-height:100dvh}
  .product-gallery{min-height:370px;padding:22px}
  .product-main-image{height:340px}
  .product-detail{padding:34px 20px 40px}
  .product-detail h2{font-size:32px}
  .detail-note{flex-direction:column;gap:5px}
  .checkout-dialog{padding:40px 18px calc(28px + env(safe-area-inset-bottom))}
  .checkout-dialog h2{font-size:36px}
  .checkout-layout{display:block}
  .checkout-summary{margin:0 0 26px;padding:22px}
  .form-grid{grid-template-columns:1fr}
  .cart-items{padding:6px 18px}
  .cart-footer{padding:20px 18px calc(22px + env(safe-area-inset-bottom))}
  .cart-line{grid-template-columns:68px minmax(0,1fr) auto;gap:10px}
  .cart-line img{width:68px;height:88px}
  .mobile-cart{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom))}
}

@media(max-width:480px){
  .shell{width:calc(100% - 24px)}
  .brand strong{font-size:12px}
  .menu-toggle{width:44px}
  .hero-copy{padding-left:18px;padding-right:18px}
  .hero h1{font-size:clamp(38px,12vw,46px)}
  .hero-visual{min-height:350px}
  .hero-card span{font-size:12px}
  .promise-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
  .summary-item{grid-template-columns:42px minmax(0,1fr)}
  .summary-item>strong{grid-column:2;text-align:left}
  .cart-line{grid-template-columns:60px minmax(0,1fr)}
  .cart-line img{width:60px;height:78px}
  .cart-price{grid-column:2;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px}
  .remove-line{display:inline;margin:0;padding:0}
}

@media(max-width:350px){
  .brand strong{display:none}
  .product-grid{grid-template-columns:1fr}
  .product-name{min-height:0}
  .product-kicker{min-height:0}
}

@media(hover:none){
  .button:hover,.store-card:hover{transform:none}
  .product-card:hover .product-media img{transform:none}
}
