/* v2.50: three banner-specific layout corrections only. */
@media(min-width:801px){
.ac-cats-main .ac-cats-hero.ac-premium-banner{height:clamp(275px,25vw,370px)!important;max-height:370px!important;overflow:visible!important;position:relative!important;margin-top:0!important;margin-bottom:32px!important}
.ac-cats-main .ac-cats-hero.ac-premium-banner>img:first-child{height:100%!important;width:100%!important;object-fit:cover!important;object-position:center 48%!important}
.ac-cats-main .ac-cats-hero.ac-premium-banner img.ac-cats-cat3d{position:absolute!important;display:block!important;width:auto!important;height:calc(100% + 120px)!important;right:2.9%!important;top:-82px!important;z-index:4!important;object-fit:contain!important;max-width:42%!important;overflow:visible!important;border:0!important;pointer-events:none!important}
.ac3 .offer-heading:not(.retired-heading){width:100%!important;max-width:none!important;aspect-ratio:3/1!important;height:auto!important;max-height:370px!important;background-size:cover!important;background-position:center!important}
}
@media(max-width:800px){.ac-cats-cat3d{display:none!important}.ac3 .offer-heading:not(.retired-heading){width:100%!important;max-width:none!important;background-size:cover!important;aspect-ratio:3/1!important;height:auto!important}}
/* Keep full banner group visible below the sticky header on litter listing. */
.ac-litters-hero,.ac-mioty-hero{background-size:contain!important;background-repeat:no-repeat!important;background-position:center center!important}

/* v2.51: position-only repairs; original banners and site navigation preserved. */
@media (min-width:801px){
 .ac-cats-main:has(.ac-cats-hero.ac-premium-banner){position:relative!important;z-index:1002!important;padding-top:0!important}
 .ac-cats-main .ac-cats-hero.ac-premium-banner{margin-top:0!important;margin-bottom:32px!important;overflow:visible!important;position:relative!important}
 .ac-cats-main .ac-cats-hero.ac-premium-banner img.ac-cats-cat3d{top:-82px!important;right:2.9%!important;object-fit:contain!important;overflow:visible!important;z-index:20!important}
 .ac3 .offer-heading:not(.retired-heading){background-size:cover!important;background-position:center center!important;aspect-ratio:2059/680!important;height:auto!important;max-height:none!important}
}
@media(max-width:800px){.ac3 .offer-heading:not(.retired-heading){background-size:contain!important;background-position:center center!important;aspect-ratio:2059/680!important}}

/* v2.52: placement-only fixes; retain the approved image assets. */
@media (min-width:801px) {
  /* Banner keeps its natural aspect ratio; shorten by cropping empty artwork rather than stretching text/cats. */
  .ac3 .offer-heading:not(.retired-heading) {
    aspect-ratio:auto!important;
    height:clamp(320px,25vw,415px)!important;
    max-height:415px!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }
  /* Bring the 3D silhouette in front of the site header at the right, where there are no menu links. */
  body .ac-cats-main:has(.ac-cats-hero.ac-premium-banner) {
    position:relative!important;
    z-index:2147483000!important;
    padding-top:0!important;
  }
  body .ac-cats-main .ac-cats-hero.ac-premium-banner {
    isolation:visible!important;
    overflow:visible!important;
    z-index:2147483000!important;
    margin-top:0!important;
  }
  /* Keep the existing cat inside the banner. Show only ears above and paws below using a split mask. */
  body .ac-cats-main .ac-cats-hero.ac-premium-banner img.ac-cats-cat3d {
    z-index:2147483001!important;
    top:-82px!important;
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 15%,transparent 18%,transparent 80%,#000 84%,#000 100%)!important;
    mask-image:linear-gradient(to bottom,#000 0%,#000 15%,transparent 18%,transparent 80%,#000 84%,#000 100%)!important;
  }
}

/* v2.53 definitive image-placement correction: cutout asset is transparent ears/paws ONLY. */
@media (min-width:801px) {
  /* do not cover content/header with the entire page wrapper */
  body .ac-cats-main:has(.ac-cats-hero.ac-premium-banner) { z-index:1002!important; }
  body .ac-cats-main .ac-cats-hero.ac-premium-banner { height:clamp(290px,25vw,420px)!important;max-height:420px!important;overflow:visible!important; }
  body .ac-cats-main .ac-cats-hero.ac-premium-banner img.ac-cats-cat3d {
    -webkit-mask-image:none!important;mask-image:none!important;
    top:-82px!important;right:2.9%!important;z-index:1004!important;
    width:auto!important;height:calc(100% + 120px)!important;object-fit:contain!important;
  }
  /* original kitten banner has 3:1 aspect ratio; preserve it when cropping the lower edge */
  .ac3 .offer-heading:not(.retired-heading) {
    height:clamp(305px,24vw,405px)!important;max-height:405px!important;
    background-size:cover!important;background-position:center top!important;
  }
}

/* v2.54: single source-aligned image for banner and true photo extensions.
   No duplicated cat/screen captures, no independent overlay positioning. */
@media(min-width:801px){
 body .ac-cats-main:has(.ac3d-integrated){padding-top:0!important;z-index:1002!important;position:relative!important}
 body .ac-cats-main .ac-cats-hero.ac-premium-banner.ac3d-integrated{
  width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;
  margin:-6.263% auto 8px!important;padding:0!important;
  position:relative!important;overflow:visible!important;background:none!important;z-index:1003!important;
  border:0!important;border-radius:0!important;isolation:auto!important;
 }
 body .ac-cats-main .ac-cats-hero.ac3d-integrated img.ac3d-full{
  display:block!important;width:100%!important;max-width:100%!important;height:auto!important;
  object-fit:contain!important;object-position:center center!important;border-radius:0!important;
  pointer-events:none!important;position:static!important;
 }
 body .ac-cats-main .ac-cats-hero.ac3d-integrated img.ac3d-mobile{display:none!important}
 .ac3 .offer-heading:not(.retired-heading){
  height:auto!important;max-height:none!important;aspect-ratio:2059/680!important;
  background-size:contain!important;background-color:#070e20!important;background-repeat:no-repeat!important;background-position:center center!important;
 }
}
@media(max-width:800px){
 body .ac-cats-main .ac-cats-hero.ac3d-integrated{height:auto!important;max-height:none!important;overflow:hidden!important;margin:0 auto 12px!important}
 body .ac-cats-main .ac-cats-hero.ac3d-integrated img.ac3d-full{display:none!important}
 body .ac-cats-main .ac-cats-hero.ac3d-integrated img.ac3d-mobile{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important}
 .ac3 .offer-heading:not(.retired-heading){height:auto!important;aspect-ratio:2059/680!important;background-size:contain!important;background-color:#070e20!important;background-repeat:no-repeat!important}
}

/* v2.55: allow the integrated, original banner ears to appear over the header
   only at the TOP of the page. Restore header precedence during scrolling.
   This changes stacking order only, not cat photos/size/geometry. */
@media (min-width:801px) {
  html body.ac-v255-cats-at-top .ac-all-content:has(.ac-cats-main .ac3d-integrated),
  html body.ac-v255-cats-at-top .ac-cats-main:has(.ac3d-integrated) {
    position:relative!important;
    z-index:2147482001!important;
    overflow:visible!important;
    isolation:auto!important;
  }
  html body.ac-v255-cats-at-top .ac-cats-main .ac-cats-hero.ac3d-integrated {
    z-index:2147482002!important;
    overflow:visible!important;
  }
  html body:not(.ac-v255-cats-at-top) .ac-cats-main:has(.ac3d-integrated) {
    z-index:auto!important;
  }
}


/* v2.56: one coherent responsive banner layout; supersedes v2.49-55 overrides. */
@media (min-width:801px) {
  /* The transparent 3D source is a single aligned image, not a second cat layer. */
  html body .ac-cats-main:has(.ac3d-integrated),
  html body.ac-v255-cats-at-top .ac-cats-main:has(.ac3d-integrated),
  html body.ac-v255-cats-at-top .ac-all-content:has(.ac-cats-main .ac3d-integrated) {
    z-index:auto!important; padding-top:0!important; isolation:visible!important;
  }
  html body .ac-cats-main .ac-cats-hero.ac3d-integrated {
    margin:-5.75vw auto 0!important; padding:0!important;
    position:relative!important; overflow:visible!important; isolation:auto!important;
    z-index:1200!important; background:transparent!important;
  }
  html body .ac-cats-main .ac-cats-hero.ac3d-integrated img.ac3d-full {
    position:relative!important; width:100%!important; height:auto!important;
    display:block!important; object-fit:contain!important;
  }
  /* Full-width banners keep the natural proportions of embedded typography/cats. */
  html body .ac3 .offer-heading:not(.retired-heading) {
    aspect-ratio:3/1!important; height:auto!important; min-height:0!important;
    max-height:none!important; background-size:100% auto!important;
    background-position:center top!important; background-repeat:no-repeat!important;
  }
  html body .ac-mioty-hero, html body .ac-litters-hero {
    background-size:100% auto!important; background-position:center top!important;
  }
}
@media(max-width:800px) {
  /* Desktop art contains baked-in type. Show its cats, but place readable live type in a
     separate dark region, avoiding the former thin strip between dark letterboxes. */
  html body .ac3 .offer-heading:not(.retired-heading) {
    margin:0!important; padding:24px 18px 0!important;
    height:340px!important; min-height:0!important; max-height:none!important;
    aspect-ratio:auto!important; background-color:#071225!important;
    background-image:linear-gradient(180deg,#071225 0%,#071225 16%,rgba(7,18,37,.14) 66%,rgba(7,18,37,.25) 100%),url("assets/kocieta-baner-v208.png")!important;
    background-size:100% 100%,auto 84%!important;
    background-position:center center,right bottom!important;
    background-repeat:no-repeat!important; overflow:hidden!important;
  }
  html body .ac3 .offer-heading:not(.retired-heading) .container {
    height:auto!important; position:relative!important; z-index:2!important;
    width:100%!important; max-width:100%!important;
  }
  html body .ac3 .offer-heading:not(.retired-heading) h1 {
    position:static!important; width:auto!important; height:auto!important;
    clip-path:none!important; overflow:visible!important;
    white-space:normal!important; margin:0!important; padding:0!important;
    font:600 clamp(25px,6.1vw,36px)/1.2 'Open Sans',Arial,sans-serif!important;
    letter-spacing:0!important; text-align:left!important; color:white!important;
  }
  html body .ac3 .offer-heading:not(.retired-heading) .ac-offer-motto {
    position:static!important; width:auto!important; height:auto!important;
    clip-path:none!important; overflow:visible!important; white-space:normal!important;
    margin:8px 0 0!important; padding:0!important; color:#fff!important;
    text-align:left!important; font:400 17px/1.4 'Open Sans',Arial,sans-serif!important;
  }
  /* Keep already-approved mobile cats and litter banners unchanged. */
  html body .ac-cats-main .ac-cats-hero.ac3d-integrated {
    margin:0 auto 12px!important; z-index:auto!important;
  }
}
@media(max-width:430px) {
  html body .ac3 .offer-heading:not(.retired-heading){height:300px!important}
}
