/* =========================================================
   SEÇÕES — layout de cada dobra, na mesma ordem do index.html
   ========================================================= */

/* ===== GERAL ===== */
main,
.site-header,
.site-footer {
  --container-max: 1140px;
  --section-py: var(--space-lg);
  --btn-radius: var(--radius-pill);
  --btn-py: 18px;
  --btn-px: 20px;
  --btn-fs: var(--fs-btn-destaque);
  --btn-fw: var(--fw-heading);
}

main .section__title {
  font-size: var(--fs-titulo);
  line-height: var(--lh-titulo);
  text-transform: uppercase;
}

main .btn {
  line-height: 1;
}

main .btn .icon {
  font-size: 1em;
}

main .btn--whatsapp {
  width: 100%;
  max-width: 430px;
  padding-inline: 0;
  gap: 5px;
}

main h1,
main h2,
main h3 {
  text-wrap: wrap;
}

.lista-traco {
  display: grid;
  gap: var(--space-paragrafo);
  font-size: var(--fs-texto-lg);
  font-weight: var(--fw-medium);
  line-height: var(--lh-texto);
}

.lista-traco li::before {
  content: "– ";
}

@media (min-width: 768px) {
  main {
    --btn-px: var(--space-lg);
  }

  main .btn--whatsapp {
    width: auto;
    max-width: none;
    padding-inline: var(--btn-px);
    gap: var(--space-xs);
  }
}

@media (min-width: 1024px) {
  main,
  .site-header,
  .site-footer {
    --section-py: 60px;
  }
}

/* ===== HEADER ===== */
/* Faixa com o logo centralizado, usada na política de privacidade e na 404.
   Na home o logo fica dentro do hero. Com .site-header--menu, a faixa traz
   o logo à esquerda e o menu à direita. */
.site-header {
  --logo-h: 90px;
  position: relative;
  padding-block: var(--header-py);
  background: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
}

.site-header--menu .site-header__inner {
  justify-content: space-between;
}

.site-header__logo img {
  height: var(--logo-h);
  width: auto;
}

.site-header__toggle {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  font-size: 24px;
  color: var(--color-heading);
}

.site-nav {
  display: none;
}

.site-nav.is-open {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 40;
  padding: var(--space-sm) 4%;
  background: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
}

.site-nav__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  list-style: none;
  padding: 0;
}

.site-nav a {
  color: var(--color-heading);
  font-weight: 600;
  text-decoration: none;
}

@media (min-width: 1024px) {
  .site-header__toggle {
    display: none;
  }

  .site-nav,
  .site-nav.is-open {
    display: block;
    position: static;
    padding: 0;
    border: 0;
  }

  .site-nav__list {
    flex-direction: row;
    gap: var(--space-md);
  }
}

/* ===== HERO ===== */
.hero {
  padding-block-end: 0;
  background: var(--color-surface);
  overflow: hidden;
}

.hero__inner {
  position: relative;
}

.hero__content {
  text-align: center;
}

.hero__logo {
  display: block;
  width: fit-content;
  margin-inline: auto;
}

.hero__logo img {
  width: var(--logo-hero-w);
  height: auto;
}

.hero__title {
  font-size: var(--fs-titulo);
  line-height: var(--lh-hero-titulo);
}

.hero__creds {
  display: grid;
  justify-items: start;
  gap: var(--space-xs);
  width: fit-content;
  margin-inline: auto;
  text-align: left;
  font-size: var(--fs-lista-hero);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-texto);
  color: var(--color-accent-texto);
}

.hero__creds li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-xs);
}

.hero__creds .icon {
  margin-top: calc((var(--lh-texto) * 1em - 1em) / 2);
}

.hero__creds,
.hero__cta {
  --stack-gap: var(--space-lg);
}

.hero__media {
  margin-top: var(--space-md);
}

.hero__media img {
  width: 90%;
  margin-inline: auto;
}

@media (min-width: 1024px) {
  .hero__content {
    max-width: min(690px, calc(100% - 460px));
    padding-block-end: var(--section-py);
    text-align: left;
  }

  .hero__logo {
    margin-inline: 0;
  }

  .hero__creds {
    margin-inline: 0;
  }

  .hero__media {
    position: absolute;
    right: -40px;
    bottom: 0;
    width: 480px;
    margin-top: 0;
  }

  .hero__media img {
    width: 100%;
  }
}

/* ===== CONSULTAS ===== */
.consultas {
  background: var(--color-accent) url("../img/consultas-fundo.webp") 0% 50% / cover no-repeat;
}

.consultas__header {
  max-width: none;
  --color-heading: var(--color-primary-escuro);
}

.consultas__header .section__lead {
  margin-top: 0;
  font-size: var(--fs-texto);
  line-height: var(--lh-texto);
  color: var(--color-primary-escuro);
}

.consultas__grid {
  display: grid;
}

.consultas__card {
  padding: var(--space-md) var(--space-sm);
  background: var(--color-surface);
  font-size: var(--fs-texto);
  line-height: var(--lh-texto);
}

.consultas__card:first-child {
  border-radius: var(--radius-card-lg) var(--radius-card-lg) 0 0;
}

.consultas__card:last-child {
  border-radius: 0 0 var(--radius-card-lg) var(--radius-card-lg);
}

.consultas__card--destaque {
  --color-heading: var(--color-white);
  background: var(--color-green-fundo);
  color: var(--color-white);
}

.consultas__card-titulo {
  margin-bottom: var(--space-sm);
  font-size: var(--fs-card-titulo);
  line-height: 1;
  text-align: center;
}

@media (min-width: 768px) {
  .consultas__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .consultas__card {
    padding: var(--space-lg) var(--space-sm);
  }

  .consultas__card:first-child {
    border-radius: var(--radius-card-lg) 0 0 var(--radius-card-lg);
  }

  .consultas__card:last-child {
    border-radius: 0 var(--radius-card-lg) var(--radius-card-lg) 0;
  }

  .consultas__card-titulo {
    text-align: left;
  }
}

/* ===== DIFERENCIAL ===== */
.diferencial {
  position: relative;
  overflow: hidden;
}

.diferencial__content {
  text-align: center;
}

.diferencial__titulo {
  color: var(--color-accent);
}

.diferencial__subtitulo {
  font-size: var(--fs-titulo);
  line-height: 1;
}

.diferencial__marca {
  margin-top: var(--space-lg);
  font-size: var(--fs-titulo-xl);
  font-weight: var(--fw-heading);
  line-height: 1;
  color: var(--color-blue);
}

.diferencial__intro {
  font-size: var(--fs-texto-lg);
  font-style: italic;
  font-weight: var(--fw-medium);
  line-height: var(--lh-texto);
  color: var(--color-blue);
}

.diferencial__lista {
  margin-top: var(--space-sm);
}

.diferencial__cta {
  margin-top: var(--space-md);
}

.diferencial__media {
  margin-top: var(--space-lg);
}

.diferencial__media img {
  width: 100%;
}

@media (min-width: 1024px) {
  .diferencial__content {
    text-align: right;
  }

  .diferencial__titulo {
    text-align: right;
  }

  .diferencial__subtitulo {
    max-width: 400px;
    margin-left: auto;
  }

  .diferencial__lista {
    max-width: 500px;
    margin-left: auto;
  }

  .diferencial__media {
    position: absolute;
    top: var(--section-py);
    left: 0;
    width: min(800px, calc(50vw + min(46vw, 570px) - 520px));
    margin-top: 0;
  }
}

/* ===== SOBRE ===== */
.sobre__content {
  text-align: center;
}

.sobre__nome {
  font-size: var(--fs-destaque);
  font-style: italic;
  line-height: 1;
  color: var(--color-green);
}

.sobre__citacao {
  margin-top: var(--space-sm);
  font-family: var(--font-heading);
  font-size: var(--fs-titulo);
  font-weight: var(--fw-heading);
  line-height: var(--lh-titulo);
  text-transform: uppercase;
}

.sobre__texto {
  margin-top: var(--space-sm);
  font-size: var(--fs-texto-lg);
  font-weight: var(--fw-medium);
  line-height: var(--lh-texto);
  text-align: left;
}

.sobre__texto p + p {
  margin-top: var(--space-paragrafo);
}

.sobre__media {
  margin-top: var(--space-lg);
}

.sobre__media img {
  width: 100%;
  border-radius: var(--radius-foto-perfil);
}

@media (min-width: 1024px) {
  .sobre__inner {
    display: grid;
    grid-template-columns: minmax(0, 600px) minmax(0, 1fr);
    align-items: center;
  }

  .sobre__content {
    text-align: left;
  }

  .sobre__nome {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }

  .sobre__nome::before {
    content: "";
    display: block;
    width: var(--decor-linha-w);
    height: var(--decor-linha-h);
    margin: 0 var(--space-nome) 5px 0;
    background: var(--color-accent);
  }

  .sobre__media {
    justify-self: end;
    width: 100%;
    max-width: 500px;
    margin-top: 0;
  }
}

/* ===== INCLUSO ===== */
.incluso__inner {
  text-align: center;
}

.incluso__lista {
  margin-top: var(--space-sm);
}

.incluso__inner .section__cta {
  margin-top: var(--space-sm);
}

/* ===== DEPOIMENTOS ===== */
.depoimentos {
  background: var(--color-green-fundo);
  --color-heading: var(--color-white);
  color: var(--color-white);
}

.depoimentos__grid {
  display: grid;
  gap: var(--space-md);
  margin-top: var(--space-md);
}

.depoimento {
  text-align: center;
}

.depoimento__video {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: var(--radius-video);
  background: none;
  overflow: hidden;
}

.depoimento__video img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.depoimento__play {
  position: absolute;
  inset: 0;
  margin: auto;
  font-size: var(--play-size);
  color: var(--color-white);
  filter: var(--sombra-play);
  transition: transform var(--transition);
}

.depoimento__video:hover .depoimento__play {
  transform: scale(1.08);
}

.depoimento__nome {
  margin-top: var(--space-nome);
  font-size: var(--fs-destaque);
  font-style: italic;
  line-height: 1;
}

.depoimento__cidade {
  font-size: var(--fs-cidade);
  font-style: italic;
  font-weight: var(--fw-medium);
  line-height: var(--lh-texto);
}

@media (min-width: 768px) {
  .depoimentos__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ===== CTA FINAL ===== */
.cta-final {
  background: var(--color-surface) url("../img/cta-fundo.webp") center / cover no-repeat;
}

.cta-final__inner {
  text-align: center;
}

.cta-final__texto {
  max-width: 680px;
  margin: var(--space-sm) auto 0;
  font-size: var(--fs-cta-texto);
  font-weight: var(--fw-medium);
  line-height: var(--lh-texto);
}

.cta-final__inner .section__cta {
  margin-top: var(--space-sm);
}

/* ===== POLÍTICA DE PRIVACIDADE ===== */
/* Data de atualização colada no título: sem o gap padrão do .stack */
.politica__atualizacao {
  --stack-gap: 0;
}

/* ===== FOOTER ===== */
.site-footer {
  padding-block: var(--section-py);
  background: var(--color-dark);
  color: var(--color-on-dark);
  font-size: var(--fs-texto);
  font-weight: var(--fw-medium);
  line-height: var(--lh-texto);
}

.site-footer__inner {
  display: grid;
  gap: var(--space-lg);
  justify-items: center;
  text-align: center;
}

.site-footer__logo img {
  width: var(--logo-footer-w);
  height: auto;
}

.site-footer__info {
  display: grid;
  gap: var(--space-sm);
}

.site-footer__info address {
  margin-top: calc(-1 * var(--space-sm));
}

.site-footer a {
  color: inherit;
}

.site-footer__info a {
  text-decoration: none;
}

.site-footer__credito {
  font-size: var(--fs-small);
  opacity: 0.8;
}

.site-footer__credito a {
  text-decoration: none;
}

.site-footer__credito a:hover {
  text-decoration: underline;
}

@media (min-width: 1024px) {
  .site-footer__inner {
    grid-template-columns: auto minmax(0, 584px);
    justify-content: center;
    align-items: center;
    column-gap: 140px;
    text-align: left;
  }
}
