/* Unified shop flow cleanup */
:root{
  --shop-shell:min(1180px, calc(100% - 32px));
  --shop-header-h:84px;
  --shop-surface:rgba(10,10,10,.84);
  --shop-surface-2:rgba(14,14,14,.92);
  --shop-border:rgba(255,120,30,.14);
  --shop-shadow:0 18px 40px rgba(0,0,0,.24);
  --shop-text:rgba(255,255,255,.88);
  --shop-muted:rgba(255,255,255,.72);
}

body.shop-unified #ember-canvas{
  display:block !important;
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:-10;
  pointer-events:none;
  opacity:.95;
}

body.shop-unified{
  background:
    radial-gradient(circle at top, rgba(255,110,0,.10), transparent 34%),
    linear-gradient(180deg, #090909 0%, #070707 55%, #060606 100%) !important;
  color:#fff;
}

body.shop-unified .global-vignette,
body.shop-unified .global-noise,
body.shop-unified .side-rails,
body.shop-unified .edge-fire,
body.shop-unified .section-atmo,
body.shop-unified .optional-bg,
body.shop-unified .optional-card-bg,
body.shop-unified .footer-fire{
  display:none !important;
}

body.shop-unified .section::before,
body.shop-unified .hero::before,
body.shop-unified .hero::after,
body.shop-unified .has-optional-bg::before,
body.shop-unified .has-optional-bg::after,
body.shop-unified .has-optional-card-bg::before,
body.shop-unified .has-optional-card-bg::after{
  content:none !important;
  display:none !important;
}

body.shop-unified .section,
body.shop-unified .hero,
body.shop-unified .hero-card,
body.shop-unified .glass,
body.shop-unified .path-card,
body.shop-unified .quick-tile,
body.shop-unified .footer-card,
body.shop-unified .shop-card,
body.shop-unified .shop-card-inner,
body.shop-unified .product-card,
body.shop-unified .meal-card,
body.shop-unified .cart-panel,
body.shop-unified .summary-card,
body.shop-unified .hero-panel,
body.shop-unified .cart-card,
body.shop-unified .details,
body.shop-unified .confirmation .hero,
body.shop-unified .checkout-form,
body.shop-unified .checkout-side{
  box-shadow:var(--shop-shadow) !important;
}

body.shop-unified .site-header,
body.shop-unified .topbar{
  position:sticky !important;
  top:0;
  inset:auto;
  height:auto !important;
  z-index:9000;
  display:flex;
  align-items:center;
  min-height:var(--shop-header-h);
  padding:12px 0;
  background:rgba(0,0,0,.88) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,110,0,.10);
}

body.shop-unified .header-shell,
body.shop-unified .topbar-inner,
body.shop-unified .topbar .shell,
body.shop-unified .confirmation-footer-inner,
body.shop-unified .shell,
body.shop-unified .container{
  width:var(--shop-shell);
}

body.shop-unified .header-shell,
body.shop-unified .topbar-inner{
  gap:18px !important;
  align-items:center;
}

body.shop-unified .brand-logo,
body.shop-unified .header-logo{
  width:64px !important;
  height:auto !important;
}

body.shop-unified .brand-kicker,
body.shop-unified .brand small{
  font-size:.62rem !important;
  letter-spacing:.22em !important;
}

body.shop-unified .brand-name,
body.shop-unified .brand > span:last-child,
body.shop-unified .topbar .brand span:last-child{
  font-size:1rem !important;
}

body.shop-unified .header-cart-link,
body.shop-unified .cart-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px !important;
  min-height:36px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,120,30,.20) !important;
  background:linear-gradient(180deg, rgba(255,120,30,.10), rgba(0,0,0,.18)) !important;
  box-shadow:none !important;
  font-size:.69rem !important;
  font-weight:800 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase;
}

body.shop-unified .header-cart-link::after,
body.shop-unified .cart-chip::after{
  display:none !important;
}

body.shop-unified .header-cart-link .cart-count,
body.shop-unified .cart-chip .cart-count,
body.shop-unified .cart-chip .inferno-cart-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px !important;
  height:18px !important;
  padding:0 5px !important;
  border-radius:999px !important;
  font-size:.58rem !important;
  line-height:18px !important;
  background:linear-gradient(180deg, rgba(255,175,70,.90), rgba(255,100,20,.86)) !important;
  color:#150700 !important;
  box-shadow:none !important;
}

body.shop-unified .hero,
body.shop-unified main,
body.shop-unified .page-wrap{
  padding-top:0 !important;
}

body.shop-unified .footer,
body.shop-unified .confirmation-footer{
  background:linear-gradient(180deg, rgba(8,8,8,.90), rgba(4,4,4,.98)) !important;
  border-top:1px solid rgba(255,110,0,.08);
}

body.shop-unified .footer-grid{
  gap:18px !important;
}

body.shop-unified .confirmation{
  gap:22px !important;
}

body.shop-unified .hero-card,
body.shop-unified .details,
body.shop-unified .checkout-form,
body.shop-unified .checkout-side,
body.shop-unified .confirmation .hero{
  border:1px solid var(--shop-border) !important;
  background:linear-gradient(180deg, rgba(16,16,16,.92), rgba(8,8,8,.94)) !important;
}

body.shop-unified .section,
body.shop-unified .hero,
body.shop-unified .content-section{
  isolation:isolate;
}

@media (max-width: 900px){
  body.shop-unified .header-shell,
  body.shop-unified .topbar-inner{
    grid-template-columns:auto 1fr auto !important;
  }
}

@media (max-width: 640px){
  :root{ --shop-header-h:72px; }
  body.shop-unified .header-shell,
  body.shop-unified .topbar-inner,
  body.shop-unified .topbar .shell,
  body.shop-unified .shell,
  body.shop-unified .container{ width:min(100% - 20px, 1180px); }

  body.shop-unified .brand,
  body.shop-unified .header-brand-link{ gap:10px !important; }

  body.shop-unified .brand-logo,
  body.shop-unified .header-logo{ width:52px !important; }

  body.shop-unified .brand-kicker,
  body.shop-unified .brand small{ font-size:.54rem !important; letter-spacing:.18em !important; }

  body.shop-unified .brand-name,
  body.shop-unified .brand > span:last-child,
  body.shop-unified .topbar .brand span:last-child{ font-size:.88rem !important; }

  body.shop-unified .header-cart-link,
  body.shop-unified .cart-chip{
    gap:6px !important;
    min-height:32px !important;
    padding:0 10px !important;
    font-size:.60rem !important;
    letter-spacing:.08em !important;
  }

  body.shop-unified .header-cart-link .cart-count,
  body.shop-unified .cart-chip .cart-count,
  body.shop-unified .cart-chip .inferno-cart-pill{
    min-width:16px !important;
    height:16px !important;
    padding:0 4px !important;
    font-size:.52rem !important;
    line-height:16px !important;
  }
}

/* ==========================================================
   Shop flow final cleanup: embers, spacing, images, mobile
   ========================================================== */
body.shop-unified{
  position:relative;
  overflow-x:hidden;
}

body.shop-unified #ember-canvas{
  display:block !important;
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  z-index:0 !important;
  pointer-events:none !important;
  opacity:.9 !important;
}

body.shop-unified .site-header,
body.shop-unified .topbar{
  z-index:9000 !important;
}

body.shop-unified main,
body.shop-unified .page-wrap,
body.shop-unified .content,
body.shop-unified .footer,
body.shop-unified .confirmation-footer{
  position:relative;
  z-index:1;
}

body.shop-unified .hero,
body.shop-unified .hero-shop{
  padding:120px 0 60px !important;
}

body.shop-unified .section,
body.shop-unified .content-section{
  padding-top:76px !important;
  padding-bottom:76px !important;
}

body.shop-unified .hero + .section,
body.shop-unified .hero-shop + .section,
body.shop-unified .hero + .content,
body.shop-unified .hero-shop + .content{
  padding-top:54px !important;
}

body.shop-unified .cta-band{
  padding-top:0 !important;
  padding-bottom:76px !important;
}

body.shop-unified .footer,
body.shop-unified .confirmation-footer{
  padding-top:34px !important;
  padding-bottom:28px !important;
}

body.shop-unified img{
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}

body.shop-unified .hero-panel-media::before,
body.shop-unified .hero-panel-media::after,
body.shop-unified .shop-visual::before,
body.shop-unified .shop-visual::after,
body.shop-unified .product-image::before,
body.shop-unified .product-image::after,
body.shop-unified .product-media::before,
body.shop-unified .product-media::after,
body.shop-unified .meal-image::before,
body.shop-unified .meal-image::after,
body.shop-unified .meal-media::before,
body.shop-unified .meal-media::after,
body.shop-unified .checkout-image-panel::before,
body.shop-unified .checkout-image-panel::after{
  content:none !important;
  display:none !important;
  background:none !important;
}

body.shop-unified .hero-panel-media img,
body.shop-unified .shop-visual img,
body.shop-unified .product-card img,
body.shop-unified .meal-card img,
body.shop-unified .checkout-image-panel img{
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}

body.shop-unified [data-lightbox-src]{
  cursor:zoom-in;
}

body.shop-unified [data-lightbox-src] img{
  cursor:zoom-in;
}

@media (max-width: 900px){
  body.shop-unified .hero,
  body.shop-unified .hero-shop{
    padding:96px 0 50px !important;
  }

  body.shop-unified .section,
  body.shop-unified .content-section{
    padding-top:60px !important;
    padding-bottom:60px !important;
  }

  body.shop-unified .hero + .section,
  body.shop-unified .hero-shop + .section,
  body.shop-unified .hero + .content,
  body.shop-unified .hero-shop + .content{
    padding-top:42px !important;
  }
}

@media (max-width: 640px){
  body.shop-unified .hero,
  body.shop-unified .hero-shop{
    padding:78px 0 42px !important;
  }

  body.shop-unified .section,
  body.shop-unified .content-section{
    padding-top:46px !important;
    padding-bottom:46px !important;
  }

  body.shop-unified .hero + .section,
  body.shop-unified .hero-shop + .section,
  body.shop-unified .hero + .content,
  body.shop-unified .hero-shop + .content{
    padding-top:34px !important;
  }

  body.shop-unified .hero-grid,
  body.shop-unified .shop-grid,
  body.shop-unified .products-grid,
  body.shop-unified .product-grid,
  body.shop-unified .meals-grid,
  body.shop-unified .checkout-grid,
  body.shop-unified .footer-grid{
    gap:18px !important;
  }

  body.shop-unified .hero-title,
  body.shop-unified .section-title,
  body.shop-unified h1,
  body.shop-unified h2{
    margin-bottom:14px !important;
  }

  body.shop-unified p,
  body.shop-unified .hero-lead,
  body.shop-unified .hero-copy{
    margin-bottom:14px;
    line-height:1.58;
  }

  body.shop-unified .hero-panel,
  body.shop-unified .hero-card,
  body.shop-unified .glass,
  body.shop-unified .product-card,
  body.shop-unified .meal-card,
  body.shop-unified .checkout-form,
  body.shop-unified .checkout-side,
  body.shop-unified .details{
    margin-top:0 !important;
  }

  body.shop-unified img{
    max-width:100% !important;
    height:auto;
  }

  body.shop-unified .hero-panel-media,
  body.shop-unified .shop-visual,
  body.shop-unified .checkout-image-panel{
    min-height:220px;
  }

  body.shop-unified .footer,
  body.shop-unified .confirmation-footer{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }
}

@media (max-width: 430px){
  body.shop-unified .hero,
  body.shop-unified .hero-shop{
    padding:72px 0 38px !important;
  }

  body.shop-unified .section,
  body.shop-unified .content-section{
    padding-top:40px !important;
    padding-bottom:40px !important;
  }

  body.shop-unified .shell,
  body.shop-unified .container,
  body.shop-unified .header-shell,
  body.shop-unified .topbar-inner,
  body.shop-unified .topbar .shell{
    width:min(100% - 18px, 1180px) !important;
  }

  body.shop-unified .hero-panel,
  body.shop-unified .hero-card,
  body.shop-unified .product-body,
  body.shop-unified .meal-body,
  body.shop-unified .checkout-form,
  body.shop-unified .checkout-side,
  body.shop-unified .details,
  body.shop-unified .footer-card{
    padding:18px !important;
  }
}

@media (max-width: 375px){
  body.shop-unified .hero,
  body.shop-unified .hero-shop{
    padding:68px 0 34px !important;
  }

  body.shop-unified .section,
  body.shop-unified .content-section{
    padding-top:36px !important;
    padding-bottom:36px !important;
  }

  body.shop-unified .hero-grid,
  body.shop-unified .shop-grid,
  body.shop-unified .products-grid,
  body.shop-unified .product-grid,
  body.shop-unified .meals-grid,
  body.shop-unified .checkout-grid,
  body.shop-unified .footer-grid{
    gap:16px !important;
  }
}
