/* V180 Etappe 2. First important layer; scoped to the 30 photographic heroes.
   V174 Easy Chester reference: full image, 1920px width cap, #051E32 surround.
   No fixed image/hero height. Text falls back to normal flow when it cannot fit. */
@layer comemso-hero-v180 {
  body[data-v180-hero-page] :is(#main-content, #page-content) {
    width:100%!important; max-width:none!important; margin:0!important; padding:0!important;
  }
  [data-v180-width-hero], [data-v180-width-hero] * { box-sizing:border-box!important; }
  [data-v180-width-hero] {
    --hero-art-max-width:1920px!important;
    position:relative!important; isolation:isolate!important; display:flex!important;
    flex-direction:column!important; width:100%!important; max-width:none!important;
    height:auto!important; min-height:0!important; max-height:none!important;
    margin:0!important; padding:0!important; border:0!important; border-radius:0!important;
    background:#051E32!important; overflow:visible!important; aspect-ratio:auto!important;
    box-shadow:none!important; filter:none!important; mask:none!important; transform:none!important;
  }
  [data-v180-width-hero]::before, [data-v180-width-hero]::after,
  [data-v180-width-hero] .cmo-fullbleed-art::before, [data-v180-width-hero] .cmo-fullbleed-art::after,
  [data-v180-width-hero] .cmo-home-stage::before, [data-v180-width-hero] .cmo-home-stage::after,
  [data-v180-width-hero] .cmo-home-scene__media::before, [data-v180-width-hero] .cmo-home-scene__media::after {
    content:none!important;
  }
  [data-v180-width-hero] > .cmo-fullbleed-art {
    position:relative!important; inset:auto!important; order:2!important; display:block!important;
    width:100%!important; max-width:var(--hero-art-max-width)!important; min-width:0!important;
    height:auto!important; min-height:0!important; max-height:none!important;
    margin:0 auto!important; padding:0!important; border:0!important; border-radius:0!important;
    background:transparent!important; box-shadow:none!important; aspect-ratio:auto!important;
    overflow:visible!important; transform:none!important;
  }
  [data-v180-width-hero] :is(.cmo-fullbleed-art, .cmo-home-scene__media) img {
    display:block!important; position:static!important; inset:auto!important;
    width:100%!important; max-width:none!important; min-width:0!important;
    height:auto!important; min-height:0!important; max-height:none!important;
    aspect-ratio:auto!important; object-fit:contain!important; object-position:center!important;
    margin:0!important; padding:0!important; border:0!important; border-radius:0!important;
    filter:none!important; mask:none!important; opacity:1!important; mix-blend-mode:normal!important;
    transform:none!important; box-shadow:none!important;
  }
  [data-v180-width-hero="detail"] > .cmo-hero-layout {
    position:relative!important; inset:auto!important; order:1!important; z-index:1!important;
    display:flex!important; flex-direction:column!important; justify-content:center!important;
    align-items:stretch!important; gap:20px!important; width:100%!important;
    max-width:var(--content-width,1180px)!important; min-width:0!important;
    height:auto!important; min-height:0!important; max-height:none!important;
    margin:0 auto!important; padding:32px var(--content-gutter,24px)!important;
    background:#fff!important; color:#001c32!important; overflow:visible!important;
    transform:none!important; border:0!important; box-shadow:none!important;
  }
  [data-v180-width-hero="detail"] :is(.cmo-hero-heading-row, .cmo-hero-copy) {
    display:block!important; position:static!important; inset:auto!important; width:100%!important;
    max-width:none!important; min-width:0!important; height:auto!important;
    min-height:0!important; max-height:none!important; margin:0!important; padding:0!important;
    background:transparent!important; color:inherit!important; overflow:visible!important; transform:none!important;
  }
  [data-v180-width-hero="detail"] :is(h1,p) {
    color:inherit!important; -webkit-text-fill-color:currentColor!important;
    max-width:none!important; text-shadow:none!important; opacity:1!important;
  }
  [data-v180-width-hero="detail"] h1 {
    margin:0!important; padding:0!important; font-size:clamp(2rem,3vw,3.3rem)!important;
    line-height:1.15!important; overflow-wrap:break-word!important; hyphens:auto;
  }
  [data-v180-width-hero="detail"] .cmo-hero-copy > p {
    margin:0 0 16px!important; padding:0!important;
    font-size:clamp(1rem,1.25vw,1.15rem)!important; line-height:1.55!important;
  }
  [data-v180-width-hero="detail"] .cmo-hero-heading-row > p {
    margin:0 0 16px!important; padding:0!important; font-size:.875rem!important;
    line-height:1.4!important; letter-spacing:.05em!important; color:#006097!important;
  }
  [data-v180-width-hero="detail"] :is([data-design-actions], .emc179-actions) {
    display:flex!important; flex-wrap:wrap!important; gap:12px!important; width:100%!important;
    margin:24px 0 0!important; padding:0!important; background:transparent!important; color:inherit!important;
  }
  [data-v180-width-hero="detail"] :is([data-design-actions], .emc179-actions) > a {
    display:inline-flex!important; align-items:center!important; justify-content:center!important;
    width:auto!important; max-width:100%!important; min-width:0!important;
    min-height:48px!important; height:auto!important; padding:12px 18px!important;
    font-size:1rem!important; line-height:1.35!important; white-space:normal!important;
    text-align:center!important; text-decoration:none!important; overflow-wrap:anywhere!important;
    -webkit-text-fill-color:currentColor!important;
  }
  [data-v180-width-hero="detail"] :is([data-design-button="primary"], .emc179-primary) {
    background:#006097!important; color:#fff!important; border:1px solid #006097!important;
  }
  [data-v180-width-hero="detail"] :is([data-design-button="outline"], .emc179-secondary) {
    background:transparent!important; color:inherit!important; border:1px solid currentColor!important;
  }
  [data-v180-width-hero="detail"][data-hero-flow="overlay"] > .cmo-hero-layout {
    position:absolute!important; top:50%!important; left:50%!important;
    transform:translate(-50%,-50%)!important; background:transparent!important; color:#fff!important;
  }
  [data-v180-width-hero="detail"][data-hero-flow="overlay"] :is(.cmo-hero-heading-row, .cmo-hero-copy) {
    width:46%!important; max-width:590px!important;
  }
  [data-v180-width-hero="detail"][data-hero-flow="overlay"] .cmo-hero-heading-row > p {
    color:#53d4fa!important;
  }
  [data-v180-width-hero] :is(a,button):focus-visible {
    outline:3px solid #006097!important; outline-offset:4px!important;
  }
  [data-v180-width-hero][data-hero-flow="overlay"] :is(a,button):focus-visible {
    outline-color:#79dcff!important;
  }

  /* Home: existing five slide positions, controls, labels and order are retained. */
  [data-v180-width-hero="home"] .cmo-home-stage {
    --home-text:#001c32!important; --home-accent:#006097!important;
    position:relative!important; display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto auto!important; gap:0!important;
    width:100%!important; max-width:var(--hero-art-max-width)!important;
    height:auto!important; min-height:0!important; max-height:none!important;
    margin:0 auto!important; padding:0!important; aspect-ratio:auto!important;
    background:#fff!important; overflow:visible!important; color:var(--home-text)!important;
  }
  [data-v180-width-hero="home"] .cmo-home-scene { display:contents!important; }
  [data-v180-width-hero="home"] .cmo-home-scene[hidden],
  [data-v180-width-hero="home"] [data-home-carousel-controls][hidden] { display:none!important; }
  [data-v180-width-hero="home"] .cmo-home-contained {
    width:calc(100% - 2 * var(--content-gutter,24px))!important;
    max-width:var(--content-width,1180px)!important; min-width:0!important;
    margin-inline:auto!important; position:relative!important; inset:auto!important; z-index:2!important;
  }
  [data-v180-width-hero="home"] .cmo-home-intro {
    grid-area:1/1!important; padding:32px 0 0!important; align-self:start!important;
  }
  [data-v180-width-hero="home"] .cmo-home-intro h1 {
    max-width:none!important; margin:0!important; color:var(--home-text)!important;
    -webkit-text-fill-color:currentColor!important;
    font-size:clamp(2rem,3vw,3.3rem)!important; line-height:1.15!important;
    overflow-wrap:break-word!important;
  }
  [data-v180-width-hero="home"] .cmo-home-scene__copy {
    grid-area:2/1!important; align-self:start!important; padding:20px 0 24px!important;
    height:auto!important; min-height:0!important; max-height:none!important; overflow:visible!important;
    background:transparent!important; color:var(--home-text)!important;
  }
  [data-v180-width-hero="home"] .cmo-home-scene__copy p {
    max-width:65ch!important; color:var(--home-text)!important;
    -webkit-text-fill-color:currentColor!important; margin:0 0 24px!important;
  }
  [data-v180-width-hero="home"] .cmo-home-scene__copy a {
    max-width:100%!important; white-space:normal!important; height:auto!important;
  }
  [data-v180-width-hero="home"] .cmo-home-carousel-controls {
    grid-area:3/1!important; padding:0 0 12px!important; align-self:end!important;
  }
  [data-v180-width-hero="home"] .cmo-home-stage__switch {
    grid-area:4/1!important; padding:0!important; margin-block:0!important; color:var(--home-text)!important;
  }
  [data-v180-width-hero="home"] .cmo-home-stage__switch button {
    color:var(--home-text)!important; -webkit-text-fill-color:currentColor!important;
  }
  [data-v180-width-hero="home"] .cmo-home-stage__switch button:is([aria-pressed="true"],:hover) {
    color:var(--home-accent)!important; border-bottom-color:var(--home-accent)!important;
  }
  [data-v180-width-hero="home"] .cmo-home-scene__media {
    grid-area:5/1!important; display:block!important; position:relative!important; inset:auto!important;
    width:100%!important; max-width:none!important; min-width:0!important;
    height:auto!important; min-height:0!important; max-height:none!important;
    margin:0!important; padding:0!important; aspect-ratio:2048/641!important;
    background:none!important; overflow:visible!important; border:0!important;
    border-radius:0!important; box-shadow:none!important; z-index:0!important;
  }
  [data-v180-width-hero="home"] .cmo-home-scene__media picture {
    display:block!important; position:static!important; inset:auto!important;
    width:100%!important; height:auto!important;
  }
  [data-v180-width-hero="home"] .made-in-germany {
    position:relative!important; grid-area:5/1!important; align-self:start!important; justify-self:start!important;
    inset:auto!important; width:94px!important; max-width:25%!important; margin:16px!important; z-index:2!important;
  }
  [data-v180-width-hero="home"][data-hero-flow="overlay"] .cmo-home-stage {
    --home-text:#fff!important; --home-accent:#53d4fa!important;
    aspect-ratio:2048/641!important; grid-template-rows:auto 1fr auto auto!important;
    background:#051E32!important;
  }
  [data-v180-width-hero="home"][data-hero-flow="overlay"] .cmo-home-scene__media {
    position:absolute!important; inset:0!important; grid-area:auto!important;
  }
  [data-v180-width-hero="home"][data-hero-flow="overlay"] .cmo-home-intro h1 { max-width:56%!important; }
  [data-v180-width-hero="home"][data-hero-flow="overlay"] .cmo-home-scene__copy p { max-width:46%!important; }
  [data-v180-width-hero="home"][data-hero-flow="overlay"] .made-in-germany {
    position:absolute!important; grid-area:auto!important; top:32px!important;
    right:max(var(--content-gutter,24px),calc((100% - var(--content-width,1180px)) / 2))!important;
    bottom:auto!important; left:auto!important; margin:0!important; width:130px!important;
  }
  @media (max-width:760px) {
    [data-v180-width-hero="home"] .cmo-home-contained { width:calc(100% - 32px)!important; }
  }
  /* Same ultra-wide exception as the supplied V174 Easy Chester reference. */
  @media (min-width:2400px) and (min-aspect-ratio:3/1) {
    [data-v180-width-hero] { --hero-art-max-width:min(1920px,50vw)!important; }
  }
}
