/* Barracuda Hero Engine 2 — single renderer shared by public Home and Studio2 */
.hero-full.hero-engine2{
  position:relative!important;
  overflow:hidden!important;
  background:#071820!important;
  background-image:none!important;
}
.hero-full.hero-engine2::before,
.hero-full.hero-engine2::after,
.hero-full.hero-engine2 .hero-free-bg,
.hero-full.hero-engine2 .hero-fullphoto-stage{display:none!important;content:none!important;background:none!important}
.hero-full.hero-engine2 .hero-free-stage,
.hero-full.hero-engine2 .hero-free-picture{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  margin:0!important;padding:0!important;overflow:hidden!important;display:block!important;
  transform:none!important;animation:none!important;background:#071820!important;
}
.hero-full.hero-engine2 .hero-free-image{
  display:block!important;position:absolute!important;left:50%!important;top:50%!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center center!important;
  transform:translate(calc(-50% + var(--hero-free-x,0px)),calc(-50% + var(--hero-free-y,0px))) scale(var(--hero-free-scale,1))!important;
  transform-origin:center center!important;animation:none!important;filter:none!important;opacity:1!important;
}
@media (max-width:850px) and (orientation:portrait){
 .hero-full.hero-engine2{height:var(--height-mobile,100vh)!important;min-height:var(--height-mobile,100vh)!important}
 .hero-full.hero-engine2 .hero-free-image{
   transform:translate(calc(-50% + var(--hero-free-x-mobile,var(--hero-free-x,0px))),calc(-50% + var(--hero-free-y-mobile,var(--hero-free-y,0px)))) scale(var(--hero-free-scale-mobile,var(--hero-free-scale,1)))!important;
 }
}
@media (max-width:1100px) and (orientation:landscape) and (pointer:coarse){
 .hero-full.hero-engine2 .hero-free-image{
   transform:translate(calc(-50% + var(--hero-free-x-mobile-landscape,var(--hero-free-x-mobile,var(--hero-free-x,0px)))),calc(-50% + var(--hero-free-y-mobile-landscape,var(--hero-free-y-mobile,var(--hero-free-y,0px))))) scale(var(--hero-free-scale-mobile-landscape,var(--hero-free-scale-mobile,var(--hero-free-scale,1))))!important;
 }
}
/* identical standalone renderer used inside Studio2 */
.s2-hero-engine2{position:relative;overflow:hidden;background:#071820;width:100%;height:100%}
.s2-hero-engine2 .s2-hero-stage{position:absolute;inset:0;overflow:hidden;background:#071820}
.s2-hero-engine2 .s2-hero-image{position:absolute;left:50%;top:50%;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center center;transform:translate(calc(-50% + var(--s2-x,0px)),calc(-50% + var(--s2-y,0px))) scale(var(--s2-scale,1));transform-origin:center center;user-select:none;-webkit-user-drag:none;cursor:grab}
.s2-hero-engine2 .s2-hero-image.dragging{cursor:grabbing}
.s2-hero-engine2 .s2-overlay{position:absolute;inset:0;background:#000;opacity:var(--s2-overlay,.12);pointer-events:none}

/* Studio2 v54 — portrait must stay fully controllable.
   Neutralizza i vecchi override v111/v113 che forzavano cover sul mobile verticale. */
@media (max-width:850px) and (orientation:portrait){
  body:not(.editor-mode) .hero-full.hero-fit-free.hero-simple-engine.hero-engine2 .hero-free-picture,
  body.direct-studio-preview .hero-full.hero-fit-free.hero-simple-engine.hero-engine2 .hero-free-picture{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    background:#071820!important;
  }
  body:not(.editor-mode) .hero-full.hero-fit-free.hero-simple-engine.hero-engine2 .hero-free-image,
  body.direct-studio-preview .hero-full.hero-fit-free.hero-simple-engine.hero-engine2 .hero-free-image{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:translate(
      calc(-50% + var(--hero-free-x-mobile,var(--hero-free-x,0px))),
      calc(-50% + var(--hero-free-y-mobile,var(--hero-free-y,0px)))
    ) scale(var(--hero-free-scale-mobile,var(--hero-free-scale,1)))!important;
    transform-origin:center center!important;
  }
}

/* Studio2 v59.2 — iPhone portrait: elimina il vuoto sotto la Hero.
   Usa il viewport dinamico attuale senza toccare X/Y/zoom dell'immagine.
   Solo smartphone verticale; desktop e landscape restano invariati. */
@media (max-width:850px) and (orientation:portrait){
  body:not(.editor-mode) .hero-full.hero-fit-free.hero-simple-engine.hero-engine2{
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin-bottom:0!important;
  }
}

/* Studio2 v59.4 — rimuove il vecchio spacer v117 sotto la zona Hero/Brand
   solo su smartphone verticale. Non modifica foto, X/Y, zoom, logo o SEO. */
@media (max-width:850px) and (orientation:portrait){
  body:not(.editor-mode) .mobile-brand-section-gap{
    display:none!important;
    height:0!important;
    min-height:0!important;
    flex-basis:0!important;
    margin:0!important;
    padding:0!important;
  }
}

/* Studio2 v59.5 — correzione semplice fascia sotto Hero.
   Solo smartphone verticale: alza la prima sezione reale sotto la Hero.
   Non modifica foto, zoom, logo, SEO, desktop o landscape. */
@media (max-width:850px) and (orientation:portrait){
  body:not(.editor-mode) main > .hero-full.hero-simple-engine.hero-engine2 ~ .brand-intro-combined:first-of-type{
    margin-top:-110px!important;
    position:relative!important;
    z-index:3!important;
  }
}
@media (max-width:850px) and (orientation:portrait){
  body:not(.editor-mode) main > .brand-intro-combined{
    margin-top:-110px!important;
  }
}
