/* Biliton v21.2.34 — Universal Late Hero Override
   ALL inner/public page hero sections => Gallery compact scale.
   Homepage => larger, only slightly compressed.
   Loaded at END of body so it wins over page-specific/inline-body stylesheets.
*/

:root{
  --blt-inner-hero-h:340px;
  --blt-inner-hero-pad:32px;
  --blt-inner-hero-title:clamp(34px,4vw,52px);
  --blt-home-hero-h:520px;
}

/* ==========================================================
   UNIVERSAL INNER-PAGE RULE
   Home is excluded because it contains section.v3-hero.
   This catches previously missed families such as:
   icc-hero, lp26-hero, popdr-hero and future *hero* sections.
   ========================================================== */
body:not(:has(.v3-hero)) section[class*="hero"]{
  min-height:var(--blt-inner-hero-h)!important;
  height:auto!important;
  padding-top:0!important;
  padding-bottom:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
}

/* Article/image headers that are not <section> elements */
body:not(:has(.v3-hero)) header.n25-article-head.has-image{
  min-height:var(--blt-inner-hero-h)!important;
  height:auto!important;
  padding-top:var(--blt-inner-hero-pad)!important;
  padding-bottom:var(--blt-inner-hero-pad)!important;
  overflow:hidden!important;
}

/* First-level containers inside all inner heroes */
body:not(:has(.v3-hero)) section[class*="hero"] > .site-container,
body:not(:has(.v3-hero)) section[class*="hero"] > .v3-container,
body:not(:has(.v3-hero)) section[class*="hero"] > .nd-wrap,
body:not(:has(.v3-hero)) section[class*="hero"] > .wrap,
body:not(:has(.v3-hero)) section[class*="hero"] > .icc-wrap,
body:not(:has(.v3-hero)) section[class*="hero"] > [class*="hero-inner"],
body:not(:has(.v3-hero)) section[class*="hero"] > [class*="hero-content"]{
  min-height:0!important;
  padding-top:var(--blt-inner-hero-pad)!important;
  padding-bottom:var(--blt-inner-hero-pad)!important;
}

/* Common nested content containers */
body:not(:has(.v3-hero)) [class*="hero"] [class*="hero-content"],
body:not(:has(.v3-hero)) [class*="hero"] [class*="hero-copy"],
body:not(:has(.v3-hero)) [class*="hero"] [class*="hero-inner"]{
  padding-top:var(--blt-inner-hero-pad)!important;
  padding-bottom:var(--blt-inner-hero-pad)!important;
}

/* Uniform inner-page H1 */
body:not(:has(.v3-hero)) section[class*="hero"] h1,
body:not(:has(.v3-hero)) header.n25-article-head.has-image h1{
  font-size:var(--blt-inner-hero-title)!important;
  line-height:1.04!important;
  margin-top:0!important;
  margin-bottom:14px!important;
}

/* Uniform inner-page body copy */
body:not(:has(.v3-hero)) section[class*="hero"] p{
  font-size:16px!important;
  line-height:1.5!important;
  margin-top:0!important;
  margin-bottom:12px!important;
}

/* Actions/trust rows */
body:not(:has(.v3-hero)) section[class*="hero"] [class*="actions"],
body:not(:has(.v3-hero)) section[class*="hero"] [class*="trust"]{
  margin-top:16px!important;
}

/* Background/media heroes */
body:not(:has(.v3-hero)) section[class*="hero"] > img,
body:not(:has(.v3-hero)) section[class*="hero"] > video,
body:not(:has(.v3-hero)) section[class*="hero"] [class*="hero-media"]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
}

/* Split-layout visual blocks must not force a hero taller than Gallery */
body:not(:has(.v3-hero)) section[class*="hero"] figure{
  max-height:245px!important;
  overflow:hidden!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
body:not(:has(.v3-hero)) section[class*="hero"] figure img{
  width:100%!important;
  max-height:245px!important;
  object-fit:cover!important;
}

/* Tracking is standalone but should match the same inner-page scale */
.biliton-unified-tracking-shell .hero{
  min-height:var(--blt-inner-hero-h)!important;
  height:auto!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.biliton-unified-tracking-shell .hero .container{
  min-height:var(--blt-inner-hero-h)!important;
  height:auto!important;
  padding-top:var(--blt-inner-hero-pad)!important;
  padding-bottom:var(--blt-inner-hero-pad)!important;
}

/* ==========================================================
   HOMEPAGE — remain visually stronger than internal pages
   ========================================================== */
body:has(.v3-hero) .v3-hero .v3-slide{
  min-height:var(--blt-home-hero-h)!important;
}
body:has(.v3-hero) .v3-hero .v3-slide-content{
  padding-top:78px!important;
  padding-bottom:68px!important;
}
body:has(.v3-hero) .v3-hero .v3-slide h1,
body:has(.v3-hero) .v3-hero .v3-slide-title{
  font-size:clamp(44px,5vw,68px)!important;
  line-height:1!important;
}

/* Some home variants */
body:has(.v3-hero) .hp-hero,
body:has(.v3-hero) .hero-home{
  min-height:var(--blt-home-hero-h)!important;
}

/* Tablet */
@media(max-width:980px){
  :root{
    --blt-inner-hero-h:360px;
    --blt-inner-hero-pad:28px;
    --blt-home-hero-h:480px;
  }
}

/* Mobile */
@media(max-width:700px){
  :root{
    --blt-inner-hero-h:410px;
    --blt-inner-hero-pad:28px;
    --blt-inner-hero-title:clamp(31px,9vw,42px);
    --blt-home-hero-h:540px;
  }

  body:not(:has(.v3-hero)) section[class*="hero"]{
    align-items:center!important;
  }

  body:not(:has(.v3-hero)) section[class*="hero"] figure{
    max-height:180px!important;
  }
  body:not(:has(.v3-hero)) section[class*="hero"] figure img{
    max-height:180px!important;
  }

  body:has(.v3-hero) .v3-hero .v3-slide-content{
    padding-top:58px!important;
    padding-bottom:52px!important;
  }
}
