/* =====================================================================
   TOKENS COMPLEMENTARES
   Degraus da escala de cor do Figma que ainda não existem como token em
   css/style-base.css. As cores de marca continuam vindo de lá.
   ===================================================================== */
:root {
  --primary-color-full: #272D2D;      /* Brand/primary/full */
  --primary-color-darker: #424C4D;    /* Brand/primary/darker */
  --primary-color-lighter: #CDD1D1;   /* Brand/primary/lighter */
  --secondary-color-full: #333121;    /* Brand/secondary/full */
  --secondary-color-lighter: #C1C0AE; /* Brand/secondary/light */
  --text-strong: #4A4848;             /* Neutral/text/strong */
  --text-light: #C3C3C3;              /* Neutral/text/light */
  --surface-50: #FAFAFA;              /* Neutral/background/bg-50 */
  --surface-200: #EEEEEE;             /* Neutral/background/bg-200 */
  --stroke-soft: #EEEEEE;             /* Neutral/stroke/soft */
}

header .logo-desktop,header .logo-mobile-menu{height:92px; width: auto;margin:.5rem 0}

/* =====================================================================
   FOOTER (inc/footer.php)
   ===================================================================== */
.footer {
  background-color: var(--surface-200);
  padding-top: clamp(3rem, 6vw, 6rem);
}

.footer__row { --bs-gutter-y: 3.5rem; }

.footer__brand { display: inline-block; }

.footer__logo {
  height: auto;
  margin-bottom: 1.5rem;
  max-width: 164px;
  width: 100%;
}

.footer__about {
  color: var(--grey);
  font-size: .875rem;
  line-height: 1.5;
  margin: 0;
  max-width: 350px;
}

.footer__title {
  color: var(--dark);
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: 3px;
  line-height: 1.2;
  margin: 0 0 1.5rem;
  text-transform: uppercase;
}

.footer__list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer__list li a {
  color: var(--grey);
  display: inline-block;
  line-height: 1.5;
  transition: var(--transition);
}

.footer__list li a:hover { color: var(--primary-color); }

/* Sobrescreve .address de css/style-base.css (pensado para footer escuro). */
.footer__address :is(span, a) {
  color: var(--grey);
  display: block;
  font-size: 1rem;
  font-style: normal;
  line-height: 1.5;
  margin-bottom: .75rem;
  transition: var(--transition);
}

.footer__address a:hover { color: var(--primary-color); }

/* .social já vem com utilitários (.m-0/.gap-2) de inc/canais.php. */
.footer__social { margin-top: .75rem; }

.footer__social-btn {
  align-items: center;
  border: 1px solid var(--primary-color);
  border-radius: var(--bs-border-radius);
  color: var(--primary-color);
  display: inline-flex;
  font-size: 1.25rem;
  justify-content: center;
  line-height: 1;
  padding: .75rem 1rem;
  transition: var(--transition);
}

.footer__social-btn:hover {
  background-color: var(--primary-color);
  color: var(--surface-50);
}

/* --- Barra de copyright --- */
.footer__bottom {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 2rem;
  justify-content: space-between;
  margin-top: clamp(3rem, 6vw, 6rem);
  padding-block: 1rem;
}

.footer__copy {
  color: var(--grey);
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 0;
}

.footer__seals {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.footer__w3c {
  align-items: center;
  color: var(--grey);
  display: inline-flex;
  font-size: .875rem;
  font-weight: 600;
  gap: .5rem;
  transition: var(--transition);
}

.footer__w3c:hover { color: var(--primary-color); }

.footer__selo { height: 34px; object-fit: contain; width: auto; }

.footer__divider {
  background-color: var(--bs-border-color);
  display: inline-block;
  height: 16px;
  margin-inline: .25rem;
  width: 1px;
}

.footer__totop {
  align-items: center;
  color: var(--dark);
  display: inline-flex;
  font-size: .875rem;
  font-weight: 600;
  gap: 1.5rem;
  line-height: 1.5;
}

.footer__totop-icon {
  align-items: center;
  background-color: var(--primary-color);
  border: 1px solid var(--primary-color);
  border-radius: var(--bs-border-radius);
  color: var(--surface-50);
  display: inline-flex;
  font-size: 1.25rem;
  justify-content: center;
  line-height: 1;
  padding: .75rem 1rem;
  transition: var(--transition);
}

.footer__totop:hover .footer__totop-icon { background-color: var(--primary-color-dark); }

@media only screen and (max-width: 767.98px) {
  .footer { text-align: center; }
  .footer__about { margin-inline: auto; }
  .footer__list { align-items: center; }
  .footer__social .social { justify-content: center; }
  .footer__bottom { justify-content: center; }
  .footer__seals { justify-content: center; }
}

.card.card--23{all:unset;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:space-between;flex-flow:column nowrap;gap:1rem;background-color:var(--dark);background-image:linear-gradient(-45deg,var(--dark),var(--grey)),var(--card-background);background-size:cover;background-repeat:no-repeat;background-position:center;background-blend-mode:multiply,normal;border-radius:1rem;padding:1rem;position:relative;height:100%}
.card.card--23:focus-within,.card.card--23:hover{box-shadow:0 0 0 2px var(--secondary-color)}
.card.card--23 .card__title{color:#fff;font-size:1.25rem;text-shadow:0 0 .25rem var(--dark);margin:0;min-height:calc(1.25rem * 2 * 1.3)}
.card.card--23 .card__link{z-index:1;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;flex-flow:row nowrap;padding:.5rem .75rem;font-size:.875rem;text-transform:uppercase;transition:var(--transition);color:var(--light);font-weight:600;border:2px solid currentColor;border-radius:99px}
.card.card--23 .card__link>span{width:0;max-width:fit-content;opacity:0;transition:var(--transition)}
.card.card--23 .card__link:focus>span,.card.card--23 .card__link:hover>span{width:100px;opacity:1;margin-right:.5rem}
.card.card--23 .card__link::before{content:"";display:block;width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1;backface-visibility:visible}
.card.card--23 .card__link:focus,.card.card--23 .card__link:hover{border-color:var(--primary-color);background-color:var(--primary-color)}

.shadow-19{box-shadow:rgba(50,50,93,.25) 0 2px 5px -1px,rgba(0,0,0,.3) 0 1px 3px -1px}

.title-subtitle{margin-bottom:0}
.title-subtitle span{display:block;font-size:.9rem;color:#000;line-height:1rem;letter-spacing:.25rem;text-transform:uppercase}

/* ================= CLIENTES ================= */
.clientes .clientes__item{display:grid;place-items:center;padding:1rem;border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);overflow:hidden}
.clientes .clientes__item img{width:100%;aspect-ratio:1/1;object-fit:contain;margin:0 auto;opacity:.75;border-radius:var(--bs-border-radius-sm);transition:opacity var(--transition)}
.clientes .clientes__item:hover img{opacity:1}

/* ================= DEPOIMENTOS ================= */
.testimonial .testimonial-author-image {
  width: 100%;
  max-width: 64px;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 999px;
}

/* =====================================================================
   SEÇÕES DE CONTEÚDO (home e páginas institucionais)
   ===================================================================== */
.section-home {
  padding-block: clamp(3rem, 6vw, 7.5rem);
}

.section-home--light { background-color: var(--surface-50); }
.section-home--grey { background-color: var(--light); }

/* Textura topográfica de fundo (Figma: imagem a 8% de opacidade). */
.section-home--textura { position: relative; isolation: isolate; }

.section-home--textura::before {
  background: url('../imagens/home/textura-topografica.webp') center / cover no-repeat;
  content: "";
  inset: 0;
  opacity: .08;
  position: absolute;
  z-index: -1;
}

.section-home__eyebrow {
  color: var(--primary-color-dark);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

.section-home__title {
  color: var(--primary-color-full);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

/* Títulos de seção com listagem (Serviços / Serviços em destaque). */
.section-home__title--sm { font-size: clamp(1.5rem, 2.4vw, 2rem); }

.section-home__text { color: var(--grey); font-size: 1.125rem; }
.section-home__text p { line-height: 1.4; margin: 0 0 1.25rem; }
.section-home__text p:last-child { margin-bottom: 0; }
.section-home__text strong { color: var(--text-strong); font-weight: 600; }
.section-home__text .list { margin: 0 0 1.25rem 1.75rem; }
.section-home__text .list li { font-size: inherit; line-height: 1.4; }

.section-home__figure {
  border-radius: var(--bs-border-radius);
  object-fit: cover;
  width: 100%;
  height: 500px;
}

.section-home__figure--contain { object-fit: contain; }

/* Botão de texto com seta ("Saiba mais"). */
.btn-link-arrow {
  --bs-btn-color: var(--secondary-color-full);
  --bs-btn-hover-color: var(--secondary-color);
  --bs-btn-active-color: var(--secondary-color-dark);
  font-weight: 500;
  padding-inline: 0;
}

/* =====================================================================
   HOME — HERO
   ===================================================================== */
.hero-home__banner {
  background: linear-gradient(rgba(62, 62, 62, 0.65), rgba(62, 62, 62, 0.65)),
              url('../imagens/home/hero-banner.webp') center / cover no-repeat;
  padding-block: clamp(3rem, 6vw, 7.5rem);
}

.hero-home__content {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-inline: auto;
  max-width: 580px;
  text-align: center;
}

.hero-home__badge {
  color: var(--secondary-color-lighter);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1.2;
  margin: 0;
}

.hero-home__title {
  color: var(--primary-color-lighter);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

.hero-home__lead { color: var(--text-light); margin: 0; }

.hero-home__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.hero-home__box { margin-block: 0; }

.hero-home__media {
  border-radius: var(--bs-border-radius);
  border-right: 4px solid var(--secondary-color-dark);
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* O card de orçamento sobe sobre o banner, como no Figma (-220px). */
@media only screen and (min-width: 992px) {
  .hero-home__banner { padding-bottom: calc(clamp(3rem, 6vw, 7.5rem) + 13.75rem); }
  .hero-home__box { margin-top: -13.75rem; }
}

/* =====================================================================
   CARD "SOLICITE UM ORÇAMENTO" (inc/form-orcamento-inc.php)
   Tema claro = hero da home. Tema escuro = seção de contato.
   ===================================================================== */
.orcamento {
  background-color: var(--surface-50);
  box-shadow: 0 4px 16px rgba(27, 27, 27, .08);
  height: 100%;
}

.orcamento__inner {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 1.5rem;
}

.orcamento__title {
  font-size: clamp(1.375rem, 2vw, 2rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 auto;
  padding: .5rem 1rem;
  text-align: center;
}

/* --- Tema escuro --- */
.orcamento--dark {
  --steps-muted: rgba(255, 255, 255, .65);
  --steps-active: var(--surface-50);
  max-width: 580px;
  padding: 2.5rem 2rem;
}

.orcamento--dark .orcamento__inner { background-color: var(--primary-color); }

.orcamento--dark .orcamento__title {
  background-color: var(--primary-color-darker);
  color: var(--surface-50);
}

.orcamento--dark .form--orcamento .form-label { color: var(--surface-50); }

/* --- Tema claro --- */
.orcamento--light {
  --steps-muted: rgba(93, 107, 108, .65);
  --steps-active: var(--text-strong);
  isolation: isolate;
  padding: clamp(1.5rem, 4vw, 4.5rem) clamp(1rem, 3vw, 4rem);
  position: relative;
}

.orcamento--light::before {
  background: url('../imagens/home/textura-topografica.webp') center / cover no-repeat;
  content: "";
  inset: 0;
  opacity: .1;
  position: absolute;
  z-index: -1;
}

.orcamento--light .orcamento__inner { gap: 3.5rem; padding: 0; }

.orcamento--light .orcamento__title {
  background-color: var(--primary-color);
  color: var(--surface-50);
}

.orcamento--light .form--orcamento .form-label { color: var(--text-strong); }

/* --- Indicador de etapas --- */
.form-steps__nav {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.form-steps__nav-item {
  align-items: center;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: .75rem;
  min-width: 0;
}

.form-steps__nav-separator {
  border-top: 1px solid var(--steps-muted);
  flex: 0 0 auto;
  margin-top: 1.75rem;
  width: 31px;
}

.form-steps__bullet {
  align-items: center;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--steps-muted);
  border-radius: 50%;
  color: var(--steps-muted);
  display: flex;
  font-size: 1.375rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.2;
  transition: var(--transition);
  width: 56px;
}

.form-steps__nav-label {
  color: var(--steps-muted);
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  transition: var(--transition);
}

.form-steps__nav-item.is-active .form-steps__bullet,
.form-steps__nav-item.is-done .form-steps__bullet {
  background-color: var(--secondary-color);
  border-color: var(--secondary-color-full);
  color: var(--secondary-color-full);
}

.form-steps__nav-item.is-active .form-steps__nav-label,
.form-steps__nav-item.is-done .form-steps__nav-label {
  color: var(--steps-active);
}

.form-steps__nav-item.is-done .form-steps__bullet { cursor: pointer; }

/* Precisa de !important: os painéis usam .d-flex, que também é !important. */
.form-steps__panel[hidden] { display: none !important; }

/* --- Campos --- */
.form--orcamento .form-control,
.form--orcamento .form-select {
  background-color: var(--surface-50);
  border: 1px solid rgba(36, 36, 36, .5);
  border-radius: var(--bs-border-radius);
  color: var(--text-strong);
  font-size: 1rem;
  padding: 1rem;
}

.form--orcamento .form-select { padding-right: 2.5rem; }
.form--orcamento .form-label { font-size: .875rem; font-weight: 500; }

/* O .btn-secondary do build usa texto preto; o design pede branco. */
.form--orcamento .btn-secondary {
  --bs-btn-color: var(--surface-50);
  --bs-btn-hover-color: var(--surface-50);
  --bs-btn-active-color: var(--surface-50);
}

.form--orcamento .btn-outline-light {
  --bs-btn-color: var(--steps-muted);
  --bs-btn-border-color: var(--steps-muted);
}

.form--orcamento .btn {
  border-radius: var(--bs-border-radius);
  font-weight: 500;
  padding: .75rem 1rem;
}

/* --- Selos --- */
.orcamento__selos {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}

.orcamento__selos img {
  height: auto;
  max-height: 48px;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

@media only screen and (max-width: 575.98px) {
  .orcamento--dark { padding: 1.5rem 1rem; }
  .orcamento__inner { padding: 1rem; }
  .form-steps__bullet { font-size: 1.125rem; width: 44px; }
  .form-steps__nav { gap: .5rem; }
  .form-steps__nav-separator { margin-top: 1.375rem; width: 12px; }
  .form-steps__nav-label { font-size: .75rem; }
  .orcamento__selos { gap: 1rem; }
}

/* =====================================================================
   SEÇÃO DE CONTATO (inc/contato-inc.php)
   ===================================================================== */
.contato__title {
  color: var(--primary-color-full);
  font-size: clamp(1.75rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

.contato__lead { color: var(--grey); max-width: 450px; }

.contato__label {
  color: var(--text-strong);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1.2;
  margin: 0;
  text-transform: uppercase;
}

.contato__value {
  color: var(--grey);
  font-size: 1rem;
  font-style: normal;
  line-height: 1.5;
  margin: 0;
  max-width: 450px;
}

.contato__value a { color: inherit; }
.contato__value a:hover { color: var(--bs-primary); }

.contato__media {
  border-radius: var(--bs-border-radius);
  object-fit: cover;
  width: 100%;
}

/* Sobreposição do card sobre a imagem (desktop). */
@media only screen and (min-width: 1200px) {
  .contato__media-wrap { padding-right: 8rem; }

  /* Proporção da imagem no Figma: 743 x 763 */
  .contato__media { aspect-ratio: 743 / 763; height: auto; }

  .contato .orcamento--dark { margin-left: -8rem; }
}

/* Mapa */
.contato-map { min-height: 400px; width: 100%; }
.mapa-home { background-color: var(--surface-50); padding: 2rem; }

/* =====================================================================
   CARD DE SERVIÇO DA HOME
   ===================================================================== */
.card--servico {
  background-color: var(--light);
  border: 0;
  border-bottom: 2px solid var(--stroke-soft);
  border-radius: var(--bs-border-radius);
  height: 100%;
  overflow: hidden;
}

.card--servico .card__image {
  aspect-ratio: 342 / 265;
  object-fit: cover;
  width: 100%;
}

.card--servico .card-body {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.5rem;
}

.card--servico .card__title {
  color: var(--text-strong);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

.card--servico .card__text {
  color: var(--grey);
  flex-grow: 1;
  line-height: 1.5;
  margin: 0;
}

.card--servico .card__link {
  align-items: center;
  color: var(--secondary-color-full);
  display: inline-flex;
  font-weight: 500;
  gap: .75rem;
  transition: var(--transition);
}

.card--servico .card__link:hover { color: var(--secondary-color); }

/* =====================================================================
   NOSSO PROCESSO
   ===================================================================== */
.processo {
  background-color: var(--surface-50);
  padding-block: clamp(3rem, 6vw, 7.5rem);
}

.processo__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr);
}

.processo__media { position: relative; }

.processo__image {
  height: 100%;
  object-fit: cover;
  width: 100%;
  filter: brightness(0.8); 
}

.processo__overlay {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.processo__title {
  color: var(--surface-50);
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

.processo__list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.processo__item {
  align-items: center;
  background-color: var(--primary-color);
  border-radius: var(--bs-border-radius);
  color: var(--surface-50);
  display: flex;
  gap: 1.5rem;
  padding: 1.5rem;
}

.processo__icon {
  flex-shrink: 0;
  height: 64px;
  object-fit: contain;
  width: 64px;
}

.processo__item-title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 1rem;
}

.processo__item-text {
  font-size: 1.125rem;
  line-height: 1.4;
  margin: 0;
}

/* Abaixo de lg a imagem vira um banner com scrim, e a lista fica abaixo. */
@media only screen and (max-width: 991.98px) {
  .processo__media {
    border-radius: var(--bs-border-radius);
    min-height: 260px;
    overflow: hidden;
  }

  .processo__media::after {
    background-color: rgba(0, 0, 0, .5);
    content: "";
    inset: 0;
    position: absolute;
  }

  .processo__image { position: absolute; inset: 0; }

  .processo__overlay {
    justify-content: flex-end;
    min-height: 260px;
    padding: 1.5rem;
    position: relative;
    z-index: 1;
  }
}

/* No desktop a imagem ocupa 79% da largura (1136/1440) e as etapas
   flutuam sobre o corte diagonal, como no Figma. */
@media only screen and (min-width: 992px) {
  .processo__grid {
    align-items: center;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .processo__media {
    grid-area: 1 / 1 / 2 / 3;
    width: 78.9%;
  }

  .processo__overlay {
    inset-block: 0;
    justify-content: center;
    left: 0;
    max-width: 60%;
    padding-inline: 4rem;
    position: absolute;
  }

  .processo__list { grid-area: 1 / 2 / 2 / 3; position: relative; z-index: 1; }
}

/* =====================================================================
   CTA (inc/cta-default.php)
   ===================================================================== */
.cta-default {
  background-image: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), var(--bg-cta);
  padding-block: clamp(3rem, 6vw, 7.5rem);
}

.cta-default__content { max-width: 810px; }

.cta-default__title {
  color: var(--surface-50);
  font-size: clamp(1.75rem, 3.6vw, 2.5rem);
  font-weight: 700;
  line-height: 1.2;
}

.cta-default__text {
  color: var(--text-light);
  font-size: 1.125rem;
  line-height: 1.4;
}


.sobre-nos__row {
    height: auto !important;
    min-height: auto !important;
    align-items: stretch !important;
    padding: 40px 0;
    overflow: visible;
}

/* Ajuste estrutural exclusivo para a seção Sobre na Home */
.hero-home ~ .content .sobre-nos__row {
    display: flex;
    align-items: stretch !important;
    height: auto !important;
}

.hero-home ~ .content .sobre-nos__row > .col-12 {
    display: flex;
    flex-direction: column;
}

.hero-home ~ .content .sobre-nos__row > .col-lg-6 {
    flex: 0 0 56%;
    max-width: 56%;
}

.hero-home ~ .content .sobre-nos__row > .col-lg-3 {
    flex: 0 0 22%;
    max-width: 22%;
}

.hero-home ~ .content .sobre-nos__row .sobre-nos__figure {
    height: 100% !important;
    min-height: 100% !important;
}

.sobre-nos__figure {
    width: 100%;
    height: 100% !important;
    min-height: 460px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
}

.sobre-nos__figure--left {
    object-position: 30% top !important;
}

.sobre-nos__figure--right {
    object-position: 40% top;
}

@media only screen and (max-width: 991.98px) {
  /* Corrige a largura: no desktop é 56%, no mobile precisa ser 100% */
  .hero-home ~ .content .sobre-nos__row > .col-lg-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  /* Regras já adicionadas antes continuam válidas */
  .sobre-nos__row .d-flex.flex-column.align-items-start {
    align-items: center !important;
    text-align: center;
  }

  .sobre-nos__row .d-flex.flex-column.align-items-start > * {
    width: 100%;
  }

  .sobre-nos__row .d-flex.flex-wrap.align-items-center.gap-3 {
    justify-content: center;
  }

  .sobre-nos__row .col-lg-6 {
    text-align: center;
  }

  .sobre-nos__row .section-home__text ul.list,
  .sobre-nos__row ul.list {
    display: inline-block;
    text-align: left;
  }
}

@media only screen and (max-width: 991.98px) {
  .contato .col-lg-4 .d-flex.flex-column.gap-4 {
    margin-inline: auto;
    text-align: center;
  }

  /* Endereço tem <br> quebrando linha — mantém legível centralizado */
  .contato .contato__value,
  .contato .contato__lead {
    margin-inline: auto;
  }

  /* Ícones de redes sociais (Siga-nos) */
  .contato .social {
    justify-content: center;
  }
}