/* P1.45.0.10.8.17.4.292 · Premium Health public-surface closure.
   D1/D2 residual only: adaptive pack tracks + large total-price containment.
   Facts register and wishlist polish remain owned by .276/.225. */

body.product-page .product-premium-hero[data-premium-product-hero]>.product-premium-price-rail{
  min-width:0!important;
}
body.product-page .product-premium-hero[data-premium-product-hero]>.product-premium-price-rail>*{
  min-width:0!important;
  max-width:100%!important;
}
body.product-page .product-premium-hero[data-premium-product-hero]>.product-premium-price-rail .product-premium-total{
  min-width:0!important;
  max-width:100%!important;
  grid-template-columns:auto minmax(0,1fr)!important;
}
body.product-page .product-premium-hero[data-premium-product-hero]>.product-premium-price-rail .product-premium-total>strong{
  min-width:0!important;
  max-width:100%!important;
}
body.product-page .product-premium-hero[data-premium-product-hero]>.product-premium-price-rail .product-premium-price-parts,
body.product-page .product-premium-hero[data-premium-product-hero]>.product-premium-price-rail .product-premium-rail-actions{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Above 1180px the price rail is the narrow third hero column. Scale by the
   viewport only in this mode so four-digit euro amounts stay inside the same
   inner edge without weakening the larger full-width tablet/mobile rail. */
@media (min-width:1181px){
  body.product-page .product-premium-hero[data-premium-product-hero]>.product-premium-price-rail .product-premium-total>strong{
    font-size:clamp(2.25rem,2.7vw,3rem)!important;
    letter-spacing:-.045em!important;
    white-space:nowrap!important;
  }
}

/* Desktop/tablet: use the available identity-column width instead of forcing
   every pack into a fixed-width horizontal strip. */
@media (min-width:768px){
  body.product-page [data-p1450108174193-variant-selector="premium"] .product-hero-pack-options{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(min(100px,100%),1fr))!important;
    overflow-x:visible!important;
    gap:4px!important;
    padding:0 0 2px!important;
  }
  body.product-page [data-p1450108174193-variant-selector="premium"] .product-hero-pack-option{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

/* Mobile: one/two variants fit without a fake scrollbar. Three or more keep
   the compact swipe strip so 6/10+ variants do not turn the hero into a wall. */
@media (max-width:767px){
  body.product-page [data-p1450108174193-variant-selector="premium"] .product-hero-pack-options:not(:has(.product-hero-pack-option:nth-child(3))){
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(0,1fr))!important;
    overflow-x:visible!important;
    gap:4px!important;
  }
  body.product-page [data-p1450108174193-variant-selector="premium"] .product-hero-pack-options:not(:has(.product-hero-pack-option:nth-child(3))) .product-hero-pack-option{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  body.product-page [data-p1450108174193-variant-selector="premium"] .product-hero-pack-options:has(.product-hero-pack-option:nth-child(3)){
    display:flex!important;
    overflow-x:auto!important;
    gap:4px!important;
    scroll-snap-type:x proximity;
  }
  body.product-page [data-p1450108174193-variant-selector="premium"] .product-hero-pack-options:has(.product-hero-pack-option:nth-child(3)) .product-hero-pack-option{
    flex:0 0 min(42vw,145px)!important;
    min-width:112px!important;
    max-width:145px!important;
    scroll-snap-align:start;
  }
}
