.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:#000000;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 h1{font-weight:800;}.elementor-kit-7 h2{font-weight:800;}.elementor-kit-7 h3{font-weight:700;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-weight:800;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{font-size:16px;line-height:1.55em;}.elementor-kit-7 h1{font-size:32px;line-height:1.15em;}.elementor-kit-7 h2{font-size:26px;line-height:1.2em;}.elementor-kit-7 h3{font-size:22px;line-height:1.25em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:16px;line-height:1.2em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//**********************************************************
   HERO (MOBILE) + CARROSSEL DE DEPOIMENTOS
**********************************************************/

/* 1) MOBILE: ajustes do herói (até 767px) */
@media (max-width: 767px){
  /* Neutraliza QUALQUER regra antiga da foto da Gabi */
  .hero-gabi{
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: auto !important;
    z-index: auto !important;
  }

  .hero-top{ position: relative; }

  /* Logo no canto ESQUERDO */
  .hero-logo{
    position: absolute;
    top: 12px; left: 16px;
    width: clamp(120px, 32vw, 160px);
    z-index: 7;
  }

  .hero-title{
    margin-top: clamp(58px, 12vw, 92px);
    font-size: clamp(28px, 6.2vw, 38px);
    line-height: 1.15;
    letter-spacing: 0;
  }

  .hero-copy{
    font-size: clamp(15px, 4.2vw, 18px);
    line-height: 1.45;
  }

  .hero-btn{
    display: inline-block;
    margin: clamp(16px, 4vw, 24px) 0 0;
    padding: 16px 22px;
    border-radius: 9999px;
    font-size: clamp(15px, 4.2vw, 17px);
    line-height: 1.1;
    letter-spacing: .2px;
    white-space: nowrap;
  }
}

/* 2) CARROSSEL DEPOIMENTOS (use classe "depo" no widget) */
.depo .swiper-wrapper{
  display:flex; gap:clamp(12px,3.2vw,18px);
  align-items:stretch; padding:0 !important;
}
.depo .swiper-slide{ margin:0 !important; width:clamp(288px,30vw,360px); }
.depo .swiper-slide img{
  display:block; width:100% !important; height:clamp(320px,52vw,420px);
  object-fit:cover; border-radius:12px;
}
.depo .elementor-image-carousel{ overflow:hidden; }
.depo .swiper-pagination{ bottom:-16px !important; }
.depo .swiper-pagination-bullet{ width:8px; height:8px; background:#c5c5c5; opacity:.7; }
.depo .swiper-pagination-bullet-active{ background:#222; opacity:1; }

@media (max-width:480px){
  .depo .swiper-slide{ width:clamp(240px,82vw,300px); }
  .depo .swiper-slide img{ height:clamp(260px,58vw,340px); }
}

/* ===== Tabela comparativa – corrigir corte da 3ª coluna (MOBILE) ===== */
@media (max-width: 767px) {
  .comp-mobile{ padding-left:10px; padding-right:10px; }

  .comp-mobile table{
    width:100% !important; table-layout:fixed;
    border-collapse:separate; border-spacing:0;
  }

  .comp-mobile table, .comp-mobile table *{
    max-width:100%; box-sizing:border-box;
    white-space:normal; word-break:break-word; overflow-wrap:anywhere;
  }

  .comp-mobile table tr > *:first-child  { width:42%; }  /* Custos/Benefícios */
  .comp-mobile table tr > *:nth-child(2) { width:29%; }  /* Academia+Personal */
  .comp-mobile table tr > *:nth-child(3) { width:29%; }  /* 30 Min e Pronto   */

  .comp-mobile table th, .comp-mobile table td{
    padding:8px 6px; line-height:1.25; font-size:14px;
  }

  .comp-mobile table th{ font-weight:700; }
}

/* ===== Carrossel de depoimentos – tamanho controlado (outra variação) ===== */
.carrossel-depo .elementor-image-carousel-wrapper .swiper-slide{
  width:clamp(280px,30vw,420px) !important; margin-right:18px;
}
.carrossel-depo .elementor-image-carousel-wrapper .swiper-slide img{
  display:block; width:100%; height:auto; max-width:100%;
  object-fit:contain; border-radius:12px;
}
.carrossel-depo .elementor-image-carousel .swiper-wrapper{ align-items:center; }

@media (max-width:767px){
  .carrossel-depo .elementor-image-carousel-wrapper .swiper-slide{ width:270px !important; margin-right:14px; }
}

/* ===== CARROSSEL DE PRINTS (MOBILE) ===== */
@media (max-width:767px){
  .carrossel-depo .elementor-image-carousel,
  .depo .elementor-image-carousel{ overflow:hidden; }

  .carrossel-depo .elementor-image-carousel .swiper-wrapper,
  .depo .elementor-image-carousel .swiper-wrapper{ gap:14px; padding:0 8px; width:auto !important; }

  .carrossel-depo .elementor-image-carousel .swiper-slide,
  .depo .elementor-image-carousel .swiper-slide{
    width:clamp(240px,82vw,340px) !important;
    display:flex !important; align-items:center; justify-content:center;
  }

  .carrossel-depo .elementor-image-carousel .swiper-slide img,
  .depo .elementor-image-carousel .swiper-slide img{
    width:100%; height:clamp(150px,58vw,280px); object-fit:contain; display:block;
  }

  .carrossel-depo .swiper-pagination,
  .depo .swiper-pagination{ display:none !important; }
}

@media (max-width:480px){
  .carrossel-depo .elementor-image-carousel .swiper-slide,
  .depo .elementor-image-carousel .swiper-slide{ width:clamp(220px,85vw,300px) !important; }
  .carrossel-depo .elementor-image-carousel .swiper-slide img,
  .depo .elementor-image-carousel .swiper-slide img{ height:clamp(150px,60vw,260px); }
}

/* ===== SANIDADE GERAL DO MOBILE ===== */
@media (max-width: 767px){
  html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body{ overflow-x:hidden; }
  .e-con{ max-width:100%; }
  img, video{ max-width:100%; height:auto; }
}

/* ===== VISIBILIDADE DESKTOP vs MOBILE ===== */
@media (max-width:1024px){ .comp-desktop{ display:none !important; } }
@media (min-width:1025px){ .comp-mobile{ display:none !important; } }

/* ===== AJUSTE FINO DO HERÓI (opcional) ===== */
@media (max-width:767px){
  :root{
    --hero-title-size: clamp(24px, 6vw, 34px);
    --hero-copy-size:  clamp(14px, 3.6vw, 17px);
    --hero-btn-size:   clamp(14px, 3.8vw, 17px);
    --hero-btn-padY:   14px;
    --hero-btn-padX:   22px;
  }
  .hero-title{ font-size:var(--hero-title-size) !important; line-height:1.15; }
  .hero-copy { font-size:var(--hero-copy-size)  !important; line-height:1.45; }
  .hero-btn  { font-size:var(--hero-btn-size)   !important; padding:var(--hero-btn-padY) var(--hero-btn-padX); border-radius:9999px; }
}

/* ===== Ancoragem/scroll suave ===== */
html { scroll-behavior:smooth; }
#inicio, #planos, #comparativo, #depoimentos, #faq { scroll-margin-top:100px; }
@media (max-width:768px){
  #inicio, #planos, #comparativo, #depoimentos, #faq { scroll-margin-top:80px; }
}

/* ===== Colunas/widgets estáveis no mobile ===== */
@media (max-width:767px){
  .elementor-container{ flex-wrap:wrap; }
  .elementor-column, .elementor-column .elementor-widget-wrap{ width:100% !important; }
  .elementor-widget{ max-width:100%; }
  .no-mobile-padding{ padding-left:0 !important; padding-right:0 !important; }
  .elementor-section{ min-height:auto !important; }
}

/* Inputs sem zoom no iOS */
input, select, textarea{ font-size:16px; }

/* ===== PATCH ANTI-CORTE (Elementor + Containers) ===== */
/* Nada de prender o conteúdo por overflow */
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap,
.e-con, .e-con-inner { overflow:visible !important; }

/* Overlays/divisores não tampam o que vem depois */
.elementor-background-overlay,
.elementor-motion-effects-layer,
.elementor-shape-top,
.elementor-shape-bottom{
  z-index:0 !important; pointer-events:none !important;
}

/* Cada seção acima da anterior */
.elementor-section, .e-con{ position:relative !important; z-index:2 !important; }

/* Cabeçalho sticky controlado */
.elementor-sticky--effects{ z-index:3 !important; }

/* Zera alturas forçadas inline */
.elementor-section[style*="min-height"],
.elementor-section[style*="height"],
.e-con[style*="min-height"],
.e-con[style*="height"]{ height:auto !important; min-height:auto !important; }

/* ===== HOTFIX: restaurar HERO (Gabi) e não cortar nada ===== */

/* 0) Não deixe a seção do herói cortar conteúdo */
.hero-wrap{ overflow: visible !important; }

/* 1) Desktop/tablet: Gabi fixa no canto direito, sem mexer em texto/botão */
@media (min-width: 768px){
  .gabi-hero{
    position: absolute !important;
    right: -10px !important;
    bottom: 0 !important;
    width: clamp(260px, 32vw, 420px) !important;
    transform: none !important;
    z-index: 3 !important;
    pointer-events: none !important;
  }
}

/* 2) Mobile: ainda absoluta, mas menor e com respiro do botão */
@media (max-width: 767px){
  .gabi-hero{
    position: absolute !important;
    right: -6px !important;
    bottom: 28px !important;
    width: clamp(220px, 52vw, 340px) !important;
    z-index: 3 !important;
    pointer-events: none !important;
  }
  /* sem “piso” extra no texto do herói */
  .hero-copy{ padding-bottom: 0 !important; }
}

/* 3) Garante que nenhum overlay/shape tampe o resto da página */
.elementor-background-overlay,
.elementor-motion-effects-layer,
.elementor-shape-top,
.elementor-shape-bottom{
  z-index: 0 !important;
  pointer-events: none !important;
}

/* 4) Seções não cortam por overflow e ficam acima da anterior */
.elementor-section, .elementor-container, .elementor-column,
.elementor-widget-wrap, .e-con, .e-con-inner{
  overflow: visible !important;
}
.elementor-section, .e-con{
  position: relative !important;
  z-index: 2 !important;
}

/* 5) Cabeçalho sticky controlado */
.elementor-sticky--effects{ z-index: 3 !important; }

/* 6) Zera alturas inline exageradas que prendem a página */
.elementor-section[style*="min-height"],
.elementor-section[style*="height"],
.e-con[style*="min-height"],
.e-con[style*="height"]{
  height: auto !important;
  min-height: auto !important;
}/* End custom CSS */