/* ===========================================================
   Overrides do site. Carregado depois do main.css.
   =========================================================== */

/* -----------------------------------------------------------
   1) ACORDEÃO (FAQ, vitaminas, abas do produto)
   O tema declarava, no estado aberto:
       max-height: 200vh;  ...  max-height: 100%;
   A segunda declaração vence. Como a altura do pai é definida
   pelo próprio conteúdo, a porcentagem resolve para "none" —
   e não dá para animar de 0px até none. Resultado: o painel
   abre de estalo e as margens negativas (-16px) puxam o bloco
   seguinte por cima, que é o "bug" ao clicar.
   ----------------------------------------------------------- */
.wt-collapse__target{
  max-height:0;
  overflow:hidden;
  margin-top:0;
  margin-bottom:0;
  transition:max-height .3s ease, opacity .2s ease;
  opacity:0;
}

.wt-collapse__trigger--active + .wt-collapse__target{
  max-height:200vh;          /* valor animável; o 100% era o bug */
  margin-top:0;
  margin-bottom:0;
  opacity:1;
}

/* Navegadores que sabem animar até altura automática ganham a
   versão correta, sem o salto do 200vh. Os outros ficam no 200vh. */
@supports (interpolate-size: allow-keywords){
  :root{ interpolate-size: allow-keywords; }
  .wt-collapse__trigger--active + .wt-collapse__target{ max-height:max-content; }
}

/* O ícone + / − precisa reagir ao estado aberto. */
.wt-collapse__trigger .svg-icon--plus .icon-plus-x{
  transform-origin:center;
  transition:transform .3s ease, opacity .3s ease;
}
.wt-collapse__trigger--active .svg-icon--plus .icon-plus-x{
  opacity:0;
  transform:rotate(90deg);
}
.wt-collapse__trigger{ transition:color .2s ease; }
.wt-collapse__trigger:hover .wt-collapse__trigger__title{ color:#ff1c80; }


/* -----------------------------------------------------------
   2) BORDAS LATERAIS DO SITE (desktop largo)
   O critical.css põe "border-width:0 1px" no <body>, que fica
   travado em --hero-max-width. Em telas mais largas que isso
   sobram duas faixas com um risco cinza de cada lado.
   ----------------------------------------------------------- */
body{ border-width:0; max-width:none; }


/* O header fica no bloco <style> do próprio header, no index.html:
   ele carrega depois deste arquivo e venceria as regras daqui. */


/* -----------------------------------------------------------
   3) PAGINAÇÃO DOS CARROSSÉIS
   O swiper-bundle.min.css deste projeto traz
   ".swiper-pagination{position:fixed;height:10%}" — o upstream
   usa absolute. Fixed tirava as bolinhas de dentro do carrossel
   e grudava uma faixa no meio da tela, por cima de tudo.
   ----------------------------------------------------------- */
.swiper-pagination{
  position:absolute;
  height:auto;
}


/* -----------------------------------------------------------
   4) EFEITOS GERAIS DA PÁGINA
   ----------------------------------------------------------- */
html{
  scroll-behavior:smooth;
  /* O header é fixo (56px): sem isso qualquer âncora ou scroll
     programado para uma seção a deixaria escondida embaixo dele. */
  scroll-padding-top:72px;
}

/* Seções entram ao aparecer na tela. A classe .reveal só é
   aplicada pelo JS; sem JS o conteúdo fica visível normalmente. */
.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1);
  will-change:opacity, transform;
}
.reveal.is-visible{ opacity:1; transform:none; }

/* Botões: resposta tátil consistente no site inteiro. */
.hero__button,
.hero__button--primary,
.wt-button__container button,
.mpc-cta{
  transition:transform .18s ease, box-shadow .18s ease, background-color .2s ease;
}
.hero__button:hover,
.hero__button--primary:hover,
.wt-button__container button:hover,
.mpc-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.14);
}
.hero__button:active,
.hero__button--primary:active,
.wt-button__container button:active,
.mpc-cta:active{
  transform:translateY(0);
  box-shadow:0 2px 6px rgba(0,0,0,.12);
}

/* CTA principal pulsa de leve para puxar o olho. */
@keyframes mpc-cta-pulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(34,197,94,.45) }
  50%    { box-shadow:0 0 0 12px rgba(34,197,94,0) }
}
.mpc-cta{ animation:mpc-cta-pulse 2.6s ease-out infinite; }
.mpc-cta:hover{ animation:none; }

/* Miniaturas da galeria do produto. */
.mpc-thumb{ transition:border-color .2s ease, transform .2s ease; }
.mpc-thumb:hover{ transform:translateY(-2px); }

/* Foco visível por teclado — o tema esconde em vários lugares. */
a:focus-visible,
button:focus-visible,
.mpc-option:focus-visible,
[role="button"]:focus-visible{
  outline:2px solid #ff1c80;
  outline-offset:2px;
}

/* Nada disso deve atrapalhar quem pediu menos movimento. */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
  .mpc-cta{ animation:none; }
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
