/* BeClean - ajustes de design da auditoria: fonte unica, hierarquia, botoes, espacamentos.
   Carregado em todas as paginas depois do CSS do Elementor. */

/* 1. Uma so fonte (Rubik, a fonte original da marca), em vez de Rubik + Poppins. Os icones usam <i> e mantem a sua fonte. */
body,
body :where(h1, h2, h3, h4, h5, h6, p, a, span, li, label, input, textarea, select, button, cite, strong, em, small, blockquote, div) {
  font-family: "Rubik", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

/* 2. Titulos sem caixa alta forcada */
.elementor .elementor-heading-title { text-transform: none !important; letter-spacing: -.3px; }

/* 3. Banner da home: o titulo principal e o maior da pagina */
.elementor-element-7a5a3b7b .elementor-heading-title {
  font-size: clamp(34px, 5.2vw, 66px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -1px !important;
}
.elementor-element-7a5a3b7b .elementor-widget-text-editor {
  font-size: clamp(16px, 1.55vw, 21px) !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
}

/* 4. Titulos das secoes da home: mesmo estilo, com traco da marca */
.elementor-element-47c0b1f8 .elementor-heading-title,
#quemsomos .elementor-heading-title,
#depoimentos .elementor-heading-title {
  font-size: clamp(28px, 3.4vw, 42px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--bc-navy, #1A3D93) !important;
}
.elementor-element-47c0b1f8 .elementor-heading-title span,
#quemsomos .elementor-heading-title span,
#depoimentos .elementor-heading-title span { color: var(--bc-blue, #0860E8) !important; }
.elementor-element-47c0b1f8 .elementor-heading-title::after,
#depoimentos .elementor-heading-title::after,
#quemsomos .elementor-heading-title::after {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  margin: 16px auto 0;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--bc-pink, #FCA2D3), var(--bc-blue, #0860E8));
}

/* 5. Espacamento entre secoes mais regular (antes: 165px e 180px) */
.home .elementor-element.elementor-element-47c0b1f8 { padding-top: 96px !important; }
.home #depoimentos { padding-top: 96px !important; padding-bottom: 96px !important; }
@media (max-width: 767px) {
  .home .elementor-element.elementor-element-47c0b1f8 { padding-top: 56px !important; }
  .home #depoimentos { padding-top: 64px !important; padding-bottom: 64px !important; }
  .home #quemsomos { padding-top: 64px !important; padding-bottom: 64px !important; }
}

/* 5b. Cards de servico no mobile: as colunas tinham 55px de espaco interno de cada lado */
@media (max-width: 767px) {
  .home .elementor-element-63376697 .elementor-widget-wrap.elementor-element-populated,
  .home .elementor-element-22176ea3 .elementor-widget-wrap.elementor-element-populated,
  .home .elementor-element-fb2652b .elementor-widget-wrap.elementor-element-populated {
    padding: 10px 16px !important;
  }
}
.home .elementor-widget-image-box .elementor-image-box-title { overflow-wrap: normal; word-break: normal; hyphens: manual; }

@media (max-width: 767px) {
  /* 5c. Quem Somos no mobile: sem a faixa rosa do desktop, foto inteira e texto sem justificar */
  .home #quemsomos { background: #F7F8FB !important; }
  #quemsomos .elementor-element-4149257c > .elementor-widget-wrap {
    min-height: 230px;
    margin: 0 16px;
    border-radius: 20px;
    background-size: cover !important;
    background-position: center 70% !important;
    box-shadow: 0 0 0 5px #fff, 0 0 0 7px var(--bc-pink, #FCA2D3);
  }
  #quemsomos .elementor-element-6e1d5731 > .elementor-widget-wrap { padding: 28px 20px 0 !important; }
  #quemsomos .elementor-widget-text-editor { text-align: left !important; font-size: 16px !important; line-height: 1.7 !important; }

  /* 5d. Rodape no mobile: rosa liso (sem a gota e o degrade roxo), texto azul-escuro, logo menor */
  footer .elementor-element-11b87c9 { background-image: none !important; }
  footer .elementor-element-11b87c9 > .elementor-background-overlay { background: none !important; }
  footer .elementor-element-11b87c9 .elementor-widget-wrap { padding: 40px 14px 0 !important; text-align: center; }
  footer .elementor-element-3520b127 img { width: 150px !important; height: auto !important; object-fit: contain !important; margin: 0 auto; }
  footer .elementor-element-187a9677 > .elementor-widget-container { border-top: 0 !important; margin-top: 0 !important; padding-top: 0 !important; }
  footer .elementor-element-11b87c9 .elementor-widget-spacer .elementor-spacer-inner { height: 10px !important; }
  footer .elementor-element-11b87c9 .elementor-heading-title { color: var(--bc-navy, #1A3D93) !important; margin-top: 18px !important; }
  footer .elementor-element-11b87c9 .elementor-icon-list-items { display: flex; flex-direction: column; align-items: center; }
  footer .elementor-element-11b87c9 .elementor-icon-list-text,
  footer .elementor-element-11b87c9 .elementor-icon-list-icon i { color: var(--bc-ink, #12204A) !important; }
  footer .elementor-element-11b87c9 .elementor-icon-list-text { font-size: 17px !important; font-weight: 500 !important; }

  /* Formulario */
  footer .wpcf7 { margin: 8px -6px 0; padding: 18px 12px; border-radius: 18px; background: rgba(255, 255, 255, .55); text-align: left; }
  footer .wpcf7 .form-personalizado .flex { flex-direction: column !important; gap: 0 !important; }
  footer .wpcf7 .form-personalizado .flex > div { width: 100% !important; max-width: none !important; margin: 0 !important; }
  footer .wpcf7 p { margin: 0 0 14px !important; }
  footer .wpcf7 label { color: var(--bc-navy, #1A3D93) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 1px; }
  footer .wpcf7 input:not([type=submit]):not([type=file]),
  footer .wpcf7 textarea {
    width: 100% !important;
    margin-top: 6px;
    padding: 12px 14px !important;
    border: 1.5px solid #E3E8F5 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--bc-ink, #12204A) !important;
    font-size: 16px !important; /* 16px evita o zoom automatico no iPhone */
  }
  footer .wpcf7 input:focus, footer .wpcf7 textarea:focus { border-color: var(--bc-blue, #0860E8) !important; outline: none; }
  footer .wpcf7 textarea { height: 110px !important; }
  footer .wpcf7 input[type=file] { width: 100%; margin-top: 6px; font-size: 13px; color: #4F5779; }
  footer .wpcf7 input[type=file]::file-selector-button {
    margin-right: 10px;
    padding: 9px 16px;
    border: 0;
    border-radius: 999px;
    background: var(--bc-navy, #1A3D93);
    color: #fff;
    font: 500 13px "Rubik", sans-serif;
  }
  footer .wpcf7-submit { width: 100%; }

  /* Copyright acima do botao flutuante do WhatsApp */
  footer .elementor-element-187a9677 {
    margin-top: 28px;
    padding: 18px 0 96px;
    border-top: 1px solid rgba(26, 61, 147, .15);
    font-size: 13px !important;
  }
  footer .elementor-element-187a9677, footer .elementor-element-187a9677 p { color: var(--bc-navy, #1A3D93) !important; text-align: center !important; }
}

/* 6. Um unico estilo de botao: pilula, sem caixa alta */
.elementor-button,
.wpcf7-submit {
  border-radius: 999px !important;
  padding: 16px 32px !important;
  font-family: "Rubik", system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: 0 10px 24px -12px rgba(8, 96, 232, .75);
  transition: transform .2s ease, box-shadow .2s ease !important;
}
.elementor-button:hover,
.wpcf7-submit:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -12px rgba(8, 96, 232, .9); }

/* 6b. Faixa rosa "Peca o seu orcamento": sem o botao de WhatsApp (o botao flutuante ja cumpre essa funcao) */
.elementor-element-32e4f1d .elementor-element-1dc507c0 { display: none !important; }
.elementor-element-32e4f1d .elementor-element-3dd8429a { width: 100% !important; }
.elementor .elementor-element-32e4f1d .elementor-heading-title,
.elementor .elementor-element-32e4f1d .elementor-widget-text-editor { text-align: center !important; }

/* 7. Paginas de servico: texto alinhado a esquerda (o justificado criava espacos irregulares) */
.elementor-249 .elementor-heading-title,
.elementor-249 .elementor-widget-text-editor { text-align: left !important; }
.elementor-249 .elementor-element-47c0b1f8 .elementor-widget-wrap { max-width: 820px; margin: 0 auto; }
.elementor-249 .elementor-element-1042f453 .elementor-heading-title {
  font-size: clamp(30px, 4vw, 46px) !important;
  font-weight: 700 !important;
  color: var(--bc-navy, #1A3D93) !important;
}
.elementor-249 .elementor-widget-text-editor { line-height: 1.75 !important; }

/* 8. Caminho de navegacao alinhado ao conteudo */
.ast-breadcrumbs-wrapper { max-width: 1140px; margin: 0 auto 8px; padding: 0 10px; font-size: 13px; }
.page-id-249 .ast-breadcrumbs-wrapper { max-width: 820px; padding: 0; } /* paginas de servico: mesma coluna do texto */

/* 9. Rodape: etiquetas pequenas em caixa alta e areas de toque maiores */
footer .elementor-heading-title { text-transform: uppercase !important; letter-spacing: 1.5px !important; font-size: 14px !important; }
footer .elementor-icon-list-item > a,
footer .elementor-icon-list-item > span { min-height: 44px; display: inline-flex !important; align-items: center; }
