/* 2026-10-22 — Hero com transição artística em cubos */
.swiper-slider-2.alax-hero-swiper {
    overflow: hidden;
    background: #050505;
    isolation: isolate;
    perspective: 1800px;
    perspective-origin: 50% 50%;
}

.swiper-slider-2.alax-hero-swiper .swiper-wrapper,
.swiper-slider-2.alax-hero-swiper .swiper-slide {
    height: 100%;
}

.swiper-slider-2.alax-hero-swiper .swiper-slide {
    position: relative;
    overflow: hidden;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    transition: filter 1.4s ease, opacity 1s ease;
    filter: saturate(.92) brightness(.88);
}

.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-transition-target-hidden {
    opacity: 0 !important;
}

.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-transition-target-hidden .swiper-slide-caption {
    opacity: 0 !important;
}

.swiper-slider-2.alax-hero-swiper .swiper-slide::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 72% 28%, rgba(255, 214, 168, .22), transparent 36%),
        linear-gradient(90deg, rgba(0, 0, 0, .54) 0%, rgba(0, 0, 0, .18) 45%, rgba(0, 0, 0, .46) 100%);
    opacity: .9;
    transition: opacity 1.5s ease;
    pointer-events: none;
}

.swiper-slider-2.alax-hero-swiper .swiper-slide::after {
    content: "";
    position: absolute;
    inset: -10%;
    background: linear-gradient(110deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 43%, rgba(255,245,230,.12) 49%, rgba(255,255,255,0) 56%, rgba(255,255,255,0) 100%);
    opacity: 0;
    transform: translateX(-16%) scale(1.08);
    transition: opacity 1.6s ease, transform 6.6s ease;
    mix-blend-mode: screen;
    pointer-events: none;
}

.swiper-slider-2.alax-hero-swiper .swiper-slide-active,
.swiper-slider-2.alax-hero-swiper .swiper-slide-duplicate-active {
    background-size: cover !important;
    filter: saturate(1) brightness(.98);
}

.swiper-slider-2.alax-hero-swiper .swiper-slide-active::before,
.swiper-slider-2.alax-hero-swiper .swiper-slide-duplicate-active::before {
    opacity: .82;
}

.swiper-slider-2.alax-hero-swiper .swiper-slide-active::after,
.swiper-slider-2.alax-hero-swiper .swiper-slide-duplicate-active::after {
    opacity: .88;
    transform: translateX(10%) scale(1.12);
}

.swiper-slider-2.alax-hero-swiper .swiper-slide-caption {
    position: relative;
    z-index: 2;
}

.swiper-slider-2.alax-hero-swiper .swiper-slide-caption .container {
    padding-top: 36px;
    padding-bottom: 36px;
}

.swiper-slider-2.alax-hero-swiper .swiper-slide h1,
.swiper-slider-2.alax-hero-swiper .swiper-slide h3,
.swiper-slider-2.alax-hero-swiper .swiper-slide h4,
.swiper-slider-2.alax-hero-swiper .swiper-slide .button {
    text-shadow: 0 8px 24px rgba(0, 0, 0, .55);
}

.swiper-slider-2.alax-hero-swiper .swiper-slide .button.button-primary {
    box-shadow: 0 16px 32px rgba(255, 31, 54, .18);
}

.swiper-slider-2.alax-hero-swiper .swiper-meta {
    z-index: 3;
}



/* Cubos sincronizados: frente com a imagem de saída, verso com a imagem de entrada */
.alax-hero-swiper { isolation:isolate; perspective:1800px; }
.alax-hero-swiper .alax-cube-transition {
  position:absolute; inset:0; z-index:8; overflow:hidden; pointer-events:none;
  transform-style:preserve-3d;
}
.alax-hero-swiper .alax-cube {
  position:absolute; transform-style:preserve-3d;
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  will-change:transform;
  animation:alax-cube-turn var(--dur) cubic-bezier(.45,.07,.25,1) var(--delay) both;
}
.alax-hero-swiper .alax-cube-face {
  position:absolute; inset:0; background-repeat:no-repeat;
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  transform-style:preserve-3d;
}
.alax-hero-swiper .alax-cube-face.front {transform:translateZ(2px);}
.alax-hero-swiper .alax-cube-face.back {transform:rotateY(180deg) translateZ(2px);}
.alax-hero-swiper .alax-cube-face.front::after,
.alax-hero-swiper .alax-cube-face.back::after {
  content:""; position:absolute; inset:0;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
  pointer-events:none;
}
@keyframes alax-cube-turn {
  0% {
    transform: translate3d(0, 0, 0) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  30% {
    transform: translate3d(calc(var(--shift-x, 0px) * .18), calc(var(--shift-y, 0px) * -.35), 22px) rotateX(calc(var(--rx-mid, 0deg) * .45)) rotateY(-58deg) rotateZ(calc(var(--rz-mid, 0deg) * .35));
  }
  62% {
    transform: translate3d(calc(var(--shift-x, 0px) * .78), calc(var(--shift-y, 0px) * .72), 8px) rotateX(var(--rx-mid, 0deg)) rotateY(-124deg) rotateZ(var(--rz-mid, 0deg));
  }
  100% {
    transform: translate3d(var(--shift-x, 0px), var(--shift-y, 0px), 0) rotateX(var(--rx-end, 0deg)) rotateY(-180deg) rotateZ(var(--rz-end, 0deg));
  }
}
.alax-hero-swiper .alax-cube-transition.is-complete {
  animation:alax-cube-settle 360ms ease-in both;
}
@keyframes alax-cube-settle {from {opacity:1;} to {opacity:0;}}

/* Cada letra sai sozinha, em atraso aleatório, com queda Matrix */
.alax-hero-swiper .alax-matrix-character {
  display:inline-block;
  white-space:pre;
  transform-origin:center;
  will-change:opacity, transform, filter;
}
.alax-hero-swiper .alax-matrix-character.is-falling {
  animation:alax-matrix-disappear var(--exit-duration,650ms)
    cubic-bezier(.3,.1,.82,.5) var(--exit-delay,0ms) forwards !important;
}
@keyframes alax-matrix-disappear {
  0%   { opacity:1; transform:translate3d(0,0,0); filter:blur(0); }
  33%  { opacity:.95; transform:translate3d(0,7px,0); filter:blur(.1px); }
  68%  { opacity:.4; transform:translate3d(var(--drift-x,0px),25px,0); filter:blur(1px); }
  100% { opacity:0; transform:translate3d(var(--drift-x,0px),var(--drop-y,65px),0); filter:blur(3px); }
}
@media (prefers-reduced-motion:reduce) {
  .alax-hero-swiper .alax-matrix-character.is-falling {animation-duration:140ms!important;animation-delay:0ms!important;}
  .alax-hero-swiper .alax-cube {animation-duration:250ms!important; animation-delay:0ms!important;}
}


/* Botão acompanha o texto: entra em fade in e sai em fade out */
.swiper-slider-2.alax-hero-swiper .swiper-slide .swiper-slide-caption .button,
.swiper-slider-2.alax-hero-swiper .swiper-slide .swiper-slide-caption button {
    opacity: 0;
    transform: translate3d(0, 18px, 0) scale(.985);
    transition: opacity .62s ease, transform .72s cubic-bezier(.2,.7,.2,1);
    transition-delay: 0s;
    will-change: opacity, transform;
}

.swiper-slider-2.alax-hero-swiper .swiper-slide-active .swiper-slide-caption .button,
.swiper-slider-2.alax-hero-swiper .swiper-slide-duplicate-active .swiper-slide-caption .button,
.swiper-slider-2.alax-hero-swiper .swiper-slide-active .swiper-slide-caption button,
.swiper-slider-2.alax-hero-swiper .swiper-slide-duplicate-active .swiper-slide-caption button {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    transition-delay: .34s;
}

.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-transition-target-hidden .swiper-slide-caption .button,
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-transition-target-hidden .swiper-slide-caption button {
    opacity: 0 !important;
    transform: translate3d(0, 14px, 0) scale(.98);
    transition-delay: 0s !important;
}

.alax-hero-swiper .swiper-slide-caption .button.alax-button-exit,
.alax-hero-swiper .swiper-slide-caption button.alax-button-exit {
    animation: alax-button-fade-out .42s ease var(--button-exit-delay, 0ms) forwards;
}

@keyframes alax-button-fade-out {
  0%   { opacity:1; transform:translate3d(0,0,0) scale(1); }
  100% { opacity:0; transform:translate3d(0,16px,0) scale(.985); }
}


/* Sequência editorial: a fotografia termina a transição antes dos textos. */
.swiper-slider-2.alax-hero-swiper .swiper-slide .swiper-slide-caption h1,
.swiper-slider-2.alax-hero-swiper .swiper-slide .swiper-slide-caption h2,
.swiper-slider-2.alax-hero-swiper .swiper-slide .swiper-slide-caption h3,
.swiper-slider-2.alax-hero-swiper .swiper-slide .swiper-slide-caption h4,
.swiper-slider-2.alax-hero-swiper .swiper-slide .swiper-slide-caption p {
  transition: opacity .88s ease, transform .88s ease;
}
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-wait .swiper-slide-caption h1,
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-wait .swiper-slide-caption h2,
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-wait .swiper-slide-caption h3,
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-wait .swiper-slide-caption h4,
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-wait .swiper-slide-caption p,
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-wait .swiper-slide-caption .button,
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-wait .swiper-slide-caption button {
  opacity: 0 !important;
  transform: translate3d(0,18px,0) !important;
  transition-delay:0s !important;
}
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-ready .swiper-slide-caption h1,
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-ready .swiper-slide-caption h2,
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-ready .swiper-slide-caption h3,
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-ready .swiper-slide-caption h4,
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-ready .swiper-slide-caption p {
  opacity: 1;
  transform: translate3d(0,0,0);
}

/* ALAX — Hero mobile refinado v2 | 25/10/2026
   Objetivo:
   - manter a arte mais proporcional no celular
   - subir Analytics e redes sociais para ficarem logo abaixo do botão
   - alinhar a transição com o mesmo enquadramento visual do slide mobile */
@media screen and (max-width: 767px) {
  .swiper-slider-2.alax-hero-swiper {
    background: #100b09;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide {
    background-size: 128% auto !important;
    background-position: center 12% !important;
    background-color: #100b09 !important;
    min-height: 720px;
    height: 720px;
    padding: 170px 16px 190px;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide-active,
  .swiper-slider-2.alax-hero-swiper .swiper-slide-duplicate-active {
    background-size: 128% auto !important;
    background-position: center 12% !important;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide::before {
    background:
      linear-gradient(180deg,
        rgba(10,7,6,.05) 0%,
        rgba(10,7,6,.10) 18%,
        rgba(10,7,6,.20) 34%,
        rgba(10,7,6,.38) 52%,
        rgba(10,7,6,.66) 72%,
        rgba(10,7,6,.88) 90%,
        #100b09 100%),
      linear-gradient(90deg,
        rgba(0,0,0,.44) 0%,
        rgba(0,0,0,.15) 45%,
        rgba(0,0,0,.26) 100%);
    opacity: 1;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide::after {
    display: none;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide-caption {
    width: 100%;
    position: relative;
    z-index: 2;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide-caption .container {
    padding: 0 8px;
    max-width: 100%;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide-caption .row,
  .swiper-slider-2.alax-hero-swiper .swiper-slide-caption [class*="col-"] {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide-caption h1,
  .swiper-slider-2.alax-hero-swiper .swiper-slide-caption h2.heading-1 {
    font-size: clamp(28px, 7vw, 42px) !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
    margin-bottom: 10px;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide-caption h3 {
    font-size: clamp(16px, 4.6vw, 22px);
    line-height: 1.18;
    margin-bottom: 8px;
    max-width: 95%;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide-caption h4 {
    font-size: clamp(13px, 3.9vw, 17px);
    line-height: 1.22;
    max-width: 95%;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide-caption .button {
    margin-top: 18px;
    padding: 12px 24px;
    font-size: 14px;
  }

  /* Sobe o Analytics para ficar logo abaixo do botão. */
  .swiper-slider-2.alax-hero-swiper .alax-ga4-overlay {
    bottom: 120px;
    max-width: calc(100% - 20px);
  }

  /* Sobe a fileira de redes sociais, abaixo do Analytics. */
  .swiper-slider-2.alax-hero-swiper .swiper-meta {
    z-index: 3;
    justify-content: flex-end;
    padding: 12px 12px 42px;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-meta .links {
    margin-top: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-meta .links li {
    margin: 0;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-meta .links a {
    font-size: 17px;
  }
}

@media screen and (max-width: 767px) and (max-height: 760px) {
  .swiper-slider-2.alax-hero-swiper .swiper-slide {
    background-size: 124% auto !important;
    min-height: 690px;
    height: 690px;
    padding: 156px 14px 182px;
    background-position: center 10% !important;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide-active,
  .swiper-slider-2.alax-hero-swiper .swiper-slide-duplicate-active {
    background-position: center 10% !important;
    background-size: 124% auto !important;
  }

  .swiper-slider-2.alax-hero-swiper .alax-ga4-overlay {
    bottom: 112px;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-meta {
    padding-bottom: 38px;
  }
}

@media screen and (max-width: 767px) and (max-height: 680px) {
  .swiper-slider-2.alax-hero-swiper .swiper-slide {
    background-size: 120% auto !important;
    min-height: 640px;
    height: 640px;
    padding: 142px 14px 172px;
    background-position: center 8% !important;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide-active,
  .swiper-slider-2.alax-hero-swiper .swiper-slide-duplicate-active {
    background-position: center 8% !important;
    background-size: 120% auto !important;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-slide-caption h1,
  .swiper-slider-2.alax-hero-swiper .swiper-slide-caption h2.heading-1 {
    font-size: clamp(26px, 6.6vw, 36px) !important;
  }

  .swiper-slider-2.alax-hero-swiper .alax-ga4-overlay {
    bottom: 100px;
  }

  .swiper-slider-2.alax-hero-swiper .swiper-meta {
    padding-bottom: 32px;
  }
}


/* HERO MOBILE: degradê integrado à borda inferior da fotografia,
   mantendo a mesma proporção e todos os controles no lugar. */
@media screen and (max-width:767px) {
 .swiper-slider-2.alax-hero-swiper .swiper-slide::before {
   background:
      linear-gradient(180deg, transparent 0%, transparent 48%, rgba(16,11,9,.17) 65%, rgba(16,11,9,.62) 82%, #100b09 100%) top center / 100% min(88vw, 425px) no-repeat,
      linear-gradient(90deg,rgba(0,0,0,.40),rgba(0,0,0,.08) 65%,rgba(0,0,0,.22)) top center / 100% min(88vw,425px) no-repeat;
   opacity:1;
 }
 /* Cubos cobrem apenas a região fotográfica; o resto do hero não gira. */
 .swiper-slider-2.alax-hero-swiper .alax-cube-transition.alax-cube-mobile {
   inset:auto;
   left:0;
   right:0;
   overflow:hidden;
   pointer-events:none;
   z-index:8;
 }
 .swiper-slider-2.alax-hero-swiper .alax-cube-transition.alax-cube-mobile::after {
   content:"";
   position:absolute;
   inset:35% 0 0;
   background:linear-gradient(180deg,transparent 0%,rgba(16,11,9,.12) 24%,rgba(16,11,9,.65) 74%,#100b09 100%);
   pointer-events:none;
 }
}

/* 25/10/2026 — Correção do degradê do slide PARADO no mobile.
   A foto ocupa a parte superior da seção; o degradê precisa estar
   completamente opaco ANTES do término visível da fotografia.
   A transição em cubos tem seu próprio degradê e permanece intocada. */
@media screen and (max-width: 767px) {
  .swiper-slider-2.alax-hero-swiper .swiper-slide::before,
  .swiper-slider-2.alax-hero-swiper .swiper-slide-active::before,
  .swiper-slider-2.alax-hero-swiper .swiper-slide-duplicate-active::before {
    inset: 0;
    background:
      linear-gradient(to bottom,
        rgba(16,11,9,.02) 0px,
        rgba(16,11,9,.02) 110px,
        rgba(16,11,9,.18) 158px,
        rgba(16,11,9,.42) 205px,
        rgba(16,11,9,.76) 260px,
        rgba(16,11,9,.96) 310px,
        #100b09 350px,
        #100b09 100%);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    opacity: 1 !important;
    pointer-events: none;
  }
}

/* Ajuste fino: elimina a faixa vazia entre o header e a foto no celular.
   A imagem fica ancorada no topo; dimensoes/fade/transicao preservados. */
@media screen and (max-width: 767px) {
 .swiper-slider-2.alax-hero-swiper .swiper-slide,
 .swiper-slider-2.alax-hero-swiper .swiper-slide-active,
 .swiper-slider-2.alax-hero-swiper .swiper-slide-duplicate-active {
   background-position: center top !important;
 }
}


/* Biblioteca de logos nos destaques — entre descrição e CTA. */
.swiper-slider-2.alax-hero-swiper .alax-hero-partner-logos {
  display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px 18px;
  max-width:min(100%,600px);margin:15px 0 12px;position:relative;z-index:2;
}
.swiper-slider-2.alax-hero-swiper .alax-hero-partner-logos img {
  display:block;width:auto;height:auto;max-width:115px;max-height:42px;object-fit:contain;flex:0 0 auto;
}
@media(max-width:767px){
  .swiper-slider-2.alax-hero-swiper .alax-hero-partner-logos{gap:10px 12px;margin:10px 0 9px;max-width:100%;}
  .swiper-slider-2.alax-hero-swiper .alax-hero-partner-logos img{max-width:83px;max-height:30px;}
}

/* 25/10/2026 — Ajuste fino dos logos de cada destaque. */
.swiper-slider-2.alax-hero-swiper .alax-hero-partner-logos {
  gap: 9px 14px;
  margin-top: 12px;
  margin-bottom: 2px;
}
.swiper-slider-2.alax-hero-swiper .alax-hero-partner-logos img {
  max-width: 155px;
  max-height: 54px;
}
.swiper-slider-2.alax-hero-swiper .alax-hero-partner-logos + .button {
  margin-top: 12px;
}
@media(max-width:767px){
 .swiper-slider-2.alax-hero-swiper .alax-hero-partner-logos {
   gap: 7px 10px;
   margin-top: 9px;
   margin-bottom: 0;
 }
 .swiper-slider-2.alax-hero-swiper .alax-hero-partner-logos img {
   max-width: 110px;
   max-height: 39px;
 }
 .swiper-slider-2.alax-hero-swiper .alax-hero-partner-logos + .button {
   margin-top: 10px;
 }
}

/* Logos dos banners seguem as mesmas etapas de entrada e saída do texto. */
.swiper-slider-2.alax-hero-swiper .swiper-slide-caption .alax-hero-partner-logos {
  opacity: 0;
  transform: translate3d(0, 12px, 0);
  transition: opacity .72s ease, transform .72s ease;
  transition-delay: 0s;
  pointer-events: none;
}
.swiper-slider-2.alax-hero-swiper .swiper-slide-active.alax-caption-ready .swiper-slide-caption .alax-hero-partner-logos,
.swiper-slider-2.alax-hero-swiper .swiper-slide-duplicate-active.alax-caption-ready .swiper-slide-caption .alax-hero-partner-logos {
  opacity: 1;
  transform: translate3d(0,0,0);
  transition-delay: .30s;
  pointer-events: auto;
}
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-caption-wait .swiper-slide-caption .alax-hero-partner-logos,
.swiper-slider-2.alax-hero-swiper .swiper-slide.alax-transition-target-hidden .swiper-slide-caption .alax-hero-partner-logos {
  opacity: 0 !important;
  transform: translate3d(0,14px,0) !important;
  transition-delay: 0s !important;
}
@media screen and (max-width:767px) {
  /* Ajuste mínimo para o subtítulo longo não ganhar linhas desnecessárias
     ao aparecer junto dos logos; sem alterar o título ou outros elementos. */
  .swiper-slider-2.alax-hero-swiper .swiper-slide-caption h3 {
    font-size: clamp(14px, 3.8vw, 19px) !important;
    line-height: 1.22 !important;
    max-width: 100% !important;
  }
}

/* Logos acompanham exatamente a saída do botão/texto durante a transição.
   Esta classe é aplicada pelo controlador da transição no mesmo instante do fade do botão. */
.swiper-slider-2.alax-hero-swiper .swiper-slide-caption .alax-hero-partner-logos.alax-logos-exiting {
  opacity: 0 !important;
  transform: translate3d(0,16px,0) scale(.985) !important;
  transition: opacity .30s ease 0s, transform .36s ease 0s !important;
  pointer-events: none !important;
}
