.elementor-2116 .elementor-element.elementor-element-e7480ee{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2116 .elementor-element.elementor-element-e7480ee:not(.elementor-motion-effects-element-type-background), .elementor-2116 .elementor-element.elementor-element-e7480ee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://precafast.com/wp-content/uploads/2025/07/CAPA-2.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-2116 .elementor-element.elementor-element-e7480ee.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2116 .elementor-element.elementor-element-155af59 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2116 .elementor-element.elementor-element-a135f82{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--margin-top:12rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-2116 .elementor-element.elementor-element-a135f82.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2116 .elementor-element.elementor-element-26465cc{text-align:center;}.elementor-2116 .elementor-element.elementor-element-26465cc .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:600;line-height:1.2em;letter-spacing:-0.03em;}.elementor-2116 .elementor-element.elementor-element-3c57481 > .elementor-widget-container{margin:-22px 0px 0px 0px;}.elementor-2116 .elementor-element.elementor-element-3c57481{text-align:center;}.elementor-2116 .elementor-element.elementor-element-3c57481 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:0.5rem;font-weight:400;letter-spacing:0em;color:#2E3944;}.elementor-2116 .elementor-element.elementor-element-f9e1a8a > .elementor-widget-container{margin:-25px 0px 0px 0px;}.elementor-2116 .elementor-element.elementor-element-7e6aa64 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-2116 .elementor-element.elementor-element-7e6aa64.elementor-element{--align-self:center;}.elementor-2116 .elementor-element.elementor-element-f5982cf{--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;--margin-top:11rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-2116 .elementor-element.elementor-element-a1e9b30{text-align:center;}.elementor-2116 .elementor-element.elementor-element-a1e9b30 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:600;line-height:1.2em;letter-spacing:-0.03em;}.elementor-2116 .elementor-element.elementor-element-2fd6d04 > .elementor-widget-container{margin:-22px -22px -22px -22px;}.elementor-2116 .elementor-element.elementor-element-2fd6d04{text-align:center;}.elementor-2116 .elementor-element.elementor-element-2fd6d04 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:1.2em;font-weight:400;letter-spacing:0em;color:#2E3944;}.elementor-2116 .elementor-element.elementor-element-4d182f5 > .elementor-widget-container{margin:50px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2116 .elementor-element.elementor-element-380012c > .elementor-widget-container{margin:50px 0px 0px 0px;}.elementor-2116 .elementor-element.elementor-element-380012c.elementor-element{--align-self:center;}.elementor-2116 .elementor-element.elementor-element-76f5834{--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;--margin-top:11rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-2116 .elementor-element.elementor-element-1957453{text-align:center;}.elementor-2116 .elementor-element.elementor-element-1957453 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:600;line-height:1.2em;letter-spacing:-0.03em;}.elementor-2116 .elementor-element.elementor-element-74cef07 > .elementor-widget-container{margin:-22px -22px -22px -22px;}.elementor-2116 .elementor-element.elementor-element-74cef07{text-align:center;}.elementor-2116 .elementor-element.elementor-element-74cef07 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:1.2em;font-weight:400;letter-spacing:0em;color:#2E3944;}.elementor-2116 .elementor-element.elementor-element-9400f05 > .elementor-widget-container{margin:50px 0px 0px 0px;}.elementor-2116 .elementor-element.elementor-element-f564627 > .elementor-widget-container{margin:39px 0px 0px 0px;}.elementor-2116 .elementor-element.elementor-element-f564627.elementor-element{--align-self:center;}.elementor-2116 .elementor-element.elementor-element-02fb342{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:11rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-2116 .elementor-element.elementor-element-02fb342.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2116 .elementor-element.elementor-element-5a1f3fd.elementor-element{--align-self:center;}.elementor-2116 .elementor-element.elementor-element-c923131{--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;--margin-top:11rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-2116 .elementor-element.elementor-element-f57d6a1{text-align:center;}.elementor-2116 .elementor-element.elementor-element-f57d6a1 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:600;line-height:1.2em;letter-spacing:-0.03em;}.elementor-2116 .elementor-element.elementor-element-e87dc9f > .elementor-widget-container{margin:-22px -22px -22px -22px;}.elementor-2116 .elementor-element.elementor-element-e87dc9f{text-align:center;}.elementor-2116 .elementor-element.elementor-element-e87dc9f .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:1.2em;font-weight:400;letter-spacing:0em;color:#2E3944;}.elementor-2116 .elementor-element.elementor-element-8b0b3ef > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-2116 .elementor-element.elementor-element-8b0b3ef.elementor-element{--align-self:center;}@media(max-width:1024px){.elementor-2116 .elementor-element.elementor-element-3c57481 > .elementor-widget-container{margin:-27px 0px 0px 0px;}.elementor-2116 .elementor-element.elementor-element-3c57481 .elementor-heading-title{font-size:0.5em;}}@media(max-width:767px){.elementor-2116 .elementor-element.elementor-element-e7480ee:not(.elementor-motion-effects-element-type-background), .elementor-2116 .elementor-element.elementor-element-e7480ee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://precafast.com/wp-content/uploads/2025/07/CAPA-CELULAR.jpg");background-position:top center;background-repeat:no-repeat;background-size:contain;}.elementor-2116 .elementor-element.elementor-element-e7480ee{--content-width:100%;--padding-top:2px;--padding-bottom:2px;--padding-left:2px;--padding-right:2px;}.elementor-2116 .elementor-element.elementor-element-155af59 > .elementor-widget-container{margin:150px 0px 00px 0px;padding:28px 28px 28px 28px;}.elementor-2116 .elementor-element.elementor-element-a135f82{--min-height:0px;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:26px 26px;--row-gap:26px;--column-gap:26px;}}@media(min-width:768px){.elementor-2116 .elementor-element.elementor-element-e7480ee{--content-width:100%;}.elementor-2116 .elementor-element.elementor-element-a135f82{--width:1200px;}.elementor-2116 .elementor-element.elementor-element-f5982cf{--content-width:1200px;}.elementor-2116 .elementor-element.elementor-element-76f5834{--content-width:1200px;}.elementor-2116 .elementor-element.elementor-element-02fb342{--content-width:1200px;}}/* Start custom CSS for html, class: .elementor-element-155af59 *//* Precafast - CSS da Capa Ajustado para Alinhamento Perfeito da Caixa com a Linha de Base */

:root {
  --primary: #213E51;
  --secondary: #38637D;
  --text-primary: #2E3944;
  --text-secondary: #595959;
  --background-light: #F1F3F5;
  --white: #FFFFFF;
  --border-color: #DEE2E6;
  --error: #EF4444;
  --muted: #E5E5E5;
  --muted-foreground: #8D99AE;
  --radius: 1.1rem;
  --font-headline: 'Montserrat', sans-serif;
  --font-body: 'Open Sans', sans-serif;
  --progress-percent: 40%;
}

.precafast-hero {
  display: flex !important;
  justify-content: space-between !important;
  align-items: stretch !important;  /* ALTERADO: força alinhar parte de baixo das colunas */
  flex-wrap: wrap !important;
  padding: 4rem 0rem 0 !important;
  max-width: 1200px !important;
  margin: auto !important;
  gap: 1.5rem !important;
  position: relative !important;
}

.precafast-hero .container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: stretch !important;   /* ALTERADO: igual acima */
  flex-wrap: wrap !important;
  width: 100% !important;
  gap: 1.5rem !important;
}

.hero-text {
  max-width: 580px !important;
  color: var(--primary) !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding-bottom: 0 !important;
}

.hero-text h1 {
  font-family: var(--font-headline) !important;
  font-weight: 900 !important;
  font-size: 2.5rem !important;
  margin-bottom: 1rem !important;
  line-height: 1.2 !important;
  color: var(--primary) !important;
}

.hero-text p {
  font-family: var(--font-body) !important;
  font-size: 1.2rem !important;
  color: var(--text-primary) !important;
  margin-bottom: 1rem !important;
  line-height: 1.5 !important;
}

.whatsapp-button {
  background-color: var(--primary) !important;
  color: var(--white) !important;
  font-family: var(--font-headline) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 0.8rem 1.8rem !important;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  text-align: center !important;
  display: inline-block !important;
  transition: background-color 0.3s ease !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
  box-shadow: none !important;
  letter-spacing: 0.5px !important;
  line-height: 1.2 !important;
  margin-bottom: 0 !important;  /* GARANTE FIM DA COLUNA! */
}

.whatsapp-button:hover {
  background-color: var(--secondary) !important;
}

/* Simulador - alinhamento perfeito */

.precafast-simulador {
  background-color: #F1F3F5 !important;
  max-width: 420px !important;
  width: 100% !important;
  padding: 2.3rem 1.8rem 1.05rem 1.8rem !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 36px -10px rgba(33, 62, 81, 0.13) !important;
  margin: 0 !important;
  font-family: 'Open Sans', sans-serif !important;
  align-self: flex-end !important; /* força caixa descer na linha base da flex */
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  min-height: 100%;
}

.precafast-simulador .card-title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.3rem !important;
  text-transform: uppercase !important;
  color: #213E51 !important;
  text-align: center !important;
  margin-bottom: 1.2rem !important;
  letter-spacing: 0.02em !important;
}

.precafast-simulador .form-label {
  color: #2E3944 !important;
  font-weight: 600 !important;
  margin-bottom: 0.22rem !important;
  display: block !important;
  font-size: 0.98rem !important;
  letter-spacing: 0.01em !important;
}

.precafast-simulador .form-input {
  width: 100% !important;
  padding: 0.85rem 1rem !important;
  font-size: 1.04rem !important;
  background-color: #ffffff !important;
  border: 1px solid #DEE2E6 !important;
  border-radius: 11px !important;
  margin-bottom: 0.85rem !important;
  box-sizing: border-box !important;
  font-family: 'Open Sans', sans-serif !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  box-shadow: 0 2px 8px rgba(33, 62, 81, 0.03) !important;
}

.precafast-simulador .form-input::placeholder {
  color: #8D99AE !important;
  opacity: 1 !important;
}

.precafast-simulador .form-input:focus {
  outline: none !important;
  border-color: #38637D !important;
  box-shadow: 0 0 0 2px rgba(56,99,125,.13) !important;
}

.precafast-simulador .submit-button {
  background-color: #213E51 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 11px !important;
  padding: 1.1rem 1.2rem !important;
  font-size: 1.07rem !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background-color 0.3s, box-shadow 0.3s !important;
  margin-top: 1.15rem !important;
  margin-bottom: 0 !important;
  box-shadow: 0 3px 14px -5px #213E5140 !important;
  letter-spacing: 0.06em !important;
}

.precafast-simulador .submit-button:hover {
  background-color: #38637D !important;
  box-shadow: 0 7px 18px -7px #213E5160 !important;
}

/* ===== SLIDER ===== */
.precafast-simulador .value-slider {
  -webkit-appearance: none !important;
  width: 100% !important;
  height: 18px !important;
  background: transparent !important;
  border-radius: 10px !important;
  outline: none !important;
  margin: 0.85rem 0 1.35rem 0 !important;
  cursor: pointer !important;
  display: block !important;
  position: relative !important;
}

.precafast-simulador .value-slider::-webkit-slider-runnable-track {
  height: 11px !important;
  border-radius: 8px !important;
  background: linear-gradient(to right, #213E51 var(--progress-percent, 40%), #DEE2E6 var(--progress-percent, 40%)) !important;
  box-shadow: 0 1px 4px #213E5126 !important;
}

.precafast-simulador .value-slider::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  height: 27px !important;
  width: 27px !important;
  border-radius: 50% !important;
  background: #213E51 !important;
  border: 3px solid #fff !important;
  margin-top: -8px !important;
  box-shadow: 0 4px 14px -6px #213E5150 !important;
  transition: box-shadow 0.2s, background 0.2s !important;
}

.precafast-simulador .value-slider::-webkit-slider-thumb:hover {
  background: #38637D !important;
  box-shadow: 0 7px 16px -7px #38637D60 !important;
}

/* Firefox */
.precafast-simulador .value-slider::-moz-range-track {
  height: 11px !important;
  border-radius: 8px !important;
  background: linear-gradient(to right, #213E51 var(--progress-percent, 40%), #DEE2E6 var(--progress-percent, 40%)) !important;
  box-shadow: 0 1px 4px #213E5126 !important;
}

.precafast-simulador .value-slider::-moz-range-thumb {
  height: 27px !important;
  width: 27px !important;
  border-radius: 50% !important;
  background: #213E51 !important;
  border: 3px solid #fff !important;
  box-shadow: 0 4px 14px -6px #213E5150 !important;
  transition: box-shadow 0.2s, background 0.2s !important;
}

.precafast-simulador .value-slider::-moz-range-thumb:hover {
  background: #38637D !important;
  box-shadow: 0 7px 16px -7px #38637D60 !important;
}

.precafast-simulador .value-slider:focus {
  outline: none !important;
}

.precafast-simulador .error-message {
  color: #EF4444 !important;
  font-size: 0.93rem !important;
  margin-top: 0.15rem !important;
  margin-bottom: -0.45rem !important;
}

.precafast-simulador .submission-message {
  margin-top: 0.8rem !important;
  text-align: center !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: #213E51 !important;
  font-family: 'Open Sans', sans-serif !important;
  animation: fadeIn 0.5s ease-out !important;
}

@media (max-width: 991px) {
  .precafast-hero {
    flex-direction: column !important;
    align-items: center !important;
    gap: 2.5rem !important;
  }
  .precafast-simulador {
    margin-bottom: 2rem !important;
    align-self: stretch !important;
  }
}

@media (max-width: 576px) {
  .precafast-simulador {
    padding: 1.15rem 0.5rem 0.5rem 0.5rem !important;
    max-width: 98vw !important;
  }
  .precafast-simulador .card-title {
    font-size: 1.07rem !important;
  }
  .precafast-simulador .form-input {
    font-size: 0.98rem !important;
    padding: 0.7rem 0.6rem !important;
  }
  .precafast-simulador .submit-button {
    font-size: 0.98rem !important;
    padding: 0.9rem !important;
  }
  .precafast-simulador .value-slider {
    height: 13px !important;
    margin-bottom: 1.1rem !important;
  }
  .precafast-simulador .value-slider::-webkit-slider-thumb,
  .precafast-simulador .value-slider::-moz-range-thumb {
    width: 19px !important;
    height: 19px !important;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f9e1a8a *//* Variáveis de Cores e Fontes da Paleta PrecaFast
   Com prefixo 'precafast-' e !important para forçar */
:root {
    --precafast-azul-profundo: #213E51 !important;
    --precafast-azul-base-secundario: #38637D !important;
    --precafast-branco-puro: #FFFFFF !important;
    --precafast-font-montserrat: 'Montserrat', sans-serif !important;
    --precafast-font-open-sans: 'Open Sans', sans-serif !important;
    --precafast-azul-escuro-intenso: #0A151D !important;
    --precafast-cinza-claro: #F1F3F5 !important;
    --precafast-cinza-medio-claro: #E5E5E5 !important;
    --precafast-cinza-medio-escuro: #595959 !important;
    --precafast-cinza-escuro: #2E3944 !important;
    --precafast-borda-input: #D5DBE1 !important;
    --precafast-placeholder-input: #8D99AE !important;
}

/* Força box-sizing para todos os elementos dentro do wrapper do carrossel */
.precafast-carousel-elementor-wrapper *,
.precafast-carousel-elementor-wrapper *::before,
.precafast-carousel-elementor-wrapper *::after {
    box-sizing: border-box !important;
}

/* CONTÊINER PRINCIPAL DO CARROSSEL NO ELEMENTOR */
.precafast-carousel-elementor-wrapper {
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 450px !important;
    font-family: var(--precafast-font-open-sans) !important; /* Aplica Open Sans ao wrapper */
    background: #FFFFFF !important; /* Fundo branco para a seção, se desejado */
}

/* Container que define a largura máxima e o padding horizontal do carrossel */
.precafast-carousel-elementor-wrapper .precafast-carousel-container {
    max-width: 1200px !important; /* Aumentado para 1200px para o container */
    width: 100% !important;
    margin: auto !important;
    overflow: hidden !important;
    padding: 40px 0 !important;
}

/* Track onde as cards se movem - TRANSITION MAIS LENTA (2s) */
.precafast-carousel-elementor-wrapper .carousel-track {
    display: flex !important;
    gap: 20px !important;
    align-items: center !important;
    will-change: transform !important;
    transition: transform 2s ease-in-out !important; /* Transição de 2 segundos */
}

/* Estilo da Card Individual */
.precafast-carousel-elementor-wrapper .carousel-card {
    flex: 0 0 300px !important;
    aspect-ratio: 9 / 14 !important;
    border-radius: 18px !important;
    position: relative !important;
    overflow: hidden !important;
    background-color: #f0f0f0 !important; /* Fundo de fallback se a imagem não carregar */
    transform: scale(0.78) !important;
    opacity: 0.4 !important; /* Opacidade para cards não ativas (40%) */
    transition: transform 1.5s ease, opacity 1.5s ease !important; /* Transição de 1.5s */
    cursor: pointer !important;
}

.precafast-carousel-elementor-wrapper .carousel-card.active {
    transform: scale(1) !important;
    opacity: 1 !important;
    z-index: 10 !important;
    box-shadow: 0 15px 40px -10px rgba(0, 0, 0, 0.25) !important;
    cursor: default !important;
}

/* Imagem de Fundo da Card */
.precafast-carousel-elementor-wrapper .card-background {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center !important;
}

/* Conteúdo (Título e Botão) sobre a Imagem - TEXTO AZUL PRINCIPAL, MENOR E NO TOPO */
.precafast-carousel-elementor-wrapper .card-content {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2 !important;
    padding: 1rem 1rem !important;
    /* REMOVENDO A SOMBRA INTERNA (GRADIENTE) */
    background: transparent !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important; /* Alinha o conteúdo ao topo */
    color: var(--precafast-branco-puro) !important; /* Cor padrão, mas o h3 sobrescreve */
}

.precafast-carousel-elementor-wrapper .card-content h3 {
    font-family: var(--precafast-font-montserrat) !important;
    color: var(--precafast-azul-profundo) !important; /* Texto do título em azul principal */
    font-size: 1.2rem !important; /* TAMANHO DA FONTE AINDA MENOR */
    font-weight: 800 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    margin-top: 0 !important; /* Garante que o título fique no topo do padding */
    margin-bottom: auto !important; /* Empurra o botão para a parte inferior */
    /* REMOVENDO A SOMBRA DO TEXTO */
    text-shadow: none !important;
    letter-spacing: -0.03em !important; /* Manter letter-spacing do seu código original */
    width: 100% !important; /* Garante que o h3 ocupe a largura total disponível */
}

/* Estilo do botão de CTA - BORDA POUCO ARREDONDADA, TEXTO BRANCO NO HOVER */
.precafast-carousel-elementor-wrapper .carousel-button {
    width: 100% !important; /* Ocupa a largura total do card-content, menos padding */
    margin-top: auto !important; /* Empurra o botão para a parte de baixo do card-content */
    padding: 10px 20px !important; /* Padding do botão */
    background-color: var(--precafast-azul-profundo) !important;
    color: var(--precafast-branco-puro) !important; /* Texto branco */
    font-weight: 500 !important; /* Peso da fonte do botão */
    border: none !important;
    border-radius: 6px !important; /* Borda menos arredondada (6px) */
    cursor: pointer !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    /* Transição de 0.5s para o background-color e também para a cor do texto */
    transition: background-color 0.5s ease, color 0.5s ease !important;
}

.precafast-carousel-elementor-wrapper .carousel-button:hover {
    background-color: var(--precafast-azul-base-secundario) !important; /* Hover dos azuis */
    color: var(--precafast-branco-puro) !important; /* Garante que o texto permanece branco no hover */
}

/* Não há .carousel-button:active no CSS que você forneceu, se precisar, adicione aqui */
/* Exemplo: */
/* .precafast-carousel-elementor-wrapper .carousel-button:active {
    transform: translateY(1px) !important;
} *//* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7e6aa64 */.precafast-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.85rem 1.6rem !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  background-color: #213E51 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  transition: background-color 0.3s ease-in-out !important;
  box-shadow: 0 4px 10px -4px rgba(33, 62, 81, 0.25) !important;
}

.precafast-button:hover {
  background-color: #38637D !important;
  color: #ffffff !important;
  text-decoration: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4d182f5 *//* ===================== */
/* VARIÁVEIS GLOBAIS     */
/* ===================== */
:root {
  --pf-primaria: #213E51 !important;
  --pf-secundaria: #38637D !important;
}

/* ===================== */
/* ESTRUTURA DO CARROSSEL */
/* ===================== */
#meu-carrossel-diferenciais .slider-track-wrapper {
  overflow: hidden !important;
}

#meu-carrossel-diferenciais .slider-track {
  display: flex !important;
  transition: transform 0.6s ease !important;
}

#meu-carrossel-diferenciais .slide {
  flex: 0 0 100% !important;
  box-sizing: border-box !important;
  padding: 0 60px !important;
}

#meu-carrossel-diferenciais .feature-item {
  display: flex !important;
  align-items: center !important;
  gap: 80px !important;
}

#meu-carrossel-diferenciais .feature-item.reverse {
  flex-direction: row-reverse !important;
}

#meu-carrossel-diferenciais .feature-image,
#meu-carrossel-diferenciais .feature-content {
  flex: 1 !important;
}

/* ===================== */
/* CORREÇÃO DE IMAGENS   */
/* ===================== */
#meu-carrossel-diferenciais .feature-image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 7px !important;
  box-shadow: 0 10px 25px -10px rgba(0, 0, 0, 0.1) !important;
}

/* ===================== */
/* CONTEÚDO DE TEXTO     */
/* ===================== */
#meu-carrossel-diferenciais .feature-content h3 {
  padding-bottom: 0.75rem !important;
  border-bottom: 3px solid var(--e-global-color-secondary) !important;
  display: inline-block !important;
  margin: 0 0 1.2rem !important;
}

/* ===================== */
/* BOTÕES                */
/* ===================== */
#meu-carrossel-diferenciais .feature-button {
  display: inline-block !important;
  margin-top: 2.5rem !important;
  font-family: var(--e-global-typography-accent-font-family) !important;
  font-weight: var(--e-global-typography-accent-font-weight) !important;
  color: #FFFFFF !important;
  background-color: var(--pf-primaria) !important;
  padding: 12px 24px !important;
  border-radius: 7px !important;
  text-decoration: none !important;
  transition: background-color 0.5s ease !important;
}

#meu-carrossel-diferenciais .feature-button:hover {
  background-color: var(--pf-secundaria) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* ===================== */
/* SETAS DE NAVEGAÇÃO    */
/* ===================== */
#meu-carrossel-diferenciais .prev-arrow,
#meu-carrossel-diferenciais .next-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: none !important;
  border: none !important;
  font-size: 32px !important;
  color: #A0AEC0 !important;
  cursor: pointer !important;
  z-index: 10 !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: color 0.3s ease, transform 0.3s ease !important;
}

#meu-carrossel-diferenciais .prev-arrow:hover,
#meu-carrossel-diferenciais .next-arrow:hover {
  color: var(--pf-primaria) !important;
  transform: translateY(-50%) scale(1.2) !important;
}

#meu-carrossel-diferenciais .prev-arrow {
  left: 16px !important;
}

#meu-carrossel-diferenciais .next-arrow {
  right: 16px !important;
}

/* ===================== */
/* PONTOS (BOLINHAS)     */
/* ===================== */
#meu-carrossel-diferenciais .slider-nav {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: 40px !important;
}

#meu-carrossel-diferenciais .slider-dots {
  display: flex !important;
  gap: 6px !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 0 !important;
  list-style: none !important;
}

#meu-carrossel-diferenciais .slider-dots .dot {
  width: 4px !important;
  height: 4px !important;
  min-width: 4px !important;
  min-height: 4px !important;
  max-width: 4px !important;
  max-height: 4px !important;
  border-radius: 50% !important;
  background-color: #DADADA !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: none !important;
  opacity: 0.3 !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

#meu-carrossel-diferenciais .slider-dots .dot.active {
  background-color: var(--pf-primaria) !important;
  transform: scale(1.4) !important;
  opacity: 1 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
}

/* ===================== */
/* RESPONSIVIDADE        */
/* ===================== */
@media (max-width: 991px) {
  #meu-carrossel-diferenciais .feature-item {
    gap: 40px !important;
  }
  #meu-carrossel-diferenciais .slide {
    padding: 0 40px !important;
  }
}

@media (max-width: 767px) {
  #meu-carrossel-diferenciais .slide {
    padding: 0 !important;
  }
  #meu-carrossel-diferenciais .feature-item,
  #meu-carrossel-diferenciais .feature-item.reverse {
    flex-direction: column !important;
    text-align: center !important;
    align-items: center !important;
    gap: 30px !important;
  }
  #meu-carrossel-diferenciais .feature-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  #meu-carrossel-diferenciais .prev-arrow,
  #meu-carrossel-diferenciais .next-arrow {
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-380012c */.precafast-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.85rem 1.6rem !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  background-color: #213E51 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  transition: background-color 0.3s ease-in-out !important;
  box-shadow: 0 4px 10px -4px rgba(33, 62, 81, 0.25) !important;
}

.precafast-button:hover {
  background-color: #38637D !important;
  color: #ffffff !important;
  text-decoration: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9400f05 */:root {
  --precafast-azul-profundo: #213E51;
  --precafast-azul-base-secundario: #38637D;
  --precafast-branco-puro: #FFFFFF;
  --precafast-font-montserrat: 'Montserrat', sans-serif;
  --precafast-font-open-sans: 'Open Sans', sans-serif;
}

/* Container da seção */
.precafast-processos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
  margin-top: 40px;
  padding: 0 20px;
}

/* Card individual */
.processo-card {
  background-color: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.1);
  padding: 36px 28px;
  max-width: 340px;
  width: 100%;
  position: relative;
  text-align: left;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.processo-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 42px -14px rgba(0, 0, 0, 0.15);
}

/* Ícone redondo no topo */
.processo-card .icone {
  background-color: var(--precafast-azul-base-secundario);
  color: #fff;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 18px;
}

/* Número decorativo grande */
.processo-card .numero {
  position: absolute;
  top: 24px;
  right: 24px;
  font-size: 60px;
  font-weight: 900;
  color: var(--precafast-azul-profundo);
  opacity: 0.06;
  user-select: none;
  pointer-events: none;
}

/* Título do card */
.processo-card h4 {
  font-family: var(--precafast-font-montserrat);
  font-size: 20px;
  font-weight: 700;
  color: var(--precafast-azul-profundo);
  margin-bottom: 14px;
  line-height: 1.3;
}

/* Texto do card */
.processo-card p {
  font-family: var(--precafast-font-open-sans);
  font-size: 15.5px;
  color: #333;
  line-height: 1.6;
}

/* Responsivo */
@media (max-width: 768px) {
  .precafast-processos {
    flex-direction: column;
    align-items: center;
  }

  .processo-card {
    max-width: 92%;
  }

  .processo-card .numero {
    font-size: 50px;
  }
}

@media (max-width: 480px) {
  .processo-card {
    padding: 28px 22px;
  }

  .processo-card h4 {
    font-size: 18px;
  }

  .processo-card p {
    font-size: 14.5px;
  }

  .processo-card .numero {
    font-size: 42px;
  }

  .processo-card .icone {
    width: 46px;
    height: 46px;
    font-size: 20px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f564627 */.precafast-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.85rem 1.6rem !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  background-color: #213E51 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  transition: background-color 0.3s ease-in-out !important;
  box-shadow: 0 4px 10px -4px rgba(33, 62, 81, 0.25) !important;
}

.precafast-button:hover {
  background-color: #38637D !important;
  color: #ffffff !important;
  text-decoration: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5a1f3fd *//* ===================================================================
    CSS ISOLADO E FINAL - PRECAFAST SIMULADOR (COLUNAS E FORMULÁRIO)
    (Ajustes finos na parte superior da caixa do formulário)
    =================================================================== */

/* 1. VARIÁVEIS DE ESTILO E FONTES */
:root {
    --primary-blue: #213E51 !important;
    --secondary-blue-hover: #38637D !important;
    --text-primary-dark: #2E3944 !important;
    --text-secondary-grey: #595959 !important;
    --background-white: #FFFFFF !important;
    --grey-light-bg: #F1F3F5 !important;
    --border-grey: #D5DBE1 !important;
    --error-red: #EF4444 !important;
    --placeholder-grey: #8D99AE !important;
    --highlight-blue: rgba(33, 62, 81, 0.25) !important;

    --font-headline: 'Montserrat', sans-serif !important;
    --font-body: 'Open Sans', sans-serif !important;

    --radius-default: 8px !important;
    --radius-lg: 10px !important;
    --transition-fast: 0.2s !important;
    --transition-medium: 0.5s !important;
    --progress-percent: 40% !important; /* Valor inicial para demonstração */
}

/* Base do container da seção para isolamento */
.simulation-section-container {
    width: 100% !important;
    max-width: 1440px !important;
    margin: auto !important;
    padding: clamp(rem, 6vw, 6rem) clamp(1rem, 4vw, 2rem) !important;
    box-sizing: border-box !important;
    font-family: var(--font-body) !important;
    color: var(--text-primary-dark) !important;
}

/* Estrutura de Grid para as duas colunas */
.simulation-section-container .simulation-grid {
    display: grid !important;
    grid-template-columns: 1fr 1.2fr !important;
    align-items: center !important;
    justify-content: center !important; 
    gap: clamp(3rem, 6vw, 6rem) !important;
}


/* 2. COLUNA ESQUERDA: TIPOGRAFIA E ESPAÇAMENTO (Mantidos) */
.simulation-section-container .left-content-column .main-title {
    font-family: var(--font-headline) !important;
    font-weight: 800 !important;
    font-size: clamp(2rem, 3.5vw, 2.5rem) !important;
    line-height: 1.2 !important;
    color: var(--primary-blue) !important;
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important;
}

.simulation-section-container .left-content-column .sub-head {
    font-family: var(--font-headline) !important;
    font-weight: 400 !important;
    font-size: clamp(1rem, 1.3vw, 1.25rem) !important;
    line-height: 1.5 !important;
    color: var(--text-secondary-grey) !important;
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important;
}

.simulation-section-container .left-content-column .description-text {
    font-family: var(--font-body) !important;
    font-size: clamp(0.95rem, 1.1vw, 1.125rem) !important;
    line-height: 1.6 !important;
    color: var(--text-primary-dark) !important;
    max-width: 500px !important;
    margin-bottom: 2rem !important;
}

.simulation-section-container .human-assistance-block {
    margin-top: 3rem !important;
}

.simulation-section-container .assist-text {
    font-family: var(--font-body) !important;
    font-size: clamp(0.9rem, 1vw, 1rem) !important;
    line-height: 1.5 !important;
    color: var(--text-secondary-grey) !important;
    margin-bottom: 1rem !important;
}

.simulation-section-container .secondary-cta-wrapper {
    margin-bottom: 1.5rem !important;
}

.simulation-section-container .microcopy-block {
    padding-top: 1rem !important;
    margin-bottom: 24px !important;
}

.simulation-section-container .microcopy-block p {
    font-size: 0.85rem !important;
    color: var(--text-secondary-grey) !important;
    line-height: 1.4 !important;
    margin-bottom: 0.5rem !important;
}
.simulation-section-container .microcopy-block p:last-child {
    margin-bottom: 0 !important;
}


/* 3. COLUNA DIREITA: FORMULÁRIO - AJUSTES NA PARTE SUPERIOR */
.simulation-section-container .right-form-column {
    /* ... */
}

.simulation-section-container .form-box-wrapper {
    background-color: var(--grey-light-bg) !important;
    /* AJUSTE: Padding interno do wrapper do formulário - Topo e Fundo menores */
    padding: 1.5rem clamp(1rem, 2vw, 1.5rem) 1.5rem clamp(1rem, 2vw, 1.5rem) !important; /* Topo, Direita, Fundo, Esquerda */
    border-radius: var(--radius-lg) !important;
    box-shadow: 0 10px 40px -10px rgba(33, 62, 81, 0.15) !important;
    border: 1px solid var(--border-grey) !important;
    width: 100% !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.simulation-section-container .form-box-title {
    font-family: var(--font-headline) !important;
    font-weight: 800 !important;
    font-size: clamp(1.2rem, 1.8vw, 1.5rem) !important;
    color: var(--primary-blue) !important;
    text-align: center !important;
    /* AJUSTE: Margem inferior do título do formulário - REDUZIDA CONSIDERAVELMENTE */
    margin-bottom: 0.8rem !important; /* Era 1.2rem, agora 0.8rem */
    padding-top: 0 !important; /* REMOVIDO: Qualquer padding-top extra aqui */
}

.simulation-section-container .form-group {
    margin-top: 0.8rem !important; /* Espaçamento entre grupos de formulário */
}

.simulation-section-container .form-label {
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    font-size: clamp(0.95rem, 1.1vw, 1rem) !important;
    color: var(--text-primary-dark) !important;
    margin-bottom: 0.2rem !important;
    display: block !important;
}

.simulation-section-container .form-input {
    font-family: var(--font-body) !important;
    font-size: clamp(0.95rem, 1.1vw, 1rem) !important;
    height: 40px !important;
    padding: 0.5rem 0.75rem !important;
    background-color: var(--background-white) !important;
    border: 1px solid var(--border-grey) !important;
    border-radius: var(--radius-default) !important;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast) !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.simulation-section-container .form-input::placeholder {
    font-size: clamp(0.9rem, 1vw, 0.95rem) !important;
    color: var(--placeholder-grey) !important;
    opacity: 1 !important;
}

.simulation-section-container .form-input:focus {
    border-color: var(--primary-blue) !important;
    box-shadow: 0 0 0 3px var(--highlight-blue) !important;
    outline: none !important;
}

.simulation-section-container .form-input.input-error {
    border-color: var(--error-red) !important;
}

/* 4. BOTÕES E COMPONENTES INTERATIVOS */

/* Toggle Group (Federal/Estadual/Municipal) */
.simulation-section-container .toggle-group {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.3rem !important;
    /* AJUSTE: Margem inferior do grupo de toggle - Reduzida para compactar */
    margin-bottom: 0.8rem !important; /* Era 1rem, agora 0.8rem */
}

.simulation-section-container .toggle-group-item {
    font-family: var(--font-headline) !important;
    font-weight: 600 !important;
    font-size: clamp(0.8rem, 0.9vw, 0.9rem) !important;
    padding: 0.6rem 0.2rem !important;
    text-transform: uppercase !important;
    border: 1px solid var(--primary-blue) !important; /* Borda padrão */
    background-color: var(--primary-blue) !important; /* Fundo padrão (não selecionado) */
    color: #FFFFFF !important; /* Cor do texto padrão */
    border-radius: var(--radius-default) !important;
    cursor: pointer !important;
    transition: background-color var(--transition-medium) ease-in-out, border-color var(--transition-medium) ease-in-out !important;
}

.simulation-section-container .toggle-group-item:hover {
    background-color: var(--secondary-blue-hover) !important;
    border-color: var(--secondary-blue-hover) !important;
}

/* ESTILO PARA BOTÃO DE TOGGLE SELECIONADO/ATIVO */
.simulation-section-container .toggle-group-item.active {
    background-color: var(--secondary-blue-hover) !important; /* Fundo azul mais claro para selecionado */
    border-color: var(--secondary-blue-hover) !important; /* Borda da mesma cor para selecionado */
}


/* ===== SLIDER ===== */
/* Removi .precafast-simulador duplicado, pois o .simulation-section-container já engloba o contexto */
.simulation-section-container .value-slider {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    height: 18px !important;
    background: transparent !important;
    border-radius: 10px !important;
    outline: none !important;
    margin: 0.85rem 0 1.35rem 0 !important;
    cursor: pointer !important;
    display: block !important;
    position: relative !important;
}

.simulation-section-container .value-slider::-webkit-slider-runnable-track {
    height: 11px !important;
    border-radius: 8px !important;
    background: linear-gradient(to right, var(--primary-blue) var(--progress-percent, 40%), var(--grey-light-bg) var(--progress-percent, 40%)) !important;
    box-shadow: 0 1px 4px #213E5126 !important;
}

.simulation-section-container .value-slider::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    height: 27px !important;
    width: 27px !important;
    border-radius: 50% !important;
    background: var(--primary-blue) !important;
    border: 3px solid #fff !important;
    margin-top: -8px !important;
    box-shadow: 0 4px 14px -6px #213E5150 !important;
    transition: box-shadow 0.2s, background 0.2s !important;
}

.simulation-section-container .value-slider::-webkit-slider-thumb:hover {
    background: var(--secondary-blue-hover) !important;
    box-shadow: 0 7px 16px -7px #38637D60 !important;
}

/* Firefox */
.simulation-section-container .value-slider::-moz-range-track {
    height: 11px !important;
    border-radius: 8px !important;
    background: linear-gradient(to right, var(--primary-blue) var(--progress-percent, 40%), var(--grey-light-bg) var(--progress-percent, 40%)) !important;
    box-shadow: 0 1px 4px #213E5126 !important;
}

.simulation-section-container .value-slider::-moz-range-thumb {
    height: 27px !important;
    width: 27px !important;
    border-radius: 50% !important;
    background: var(--primary-blue) !important;
    border: 3px solid #fff !important;
    box-shadow: 0 4px 14px -6px #213E5150 !important;
    transition: box-shadow 0.2s, background 0.2s !important;
}

.simulation-section-container .value-slider::-moz-range-thumb:hover {
    background: var(--secondary-blue-hover) !important;
    box-shadow: 0 7px 16px -7px #38637D60 !important;
}

.simulation-section-container .value-slider:focus {
    outline: none !important;
}

.simulation-section-container .error-message {
    color: #EF4444 !important;
    font-size: 0.93rem !important;
    margin-top: 0.15rem !important;
    margin-bottom: -0.45rem !important;
}

.simulation-section-container .submission-message {
    margin-top: 0.8rem !important;
    text-align: center !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    color: #213E51 !important;
    font-family: 'Open Sans', sans-serif !important;
    animation: fadeIn 0.5s ease-out !important;
}

@media (max-width: 991px) {
    .precafast-hero {
        flex-direction: column !important;
        align-items: center !important;
        gap: 2.5rem !important;
    }
    .precafast-simulador {
        margin-bottom: 2rem !important;
        align-self: stretch !important;
    }
}

@media (max-width: 576px) {
    .precafast-simulador {
        padding: 1.15rem 0.5rem 0.5rem 0.5rem !important;
        max-width: 98vw !important;
    }
    .precafast-simulador .card-title {
        font-size: 1.07rem !important;
    }
    .precafast-simulador .form-input {
        font-size: 0.98rem !important;
        padding: 0.7rem 0.6rem !important;
    }
    .precafast-simulador .submit-button {
        font-size: 0.98rem !important;
        padding: 0.9rem !important;
    }
    .precafast-simulador .value-slider {
        height: 13px !important;
        margin-bottom: 1.1rem !important;
    }
    .precafast-simulador .value-slider::-webkit-slider-thumb,
    .precafast-simulador .value-slider::-moz-range-thumb {
        width: 19px !important;
        height: 19px !important;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0 !important;
        transform: translateY(10px) !important;
    }
    to {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
}

/* Botão Principal (Submit) */
.simulation-section-container .submit-button {
    font-family: var(--font-headline) !important;
    font-weight: 600 !important;
    background-color: var(--primary-blue) !important;
    color:#FFFFFF !important;
    border: none !important;
    border-radius: var(--radius-default) !important;
    padding: 0.75rem 1.2rem !important;
    font-size: 1rem !important;
    width: 100% !important;
    cursor: pointer !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    margin-top: 1.2rem !important;
    transition: background-color var(--transition-medium) ease-in-out !important;
}
.simulation-section-container .submit-button:hover:not(:disabled) {
    background-color: var(--secondary-blue-hover) !important;
}
.simulation-section-container .submit-button:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/

/* Microcopy (Mantido) */
.simulation-section-container .microcopy-block p {
    font-size: 0.85rem !important;
    color: var(--text-secondary-grey) !important;
    line-height: 1.4 !important;
    margin-bottom: 0.5rem !important;
}
.simulation-section-container .microcopy-block p:last-child {
    margin-bottom: 0 !important;
}

/* Mensagens de feedback e erro (Mantidas) */
.simulation-section-container .error-message {
    color: var(--error-red) !important;
    font-size: 0.85rem !important;
    margin-top: 0.3rem !important;
    text-align: left !important;
}
.simulation-section-container .submission-message {
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    text-align: center !important;
    padding-top: 1rem !important;
    color: var(--primary-blue) !important;
}


/* 5. RESPONSIVIDADE (Ajustes finos para Mobile) */
@media (max-width: 992px) { /* Tablets e telas menores */
    .simulation-section-container .simulation-grid {
        grid-template-columns: 1fr !important;
        gap: 2.5rem !important;
        padding: 2.5rem clamp(1rem, 4vw, 2rem) !important;
    }
    .simulation-section-container .left-content-column {
        text-align: center !important;
    }
    .simulation-section-container .left-content-column .description-text,
    .simulation-section-container .left-content-column .assist-text {
        max-width: 100% !important;
    }
    .simulation-section-container .left-content-column .main-title {
        font-size: clamp(1.8rem, 5vw, 2.2rem) !important;
    }
    .simulation-section-container .left-content-column .sub-head {
        font-size: clamp(0.95rem, 2.5vw, 1.1rem) !important;
        margin-bottom: 1rem !important;
    }
    .simulation-section-container .left-content-column .description-text {
        font-size: clamp(0.85rem, 2vw, 0.95rem) !important;
        margin-bottom: 1.5rem !important;
    }
    .simulation-section-container .human-assistance-block {
        margin-top: 2rem !important;
    }
    .simulation-section-container .assist-text {
        font-size: 0.9rem !important;
        margin-bottom: 0.8rem !important;
    }
    .simulation-section-container .secondary-cta-wrapper {
        margin-bottom: 1rem !important;
    }

    /* Formulário em Tablet/Mobile */
    .simulation-section-container .form-box-wrapper {
        padding: clamp(1rem, 2.5vw, 1.5rem) !important; /* Padding interno do formulário */
    }
    .simulation-section-container .form-box-title {
        font-size: clamp(1.2rem, 3vw, 1.5rem) !important;
        margin-bottom: 0.6rem !important;
    }
    .simulation-section-container .form-group {
        margin-top: 0.7rem !important;
    }
    .simulation-section-container .form-label {
        font-size: 0.85rem !important;
        margin-bottom: 0.15rem !important;
    }
    .simulation-section-container .form-input {
        font-size: 0.9rem !important;
        height: 36px !important;
        padding: 0.35rem 0.6rem !important;
    }
    .simulation-section-container .toggle-group {
        gap: 0.2rem !important;
        margin-bottom: 0.8rem !important; /* Consistente com a versão desktop agora */
    }
    .simulation-section-container .toggle-group-item {
        font-size: 0.75rem !important;
        padding: 0.4rem 0.2rem !important;
    }
    .simulation-section-container .value-slider {
        margin: 0.8rem 0 0.5rem 0 !important;
    }
    .simulation-section-container .value-slider::-webkit-slider-thumb {
        width: 18px !important;
        height: 18px !important;
        margin-top: -5px !important;
    }
    .simulation-section-container .value-slider::-webkit-slider-runnable-track {
        height: 5px !important;
    }
    .simulation-section-container .submit-button {
        font-size: 0.9rem !important;
        padding: 0.6rem 0.8rem !important;
        margin-top: 0.8rem !important;
    }
}

/* BOTÃO "FALAR COM CONSULTOR" RESPONSIVO */
.consult-button {
  max-width: 280px !important; /* Limita largura */
  white-space: nowrap !important; /* Impede quebra de linha */
  padding: 0.65rem 1.2rem !important; /* Compacta verticalmente */
  font-size: 0.95rem !important;
}

@media (max-width: 480px) {
  .consult-button {
    max-width: 100% !important;
    font-size: 0.88rem !important;
    padding: 0.6rem 1rem !important;
  }
}

/* Botão Falar com consultor */
.simulation-section-container .consultant-button {
    display: inline-block !important;
    font-family: var(--font-headline) !important;
    font-weight: 600 !important;
    background-color: var(--primary-blue) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: var(--radius-default) !important;
    padding: 0.6rem 1.2rem !important;
    font-size: 0.95rem !important;
    cursor: pointer !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: background-color var(--transition-medium) ease-in-out !important;
    max-width: 100% !important;
    white-space: nowrap !important;
}

/* Responsividade: diminui botão em telas pequenas */
@media (max-width: 576px) {
    .simulation-section-container .consultant-button {
        font-size: 0.85rem !important;
        padding: 0.5rem 0.8rem !important;
        display: inline-block !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-88665ae *//*
 * CSS REFINADO PARA SLIDER DE 3 DEPOIMENTOS
 * - Bolinhas de paginação mais afastadas dos cards.
 */

/* Importa a fonte Lora do Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,700;1,400;1,700&display=swap');

/* Container principal que segura todo o slider */
.swiper-container-depoimentos {
  width: 100%;
  max-width: 1200px;
  margin: 40px auto;
  position: relative;
  padding: 0 50px; 
  box-sizing: border-box;
}

/* O slide individual */
.swiper-slide {
  height: auto;
  padding-bottom: 20px;
  display: flex;
}

/* Estilo do card de depoimento (container branco) */
.citacao-container-centralizado-novo-icone {
  font-family: 'Lora', serif;
  background-color: #FFFFFF;
  color: #2E3944;
  padding: 60px 40px;
  width: 100%;
  margin: 0;
  text-align: center;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  border-radius: 25px;
  box-sizing: border-box;
  align-self: stretch; 
}

/* --- ESTILOS DO CONTEÚDO DO CARD --- */

.bloco-citacao-centralizado {
  margin: 0;
  padding: 0;
  border: none;
}
.icone-citacao svg {
  fill: #E5E5E5;
  height: 45px;
  width: auto;
  display: block;
  margin: 0 auto 30px auto;
}
.citacao-texto {
  font-size: 1.8rem;
  line-height: 1.7;
  font-style: italic;
  max-width: 90%;
  margin: 0 auto 30px auto;
  color: #2E3944;
}
.rodape-citacao {
  margin-top: 25px;
}
.citacao-autor {
  display: block;
  font-size: 1.3rem;
  font-weight: 700;
  color: #38637D;
  font-style: normal;
  margin-bottom: 5px;
}
.citacao-profissao {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  font-style: normal;
  color: #2E3944;
  opacity: 0.8;
}

/* --- ESTILOS PARA OS CONTROLES DO SLIDER --- */

.swiper-button-next, .swiper-button-prev {
  color: #cccccc;
  transition: color 0.3s ease;
}
.swiper-button-next:hover, .swiper-button-prev:hover {
    color: #38637D;
}

/* --- ALTERAÇÃO PRINCIPAL AQUI --- */
/* Bolinhas de paginação */
.swiper-pagination {
    position: relative; /* Remove o posicionamento absoluto padrão */
    bottom: auto; /* Reseta a posição inferior */
    margin-top: 2rem; /* Adiciona uma margem generosa no topo, afastando dos cards */
}

.swiper-pagination-bullet-active {
  background-color: #213E51;
}

/* --- AJUSTES DE RESPONSIVIDADE --- */
@media (max-width: 767px) {
  .swiper-container-depoimentos {
    padding: 0 15px;
  }
  .swiper-button-next, .swiper-button-prev {
    display: none;
  }
  .citacao-container-centralizado-novo-icone {
    padding: 50px 25px;
  }
  .icone-citacao svg {
    height: 35px;
  }
  .citacao-texto {
    font-size: 1.4rem;
  }
  .citacao-autor {
    font-size: 1.1rem;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8b0b3ef */.precafast-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.85rem 1.6rem !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  background-color: #213E51 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  transition: background-color 0.3s ease-in-out !important;
  box-shadow: 0 4px 10px -4px rgba(33, 62, 81, 0.25) !important;
}

.precafast-button:hover {
  background-color: #38637D !important;
  color: #ffffff !important;
  text-decoration: none !important;
}/* End custom CSS */