/* V2.12 storefront guardrails: additive only. Existing CSS remains intact. */
.storefront-shell .hero-center,
.storefront-shell .hero-right,
.storefront-shell .hero-banner,
.storefront-shell .promo-carousel,
.storefront-shell .split-feature-media,
.storefront-shell .feature-media-link{min-width:0;}

.storefront-shell .promo-carousel{
  display:block;
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:#f4f7f5;
  border:1px solid var(--line);
  line-height:0;
  box-shadow:var(--shadow);
}
.storefront-shell .promo-slide{
  display:none;
  width:100%;
  height:auto;
  line-height:0;
}
.storefront-shell .promo-slide.is-active{display:block;}
.storefront-shell .promo-slide img{
  display:block;
  width:100% !important;
  height:auto !important;
  max-width:100%;
  object-fit:contain !important;
  object-position:center;
  background:#f4f7f5;
}
.storefront-shell .promo-dots{
  position:absolute;
  left:0;
  right:0;
  bottom:10px;
  display:flex;
  justify-content:center;
  gap:6px;
  z-index:4;
}
.storefront-shell .promo-dots button{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(16,35,59,.28);
}
.storefront-shell .promo-dots button.is-active{background:var(--theme-primary,#0f9f66);}

.storefront-shell .hero-banner>img,
.storefront-shell .hero-banner img[data-hero-image],
.storefront-shell .feature-media-link img{
  display:block;
  width:100% !important;
  height:auto !important;
  max-width:100%;
  object-fit:contain !important;
  object-position:center;
}
.storefront-shell .split-feature-media{
  display:block !important;
  overflow:hidden;
  background:#f7faf8;
  line-height:0;
}
.storefront-shell .feature-media-link{display:block;width:100%;}

/* Product image contract: preserve packshot/label; never crop product art. */
.storefront-shell .product-card .product-media{
  aspect-ratio:1 / 1 !important;
  min-height:0 !important;
  background:#fff !important;
  display:grid;
  place-items:center;
}
.storefront-shell .product-card .product-media img{
  width:100% !important;
  height:100% !important;
  padding:8px;
  object-fit:contain !important;
  object-position:center;
}
.storefront-shell .product-card .product-info h3,
.storefront-shell .product-card .product-name{
  min-height:30px;
  font-size:12px !important;
  line-height:1.35 !important;
}
.storefront-shell .product-card .product-price b{font-size:14px !important;line-height:1.2;}
.storefront-shell .product-card .seller-name,
.storefront-shell .product-card .product-meta,
.storefront-shell .product-card .product-foot{font-size:9px !important;line-height:1.3;}

/* Mobile readability locks. */
@media (max-width:700px){
  .storefront-shell .hero-banner{min-height:0 !important;}
  .storefront-shell .hero-banner .hero-copy h1{font-size:27px !important;line-height:1.08 !important;}
  .storefront-shell .hero-banner .hero-copy p{font-size:11px !important;line-height:1.45 !important;}
  .storefront-shell .trust-row b{font-size:9px !important;}
  .storefront-shell .trust-row small{font-size:8px !important;line-height:1.25;}
  .storefront-shell .section-bar h2{font-size:18px !important;line-height:1.15 !important;}
  .storefront-shell .section-bar p{font-size:10px !important;}
  .storefront-shell .product-card .product-info{padding:9px !important;}
  .storefront-shell .product-card .product-info h3,
  .storefront-shell .product-card .product-name{font-size:11px !important;line-height:1.35 !important;min-height:30px;}
  .storefront-shell .product-card .product-price b{font-size:13px !important;}
  .storefront-shell .product-card .seller-name,
  .storefront-shell .product-card .product-meta,
  .storefront-shell .product-card .product-foot{font-size:8px !important;}
  .storefront-shell .promo-carousel{border-radius:15px;}
  .storefront-shell .promo-dots{bottom:7px;}
  .storefront-shell .pwa-header-install{display:inline-flex !important;font-size:10px !important;padding:7px 10px !important;}
  .storefront-shell .pwa-header-install[hidden]{display:inline-flex !important;}
}
@media (min-width:701px){.storefront-shell .pwa-header-install{display:none;}}

/* V2.13 storefront polish: static right promos, compact feature banner, stronger footer brand. Existing rules are preserved. */
.storefront-shell .promo-stack-static{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
  min-height:0;
}
.storefront-shell .promo-card-static{
  flex:1 1 0;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#f7faf8;
  box-shadow:var(--shadow);
  line-height:0;
  text-decoration:none;
}
.storefront-shell .promo-card-static img{
  display:block;
  width:100% !important;
  height:auto !important;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:center;
}
.storefront-shell .compact-feature{
  display:grid;
  grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);
  align-items:stretch;
  min-height:240px;
  margin-top:24px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--theme-dark,#10243b);
  color:#fff;
  box-shadow:var(--shadow);
}
.storefront-shell .compact-feature-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:26px 28px;
  min-width:0;
}
.storefront-shell .compact-feature-copy .eyebrow{color:var(--theme-primary,#16a36a);}
.storefront-shell .compact-feature-copy h2{
  margin:6px 0 8px;
  color:#fff;
  font-size:30px;
  line-height:1.08;
}
.storefront-shell .compact-feature-subtitle,.storefront-shell .compact-feature-body{
  margin:0 0 12px;
  color:rgba(255,255,255,.78);
  font-size:12px;
  line-height:1.5;
}
.storefront-shell .compact-feature-copy .btn{align-self:flex-start;}
.storefront-shell .compact-feature-media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:240px;
  background:#f7faf8;
  line-height:0;
}
.storefront-shell .compact-feature-media img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:100%;
  max-height:300px;
  object-fit:contain !important;
  object-position:center;
}
.storefront-shell .site-footer .footbrand{align-items:center;}
.storefront-shell .site-footer .footer-logo{flex:none;}
@media (max-width:700px){
  .storefront-shell .promo-stack-static{gap:8px;}
  .storefront-shell .promo-card-static{border-radius:14px;min-height:0;}
  .storefront-shell .compact-feature{grid-template-columns:1fr;min-height:0;border-radius:16px;}
  .storefront-shell .compact-feature-copy{padding:20px 18px;}
  .storefront-shell .compact-feature-copy h2{font-size:22px !important;line-height:1.12 !important;}
  .storefront-shell .compact-feature-subtitle,.storefront-shell .compact-feature-body{font-size:10px !important;}
  .storefront-shell .compact-feature-media{min-height:0;max-height:190px;}
  .storefront-shell .compact-feature-media img{height:auto !important;max-height:190px;}
  .storefront-shell .site-footer .footer-logo{width:60px !important;height:60px !important;}
}

/* Final storefront polish: right promos use intrinsic 20:9 assets; splash is app-like and non-blocking. */
.storefront-shell .promo-stack-static{gap:12px;}
.storefront-shell .promo-card-static{
  flex:0 0 auto;
  width:100%;
  aspect-ratio:20 / 9;
  min-height:0;
  max-height:none;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
  line-height:0;
}
.storefront-shell .promo-card-static img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:center;
  background:#fff;
}
.storefront-shell .compact-feature-copy{
  color:#fff;
}
.storefront-shell .compact-feature-copy h2{
  color:#fff !important;
  text-shadow:0 1px 0 rgba(0,0,0,.08);
}
.storefront-shell .compact-feature-subtitle,
.storefront-shell .compact-feature-body{
  color:rgba(255,255,255,.86) !important;
}
.storefront-shell .compact-feature-copy .eyebrow{
  color:rgba(255,255,255,.78) !important;
}
.storefront-splash{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--theme-soft,#f4f9ff);
  transition:opacity .32s ease, visibility .32s ease;
}
.storefront-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none;}
.storefront-splash-card{
  width:min(82vw,560px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:24px;
  text-align:center;
}
.storefront-splash-card img{
  display:block;
  width:min(72vw,460px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 14px 30px rgba(16,35,59,.10));
}
.storefront-splash-caption{
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--theme-dark,#15304a);
  opacity:.82;
}
@media (max-width:700px){
  .storefront-shell .promo-stack-static{gap:8px;}
  .storefront-shell .promo-card-static{aspect-ratio:20 / 9;border-radius:14px;}
  .storefront-splash-card{width:min(90vw,420px);padding:18px;}
  .storefront-splash-card img{width:min(78vw,360px);}
  .storefront-splash-caption{font-size:10px;}
}
