.elementor-530 .elementor-element.elementor-element-81e76b0{--display:flex;}.elementor-530 .elementor-element.elementor-element-0e97a22{background-color:#fbab14;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-530 .elementor-element.elementor-element-0e97a22.elementor-element{--align-self:center;}.elementor-530 .elementor-element.elementor-element-b5d55d4{--display:flex;}.elementor-530 .elementor-element.elementor-element-132e773{--display:flex;}.elementor-530 .elementor-element.elementor-element-c438eb0{--display:flex;}.elementor-530 .elementor-element.elementor-element-c438eb0:not(.elementor-motion-effects-element-type-background), .elementor-530 .elementor-element.elementor-element-c438eb0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-530 .elementor-element.elementor-element-85d4f71{--display:flex;}.elementor-530 .elementor-element.elementor-element-70d1e97{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-52f46e5{--display:flex;}.elementor-530 .elementor-element.elementor-element-dda9381{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-161b123{--display:flex;}.elementor-530 .elementor-element.elementor-element-e1ed588{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-330f8e4{--display:flex;}.elementor-530 .elementor-element.elementor-element-d3a4821{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-cd8891a{--display:flex;}.elementor-530 .elementor-element.elementor-element-c794954{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-2632dc7{--display:flex;}.elementor-530 .elementor-element.elementor-element-f36e1ae{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-9110de6{--display:flex;}.elementor-530 .elementor-element.elementor-element-862c718{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-5c21b97{--display:flex;}.elementor-530 .elementor-element.elementor-element-38a22a5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-7bc6969{--display:flex;}.elementor-530 .elementor-element.elementor-element-612b472{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-1600acb{--display:flex;}.elementor-530 .elementor-element.elementor-element-69248f5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-58dfae8{--display:flex;}.elementor-530 .elementor-element.elementor-element-0446ec1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-94df301{--display:flex;}.elementor-530 .elementor-element.elementor-element-e68eeb2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-133a184{--display:flex;}.elementor-530 .elementor-element.elementor-element-91d0ffe{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-71ad9da{--display:flex;}.elementor-530 .elementor-element.elementor-element-5e0ff53{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-d48c518{--display:flex;}.elementor-530 .elementor-element.elementor-element-7eb94a6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-cf0f261{--display:flex;}.elementor-530 .elementor-element.elementor-element-cfd5652{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-2918453{--display:flex;}.elementor-530 .elementor-element.elementor-element-0247c4b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-8801f27{--display:flex;}.elementor-530 .elementor-element.elementor-element-2ff2d95{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-02f74c1{--display:flex;}.elementor-530 .elementor-element.elementor-element-3f46887{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-e3e0fb0{--display:flex;}.elementor-530 .elementor-element.elementor-element-8c0d7fd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-1635b6e{--display:flex;}.elementor-530 .elementor-element.elementor-element-c30df59{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-54dfb98{--display:flex;}.elementor-530 .elementor-element.elementor-element-1b96871{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-edf90fa{--display:flex;}.elementor-530 .elementor-element.elementor-element-ef594a9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-9678d88{--display:flex;}.elementor-530 .elementor-element.elementor-element-138572b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-530 .elementor-element.elementor-element-4ec3cb6{--n-accordion-title-font-size:1rem;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;}.elementor-530 .elementor-element.elementor-element-71a7874{--display:flex;}.elementor-530 .elementor-element.elementor-element-71a7874:not(.elementor-motion-effects-element-type-background), .elementor-530 .elementor-element.elementor-element-71a7874 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-530 .elementor-element.elementor-element-77ba014{background-color:#FFFFFF;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 36px) 0px;}.elementor-530 .elementor-element.elementor-element-77ba014 .elementor-wrapper{--video-aspect-ratio:1.77777;filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-530 .elementor-element.elementor-element-f2cd126{--display:flex;}body.elementor-page-530:not(.elementor-motion-effects-element-type-background), body.elementor-page-530 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}/* Start custom CSS for html, class: .elementor-element-0e97a22 */:root {
  --color-green: #008457;
  --color-green-dark: #0b4f41;
  --color-yellow: #fbaf17;
  --color-gray-text: #6d6f71;
  --color-gray-dark: #58585b;
  --color-black: #1b1515;
  --color-white: #ffffff;

  --font-family: 'Montserrat', sans-serif;
  --section-py: 3.25rem;
  --section-py-mobile: 2rem;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: var(--font-family);
  color: var(--color-black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #e9e9e9;
}

/* ============================================
   LP Wrapper — container único da landing page
   ============================================ */
.lp {
  width: 100%;
  background-color: var(--color-white);
  overflow: hidden;
}

.lp .container {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 3rem;
  padding-right: 3rem;
}

@media (max-width: 575.98px) {
  .lp .container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

p {
  margin-bottom: 0;
}

/* ============================================
   Plano Tabela
   ============================================ */
/* Força todas as células (exceto as faixas de título das seções) a ficarem com o cinza escuro correto */
.plano-tabela__table tbody tr:not(.plano-tabela__section-row) td {
    background-color: #e8e8e8 !important;
}
.plano-tabela {
  background-color: var(--color-white);
  padding: var(--section-py) 0;
}

/* Title bar — green bg, white text, centered */
.plano-tabela__header {
  background-color: var(--color-green);
  padding: 1.75rem 1rem;
  text-align: center;
}

/* Master variant — yellow header */
.plano-tabela--master .plano-tabela__header {
  background-color: var(--color-yellow);
}

.plano-tabela__header-text {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-white);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Table */
.plano-tabela__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 0.5rem;
}

/* Section headers — dark gray bg, white text, centered */
.plano-tabela__section-row td {
  background-color: #818285;
  padding: 1.5rem 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0;
}

/* Data rows */
.plano-tabela__table tr:not(.plano-tabela__section-row) td {
  background-color: #e7e7e8;
  padding: 1.5rem 1.5rem;
  font-size: 1rem;
  line-height: 1.55;
  vertical-align: middle;
}

/* Left col — bold dark labels */
.plano-tabela__table tr:not(.plano-tabela__section-row) td:first-child {
  width: 32%;
  color: var(--color-black);
  border-right: 0.5rem solid var(--color-white);
  font-weight: 700;
  padding-left: 2rem;
}

.plano-tabela__table tr:not(.plano-tabela__section-row) td:first-child strong {
  font-weight: 700;
}

/* Right col — gray regular values */
.plano-tabela__table tr:not(.plano-tabela__section-row) td:last-child {
  color: var(--color-gray-text);
  font-weight: 400;
}

.plano-tabela--master .plano-tabela__header {
  background-color: var(--color-yellow);
}

@media (max-width: 575.98px) {
  .plano-tabela__header {
    padding: 1rem;
  }

  .plano-tabela__header-text {
    font-size: 1.125rem;
  }

  .plano-tabela__section-row td {
    padding: 0.875rem 0.75rem;
    font-size: 1rem;
  }

  .plano-tabela__table tr:not(.plano-tabela__section-row) td {
    font-size: 0.875rem;
    padding: 0.75rem 0.875rem;
  }

  .plano-tabela__table tr:not(.plano-tabela__section-row) td:first-child {
    width: 40%;
  }
}

/* ============================================
   Escolha
   ============================================ */

.escolha {
  background-color: var(--color-white);
  padding: var(--section-py) 0;
}

.escolha__wrapper {
  position: relative;
}

.escolha__image {
  width: 100%;
  height: auto;
}

.escolha__cta {
  position: absolute;
  top: 1.5rem;
  left: 0;
  display: inline-block;
  background-color: var(--color-yellow);
  color: var(--color-white);
  font-size: 0.9375rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.4;
  padding: 1.25rem 2rem;
  border-radius: 0 2rem 2rem 0;
  z-index: 2;
  transition: opacity 0.2s ease;
}

.escolha__cta:hover {
  opacity: 0.9;
  color: var(--color-white);
}

@media (max-width: 575.98px) {
  .escolha__cta {
    font-size: 0.75rem;
    padding: 0.875rem 1.25rem;
    top: 1rem;
  }
}

/* ============ Hero ============ */
.hero {
  position: relative;
  width: 100%;
  height: 640px;
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}

/* Orelha amarela saindo do canto esquerdo */
.hero__tab {
  position: absolute;
  top: 56px;
  left: 0;
  width: 110px;
  height: 56px;
  background-color: var(--color-yellow);
  border-top-right-radius: 999px;
  border-bottom-right-radius: 999px;
  z-index: 3;
}

/* Linha curva decorativa */
.hero__curve {
  position: absolute;
  top: 50px;
  left: 0;
  width: 100%;
  height: 140px;
  z-index: 2;
  pointer-events: none;
}

/* Card da logo no canto direito */
.hero__logo {
  position: absolute;
  top: 32px;
  right: 40px;
  background-color: var(--color-white);
  padding: 14px 28px;
  border-radius: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4;
}

.hero__logo img {
  display: block;
  width: auto;
  height: 56px;
  max-width: none;
}

/* Conteúdo textual sobreposto */
.hero__overlay {
  position: relative;
  z-index: 3;
  max-width: 1200px;
  margin: 0 auto;
  height: 100%;
  padding: 0 3rem;
  display: flex;
  align-items: center;
}

.hero__content {
  max-width: 520px;
}

.hero__title {
  color: var(--color-white);
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 1.25;
  margin: 0 0 1.25rem 0;
  letter-spacing: -0.01em;
}

.hero__subtitle {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0;
}

.hero__subtitle--yellow {
  color: var(--color-yellow);
}

.hero__subtitle--orange {
  color: #E8730C; /* laranja mais escuro que o amarelo, como no PDF */
}

/* Faixa amarela fina no fim do hero */
.hero__bottom-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  background-color: var(--color-yellow);
  z-index: 3;
}

/* Responsividade */
@media (max-width: 768px) {
  .hero {
    height: 520px;
  }
  .hero__title {
    font-size: 1.6rem;
  }
  .hero__logo {
    top: 20px;
    right: 20px;
    padding: 12px 20px;
  }
  .hero__logo img {
    max-width: 90px;
  }
  .hero__tab {
    top: 32px;
    width: 56px;
    height: 32px;
  }
  .hero__overlay {
    padding: 0 1.5rem;
  }
}
.hero-section {
  width: 100vw; /* 100% da largura da janela de visualização */
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw; /* Deslocamento negativo para a esquerda */
  margin-right: -50vw; /* Deslocamento negativo para a direita */
  background-color: #008457; /* A cor verde exata da sua seção */
}

/* ============================================
   Acolhimento
   ============================================ */

.acolhimento {
  background-color: var(--color-yellow);
  padding: var(--section-py) 0 0;
}

.acolhimento__image {
  width: 100%;
  height: auto;
  display: block;
}

/* Acolhimento + Texto Cemig unificado (amarelo) */
.acolhimento-bloco {
  background-color: var(--color-yellow);
  padding: 2.5rem 0 3rem;
  position: relative;
}

.acolhimento-bloco__image-wrapper {
  width: calc(100% - 2rem);
  max-width: 100%;
  margin: 0 1rem;
  aspect-ratio: 1.7 / 1;
  position: relative;
}

/* Elipse principal — contorno da imagem */
.acolhimento-bloco__image-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.95);
  z-index: 2;
  pointer-events: none;
}

.acolhimento-bloco__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

/* SVG — curva branca atravessando o oval */
.acolhimento-bloco__curve {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 3;
}

.acolhimento-bloco__overlay {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  z-index: 4;
  text-align: center;
  color: var(--color-white);
  line-height: 0.95;
  padding: 0 5%;
}

.acolhimento-bloco__title {
  display: block;
  font-size: clamp(3rem, 9vw, 6rem);
  font-weight: 300;
  letter-spacing: -0.01em;
}

.acolhimento-bloco__subtitle {
  display: block;
  font-size: clamp(1rem, 2.4vw, 1.5rem);
  font-weight: 400;
  margin-top: 0.25rem;
  transform: translateX(40%);
}

.acolhimento-bloco__text {
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.95;
  color: var(--color-black);
  text-align: left;
  max-width: none;
  margin: 0 1rem;
  padding: 2.5rem 1rem 1rem;
}

@media (max-width: 767.98px) {
  .acolhimento-bloco__image-wrapper {
    aspect-ratio: 1.3 / 1;
    margin-top: -1.5rem;
  }
}

@media (max-width: 575.98px) {
  .acolhimento-bloco {
    padding: 0 1rem 2rem;
  }

  .acolhimento-bloco__text {
    font-size: 0.8125rem;
    padding-top: 1.75rem;
  }

  .acolhimento-bloco__subtitle {
    transform: translateX(20%);
  }
}

/* ============================================
   Texto Bloco
   ============================================ */

.texto-bloco {
  padding: 4.5rem 0;
}

.texto-bloco--white {
  background-color: var(--color-white);
}

.texto-bloco--yellow {
  background-color: var(--color-yellow);
}

.texto-bloco__text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  color: var(--color-black);
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}

.texto-bloco__text--left {
  text-align: left;
}

.texto-bloco--has-cta {
  position: relative;
  padding-bottom: 4rem;
}

.texto-bloco__cta-wrapper {
  text-align: right;
}

.texto-bloco__cta {
  display: inline-block;
  background-color: var(--color-yellow);
  color: var(--color-black);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 1.25rem 2rem;
  border-radius: 1.25rem;
  border: 0.8125rem solid var(--color-white);
  position: relative;
  top: 6.25rem;
  z-index: 2;
  text-align: center;
  transition: opacity 0.2s ease;
}

.texto-bloco__cta:hover {
  opacity: 0.9;
  color: var(--color-black);
}

@media (max-width: 575.98px) {
  .texto-bloco {
    padding: 2.5rem 0;
  }

  .texto-bloco__text {
    font-size: 0.875rem;
    line-height: 1.8;
  }

  .texto-bloco__cta {
    font-size: 0.8125rem;
    padding: 1rem 1.5rem;
  }
}

/* ============================================
   Banner Vital Apartamento
   ============================================ */

.banner-vital-apto {
  background-color: var(--color-green);
  padding: 2.25rem 0;
  text-align: center;
}

.banner-vital-apto__text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-white);
  max-width: 620px;
  margin: 0 auto;
}

.banner-vital-apto__text strong {
  color: var(--color-yellow);
  font-weight: 700;
}

@media (max-width: 575.98px) {
  .banner-vital-apto__text {
    font-size: 0.875rem;
  }
}

/* ============================================
   Banner Assista o Vídeo
   ============================================ */

.banner-video {
  position: relative;
  background-color: var(--color-white);
}

.banner-video__text {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  background-color: var(--color-yellow);
  color: var(--color-white);
  text-align: center;
  font-size: 0.9375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.875rem 1rem;
  margin: 0;
}

.banner-video__image {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 575.98px) {
  .banner-video__text {
    font-size: 0.75rem;
    padding: 0.625rem 1rem;
  }
}

/* ============================================
   Banner Pagamento
   ============================================ */

.banner-pagamento {
  background: url('../img/banner-pagamento-bg.jpg') no-repeat center top / 100% auto;
  padding: var(--section-py) 0 8rem;
  text-align: center;
}

.banner-pagamento__text {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-white);
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}

@media (max-width: 575.98px) {
  .banner-pagamento {
    padding-bottom: 5rem;
    background-size: 100% 100%;
  }

  .banner-pagamento__text {
    font-size: 1rem;
  }
}

/* ============================================
   Info Section (Ajuda Mensal / Custeio)
   ============================================ */

.info-section {
  background-color: var(--color-white);
  padding: var(--section-py) 0;
}

.info-section__badge {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-white);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  padding: 0.875rem 2.5rem;
  border-radius: 2.5rem;
  margin-bottom: 2rem;
}

.info-section--with-badge {
  position: relative;
  padding-top: 0;
}

.info-section--with-badge .info-section__badge {
  position: relative;
  margin-top: -1.25rem;
  z-index: 2;
}

.info-section__badge--green {
  background-color: var(--color-green);
}

.info-section__badge--yellow {
  background-color: var(--color-yellow);
}

.info-section__block {
  padding: 1.5rem 0;
  border-bottom: 0.0625rem solid #e7e7e8;
}

.info-section__block:last-child {
  border-bottom: none;
}

.info-section__title {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom: 0.75rem;
}

.info-section__title--green {
  color: var(--color-green);
}

.info-section__title--yellow {
  color: var(--color-yellow);
}

.info-section__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-gray-text);
}

.info-section__list {
  margin-top: 0.75rem;
  padding-left: 1.25rem;
  list-style: disc;
}

.info-section__list li {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.7;
  color: var(--color-gray-dark);
  margin-bottom: 0.25rem;
}

.info-section__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 0.5rem;
  margin-top: 1.25rem;
}

.info-section__table thead th {
  background-color: var(--color-yellow);
  color: var(--color-white);
  font-size: 1.25rem;
  font-weight: 700;
  padding: 1.5rem 1.25rem;
  text-align: center;
  text-transform: uppercase;
  border-right: 0.5rem solid var(--color-white);
}

.info-section__table thead th:last-child {
  border-right: none;
}

.info-section__table tbody td {
  background-color: #e7e7e8;
  padding: 0.875rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-gray-text);
  text-align: center;
  border-right: 0.5rem solid var(--color-white);
}

.info-section__table tbody td:first-child {
  text-align: left;
  color: var(--color-black);
}

.info-section__table tbody td:last-child {
  border-right: none;
}

@media (max-width: 575.98px) {
  .info-section__badge {
    font-size: 1rem;
  }

  .info-section__title {
    font-size: 0.8125rem;
  }

  .info-section__text,
  .info-section__list li {
    font-size: 0.8125rem;
  }

  .info-section__table thead th {
    font-size: 0.8125rem;
  }

  .info-section__table tbody td {
    font-size: 0.75rem;
    padding: 0.5rem 0.75rem;
  }
}

/* ============================================
   Simulador
   ============================================ */

.simulador {
  position: relative;
}

.simulador__image {
  width: 100%;
  height: auto;
  display: block;
}

.simulador__cta-wrapper {
  position: absolute;
  bottom: 1.5rem;
  left: 0;
  right: 0;
  text-align: right;
}

.simulador__cta {
  display: inline-block;
  background-color: var(--color-yellow);
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.875rem 2rem;
  border-radius: 2rem;
  transition: opacity 0.2s ease;
}

.simulador__cta:hover {
  opacity: 0.9;
  color: var(--color-white);
}

@media (max-width: 575.98px) {
  .simulador__cta {
    font-size: 0.75rem;
    padding: 0.75rem 1.25rem;
  }

  .simulador__cta-wrapper {
    bottom: 1rem;
  }
}

/* ============================================
   Plano Hero (shared by Plano Vital & Plano Master)
   ============================================ */

.plano-hero {
  position: relative;
  background-color: var(--color-green);
  padding: 3rem 0;
}

.plano-hero__inner {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding-right: 2.5rem;
  position: relative;
}

.plano-hero--right .plano-hero__inner {
  padding-right: 0;
  padding-left: 2.5rem;
}

/* -- Variant: image LEFT, text RIGHT -- */
.plano-hero--left .plano-hero__image {
  flex: 0 0 46%;
  order: 1;
  margin-left: -4rem;
  margin-top: -3rem;
  margin-bottom: -3rem;
}

.plano-hero--left .plano-hero__text {
  flex: 1;
  order: 2;
}

/* -- Variant: text LEFT, image RIGHT -- */
.plano-hero--right .plano-hero__text {
  flex: 1;
  order: 1;
}

.plano-hero--right .plano-hero__image {
  flex: 0 0 46%;
  order: 2;
  margin-right: -4rem;
  margin-top: -3rem;
  margin-bottom: -3rem;
}

.plano-hero__image {
  aspect-ratio: 0.78 / 1;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.95);
  position: relative;
  z-index: 1;
}

.plano-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.plano-hero__curve {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
  overflow: visible;
}

@media (max-width: 575.98px) {
  .plano-hero__inner,
  .plano-hero--right .plano-hero__inner {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .plano-hero--left .plano-hero__image {
    margin-left: 0;
  }

  .plano-hero--right .plano-hero__image {
    margin-right: 0;
  }
}

.plano-hero__text {
  color: var(--color-white);
}

.plano-hero__label {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 0.25rem;
}

.plano-hero__name {
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 0.95;
  margin-bottom: 1.5rem;
  margin-top: 0;
  letter-spacing: -0.01em;
}

.plano-hero--vital .plano-hero__name {
  color: var(--color-yellow);
}

.plano-hero--master {
  background-color: var(--color-yellow);
}

.plano-hero--master .plano-hero__label {
  color: var(--color-gray-dark);
}

.plano-hero--master .plano-hero__name {
  color: var(--color-white);
}

.plano-hero--master .plano-hero__subtitle {
  color: var(--color-gray-dark);
}

.plano-hero--master .plano-hero__desc {
  color: #7a5a00;
}

.plano-hero__subtitle {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1.25rem;
}

.plano-hero__desc {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  max-width: 380px;
}

@media (max-width: 767.98px) {
  .plano-hero__name {
    font-size: 2.25rem;
  }

  .plano-hero__subtitle {
    font-size: 1rem;
  }

  .plano-hero__desc {
    font-size: 0.875rem;
  }
}

/* ============================================
   Senhor (reuses plano-hero--right pattern)
   ============================================ */

.senhor {
  position: relative;
  background-color: var(--color-green);
  overflow: hidden;
  padding: var(--section-py) 0;
}

/* Yellow box — oval decorative element, cropped at left edge */
.senhor::before {
  content: '';
  position: absolute;
  top: var(--section-py);
  left: -2.5rem;
  width: 5rem;
  height: 3rem;
  background-color: var(--color-yellow);
  border-radius: 50%;
  z-index: 2;
}

.senhor__inner {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.senhor__text {
  flex: 1;
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.85;
}

.senhor__text p {
  margin-bottom: 0.75rem;
}

.senhor__text strong {
  color: var(--color-yellow);
}

.senhor__image {
  flex: 0 0 42%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.9);
  position: relative;
}

.senhor__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* -- Mobile -- */
@media (max-width: 575.98px) {
  .plano-hero__inner {
    flex-direction: column;
  }

  .plano-hero--left .plano-hero__image,
  .plano-hero--right .plano-hero__image {
    margin-left: auto;
    margin-right: auto;
    flex: auto;
    width: 80%;
    max-width: 300px;
    order: 2;
  }

  .plano-hero--left .plano-hero__text,
  .plano-hero--right .plano-hero__text {
    flex: auto;
    width: 100%;
    padding-left: 0;
    margin-bottom: 1.5rem;
    order: 1;
  }

  .senhor__inner {
    flex-direction: column;
  }

  .senhor__text {
    flex: auto;
    width: 100%;
    margin-bottom: 1.5rem;
  }

  .senhor__image {
    flex: auto;
    width: 80%;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ============================================
   Conceito
   ============================================ */

.conceito {
  background-color: var(--color-yellow);
  padding: var(--section-py) 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.conceito__text {
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-green-dark);
  text-align: center;
}

.conceito__text strong {
  font-weight: 800;
  color: var(--color-white);
}

/* ============================================
   Footer
   ============================================ */

.footer {
  background-color: var(--color-green);
  padding: var(--section-py) 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.footer__social {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.footer__social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease;
}

.footer__social-icon:hover {
  opacity: 0.75;
}

.footer__social-icon svg {
  width: 1.75rem;
  height: 1.75rem;
}

.footer__social-label {
  font-size: 0.6875rem;
  font-weight: 300;
  color: var(--color-white);
  margin-left: 0.5rem;
  white-space: nowrap;
}

.footer__logo a {
  display: block;
  transition: opacity 0.2s ease;
}

.footer__logo a:hover {
  opacity: 0.85;
}

.footer__logo img {
  width: 6.6875rem;
  height: auto;
}

/* ---- Mobile (< 576px) ---- */

@media (max-width: 575.98px) {
  :root {
    --section-py: var(--section-py-mobile);
  }

  .conceito__text {
    font-size: 1rem;
    line-height: 1.7;
  }

  .footer__inner {
    flex-direction: column;
    gap: 1.25rem;
  }

  .footer__social-icon svg {
    width: 1.5rem;
    height: 1.5rem;
  }

  .footer__logo img {
    width: 5.5rem;
  }
}
/* ============================================
   Ajuste de Fonte - Seção "Quem será migrado"
   ============================================ */
.info-section__text,
.info-section__list,
.info-section__list p,
.info-section__list li {
    font-size: 1rem !important; /* Aumenta a fonte para ficar do tamanho do texto inicial */
    line-height: 2 !important; /* Dá o mesmo respiro elegante entre as linhas */
    color: var(--color-black) !important; /* Tira o tom cinza apagado e deixa mais legível */
    font-weight: 400 !important; /* Mantém o peso da fonte fininho e moderno */
}

/* Garante que os títulos "Dependentes diretos" continuem em destaque */
.info-section__list strong {
    font-weight: 700 !important;
}

/* Ajuste para não ficar gigante no celular */
@media (max-width: 575.98px) {
    .info-section__text,
    .info-section__list,
    .info-section__list p,
    .info-section__list li {
        font-size: 0.875rem !important; 
        line-height: 1.8 !important;
    }
}
/* ============================================================
   Correção Mobile das Seções de Planos (Hero)
   ============================================================ */

@media (max-width: 768px) {
    /* Transforma a caixa mobile em uma coluna flexível */
    .plano-hero .show-mobile {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        position: relative;
    }

    /* O PULO DO GATO: Esconde a imagem se o link (src) estiver vazio, matando o texto vazado */
    .plano-hero__decor[src=" "],
    .plano-hero__decor[src=""] {
        display: none !important;
    }

    /* Caso a seção tenha a imagem de decoração preenchida (como na aba Master) */
    .plano-hero__decor {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 0;
        opacity: 0.2; /* Deixa a decoração mais suave no fundo, se precisar ajuste */
    }

    /* Centraliza e ajusta o tamanho da foto recortada (ex: O Senhorzinho) */
    .plano-hero__people {
        position: relative;
        z-index: 2;
        width: 100%;
        max-width: 260px; /* Evita que a foto fique gigante ou minúscula */
        margin: 0 auto 32px auto; /* Dá um respiro entre a foto e o texto abaixo */
        display: block;
    }

    /* Garante que o container de texto fique alinhado e por cima de tudo */
    .plano-hero .show-mobile .container {
        position: relative;
        z-index: 3;
        width: 100%;
    }

    /* Centraliza os textos */
    .plano-hero__text {
        text-align: center;
    }

    /* Ajusta o título para não quebrar a tela do celular */
    .plano-hero__name {
        font-size: 2.2rem !important;
        line-height: 1.1;
        margin-bottom: 16px;
    }
}

/* ============================================================
   Tabelas Responsivas - Scroll Horizontal no Telemóvel
   ============================================================ */

@media (max-width: 768px) {
    /* Transforma as tabelas em blocos com deslizamento horizontal */
    .plano-tabela__table,
    .info-section__table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important; /* Torna o deslize suave em iPhones */
        padding-bottom: 10px !important; /* Dá um pequeno espaço para a barra de scroll não colar no texto */
    }

    /* Força uma largura mínima para as colunas não ficarem esmagadas */
    .plano-tabela__table th,
    .plano-tabela__table td,
    .info-section__table th,
    .info-section__table td {
        min-width: 160px !important; /* Garante espaço suficiente para ler o texto */
        word-break: break-word !important;
    }
    
    /* A primeira coluna (Faixa etária / Características) pode ser um pouco menor se quiser */
    .plano-tabela__table td:first-child,
    .info-section__table td:first-child {
        min-width: 120px !important;
    }
}
/* ---- Mobile (< 576px) ---- */

@media (max-width: 575.98px) {
  :root {
    --section-py: var(--section-py-mobile);
  }

  .conceito__text {
    font-size: 1rem;
    line-height: 1.7;
  }

  .footer__inner {
    flex-direction: column;
    gap: 1.25rem;
  }

  .footer__social-icon svg {
    width: 1.5rem;
    height: 1.5rem;
  }

  .footer__logo img {
    width: 5.5rem;
  }
}

@media (max-width: 768px) {
    /* 1. Remove a altura fixa do banner que deixa sobrar espaço vazio embaixo */
    .classe-da-secao-do-banner {
        height: auto !important;
        min-height: auto !important;
        margin-bottom: 20px !important; /* Deixa só um espacinho normal */
    }

    /* 2. Zera as margens gigantes do texto para ele subir */
    .classe-da-secao-do-texto {
        margin-top: 0 !important;
        padding-top: 10px !important;
    }
}
@media (max-width: 768px) {
    header.hero {
        height: auto !important;
        min-height: 0 !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-28ca121 *//* ============================================================
   Ajuste para deixar o texto da tabela de Coparticipação Fino
   ============================================================ */

/* Alvo: Primeira coluna (rótulos) da tabela específica de coparticipação */
.info-section__table--copart tbody td:first-child {
    font-weight: 400 !important; /* Força o peso da fonte a ficar fino (normal) */
    color: var(--color-black) !important; /* Garante a cor preta conforme exemplo */
}

/* Garante que os valores na segunda coluna que têm <strong> continuem grossos */
.info-section__table--copart tbody td strong {
    font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70d1e97 *//* Remove o aspecto de tabela, deixando só a linha inferior */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Espaçamento e tipografia da Pergunta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title {
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-toggle-icon {
    color: #008457 !important;
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; /* O 40px alinha o texto com a pergunta */
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando estiver aberto */
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-70d1e97 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4ec3cb6 *//* Remove a borda da "caixa" externa do widget inteiro */
.elementor-530 .elementor-element.elementor-element-4ec3cb6 .elementor-accordion {
    border: none !important;
}

/* Remove as bordas laterais/topo e deixa só uma linha fina embaixo de cada item */
.elementor-530 .elementor-element.elementor-element-4ec3cb6 .elementor-accordion-item,
.elementor-530 .elementor-element.elementor-element-4ec3cb6 .elementor-toggle-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    background-color: transparent !important;
}

/* Tira o negrito e ajusta o espaçamento da Pergunta */
.elementor-530 .elementor-element.elementor-element-4ec3cb6 .elementor-tab-title,
.elementor-530 .elementor-element.elementor-element-4ec3cb6 .elementor-accordion-title {
    font-weight: 400 !important; /* Força a fonte a ficar com espessura normal (sem negrito) */
    padding: 24px 16px !important;
    background-color: transparent !important;
    border: none !important;
    transition: color 0.3s ease !important;
}

/* Alinhamento e cor do ícone de + e - */
.elementor-530 .elementor-element.elementor-element-4ec3cb6 .elementor-accordion-icon,
.elementor-530 .elementor-element.elementor-element-4ec3cb6 .elementor-toggle-icon {
    color: #008457 !important; /* Verde institucional */
    margin-right: 16px !important;
}

/* Espaçamento e altura de linha da Resposta */
.elementor-530 .elementor-element.elementor-element-4ec3cb6 .elementor-tab-content {
    padding: 0 16px 24px 40px !important; 
    border: none !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

/* Cor verde ao passar o mouse ou quando a pergunta estiver aberta */
.elementor-530 .elementor-element.elementor-element-4ec3cb6 .elementor-tab-title:hover,
.elementor-530 .elementor-element.elementor-element-4ec3cb6 .elementor-tab-title.elementor-active {
    color: #008457 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6074ae1 *//* 1. Transforma a seção inteira em uma base para o alinhamento */
.senhor {
    position: relative; /* Necessário para ancorar as imagens absolutas */
    display: flex;
    align-items: center; /* Centraliza o conteúdo verticalmente */
    min-height: 600px; /* Ajuste esse valor de acordo com a altura exata da imagem do design */
    padding: 60px 0; /* Respiro extra em cima e embaixo */
    overflow: hidden; /* Evita que a linha decorativa vaze para os lados */
}

/* 2. Garante que o texto fique por cima e respeite a margem */
.senhor .container {
    width: 100%;
    position: relative;
    z-index: 2; /* Mantém o texto selecionável e acima das imagens */
}

/* 3. O SEGREDO: Limita a largura do texto para ele não invadir a imagem */
.senhor__text {
    max-width: 45%; /* O texto ocupará apenas a metade esquerda da tela */
}

/* 4. Fixa as imagens de forma independente */
.senhor__decor {
    position: absolute;
    top: 0; /* Devolve a imagem da linha decorativa para o topo */
    left: 0; 
    width: 100%; /* Garante que ela atravesse a tela corretamente */
    z-index: 1;
}

.senhor__people {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%); /* Centraliza APENAS a foto do homem */
    max-width: 55%;
    z-index: 2; /* Garante que ele fique por cima da linha */
}
@media (max-width: 768px) {
    /* 1. Transforma a seção numa coluna flexível para empilhar o conteúdo */
    .senhor {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        padding-top: 40px !important; 
        padding-bottom: 40px !important;
        position: relative;
    }

    /* 2. Traz a foto do senhor de volta para o fluxo normal da página */
    .senhor__people {
        position: relative !important;
        width: 100% !important;
        max-width: 320px !important; /* Evita que a foto fique gigante */
        height: auto !important;
        inset: auto !important; /* Reseta o top/right/bottom/left do absolute */
        transform: none !important; /* Reseta qualquer deslocamento em Y ou X */
        margin: 0 auto 30px auto !important; /* Centraliza a foto e dá espaço embaixo */
        order: -1 !important; /* Joga a foto para CIMA do texto. Se quiser embaixo, apague esta linha */
    }

    /* 3. Libera o texto para ocupar 100% da largura da tela */
    .senhor__text {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 15px !important; /* Garante que o texto não cole nas bordas do celular */
    }

    /* 4. Esconde o elemento decorativo que está quebrado no mobile */
    .senhor__decor {
        display: none !important; 
    }
}
@media (max-width: 768px) {
    /* Substitua pela classe real da sua faixa amarela */
    .secao-faixa-amarela {
        height: auto !important; /* Remove a altura fixa que está a esmagar o texto */
        min-height: auto !important; 
        padding-top: 30px !important; /* Espaço em cima */
        padding-bottom: 30px !important; /* O espaço crucial para o texto não vazar em baixo */
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}/* End custom CSS */
/* Start custom CSS *//* ============================================================
   Fundo da Página Inteira em Branco
   ============================================================ */
body, html {
    background-color: #ffffff !important;
}
/* ============================================
   Cemig Saúde — Landing Page
   ============================================ */

:root {
  --color-green: #008457;
  --color-green-dark: #0b4f41;
  --color-yellow: #fbaf17;
  --color-gray-text: #6d6f71;
  --color-gray-dark: #58585b;
  --color-black: #1b1515;
  --color-white: #ffffff;

  --font-family: 'Montserrat', sans-serif;
  --section-py: 3.25rem;
  --section-py-mobile: 2rem;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: var(--font-family);
  color: var(--color-black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #e9e9e9;
}

/* ============================================
   LP Wrapper — container único da landing page
   ============================================ */
.lp {
  width: 100%;
  background-color: var(--color-white);
  overflow: hidden;
}

.lp .container {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 3rem;
  padding-right: 3rem;
}

@media (max-width: 575.98px) {
  .lp .container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

p {
  margin-bottom: 0;
}

/* ============================================
   Plano Tabela
   ============================================ */

.plano-tabela {
  background-color: var(--color-white);
  padding: var(--section-py) 0;
}

/* Title bar — green bg, white text, centered */
.plano-tabela__header {
  background-color: var(--color-green);
  padding: 1.75rem 1rem;
  text-align: center;
}

/* Master variant — yellow header */
.plano-tabela--master .plano-tabela__header {
  background-color: var(--color-yellow);
}

.plano-tabela__header-text {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-white);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Table */
.plano-tabela__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 0.5rem;
}

/* Section headers — dark gray bg, white text, centered */
.plano-tabela__section-row td {
  background-color: #818285;
  padding: 1.5rem 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0;
}

/* Data rows */
.plano-tabela__table tr:not(.plano-tabela__section-row) td {
  background-color: #e7e7e8;
  padding: 1.5rem 1.5rem;
  font-size: 1rem;
  line-height: 1.55;
  vertical-align: middle;
}

/* Left col — bold dark labels */
.plano-tabela__table tr:not(.plano-tabela__section-row) td:first-child {
  width: 32%;
  color: var(--color-black);
  border-right: 0.5rem solid var(--color-white);
  font-weight: 700;
  padding-left: 2rem;
}

.plano-tabela__table tr:not(.plano-tabela__section-row) td:first-child strong {
  font-weight: 700;
}

/* Right col — gray regular values */
.plano-tabela__table tr:not(.plano-tabela__section-row) td:last-child {
  color: var(--color-gray-text);
  font-weight: 400;
}

.plano-tabela--master .plano-tabela__header {
  background-color: var(--color-yellow);
}

@media (max-width: 575.98px) {
  .plano-tabela__header {
    padding: 1rem;
  }

  .plano-tabela__header-text {
    font-size: 1.125rem;
  }

  .plano-tabela__section-row td {
    padding: 0.875rem 0.75rem;
    font-size: 1rem;
  }

  .plano-tabela__table tr:not(.plano-tabela__section-row) td {
    font-size: 0.875rem;
    padding: 0.75rem 0.875rem;
  }

  .plano-tabela__table tr:not(.plano-tabela__section-row) td:first-child {
    width: 40%;
  }
}

/* ============================================
   Escolha
   ============================================ */

.escolha {
  background-color: var(--color-white);
  padding: var(--section-py) 0;
}

.escolha__wrapper {
  position: relative;
}

.escolha__image {
  width: 100%;
  height: auto;
}

.escolha__cta {
  position: absolute;
  top: 1.5rem;
  left: 0;
  display: inline-block;
  background-color: var(--color-yellow);
  color: var(--color-white);
  font-size: 0.9375rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.4;
  padding: 1.25rem 2rem;
  border-radius: 0 2rem 2rem 0;
  z-index: 2;
  transition: opacity 0.2s ease;
}

.escolha__cta:hover {
  opacity: 0.9;
  color: var(--color-white);
}

@media (max-width: 575.98px) {
  .escolha__cta {
    font-size: 0.75rem;
    padding: 0.875rem 1.25rem;
    top: 1rem;
  }
}

/* ============ Hero ============ */
.hero {
  position: relative;
  width: 100%;
  height: 640px;
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}

/* Orelha amarela saindo do canto esquerdo */
.hero__tab {
  position: absolute;
  top: 56px;
  left: 0;
  width: 110px;
  height: 56px;
  background-color: var(--color-yellow);
  border-top-right-radius: 999px;
  border-bottom-right-radius: 999px;
  z-index: 3;
}

/* Linha curva decorativa */
.hero__curve {
  position: absolute;
  top: 50px;
  left: 0;
  width: 100%;
  height: 140px;
  z-index: 2;
  pointer-events: none;
}

/* Card da logo no canto direito */
.hero__logo {
  position: absolute;
  top: 32px;
  right: 40px;
  background-color: var(--color-white);
  padding: 14px 28px;
  border-radius: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4;
}

.hero__logo img {
  display: block;
  width: auto;
  height: 56px;
  max-width: none;
}

/* Conteúdo textual sobreposto */
.hero__overlay {
  position: relative;
  z-index: 3;
  max-width: 1200px;
  margin: 0 auto;
  height: 100%;
  padding: 0 3rem;
  display: flex;
  align-items: center;
}

.hero__content {
  max-width: 520px;
}

.hero__title {
  color: var(--color-white);
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 1.25;
  margin: 0 0 1.25rem 0;
  letter-spacing: -0.01em;
}

.hero__subtitle {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0;
}

.hero__subtitle--yellow {
  color: var(--color-yellow);
}

.hero__subtitle--orange {
  color: #E8730C; /* laranja mais escuro que o amarelo, como no PDF */
}

/* Faixa amarela fina no fim do hero */
.hero__bottom-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  background-color: var(--color-yellow);
  z-index: 3;
}

/* Responsividade */
@media (max-width: 768px) {
  .hero {
    height: 520px;
  }
  .hero__title {
    font-size: 1.6rem;
  }
  .hero__logo {
    top: 20px;
    right: 20px;
    padding: 12px 20px;
  }
  .hero__logo img {
    max-width: 90px;
  }
  .hero__tab {
    top: 32px;
    width: 56px;
    height: 32px;
  }
  .hero__overlay {
    padding: 0 1.5rem;
  }
}

/* ============================================
   Acolhimento
   ============================================ */

.acolhimento {
  background-color: var(--color-yellow);
  padding: var(--section-py) 0 0;
}

.acolhimento__image {
  width: 100%;
  height: auto;
  display: block;
}

/* Acolhimento + Texto Cemig unificado (amarelo) */
.acolhimento-bloco {
  background-color: var(--color-yellow);
  padding: 2.5rem 0 3rem;
  position: relative;
}

.acolhimento-bloco__image-wrapper {
  width: calc(100% - 2rem);
  max-width: 100%;
  margin: 0 1rem;
  aspect-ratio: 1.7 / 1;
  position: relative;
}

/* Elipse principal — contorno da imagem */
.acolhimento-bloco__image-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.95);
  z-index: 2;
  pointer-events: none;
}

.acolhimento-bloco__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

/* SVG — curva branca atravessando o oval */
.acolhimento-bloco__curve {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 3;
}

.acolhimento-bloco__overlay {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  z-index: 4;
  text-align: center;
  color: var(--color-white);
  line-height: 0.95;
  padding: 0 5%;
}

.acolhimento-bloco__title {
  display: block;
  font-size: clamp(3rem, 9vw, 6rem);
  font-weight: 300;
  letter-spacing: -0.01em;
}

.acolhimento-bloco__subtitle {
  display: block;
  font-size: clamp(1rem, 2.4vw, 1.5rem);
  font-weight: 400;
  margin-top: 0.25rem;
  transform: translateX(40%);
}

.acolhimento-bloco__text {
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.95;
  color: var(--color-black);
  text-align: left;
  max-width: none;
  margin: 0 1rem;
  padding: 2.5rem 1rem 1rem;
}

@media (max-width: 767.98px) {
  .acolhimento-bloco__image-wrapper {
    aspect-ratio: 1.3 / 1;
    margin-top: -1.5rem;
  }
}

@media (max-width: 575.98px) {
  .acolhimento-bloco {
    padding: 0 1rem 2rem;
  }

  .acolhimento-bloco__text {
    font-size: 0.8125rem;
    padding-top: 1.75rem;
  }

  .acolhimento-bloco__subtitle {
    transform: translateX(20%);
  }
}

/* ============================================
   Texto Bloco
   ============================================ */

.texto-bloco {
  padding: 4.5rem 0;
}

.texto-bloco--white {
  background-color: var(--color-white);
}

.texto-bloco--yellow {
  background-color: var(--color-yellow);
}

.texto-bloco__text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  color: var(--color-black);
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}

.texto-bloco__text--left {
  text-align: left;
}

.texto-bloco--has-cta {
  position: relative;
  padding-bottom: 4rem;
}

.texto-bloco__cta-wrapper {
  text-align: right;
}

.texto-bloco__cta {
  display: inline-block;
  background-color: var(--color-yellow);
  color: var(--color-black);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 1.25rem 2rem;
  border-radius: 1.25rem;
  border: 0.8125rem solid var(--color-white);
  position: relative;
  top: 6.25rem;
  z-index: 2;
  text-align: center;
  transition: opacity 0.2s ease;
}

.texto-bloco__cta:hover {
  opacity: 0.9;
  color: var(--color-black);
}

@media (max-width: 575.98px) {
  .texto-bloco {
    padding: 2.5rem 0;
  }

  .texto-bloco__text {
    font-size: 0.875rem;
    line-height: 1.8;
  }

  .texto-bloco__cta {
    font-size: 0.8125rem;
    padding: 1rem 1.5rem;
  }
}

/* ============================================
   Banner Vital Apartamento
   ============================================ */

.banner-vital-apto {
  background-color: var(--color-green);
  padding: 2.25rem 0;
  text-align: center;
}

.banner-vital-apto__text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-white);
  max-width: 620px;
  margin: 0 auto;
}

.banner-vital-apto__text strong {
  color: var(--color-yellow);
  font-weight: 700;
}

@media (max-width: 575.98px) {
  .banner-vital-apto__text {
    font-size: 0.875rem;
  }
}

/* ============================================
   Banner Assista o Vídeo
   ============================================ */

.banner-video {
  position: relative;
  background-color: var(--color-white);
}

.banner-video__text {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  background-color: var(--color-yellow);
  color: var(--color-white);
  text-align: center;
  font-size: 0.9375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.875rem 1rem;
  margin: 0;
}

.banner-video__image {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 575.98px) {
  .banner-video__text {
    font-size: 0.75rem;
    padding: 0.625rem 1rem;
  }
}

/* ============================================
   Banner Pagamento
   ============================================ */

.banner-pagamento {
  background: url('../img/banner-pagamento-bg.jpg') no-repeat center top / 100% auto;
  padding: var(--section-py) 0 8rem;
  text-align: center;
}

.banner-pagamento__text {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-white);
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}

@media (max-width: 575.98px) {
  .banner-pagamento {
    padding-bottom: 5rem;
    background-size: 100% 100%;
  }

  .banner-pagamento__text {
    font-size: 1rem;
  }
}

/* ============================================
   Info Section (Ajuda Mensal / Custeio)
   ============================================ */

.info-section {
  background-color: var(--color-white);
  padding: var(--section-py) 0;
}

.info-section__badge {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-white);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  padding: 0.875rem 2.5rem;
  border-radius: 2.5rem;
  margin-bottom: 2rem;
}

.info-section--with-badge {
  position: relative;
  padding-top: 0;
}

.info-section--with-badge .info-section__badge {
  position: relative;
  margin-top: -1.25rem;
  z-index: 2;
}

.info-section__badge--green {
  background-color: var(--color-green);
}

.info-section__badge--yellow {
  background-color: var(--color-yellow);
}

.info-section__block {
  padding: 1.5rem 0;
  border-bottom: 0.0625rem solid #e7e7e8;
}

.info-section__block:last-child {
  border-bottom: none;
}

.info-section__title {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom: 0.75rem;
}

.info-section__title--green {
  color: var(--color-green);
}

.info-section__title--yellow {
  color: var(--color-yellow);
}

.info-section__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-gray-text);
}

.info-section__list {
  margin-top: 0.75rem;
  padding-left: 1.25rem;
  list-style: disc;
}

.info-section__list li {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.7;
  color: var(--color-gray-dark);
  margin-bottom: 0.25rem;
}

.info-section__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 0.5rem;
  margin-top: 1.25rem;
}

.info-section__table thead th {
  background-color: var(--color-yellow);
  color: var(--color-white);
  font-size: 1.25rem;
  font-weight: 700;
  padding: 1.5rem 1.25rem;
  text-align: center;
  text-transform: uppercase;
  border-right: 0.5rem solid var(--color-white);
}

.info-section__table thead th:last-child {
  border-right: none;
}

.info-section__table tbody td {
  background-color: #e7e7e8;
  padding: 0.875rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-gray-text);
  text-align: center;
  border-right: 0.5rem solid var(--color-white);
}

.info-section__table tbody td:first-child {
  text-align: left;
  color: var(--color-black);
}

.info-section__table tbody td:last-child {
  border-right: none;
}

@media (max-width: 575.98px) {
  .info-section__badge {
    font-size: 1rem;
  }

  .info-section__title {
    font-size: 0.8125rem;
  }

  .info-section__text,
  .info-section__list li {
    font-size: 0.8125rem;
  }

  .info-section__table thead th {
    font-size: 0.8125rem;
  }

  .info-section__table tbody td {
    font-size: 0.75rem;
    padding: 0.5rem 0.75rem;
  }
}

/* ============================================
   Simulador
   ============================================ */

.simulador {
  position: relative;
}

.simulador__image {
  width: 100%;
  height: auto;
  display: block;
}

.simulador__cta-wrapper {
  position: absolute;
  bottom: 1.5rem;
  left: 0;
  right: 0;
  text-align: right;
}

.simulador__cta {
  display: inline-block;
  background-color: var(--color-yellow);
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.875rem 2rem;
  border-radius: 2rem;
  transition: opacity 0.2s ease;
}

.simulador__cta:hover {
  opacity: 0.9;
  color: var(--color-white);
}

@media (max-width: 575.98px) {
  .simulador__cta {
    font-size: 0.75rem;
    padding: 0.75rem 1.25rem;
  }

  .simulador__cta-wrapper {
    bottom: 1rem;
  }
}

/* ============================================
   Plano Hero (shared by Plano Vital & Plano Master)
   ============================================ */

.plano-hero {
  position: relative;
  background-color: var(--color-green);
  padding: 3rem 0;
}

.plano-hero__inner {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding-right: 2.5rem;
  position: relative;
}

.plano-hero--right .plano-hero__inner {
  padding-right: 0;
  padding-left: 2.5rem;
}

/* -- Variant: image LEFT, text RIGHT -- */
.plano-hero--left .plano-hero__image {
  flex: 0 0 46%;
  order: 1;
  margin-left: -4rem;
  margin-top: -3rem;
  margin-bottom: -3rem;
}

.plano-hero--left .plano-hero__text {
  flex: 1;
  order: 2;
}

/* -- Variant: text LEFT, image RIGHT -- */
.plano-hero--right .plano-hero__text {
  flex: 1;
  order: 1;
}

.plano-hero--right .plano-hero__image {
  flex: 0 0 46%;
  order: 2;
  margin-right: -4rem;
  margin-top: -3rem;
  margin-bottom: -3rem;
}

.plano-hero__image {
  aspect-ratio: 0.78 / 1;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.95);
  position: relative;
  z-index: 1;
}

.plano-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.plano-hero__curve {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
  overflow: visible;
}

@media (max-width: 575.98px) {
  .plano-hero__inner,
  .plano-hero--right .plano-hero__inner {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .plano-hero--left .plano-hero__image {
    margin-left: 0;
  }

  .plano-hero--right .plano-hero__image {
    margin-right: 0;
  }
}

.plano-hero__text {
  color: var(--color-white);
}

.plano-hero__label {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 0.25rem;
}

.plano-hero__name {
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 0.95;
  margin-bottom: 1.5rem;
  margin-top: 0;
  letter-spacing: -0.01em;
}

.plano-hero--vital .plano-hero__name {
  color: var(--color-yellow);
}

.plano-hero--master {
  background-color: var(--color-yellow);
}

.plano-hero--master .plano-hero__label {
  color: var(--color-gray-dark);
}

.plano-hero--master .plano-hero__name {
  color: var(--color-white);
}

.plano-hero--master .plano-hero__subtitle {
  color: var(--color-gray-dark);
}

.plano-hero--master .plano-hero__desc {
  color: #7a5a00;
}

.plano-hero__subtitle {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1.25rem;
}

.plano-hero__desc {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  max-width: 380px;
}

@media (max-width: 767.98px) {
  .plano-hero__name {
    font-size: 2.25rem;
  }

  .plano-hero__subtitle {
    font-size: 1rem;
  }

  .plano-hero__desc {
    font-size: 0.875rem;
  }
}

/* ============================================
   Senhor (reuses plano-hero--right pattern)
   ============================================ */

.senhor {
  position: relative;
  background-color: var(--color-green);
  overflow: hidden;
  padding: var(--section-py) 0;
}

/* Yellow box — oval decorative element, cropped at left edge */
.senhor::before {
  content: '';
  position: absolute;
  top: var(--section-py);
  left: -2.5rem;
  width: 5rem;
  height: 3rem;
  background-color: var(--color-yellow);
  border-radius: 50%;
  z-index: 2;
}

.senhor__inner {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.senhor__text {
  flex: 1;
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.85;
}

.senhor__text p {
  margin-bottom: 0.75rem;
}

.senhor__text strong {
  color: var(--color-yellow);
}

.senhor__image {
  flex: 0 0 42%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.9);
  position: relative;
}

.senhor__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* -- Mobile -- */
@media (max-width: 575.98px) {
  .plano-hero__inner {
    flex-direction: column;
  }

  .plano-hero--left .plano-hero__image,
  .plano-hero--right .plano-hero__image {
    margin-left: auto;
    margin-right: auto;
    flex: auto;
    width: 80%;
    max-width: 300px;
    order: 2;
  }

  .plano-hero--left .plano-hero__text,
  .plano-hero--right .plano-hero__text {
    flex: auto;
    width: 100%;
    padding-left: 0;
    margin-bottom: 1.5rem;
    order: 1;
  }

  .senhor__inner {
    flex-direction: column;
  }

  .senhor__text {
    flex: auto;
    width: 100%;
    margin-bottom: 1.5rem;
  }

  .senhor__image {
    flex: auto;
    width: 80%;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ============================================
   Conceito
   ============================================ */

.conceito {
  background-color: var(--color-yellow);
  padding: var(--section-py) 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.conceito__text {
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-green-dark);
  text-align: center;
}

.conceito__text strong {
  font-weight: 800;
  color: var(--color-white);
}

/* ============================================
   Footer
   ============================================ */

.footer {
  background-color: var(--color-green);
  padding: var(--section-py) 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.footer__social {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.footer__social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease;
}

.footer__social-icon:hover {
  opacity: 0.75;
}

.footer__social-icon svg {
  width: 1.75rem;
  height: 1.75rem;
}

.footer__social-label {
  font-size: 0.6875rem;
  font-weight: 300;
  color: var(--color-white);
  margin-left: 0.5rem;
  white-space: nowrap;
}

.footer__logo a {
  display: block;
  transition: opacity 0.2s ease;
}

.footer__logo a:hover {
  opacity: 0.85;
}

.footer__logo img {
  width: 6.6875rem;
  height: auto;
}

/* ---- Mobile (< 576px) ---- */
@media (max-width: 575.98px) {
  :root {
    --section-py: var(--section-py-mobile);
  }

  /* 1. TRAVA DE ROLAGEM HORIZONTAL */
  /* Impede que elementos vazem da tela e criem aquele espaço em branco infinito na direita */
  html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
  }

  /* 2. LARGURA TOTAL PARA CONTAINERS E SECÇÕES */
  /* Garante que os blocos de texto e imagem ocupem a tela toda, em vez de ficarem no canto */
  section, 
  .container, 
  .wrapper { /* Substitua pelas classes estruturais que você usa no HTML */
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 15px; /* Mantém um respiro lateral para o texto não colar na borda */
    padding-right: 15px;
    box-sizing: border-box; /* Garante que o padding não aumente a largura total */
  }

  /* 3. EMPILHAMENTO DE COLUNAS (FLEXBOX) */
  /* Se o desktop usa flexbox para colocar elementos lado a lado, isso força eles a ficarem um embaixo do outro no mobile */
  .row, 
  .flex-container { /* Substitua pela sua classe de linha/grid */
    flex-direction: column !important;
    display: flex;
  }

  /* 4. AJUSTE DE IMAGENS E BANNERS */
  /* Garante que as imagens não quebrem o layout */
  img {
    max-width: 100%;
    height: auto;
  }

  /* Suas regras originais mantidas abaixo */
  .conceito__text {
    font-size: 1rem;
    line-height: 1.7;
  }

  .footer__inner {
    flex-direction: column;
    gap: 1.25rem;
  }

  .footer__social-icon svg {
    width: 1.5rem;
    height: 1.5rem;
  }

  .footer__logo img {
    width: 5.5rem;
  }
}
@media (max-width: 768px) {
    /* 1. Remove a altura fixa do banner que deixa sobrar espaço vazio embaixo */
    .classe-da-secao-do-banner {
        height: auto !important;
        min-height: auto !important;
        margin-bottom: 20px !important; /* Deixa só um espacinho normal */
    }

    /* 2. Zera as margens gigantes do texto para ele subir */
    .classe-da-secao-do-texto {
        margin-top: 0 !important;
        padding-top: 10px !important;
    }
}/* End custom CSS */