/* ═══════════════════════════════════════════
   DR. ROBSON LARANJA — CUSTOM CSS (FSE)
   Adapta site.css do handoff para variáveis WP.
═══════════════════════════════════════════ */

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

:root {
  --bg:          var(--wp--preset--color--background);
  --bg-2:        var(--wp--preset--color--cinza-bg);
  /* v4.0.0 — --bg-dark agora aponta pro primary oficial (#112534).
     Páginas sensíveis (Estética Íntima) usam --bg-ink-deep (#0A1929). */
  --bg-dark:     var(--wp--preset--color--primary);
  --bg-ink-deep: var(--wp--preset--color--secondary);
  --bg-ink:      var(--wp--preset--color--preto-rich);
  --ink:         var(--wp--preset--color--texto);
  --ink-2:       var(--wp--preset--color--texto-leve);
  --ink-3:       #8A837A;
  --line:        var(--wp--preset--color--cinza-linha);
  --white:       var(--wp--preset--color--branco);
  /* v4.0.0 — paleta unificada: laranja-dourado #c19b73. */
  --orange:      var(--wp--preset--color--accent);
  --orange-h:    var(--wp--preset--color--laranja-claro);
  --orange-pale: var(--wp--preset--color--laranja-pale);
  --gold:        var(--wp--preset--color--ouro); /* alias do accent */
  --brand:       var(--wp--preset--color--accent);
  --brand-pale:  var(--wp--preset--color--laranja-pale);

  /* v4.0.0 — Soft round: botões/chips pill, cards/fotos suaves. */
  --r:   14px;   /* inputs, badges pequenos                 (era 8px)  */
  --r2:  20px;   /* cards padrão                             (era 16px) */
  --r3:  28px;   /* cards grandes, fotos hero                (era 24px) */
  --r-pill: 999px; /* botões e chips (atalho)               (novo)    */

  /* v4.0.0 — escala "densa" de padding vertical por seção. */
  --section-py-sm:  48px;  /* compacta */
  --section-py-md:  64px;  /* padrão   */
  --section-py-lg:  80px;  /* hero/CTA */

  --s1: 0 1px 4px rgba(0,0,0,.06);
  --s2: 0 4px 20px rgba(0,0,0,.08);
  --s3: 0 12px 40px rgba(0,0,0,.12);

  --ease: .25s cubic-bezier(.4,0,.2,1);
}

/* ────────────────────────────────────────────────────
   MODERN TOKENS (v3.0.0) — oklch() fallbacks
   Cobertura perceptualmente uniforme dos tokens semânticos.
   Browsers sem suporte caem nos vars WP (hex preservado em theme.json).
   ──────────────────────────────────────────────────── */
@supports (color: oklch(50% 0.1 90)) {
  :root {
    --navy-oklch:        oklch(20% 0.05 252);
    --azul-oklch:        oklch(33% 0.07 248);
    --azul-medio-oklch:  oklch(42% 0.08 248);
    --ouro-oklch:        oklch(67% 0.08 75);
    --accent-oklch:      oklch(58% 0.16 45);
    --laranja-claro-oklch: oklch(65% 0.17 45);
    --laranja-pale-oklch:  oklch(94% 0.02 60);
    --off-white-oklch:   oklch(96% 0.01 60);
    --cinza-bg-oklch:    oklch(94% 0.01 60);
    --cinza-linha-oklch: oklch(87% 0.01 60);
    --texto-oklch:       oklch(25% 0 0);
    --texto-leve-oklch:  oklch(40% 0.005 50);
  }
}

/* Tipografia moderna — equilibra quebras de linha (v3.0.0) */
h1, h2, h3,
.hero-home__title, .page-hero__title, .hero-sobre__title,
.section-title, .cta-final__title, .faq-section h2,
.nav-main__logo {
  text-wrap: balance;
}
body, p, .body-text,
.hero-home__sub, .page-hero__sub, .hero-sobre__sub,
.faq-a, .bio-text, .area-card__desc {
  text-wrap: pretty;
}

/* WCAG — Skip link (v3.0.0) */
.skip-link.screen-reader-text {
  position: absolute;
  left: -9999px;
  top: 1rem;
  background: var(--wp--preset--color--secondary, #0A1F38);
  color: var(--wp--preset--color--branco, #fff);
  padding: 10px 16px;
  z-index: 9999;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 500;
}
.skip-link.screen-reader-text:focus,
.skip-link.screen-reader-text:focus-visible {
  left: 1rem;
  outline: 2px solid var(--wp--preset--color--ouro, #BE9663);
  outline-offset: 2px;
}

/* WCAG — prefers-reduced-motion global (v3.0.0) */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── STICKY HEADER (template-part wrapper) ── */
header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(247,244,240,.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}

/* ── LABEL ── */
.section-label {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--orange);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.section-label::before {
  content: '';
  display: block;
  width: 20px;
  height: 1.5px;
  background: currentColor;
}
.section-label--dark { color: rgba(200,98,26,.8); }
.section-label--gold { color: var(--gold); }

/* ── TITLES ── */
.section-title {
  font-family: var(--wp--preset--font-family--montserrat);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: -.025em;
  color: var(--wp--preset--color--secondary);
}
.section-title em {
  font-style: italic;
  color: var(--orange);
}
.section-title strong { font-weight: 600; }

/* ── BUTTONS — v1.0.0 utility classes (REMOVED in v2.3.3 — see RESET v2.3.3 at end of file) ── */

/* ── PAGE HERO ── */
.page-hero {
  background: var(--bg-dark);
  padding: 80px 32px 88px;
  position: relative;
  overflow: hidden;
  color: #fff;
}
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 70% 80% at 90% 50%, rgba(200,98,26,.09), transparent 60%);
}
.page-hero > * {
  position: relative;
  z-index: 1;
  max-width: var(--wp--style--global--wide-size, 1200px);
  margin-inline: auto;
}
.page-hero__breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .75rem;
  color: rgba(255,255,255,.45);
  margin-bottom: 20px;
}
.page-hero__breadcrumb a { color: rgba(255,255,255,.55); }
.page-hero__breadcrumb a:hover { color: #fff; }
.page-hero__breadcrumb span.sep { opacity: .4; }
.page-hero__title {
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  font-weight: 300;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 18px;
  letter-spacing: -.02em;
}
.page-hero__title em { font-style: italic; color: var(--orange); }
.page-hero__sub {
  font-size: 1.05rem;
  color: rgba(255,255,255,.7);
  max-width: 600px;
  line-height: 1.72;
  margin: 0 0 28px;
}

/* Estética variant — dark gold */
.page-hero--estetica { background: var(--bg-ink); }
.page-hero--estetica::before {
  background: radial-gradient(ellipse 70% 80% at 90% 50%, rgba(190,150,99,.10), transparent 60%);
}
.page-hero--estetica .page-hero__title em { color: var(--gold); }

/* sub-variant via .is-variant-estetica class for patterns */
.is-variant-estetica .section-label { color: var(--gold); }
.is-variant-estetica .section-title em { color: var(--gold); }

/* ── HERO HOME (split trust) ── */
.hero-home {
  background: var(--bg-dark);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.hero-home::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 60% 70% at 85% 50%, rgba(200,98,26,.10), transparent 60%);
}
.hero-home__inner {
  position: relative;
  padding: 96px 32px 88px;
  max-width: var(--wp--style--global--wide-size, 1200px);
  margin-inline: auto;
}
.hero-home__columns {
  display: grid !important;
  grid-template-columns: 1fr 440px;
  gap: 56px;
  align-items: center;
}
.hero-home__columns > .wp-block-column {
  flex-basis: auto !important;
  padding: 0;
}
@media (max-width: 900px) {
  .hero-home__columns { grid-template-columns: 1fr; gap: 32px; }
}
.hero-home__eyebrow {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(200,98,26,.85);
  margin-bottom: 22px;
  display: inline-block;
}
.hero-home__title {
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: clamp(2.6rem, 6vw, 4.6rem);
  font-weight: 300;
  line-height: 1.05;
  color: #fff;
  margin: 0 0 22px;
  letter-spacing: -.02em;
}
.hero-home__title em { font-style: italic; color: var(--orange); }
.hero-home__sub {
  font-size: 1.05rem;
  color: rgba(255,255,255,.7);
  max-width: 540px;
  line-height: 1.72;
  margin: 0 0 28px;
}
.hero-home__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.hero-home__trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 24px;
}
.hero-home__trust-item { display: flex; flex-direction: column; gap: 4px; }
.hero-home__trust-value { font-family: var(--wp--preset--font-family--montserrat); font-size: 1.6rem; font-weight: 400; color: #fff; }
.hero-home__trust-value span { font-size: 1rem; color: var(--orange); }
.hero-home__trust-label { font-size: .72rem; color: rgba(255,255,255,.5); letter-spacing: .04em; }
.hero-home__photo {
  position: relative;
  height: 540px;
  border-radius: var(--r2);
  overflow: hidden;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}
.hero-home__photo img { width: 100%; height: 100%; object-fit: cover; }
.hero-home__accent {
  position: absolute;
  left: -2px; top: 32px; bottom: 32px;
  width: 4px;
  background: var(--orange);
  border-radius: 2px;
}
.hero-home__badge {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  transform: none;
  background: rgba(15,35,57,.85);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--r);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.hero-home__badge-info { display: flex; flex-direction: column; gap: 2px; }
.hero-home__badge-name { font-size: .85rem; font-weight: 600; color: #fff; }
.hero-home__badge-spec { font-size: .68rem; color: rgba(255,255,255,.55); letter-spacing: .04em; }
.hero-home__badge-status {
  display: flex; align-items: center; gap: 6px;
  margin-left: auto;
  font-size: .7rem; color: #4ade80;
}
.hero-home__badge-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #4ade80;
  animation: pulse 1.5s ease-in-out infinite;
}
@keyframes pulse {
  0%,100% { transform: scale(1); opacity: 1; }
  50%     { transform: scale(1.3); opacity: .55; }
}
@media (max-width: 900px) {
  .hero-home__inner { padding: 64px 24px; }
  .hero-home__photo { height: 380px; }
  .hero-home__trust { grid-template-columns: repeat(2, 1fr); }
}

/* ── INTRO STRIP ── */
.intro-strip {
  background: var(--orange-pale);
  padding: 18px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.intro-strip__text { font-size: .92rem; color: var(--ink); }
.intro-strip__text strong { color: var(--orange); }
.intro-strip__link {
  font-size: .82rem; font-weight: 700; color: var(--orange);
  text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
}
.intro-strip__link:hover { text-decoration: underline; }

/* ── AREAS BICOLOR ── */
.areas-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: var(--r2);
  overflow: hidden;
  box-shadow: var(--s2);
}
.area-card {
  padding: 56px 48px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 18px;
  color: #fff;
}
.area-card--uro { background: var(--bg-dark); }
.area-card--est {
  background: linear-gradient(135deg, var(--bg-ink) 0%, #1a1408 100%);
}
.area-card__tag {
  font-size: .68rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: rgba(255,255,255,.5);
  display: inline-block;
}
.area-card--est .area-card__tag { color: rgba(190,150,99,.85); }
.area-card__title {
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: 2rem; font-weight: 300; line-height: 1.15; color: #fff; margin: 0;
}
.area-card__desc {
  font-size: .95rem; line-height: 1.72; color: rgba(255,255,255,.7);
}
.area-card__pills { display: flex; flex-wrap: wrap; gap: 6px; }
.area-card__pill {
  font-size: .72rem; padding: 5px 10px; border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.85);
}
.area-card--est .area-card__pill {
  border-color: rgba(190,150,99,.25);
  color: rgba(255,255,255,.9);
}
.area-card__cta {
  display: inline-flex; align-items: center; gap: 10px;
  margin-top: auto; padding-top: 12px;
  font-size: .88rem; font-weight: 700; color: #fff;
  text-decoration: none;
}
.area-card__cta-arrow {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--orange);
  display: inline-flex; align-items: center; justify-content: center;
  transition: var(--ease);
}
.area-card--est .area-card__cta-arrow { background: var(--gold); color: #1a1408; }
.area-card__cta:hover .area-card__cta-arrow { transform: translateX(4px); }
.area-card__cta-arrow svg { width: 14px; height: 14px; }
@media (max-width: 800px) {
  .areas-grid { grid-template-columns: 1fr; }
  .area-card { padding: 40px 28px; }
}

/* ── PROCESS STEPS ── */
.process {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 64px;
  align-items: start;
}
.process__head { display: flex; flex-direction: column; gap: 18px; }
.process__badge {
  align-self: flex-start;
  font-size: .72rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--orange);
  background: var(--orange-pale);
  padding: 6px 14px; border-radius: 999px;
}
.process__title {
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: clamp(1.9rem, 3.2vw, 2.6rem);
  font-weight: 300; line-height: 1.15;
  color: var(--wp--preset--color--secondary);
  margin: 0;
}
.process__desc { font-size: 1rem; color: var(--ink-2); line-height: 1.72; }
.process__steps { display: flex; flex-direction: column; gap: 0; }
.process__step {
  display: flex; gap: 18px; align-items: flex-start;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}
.process__step:last-child { border-bottom: 0; }
.process__num {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--orange); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: .88rem; flex-shrink: 0;
}
.process__text { font-size: .95rem; color: var(--ink-2); line-height: 1.72; }
.process__text strong { color: var(--ink); }
@media (max-width: 800px) {
  .process { grid-template-columns: 1fr; gap: 40px; }
}

/* ── SOBRE SNIPPET / BIO ── */
.bio-grid {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 56px;
  align-items: start;
}
.bio-photo {
  border-radius: var(--r2);
  overflow: hidden;
  background: var(--bg-2);
  aspect-ratio: 4/5;
}
.bio-photo img { width: 100%; height: 100%; object-fit: cover; }
.bio-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.bio-chip {
  font-size: .68rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--ink-2);
  padding: 5px 12px; border: 1px solid var(--line); border-radius: 999px;
  background: #fff;
}
.bio-chip--orange { background: var(--orange-pale); color: var(--orange); border-color: transparent; }
.bio-chip--gold { background: rgba(190,150,99,.12); color: var(--gold); border-color: transparent; }
.bio-content > * + * { margin-top: 18px; }
.bio-timeline { display: flex; flex-direction: column; gap: 0; margin-top: 8px; }
.bio-timeline__item {
  display: grid; grid-template-columns: 132px 1fr; gap: 18px;
  padding: 18px 0; border-bottom: 1px solid var(--line);
  align-items: start;
}
.bio-timeline__item:last-child { border-bottom: 0; }
.bio-timeline__year {
  font-size: .78rem; font-weight: 700; color: var(--orange);
  letter-spacing: .04em;
}
.bio-timeline__year--gold { color: var(--gold); }
.bio-timeline__text { font-size: .92rem; color: var(--ink-2); line-height: 1.65; }
.bio-timeline__text strong { color: var(--ink); display: block; margin-bottom: 2px; }
.bio-timeline__desc { font-size: .82rem; color: var(--ink-3); margin-top: 2px; }
@media (max-width: 800px) {
  .bio-grid { grid-template-columns: 1fr; gap: 36px; }
}

/* ── SERVICES GRID 3-COL (svc cards) ── */
.svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.svc {
  background: #fff;
  border-radius: var(--r2);
  padding: 32px 28px;
  border: 1px solid var(--line);
  display: flex; flex-direction: column; gap: 14px;
  transition: var(--ease);
  text-decoration: none;
  color: inherit;
}
.svc:hover { transform: translateY(-2px); box-shadow: var(--s2); border-color: var(--orange); }
.svc__icon {
  width: 44px; height: 44px; border-radius: var(--r);
  background: var(--orange-pale); color: var(--orange);
  display: inline-flex; align-items: center; justify-content: center;
}
.svc__icon svg { width: 22px; height: 22px; }
.svc__title { font-family: var(--wp--preset--font-family--montserrat); font-size: 1.25rem; font-weight: 400; color: var(--wp--preset--color--secondary); margin: 0; }
.svc__desc { font-size: .92rem; color: var(--ink-2); line-height: 1.65; }
.svc__link { font-size: .82rem; font-weight: 600; color: var(--orange); margin-top: auto; }
.svc--dark { background: linear-gradient(135deg, #0A1F38, #1a1408); border-color: rgba(190,150,99,.25); color: #fff; }
.svc--dark .svc__icon { background: rgba(190,150,99,.15); color: var(--gold); }
.svc--dark .svc__title { color: #fff; }
.svc--dark .svc__desc { color: rgba(255,255,255,.7); }
.svc--dark .svc__link { color: var(--gold); }
@media (max-width: 900px) { .svc-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .svc-grid { grid-template-columns: 1fr; } }

/* ── UNIDADES CARDS (v2.3.0 refactor) ── */
.unidades-grid,
.wp-block-columns.unidades-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  max-width: var(--wp--style--global--wide-size, 1200px);
  margin-inline: auto;
}
.unidade-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(15,35,57,.08);
  transition: transform .3s ease, box-shadow .3s ease;
  display: flex;
  flex-direction: column;
  padding: 0 !important;
  flex-basis: auto !important;
}
.unidade-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(15,35,57,.15);
}
.unidade-card iframe[title^="Mapa"],
.unidade-card .unidade-card__map {
  display: block;
  width: 100%;
  height: 160px;
  border: 0;
  border-radius: 0;
  margin: 0;
  background: var(--bg-2, #f3f4f6);
}
.unidade-card__body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.unidade-card__eyebrow {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ouro, var(--gold, #BE9663));
  margin: 0;
}
.unidade-card__title {
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: clamp(1.3rem, 2.4vw, 1.55rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--wp--preset--color--secondary, var(--ink, #0F2339));
  margin: 0;
  letter-spacing: -.01em;
}
.unidade-card__address {
  font-size: .88rem;
  line-height: 1.55;
  color: var(--wp--preset--color--texto-leve, var(--ink-2, #4a5568));
  margin: 0;
  max-width: 100%;
}
.unidade-card__divider {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ouro, var(--gold, #BE9663));
  margin: 4px 0 2px;
}
.unidade-card__divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(190,150,99,.3);
}
.unidade-card__schedule,
.unidade-card__contact {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: .85rem;
  color: var(--wp--preset--color--texto, var(--ink, #1a2331));
}
.unidade-card__schedule-row,
.unidade-card__contact-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.unidade-card__day {
  font-weight: 600;
  min-width: 70px;
  font-size: .85rem;
  color: var(--wp--preset--color--secondary, var(--ink, #0F2339));
}
.unidade-card__phone {
  text-decoration: none;
  color: var(--wp--preset--color--secondary, var(--ink, #0F2339));
  font-weight: 600;
  letter-spacing: .01em;
}
.unidade-card__phone:hover { color: var(--orange, #C8621A); }
.unidade-card__cta {
  margin-top: 4px;
}
.unidade-card__cta .wp-block-button__link,
.unidade-card__cta .btn { padding: 10px 20px; font-size: .82rem; }
@media (max-width: 800px) {
  .unidades-grid,
  .wp-block-columns.unidades-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 600px) {
  .unidade-card iframe[title^="Mapa"],
  .unidade-card .unidade-card__map { height: 140px; }
  .unidade-card__body { padding: 20px; gap: 12px; }
}

/* ── FAQ ── */
.faq-list { display: flex; flex-direction: column; }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item:first-child { border-top: 1px solid var(--line); }
.faq-q {
  width: 100%;
  min-height: 44px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  padding: 20px 0;
  background: none; border: none;
  cursor: pointer; text-align: left;
  font-family: var(--wp--preset--font-family--roboto);
  font-size: .98rem; font-weight: 600; color: var(--ink);
  transition: var(--ease);
}
.faq-q:hover { color: var(--orange); }
.faq-icon {
  width: 28px; height: 28px; border-radius: 50%;
  border: 1.5px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: var(--ease);
}
.faq-icon::before, .faq-icon::after {
  content: ''; position: absolute; background: var(--ink-2); transition: var(--ease);
}
.faq-icon::before { width: 10px; height: 1.5px; }
.faq-icon::after  { width: 1.5px; height: 10px; }
.faq-icon { position: relative; }
.faq-item.open .faq-icon {
  background: var(--orange); border-color: var(--orange); transform: rotate(45deg);
}
.faq-item.open .faq-icon::before, .faq-item.open .faq-icon::after { background: #fff; }
.faq-a {
  display: none; padding-bottom: 20px;
  font-size: .92rem; color: var(--ink-2); line-height: 1.72;
}
.faq-item.open .faq-a { display: block; }

/* layout 2-col with sticky sidebar */
.faq-bound,
.intro-sticky {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 56px;
  align-items: start;
}
.sticky-side { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 24px; }
.cta-box {
  background: var(--bg-dark); color: #fff;
  border-radius: var(--r2); padding: 28px;
  display: flex; flex-direction: column; gap: 14px;
}
.cta-box--gold { background: var(--bg-ink); border: 1px solid rgba(190,150,99,.25); }
.cta-box__title {
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: 1.4rem; font-weight: 300; line-height: 1.2; color: #fff; margin: 0;
}
.cta-box__title em { font-style: italic; color: var(--orange); }
.cta-box--gold .cta-box__title em { color: var(--gold); }
.cta-box__desc { font-size: .9rem; color: rgba(255,255,255,.7); }
.cta-box__actions { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.nav-box {
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--r2); padding: 22px 24px;
  display: flex; flex-direction: column; gap: 6px;
}
.nav-box__title {
  font-size: .68rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--ink-3); margin-bottom: 8px;
}
.nav-box__link {
  font-size: .88rem; color: var(--ink-2);
  padding: 6px 0; border-bottom: 1px solid var(--line);
  text-decoration: none;
}
.nav-box__link:last-child { border-bottom: 0; }
.nav-box__link:hover { color: var(--orange); }
@media (max-width: 900px) {
  .faq-bound, .intro-sticky { grid-template-columns: 1fr; }
  .sticky-side { position: static; }
}

/* ── STATS INLINE ── */
.stats-inline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 24px 0;
  margin: 28px 0;
}
.stat-item { display: flex; flex-direction: column; gap: 4px; }
.stat-item__value { font-family: var(--wp--preset--font-family--montserrat); font-size: 1.6rem; font-weight: 400; color: var(--wp--preset--color--secondary); }
.stat-item__value span { color: var(--orange); font-size: 1rem; }
.stat-item__label { font-size: .72rem; color: var(--ink-3); letter-spacing: .04em; }
@media (max-width: 800px) { .stats-inline { grid-template-columns: repeat(2,1fr); } }

/* ── TRATAMENTOS ALTERNADOS (zigzag) ── */
.tratamentos { display: flex; flex-direction: column; gap: 96px; }
.tratamento {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.tratamento--reverse > .tratamento__media { order: 2; }
.tratamento__media {
  position: relative;
  border-radius: var(--r2);
  overflow: hidden;
  background: var(--bg-2);
  aspect-ratio: 4/3;
}
.tratamento__media::after {
  content: 'Imagem ilustrativa';
  position: absolute; inset: auto 0 14px 14px;
  font-size: .68rem; color: var(--ink-3);
  letter-spacing: .12em; text-transform: uppercase;
}
.tratamento__tag {
  position: absolute; top: 14px; left: 14px;
  background: var(--orange); color: #fff;
  font-size: .68rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; padding: 5px 10px; border-radius: 6px;
}
.tratamento__content > * + * { margin-top: 16px; }
.tratamento__title { font-family: var(--wp--preset--font-family--montserrat); font-size: 2rem; font-weight: 300; line-height: 1.15; margin: 0; color: var(--wp--preset--color--secondary); }
.tratamento__alert {
  background: var(--orange-pale);
  border-left: 3px solid var(--orange);
  padding: 14px 18px; border-radius: 4px;
  font-size: .88rem; color: var(--ink-2); line-height: 1.65;
}
.tratamento__alert strong { color: var(--orange); }
.tratamentos--gold .tratamento__title { color: #fff; }
.tratamentos--gold { color: rgba(255,255,255,.85); }
.tratamentos--gold .tratamento__tag { background: var(--gold); color: #1a1408; }
.tratamento__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tratamento__placeholder {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 10px;
  color: rgba(27,58,92,.55);
}
.tratamentos--gold .tratamento__placeholder { color: rgba(190,150,99,.55); }
.tratamento__placeholder-note {
  font-size: .65rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink-3); opacity: .6;
}
.tratamentos--gold .tratamento__placeholder-note { color: rgba(255,255,255,.4); }
.tratamento__pill {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .7rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--orange);
}
.tratamento__pill::before {
  content: ''; display: block; width: 16px; height: 1.5px; background: var(--orange);
}
.tratamento__pill--gold { color: var(--gold); }
.tratamento__pill--gold::before { background: var(--gold); }
.tratamento__desc { font-size: .92rem; color: var(--ink-2); line-height: 1.8; }
.tratamentos--gold .tratamento__desc { color: rgba(255,255,255,.75); }
.trat-bullets {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 9px;
}
.trat-bullets li {
  position: relative;
  padding-left: 18px;
  font-size: .88rem; color: var(--ink-2); line-height: 1.7;
}
.trat-bullets li::before {
  content: ''; position: absolute; left: 2px; top: 10px;
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--orange);
}
.tratamentos--gold .trat-bullets li { color: rgba(255,255,255,.78); }
.tratamentos--gold .trat-bullets li::before { background: var(--gold); }
.trat-alert {
  background: var(--orange-pale, #F3E8DF);
  border: 1px solid #e8d5c5;
  border-left: 3px solid var(--orange);
  border-radius: var(--r);
  padding: 14px 18px;
  font-size: .88rem; color: var(--ink-2); line-height: 1.65;
}
.trat-alert strong { color: var(--orange); }
.tratamentos--gold .trat-alert {
  background: rgba(190,150,99,.08);
  border-color: rgba(190,150,99,.22);
  border-left-color: var(--gold);
  color: rgba(255,255,255,.82);
}
.tratamentos--gold .trat-alert strong { color: var(--gold); }
.trat-disclaimer {
  background: var(--bg-2, #f3f1ec);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: .82rem; color: var(--ink-3, #6c6a63); line-height: 1.6;
}
.trat-disclaimer strong { color: var(--ink-2, #2a2a2a); }
.is-variant-estetica .trat-disclaimer {
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.65);
}
.is-variant-estetica .trat-disclaimer strong { color: var(--gold); }
@media (max-width: 800px) {
  .tratamento { grid-template-columns: 1fr; gap: 32px; }
  .tratamento--reverse > .tratamento__media { order: 0; }
}

/* ── DIFERENCIAIS ── */
.diferenciais {
  display: grid;
  gap: 28px;
}
.diferenciais--3col { grid-template-columns: repeat(3, 1fr); }
.diferenciais--4col { grid-template-columns: repeat(4, 1fr); }
.diferencial-card {
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--r2); padding: 28px;
  display: flex; flex-direction: column; gap: 14px;
}
.diferencial-card__icon {
  width: 44px; height: 44px; border-radius: var(--r);
  background: var(--orange-pale); color: var(--orange);
  display: inline-flex; align-items: center; justify-content: center;
}
.diferencial-card__icon svg { width: 22px; height: 22px; }
.diferencial-card__title { font-family: var(--wp--preset--font-family--montserrat); font-size: 1.2rem; font-weight: 400; margin: 0; color: var(--wp--preset--color--secondary); }
.diferencial-card__desc { font-size: .9rem; color: var(--ink-2); line-height: 1.65; }
.is-variant-estetica .diferencial-card { background: rgba(255,255,255,.04); border-color: rgba(190,150,99,.18); color: #fff; }
.is-variant-estetica .diferencial-card__icon { background: rgba(190,150,99,.15); color: var(--gold); }
.is-variant-estetica .diferencial-card__title { color: #fff; }
.is-variant-estetica .diferencial-card__desc { color: rgba(255,255,255,.7); }
@media (max-width: 900px) { .diferenciais--3col,.diferenciais--4col { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .diferenciais--3col,.diferenciais--4col { grid-template-columns: 1fr; } }

/* ── CTA FINAL SPLIT FORM ── */
.cta-final {
  background: var(--bg-dark);
  position: relative; overflow: hidden;
  padding: 96px 32px;
  color: #fff;
  border-radius: var(--r2);
}
.cta-final::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 70% at 80% 50%, rgba(200,98,26,.18), transparent 60%);
}
.cta-final__inner {
  position: relative;
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px;
  align-items: start;
}
.cta-final__title {
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  font-weight: 300; line-height: 1.1; color: #fff;
  margin: 18px 0 18px;
}
.cta-final__title em { font-style: italic; color: var(--orange); }
.cta-final__desc { font-size: 1rem; color: rgba(255,255,255,.7); max-width: 520px; line-height: 1.72; margin-bottom: 28px; }
.channel-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.channel-card {
  display: flex; flex-direction: column; gap: 6px;
  padding: 18px 20px; border-radius: var(--r);
  text-decoration: none;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: #fff;
}
.channel-card--whatsapp { background: rgba(37,211,102,.12); border-color: rgba(37,211,102,.25); }
.channel-card--phone { background: rgba(200,98,26,.12); border-color: rgba(200,98,26,.25); }
.channel-card__label { font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.channel-card__value { font-size: 1.05rem; font-weight: 600; }
.channel-card__sub { font-size: .78rem; color: rgba(255,255,255,.55); }
@media (max-width: 900px) {
  .cta-final__inner { grid-template-columns: 1fr; gap: 32px; }
  .channel-cards { grid-template-columns: 1fr; }
  .cta-final { padding: 64px 24px; }
}

/* ── FORM ── */
.form {
  background: #fff; color: var(--ink);
  border-radius: var(--r2); padding: 36px;
  box-shadow: var(--s3); border: 1px solid var(--line);
}
.form__head { margin-bottom: 22px; }
.form__title { font-family: var(--wp--preset--font-family--montserrat); font-size: 1.6rem; font-weight: 400; color: var(--wp--preset--color--secondary); margin: 0 0 6px; }
.form__sub { font-size: .88rem; color: var(--ink-2); }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form__group { margin-bottom: 14px; }
.form__label {
  display: block; font-size: .72rem; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase;
  color: var(--ink-2); margin-bottom: 6px;
}
.form__input, .form__select, .form__textarea {
  width: 100%; padding: 11px 14px;
  border: 1.5px solid var(--line); border-radius: var(--r);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: .92rem; color: var(--ink);
  background: var(--bg); transition: var(--ease); outline: none;
}
.form__input:focus, .form__select:focus, .form__textarea:focus {
  border-color: var(--orange); background: #fff;
  box-shadow: 0 0 0 3px rgba(200,98,26,.1);
}
.form__textarea { resize: vertical; min-height: 96px; }
/* .form__lgpd — base layout reescrita na seção "FORM — CHECKBOX LGPD FIX v2.3.3" no fim do arquivo */
.form__lgpd { margin: 4px 0 18px; }
.form__submit {
  width: 100%; padding: 13px;
  background: var(--orange); color: #fff; border: none; border-radius: var(--r);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: .92rem; font-weight: 700; cursor: pointer; transition: var(--ease);
}
.form__submit:hover { background: var(--orange-h); transform: translateY(-1px); box-shadow: 0 4px 16px rgba(200,98,26,.3); }
@media (max-width: 700px) { .form__row { grid-template-columns: 1fr; } }

/* ── CONTACT INFO ROWS ── */
.contact-info-row {
  display: flex; align-items: center; gap: 12px;
  font-size: .95rem; color: var(--ink-2);
  padding: 8px 0;
}
.contact-info-row svg { flex: 0 0 20px; width: 20px; height: 20px; color: var(--orange); }

/* ── CTA BAR HORIZONTAL ── */
.cta-bar {
  background: var(--bg-dark); color: #fff;
  border-radius: var(--r2); padding: 36px 48px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px; flex-wrap: wrap;
  max-width: var(--wp--style--global--wide-size, 1200px);
  margin-inline: auto;
}
.cta-bar__title { font-family: var(--wp--preset--font-family--montserrat); font-size: 1.6rem; font-weight: 300; margin: 0; color: #fff; }
.cta-bar__phone { font-size: 1.05rem; font-weight: 700; color: var(--orange); margin-left: 12px; }
.cta-bar__link { color: rgba(255,255,255,.85); font-size: .92rem; font-weight: 600; }
.cta-bar__link:hover { color: var(--orange); }

/* ── FILOSOFIA QUOTE ── */
.filosofia { text-align: center; padding: 48px 0; }
.filosofia__quote {
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 300; font-style: italic;
  color: var(--wp--preset--color--secondary);
  line-height: 1.25;
  max-width: 880px; margin: 18px auto 12px;
}
.filosofia__attribution { font-size: .88rem; color: var(--ink-3); }

/* ── FOOTER ── */
.site-footer {
  background: var(--bg-ink); color: rgba(255,255,255,.55);
  padding: 72px 32px 0;
}
.site-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  max-width: 1200px;
  margin: 0 auto 56px;
}
.site-footer__brand-name { font-family: var(--wp--preset--font-family--montserrat); font-size: 1.4rem; font-weight: 400; color: #fff; margin: 0 0 4px; }
.site-footer__brand-sub  { font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--orange); margin-bottom: 14px; }
.site-footer__brand-desc { font-size: .85rem; line-height: 1.7; }
.site-footer__social { display: flex; gap: 8px; margin-top: 18px; }
.site-footer__social a {
  min-width: 44px; min-height: 44px;
  width: 44px; height: 44px; border-radius: var(--r);
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  display: inline-flex; align-items: center; justify-content: center;
  transition: var(--ease); color: rgba(255,255,255,.55);
}
.site-footer__social a:hover { background: var(--orange); border-color: var(--orange); color: #fff; }
.site-footer__social svg { width: 14px; height: 14px; }
.site-footer__col-title { font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-bottom: 14px; }
.site-footer__links { display: flex; flex-direction: column; gap: 8px; }
.site-footer__links a { font-size: .85rem; color: rgba(255,255,255,.7) !important; text-decoration: none; }
.site-footer__links a:hover { color: #fff !important; }
.site-footer__addr { font-size: .82rem; line-height: 1.7; color: rgba(255,255,255,.7); }
.site-footer__addr a { color: rgba(255,255,255,.85) !important; text-decoration: none; }
.site-footer__addr a:hover { color: #fff !important; }
.site-footer__addr strong { display: block; color: rgba(255,255,255,.95); margin-bottom: 4px; }
/* fallback global: qualquer link no footer dark herda cor clara (override do styles.elements.link do theme.json) */
.site-footer a, footer.wp-block-template-part a {
  color: rgba(255,255,255,.7) !important;
}
.site-footer a:hover, footer.wp-block-template-part a:hover {
  color: #fff !important;
}
/* social icons: cor neutra clara, hover preserva (laranja) */
.site-footer__social a {
  color: rgba(255,255,255,.85) !important;
}
.site-footer__social a:hover {
  color: #fff !important;
}
.site-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 22px 0;
  display: flex; justify-content: space-between; align-items: center;
  font-size: .75rem;
  flex-wrap: wrap; gap: 12px;
  max-width: 1200px; margin: 0 auto;
}
.site-footer__legal { display: flex; gap: 18px; }
.site-footer__legal a { color: rgba(255,255,255,.45); text-decoration: none; }
.site-footer__legal a:hover { color: rgba(255,255,255,.85); }
@media (max-width: 1024px) { .site-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) {
  .site-footer__grid { grid-template-columns: 1fr; gap: 32px; }
  .site-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ── HEADER NAV ── */
.site-header {
  display: flex; align-items: center; flex-direction: column;
}
.topbar {
  width: 100%; background: var(--bg-dark) !important;
  padding: 9px 32px;
  font-size: .75rem; color: rgba(255,255,255,.85) !important;
}
.topbar__inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px;
}
.topbar__group { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; color: rgba(255,255,255,.85); }
.topbar__item,
.topbar a.topbar__item,
.topbar span.topbar__item {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px;
  color: rgba(255,255,255,.9) !important;
  text-decoration: none;
}
.topbar__item a,
.topbar a {
  color: rgba(255,255,255,.9) !important;
  text-decoration: none;
  display: inline-flex; align-items: center;
  min-height: 44px; padding: 4px 0;
}
.topbar__item:hover,
.topbar__item a:hover,
.topbar a:hover { color: #fff !important; }
.topbar svg { width: 12px; height: 12px; opacity: .85; color: rgba(255,255,255,.9); stroke: currentColor; fill: none; }
.nav-main {
  width: 100%; display: flex; align-items: center;
  justify-content: space-between; gap: 24px;
  max-width: 1200px; margin: 0 auto;
  padding: 14px 32px; height: 64px;
}
.nav-main__logo { display: flex; flex-direction: column; line-height: 1; text-decoration: none; }
.nav-main__logo-name { font-family: var(--wp--preset--font-family--montserrat); font-size: 1.2rem; font-weight: 600; color: var(--ink); letter-spacing: -.02em; }
.nav-main__logo-sub { font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); margin-top: 2px; }
.nav-main__links { display: flex; align-items: center; gap: 4px; }
.nav-main__link {
  font-size: .85rem; font-weight: 500; color: var(--ink-2);
  padding: 7px 12px; border-radius: 6px;
  text-decoration: none; transition: var(--ease);
}
.nav-main__link:hover { color: var(--ink); background: var(--bg-2); }
.nav-main__drop { position: relative; }
.nav-main__drop-menu {
  display: none; position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%); margin-top: 8px;
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--r2); box-shadow: var(--s3);
  min-width: 260px; padding: 6px; z-index: 200;
}
.nav-main__drop:hover .nav-main__drop-menu,
.nav-main__drop:focus-within .nav-main__drop-menu { display: block; }
.nav-main__drop-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: var(--r);
  font-size: .85rem; color: var(--ink-2); text-decoration: none;
}
.nav-main__drop-item:hover { background: var(--bg); color: var(--ink); }
.nav-main__drop-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--orange); flex-shrink: 0; }
.nav-main__drop-dot--gold { background: var(--gold); }
.nav-main__cta { margin-left: 8px; }
.nav-main__toggle {
  display: none; flex-direction: column; gap: 4px;
  background: none; border: none; cursor: pointer; padding: 6px;
}
.nav-main__toggle span { width: 22px; height: 2px; background: var(--ink); border-radius: 2px; }
@media (max-width: 900px) {
  .nav-main__links { display: none !important; }
  .nav-main__toggle { display: inline-flex; }
  .nav-main__links.open {
    display: flex; flex-direction: column; align-items: flex-start;
    position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; border-bottom: 1px solid var(--line);
    padding: 12px 24px; box-shadow: var(--s2);
    z-index: 90;
  }
}

/* ── COOKIE BAR ── */
.cookie {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 998;
  background: var(--bg-ink);
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 18px 24px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
  transform: translateY(100%); transition: .4s ease;
}
.cookie.show { transform: translateY(0); }
.cookie__text { font-size: .8rem; color: rgba(255,255,255,.6); max-width: 560px; line-height: 1.6; }
.cookie__text a { color: rgba(255,255,255,.85); }
.cookie__btns { display: flex; gap: 8px; }
.cookie-btn { padding: 8px 18px; border-radius: 6px; font-size: .78rem; font-weight: 600; border: none; cursor: pointer; }
.cookie-btn--y { background: var(--orange); color: #fff; }
.cookie-btn--n { background: rgba(255,255,255,.08); color: rgba(255,255,255,.6); }

/* ── WHATSAPP FLOAT ── */
.wpp-float {
  position: fixed; bottom: 24px; right: 24px; z-index: 999;
  width: 52px; height: 52px; border-radius: 50%;
  background: #25D366; color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.4);
  text-decoration: none;
}
.wpp-float svg { width: 26px; height: 26px; fill: #fff; }

/* ── FADE-IN SCROLL ── */
.fade-in { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s ease; }
.fade-in.is-visible { opacity: 1; transform: none; }

/* ── HELPERS ── */
.eyebrow {
  font-size: .72rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--orange);
}
.text-gold { color: var(--gold); }
.bg-dark { background: var(--bg-dark); color: #fff; }
.bg-ink  { background: var(--bg-ink); color: #fff; }
.bg-pale { background: var(--orange-pale); }

/* ── ALIGN HELPERS for align:wide patterns ── */
.alignfull > * { box-sizing: border-box; }

/* Contato page 2-col grid responsive */
@media (max-width: 900px) { .contato-grid-2col { grid-template-columns: 1fr !important; gap: 32px !important; } }
@media (max-width: 900px) { .telemed-grid-2col { grid-template-columns: 1fr !important; gap: 32px !important; } }

/* ═══════════════════════════════════════════
   FASE 1A — REFINAMENTO UI/UX (v1.0.5)
═══════════════════════════════════════════ */

/* ── Tarefa 1: alinhar verticalmente os itens do menu (Serviços com dropdown) ──
   v2.6.4: regras restritas ao desktop (≥901px) para não sobrescrever
   `.nav-main__links { display: none }` do breakpoint mobile (linha 1094).
   Antes essas declarações sem media query reaparelhavam o nav no mobile,
   causando overflow horizontal de ~589px no iPhone SE. */
@media (min-width: 901px) {
  .nav-main__links {
    display: flex;
    align-items: center;
  }
  .nav-main__link,
  .nav-main__drop > .nav-main__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1;
    min-height: 44px;
  }
  .nav-main__drop {
    display: inline-flex;
    align-items: center;
  }
  /* fallback genérico para qualquer marcação de nav */
  .nav, .header__nav, ul.menu {
    display: flex;
    align-items: center;
  }
  .nav__link, .nav a, .menu-item > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1;
  }
  .nav__dropdown-toggle,
  .menu-item-has-children > a::after {
    display: inline-flex;
    align-items: center;
  }
}

/* ── Tarefa 2 / BUG 7: foto do "Sobre mim" sticky enquanto texto rola ──
   IMPORTANT: sticky aplica-se SOMENTE no wrapper .bio-grid__sticky (foto + chips juntos).
   A .bio-photo NÃO recebe position:sticky — caso contrário sobrepõe os chips. */
.bio-grid {
  align-items: start;
}
.bio-grid > .bio-grid__sticky,
.bio-grid > div:first-child {
  position: sticky;
  top: 120px; /* header ~80px + folga 40px */
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.bio-grid__sticky .bio-photo,
.bio-grid > div:first-child .bio-photo {
  position: static;
  flex: 0 0 auto;
  height: auto;
  max-height: 480px;
}
.bio-grid__sticky .bio-photo img,
.bio-grid > div:first-child .bio-photo img {
  width: 100%;
  max-height: 480px;
  object-fit: cover;
  display: block;
}
/* tags (chips) abaixo da foto: centralizadas e dentro do bloco sticky */
.bio-grid__sticky .bio-chips,
.bio-grid > div:first-child > .bio-chips {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 0;
  text-align: center;
}
/* fallback genéricos para outras estruturas possíveis */
.sobre-snippet-timeline,
.sobre-snippet-timeline__grid {
  align-items: start;
}
.sobre-snippet-timeline__media,
.sobre-snippet__photo,
.sobre-snippet-timeline > .wp-block-group:first-child,
.sobre-snippet-timeline .sticky-photo {
  position: sticky;
  top: 120px;
  align-self: start;
}
@media (max-width: 900px) {
  .bio-grid > .bio-grid__sticky,
  .bio-grid > div:first-child,
  .sobre-snippet-timeline__media,
  .sobre-snippet__photo,
  .sobre-snippet-timeline > .wp-block-group:first-child,
  .sobre-snippet-timeline .sticky-photo {
    position: static;
  }
}

/* ── Tarefa 4: padronização de espaçamento vertical entre seções ── */
.wp-site-blocks main > * + * {
  margin-block-start: 0;
}
[class*="-section"] {
  padding-block: clamp(64px, 9vw, 96px);
}
.section--tight { padding-block: clamp(48px, 6vw, 64px); }
.section--loose { padding-block: clamp(80px, 12vw, 120px); }

/* Reset margin entre patterns/groups consecutivos alignfull/alignwide */
.wp-site-blocks main > .wp-block-group + .wp-block-group,
.wp-site-blocks main > .wp-block-pattern + .wp-block-pattern,
.wp-site-blocks main > .wp-block-template-part + .wp-block-template-part {
  margin-block-start: 0;
}

/* Intro strip (faixa do reembolso): zera margens próprias */
.intro-strip,
.intro-strip-link {
  margin-block: 0;
  padding-block: 18px;
}

/* ═══════════════════════════════════════════
   v1.1.2 — UX/CSS BUGFIXES
═══════════════════════════════════════════ */

/* BUG 2 — cards "Como Posso Ajudar Você?": hover scale + sem underline */
.area-card,
.areas-grid > .area-card {
  transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s cubic-bezier(.4,0,.2,1);
  text-decoration: none;
}
.area-card:hover,
.areas-grid > .area-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(15,35,57,.25);
}
.area-card,
.area-card:hover,
.area-card:focus,
.area-card:visited,
.area-card * {
  text-decoration: none !important;
}

/* BUG 3 — intro-strip respeita content area (max 1200px + padding-inline) */
.intro-strip,
.intro-strip-link {
  padding-inline: 0;
}
.intro-strip__inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: var(--wp--preset--spacing--50, 32px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  width: 100%;
}

/* BUG 5 — submenu Serviços: ponte hover sem gap */
.nav-main__drop > .nav-main__link {
  position: relative;
}
.nav-main__drop > .nav-main__link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 12px;
  z-index: 199;
}
.nav-main__drop-menu {
  margin-top: 0;
  padding-top: 8px;
  background-clip: padding-box;
}

/* BUG 6 — gap entre header e hero nas páginas internas */
.wp-site-blocks main.wp-block-group,
.wp-site-blocks main {
  padding-block-start: 0 !important;
  margin-block-start: 0 !important;
}
.wp-site-blocks main > *:first-child,
main.wp-block-group > *:first-child {
  margin-block-start: 0 !important;
  padding-block-start: 0;
}
.page-hero,
.page-hero--estetica,
.hero-home {
  margin-top: 0 !important;
}
/* Compensa blockGap herdado quando o primeiro filho do main é alignfull */
.wp-site-blocks main > .wp-block-group.alignfull:first-child,
main.wp-block-group > .wp-block-group.alignfull:first-child {
  margin-top: 0 !important;
}

/* === Blog cards === */
.blog-card { transition: transform .3s ease, box-shadow .3s ease; height: 100%; display: flex; flex-direction: column; gap: 12px; }
.blog-card:hover { transform: translateY(-4px); box-shadow: 0 20px 60px rgba(27,58,92,.12); }
.blog-card .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--secondary); }
.blog-card .wp-block-post-featured-image img { aspect-ratio: 3/2; object-fit: cover; }

/* ═══════════════════════════════════════════
   v2.0.0 — NATIVE BLOCKS BRIDGE
   Patterns refatorados de <wp:html> para blocos
   nativos (wp:columns, wp:group, wp:image, wp:buttons).
   Esses overrides garantem que classes BEM legadas
   funcionem mesmo quando WP injeta wp-block-columns
   com display:flex de fábrica.
═══════════════════════════════════════════ */

/* Force grid layout on columns wrappers that legacy CSS expects as grid */
.areas-grid,
.wp-block-columns.areas-grid {
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: 1fr 1fr;
  margin-inline: auto;
  max-width: var(--wp--style--global--wide-size, 1200px);
}
.wp-block-columns.areas-grid > .wp-block-column.area-card { flex-basis: auto; padding: 56px 40px; margin: 0 !important; }
.area-card { margin: 0 !important; }
@media (max-width: 900px) {
  .areas-grid,
  .wp-block-columns.areas-grid { grid-template-columns: 1fr; gap: 16px !important; }
}

.wp-block-columns.bio-grid { display: grid; grid-template-columns: 360px 1fr; gap: 64px; align-items: flex-start; margin: 0; }
.wp-block-columns.bio-grid > .wp-block-column { flex-basis: auto !important; }
@media (max-width: 900px) {
  .wp-block-columns.bio-grid { grid-template-columns: 1fr; gap: 36px; }
}

.wp-block-columns.diferenciais.diferenciais--3col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0; }
.wp-block-columns.diferenciais.diferenciais--4col { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 0; }
.wp-block-columns.diferenciais > .wp-block-column.diferencial-card { flex-basis: auto; }
@media (max-width: 900px) {
  .wp-block-columns.diferenciais.diferenciais--3col,
  .wp-block-columns.diferenciais.diferenciais--4col { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .wp-block-columns.diferenciais.diferenciais--3col,
  .wp-block-columns.diferenciais.diferenciais--4col { grid-template-columns: 1fr; }
}

.wp-block-columns.process { display: grid; grid-template-columns: 380px 1fr; gap: 80px; align-items: flex-start; margin: 0; }
.wp-block-columns.process > .wp-block-column { flex-basis: auto !important; }
@media (max-width: 900px) {
  .wp-block-columns.process { grid-template-columns: 1fr; gap: 40px; }
}

/* Hero home: 2-column with image right (v2.3.0 — single canonical rule) */
.hero-home .wp-block-columns.hero-home__columns { display: grid !important; grid-template-columns: 1fr 440px; gap: 56px; align-items: center; margin: 0; }
.hero-home .wp-block-columns.hero-home__columns > .wp-block-column { flex-basis: auto !important; padding: 0; }
@media (max-width: 900px) {
  .hero-home .wp-block-columns.hero-home__columns { grid-template-columns: 1fr; gap: 32px; }
}

/* Trust grid (4 stat tiles) */
.hero-home__trust.wp-block-group { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 48px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.1); }
.hero-home__trust.wp-block-group .hero-home__trust-item { display: flex; flex-direction: column; gap: 4px; }
.hero-home__trust.wp-block-group .hero-home__trust-value { font-family: var(--wp--preset--font-family--montserrat); font-size: 1.6rem; font-weight: 400; color: #fff; margin: 0; }
.hero-home__trust.wp-block-group .hero-home__trust-label { font-size: .72rem; color: rgba(255,255,255,.5); letter-spacing: .04em; margin: 0; }
@media (max-width: 700px) { .hero-home__trust.wp-block-group { grid-template-columns: repeat(2, 1fr); } }

/* Hero buttons spacing (visual rules removed in v2.3.3 — see RESET v2.3.3 at end of file) */
.hero-home .wp-block-buttons.hero-home__actions { gap: 16px; flex-wrap: wrap; margin-top: 32px; }

/* Hero image (wp:image instead of bare <img>) */
.hero-home__photo .wp-block-image.hero-home__photo-img { margin: 0; height: 100%; }
.hero-home__photo .wp-block-image.hero-home__photo-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; }
.hero-home__photo { position: relative; }

/* Bio photo (wp:image) */
.bio-photo.wp-block-image { margin: 0 0 16px; border-radius: 12px; overflow: hidden; }
.bio-photo.wp-block-image img { width: 100%; display: block; }

/* Section heads (h2/p in wp:group) */
.section-head { text-align: center; margin-bottom: 48px; }
.section-head .section-title { font-size: 2.4rem; margin-top: 12px; }
.section-title--on-dark { color: #fff; }
.section-title--on-dark strong { color: var(--gold, #c9a84c); }

/* Area card pills as paragraphs */
.area-card .area-card__pills.wp-block-group { display: flex; flex-wrap: wrap; gap: 6px; }
.area-card .area-card__pills.wp-block-group .area-card__pill { margin: 0; }

/* Bio chips as paragraphs */
.bio-chips.wp-block-group { display: flex; flex-wrap: wrap; gap: 8px; }
.bio-chips.wp-block-group .bio-chip { margin: 0; }

/* Bio timeline kept inside wp:html still works */
.bio-timeline.wp-block-group { display: flex; flex-direction: column; }

/* CTA bar */
.cta-bar.wp-block-group { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }

/* Filosofia quote-block */
.filosofia .filosofia__quote-block { border: 0; padding: 0; margin: 24px auto 8px; max-width: 760px; text-align: center; }
.filosofia .filosofia__quote-block cite { display: block; margin-top: 12px; font-style: normal; }

/* Hero badge as group */
.hero-home__badge.wp-block-group { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.hero-home__badge-info.wp-block-group { display: flex; flex-direction: column; gap: 2px; }
.hero-home__badge-info.wp-block-group p { margin: 0; }

/* Process column-right wrapper */
.process__steps-col { /* container only */ }

/* CTA centered (wp:group replacement) */
.cta-centered .wp-block-buttons { justify-content: center; margin-top: 8px; }
.cta-centered .cta-centered__title { color: #fff; font-size: 2.2rem; margin: 0 0 16px; }
.cta-centered .cta-centered__sub { color: rgba(255,255,255,.75); max-width: 560px; margin: 0 auto 24px; line-height: 1.7; }
.cta-centered .cta-centered__link a { color: rgba(255,255,255,.85); font-size: .9rem; }
.cta-centered { text-align: center; padding: 64px 32px; border-radius: 16px; }

/* Bio especialidades list (replaces inline ul) */
.bio-especialidades { list-style: none; padding-left: 0; margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; }
.bio-especialidades li { position: relative; padding-left: 22px; color: var(--wp--preset--color--texto, var(--ink)); }
.bio-especialidades li::before { content: ''; position: absolute; left: 0; top: 6px; width: 8px; height: 8px; background: var(--wp--preset--color--accent, var(--orange)); border-radius: 50%; }
.bio-especialidades li.bio-especialidades__gold::before { background: var(--wp--preset--color--ouro, var(--gold)); }
@media (max-width: 700px) { .bio-especialidades { grid-template-columns: 1fr; } }

/* Brand logo (v2.2.0) — header + footer image lockups */
.nav-main__logo img { display: block; height: 50px; width: auto; max-width: 100%; object-fit: contain; }
@media (min-width: 901px) { .nav-main__logo img { height: 54px; } }
@media (max-width: 720px) { .nav-main__logo img { height: 40px; } }
.footer__brand-logo {
  display: block;
  height: 64px;
  width: auto;
  max-width: 100%;
  margin-bottom: 18px;
  object-fit: contain;
}
@media (max-width: 720px) {
  .footer__brand-logo { height: 50px; }
}
.footer__brand-crm { font-size: .8rem; color: rgba(255,255,255,.7); margin: 0 0 16px; }

/* ============================================================
   v2.3.1 — BUG FIXES
   ============================================================ */

/* ── BUG 1 (v2.3.1): wp:button button-in-button — RULES REMOVED in v2.3.3.
   Substituído pela seção "BUTTONS — RESET v2.3.3" no fim do arquivo. */

/* ── BUG 6: ícone WhatsApp em todo botão que linka para WhatsApp ──
   Aplica via ::before com data-URI SVG. Cobre TANTO botões com classe .btn--whatsapp
   QUANTO qualquer link cuja URL aponte para api.whatsapp.com ou wa.me. */
.wp-block-button.btn--whatsapp > .wp-block-button__link::before,
.wp-block-button[class*="whatsapp"] > .wp-block-button__link::before,
a.btn--whatsapp::before,
a[href*="api.whatsapp"]:not(.wpp-float):not(.topbar__item):not(.nav-main__drop-item):not(.site-footer__social a):not([aria-label]):not(.unidade-card__phone)::before,
a[href*="wa.me"]:not(.wpp-float):not(.topbar__item):not(.nav-main__drop-item):not(.site-footer__social a):not([aria-label]):not(.unidade-card__phone)::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff' width='16' height='16'%3E%3Cpath d='M17.6 6.32A8 8 0 0 0 4 12c0 1.4.36 2.78 1.05 4L4 20l4.1-1.04A8 8 0 0 0 20 12a7.94 7.94 0 0 0-2.4-5.68zM12 18.5a6.5 6.5 0 0 1-3.32-.92l-.24-.14-2.44.62.65-2.38-.16-.25A6.5 6.5 0 1 1 12 18.5zm3.6-4.86c-.2-.1-1.18-.58-1.36-.65-.18-.07-.32-.1-.45.1-.13.2-.52.65-.64.78-.12.13-.24.15-.44.05-.2-.1-.84-.31-1.6-.99-.6-.53-1-1.18-1.12-1.38-.12-.2-.01-.31.09-.4.09-.09.2-.24.3-.36.1-.12.13-.2.2-.34.06-.13.03-.25-.02-.35-.05-.1-.45-1.08-.62-1.48-.16-.39-.33-.34-.45-.34l-.38-.01a.74.74 0 0 0-.54.25c-.18.2-.7.69-.7 1.68 0 .99.72 1.95.82 2.08.1.13 1.42 2.17 3.45 3.04.48.2.86.33 1.16.43.49.16.93.13 1.28.08.39-.06 1.18-.48 1.34-.95.16-.46.16-.86.12-.95-.05-.08-.18-.13-.38-.23z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  vertical-align: middle;
  margin-right: 2px;
}

/* Garantir que ::before não aparece em links com SVG inline (footer social, etc.) */
.site-footer__social a::before,
a[aria-label="WhatsApp"]::before,
a[aria-label="Instagram"]::before,
a[aria-label="Facebook"]::before {
  content: none !important;
  display: none !important;
}

/* WhatsApp icon em links com texto preto/escuro: usar ícone verde WhatsApp */
a.btn--whatsapp::before,
.wp-block-button.btn--whatsapp > .wp-block-button__link::before,
.wp-block-button[class*="whatsapp"] > .wp-block-button__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff' width='16' height='16'%3E%3Cpath d='M17.6 6.32A8 8 0 0 0 4 12c0 1.4.36 2.78 1.05 4L4 20l4.1-1.04A8 8 0 0 0 20 12a7.94 7.94 0 0 0-2.4-5.68zM12 18.5a6.5 6.5 0 0 1-3.32-.92l-.24-.14-2.44.62.65-2.38-.16-.25A6.5 6.5 0 1 1 12 18.5zm3.6-4.86c-.2-.1-1.18-.58-1.36-.65-.18-.07-.32-.1-.45.1-.13.2-.52.65-.64.78-.12.13-.24.15-.44.05-.2-.1-.84-.31-1.6-.99-.6-.53-1-1.18-1.12-1.38-.12-.2-.01-.31.09-.4.09-.09.2-.24.3-.36.1-.12.13-.2.2-.34.06-.13.03-.25-.02-.35-.05-.1-.45-1.08-.62-1.48-.16-.39-.33-.34-.45-.34l-.38-.01a.74.74 0 0 0-.54.25c-.18.2-.7.69-.7 1.68 0 .99.72 1.95.82 2.08.1.13 1.42 2.17 3.45 3.04.48.2.86.33 1.16.43.49.16.93.13 1.28.08.39-.06 1.18-.48 1.34-.95.16-.46.16-.86.12-.95-.05-.08-.18-.13-.38-.23z'/%3E%3C/svg%3E");
}

/* botão laranja (.btn--primary) que vai para WhatsApp também recebe ícone branco */
.btn.btn--primary[href*="api.whatsapp"]::before,
.btn.btn--primary[href*="wa.me"]::before,
.wp-block-button.btn--primary > .wp-block-button__link[href*="api.whatsapp"]::before,
.wp-block-button.btn--primary > .wp-block-button__link[href*="wa.me"]::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff' width='16' height='16'%3E%3Cpath d='M17.6 6.32A8 8 0 0 0 4 12c0 1.4.36 2.78 1.05 4L4 20l4.1-1.04A8 8 0 0 0 20 12a7.94 7.94 0 0 0-2.4-5.68zM12 18.5a6.5 6.5 0 0 1-3.32-.92l-.24-.14-2.44.62.65-2.38-.16-.25A6.5 6.5 0 1 1 12 18.5zm3.6-4.86c-.2-.1-1.18-.58-1.36-.65-.18-.07-.32-.1-.45.1-.13.2-.52.65-.64.78-.12.13-.24.15-.44.05-.2-.1-.84-.31-1.6-.99-.6-.53-1-1.18-1.12-1.38-.12-.2-.01-.31.09-.4.09-.09.2-.24.3-.36.1-.12.13-.2.2-.34.06-.13.03-.25-.02-.35-.05-.1-.45-1.08-.62-1.48-.16-.39-.33-.34-.45-.34l-.38-.01a.74.74 0 0 0-.54.25c-.18.2-.7.69-.7 1.68 0 .99.72 1.95.82 2.08.1.13 1.42 2.17 3.45 3.04.48.2.86.33 1.16.43.49.16.93.13 1.28.08.39-.06 1.18-.48 1.34-.95.16-.46.16-.86.12-.95-.05-.08-.18-.13-.38-.23z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
  margin-right: 2px;
}

/* BUG 2 — Cookie banner: estilos default escondidos, .show revela.
   O JS já existia (sessionStorage). Garantimos transição limpa. */
.cookie {
  position: fixed;
  bottom: 16px;
  left: 16px;
  right: 16px;
  max-width: 880px;
  margin-inline: auto;
  z-index: 9999;
  background: var(--bg-dark, #0F2339);
  color: rgba(255,255,255,.9);
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: space-between;
  box-shadow: 0 12px 40px rgba(0,0,0,.25);
  transform: translateY(140%);
  opacity: 0;
  transition: transform .35s ease, opacity .35s ease;
  pointer-events: none;
}
.cookie.show {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.cookie__text { margin: 0; font-size: .88rem; line-height: 1.5; max-width: 560px; color: rgba(255,255,255,.85); }
.cookie__text a { color: var(--gold, #c9a84c); text-decoration: underline; }
.cookie__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.cookie-btn {
  border: 0;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 600;
  font-size: .85rem;
  cursor: pointer;
  font-family: var(--wp--preset--font-family--roboto);
  transition: background .2s ease;
}

/* ═══════════════════════════════════════════
   BUTTONS — RESET v2.3.3 (override final)
   Todos quadrados (border-radius: 8px), padronizados
═══════════════════════════════════════════ */

/* Reset wrappers WP — sem visual no parent (exceto quando o wrapper TAMBÉM
   tem .btn-* — nesse caso o wrapper precisa render o visual do botão). */
.wp-block-button:not(.btn),
.wp-block-buttons > .wp-block-button:not(.btn) {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* Quando wrapper tem .btn-*: visual transparente no wrapper, o link interno renderiza */
.wp-block-button.btn,
.wp-block-buttons > .wp-block-button.btn {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  /* border-radius NÃO setado aqui — deixar o v4 governar */
}

/* Base — aplicada em <a> nativos OU no wp-block-button__link */
.btn,
a.btn,
.wp-block-button__link,
.wp-element-button,
.wp-block-button > .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--wp--preset--font-family--roboto), 'Roboto', sans-serif;
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .01em;
  border-radius: 8px !important;
  border: 1.5px solid transparent;
  padding: 12px 24px !important;
  text-decoration: none !important;
  cursor: pointer;
  white-space: nowrap;
  transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
  box-sizing: border-box;
  min-height: 44px; /* tap target */
}

/* Telas estreitas: texto do botão pode quebrar linha em vez de estourar a
   viewport (bug real: "Falar com a secretária sobre reembolso" @<360px). */
@media (max-width: 480px) {
  .btn,
  a.btn,
  .wp-block-button__link,
  .wp-element-button,
  .wp-block-button > .wp-block-button__link {
    white-space: normal;
    text-wrap: balance;
    max-width: 100%;
    text-align: center;
  }
}

/* SVG dentro do botão */
.btn svg,
.wp-block-button__link svg,
.wp-element-button svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* ──── Variantes (cor + hover) ──── */

/* PRIMARY (laranja) — CTA principal */
.btn--primary, a.btn--primary,
.wp-block-button.btn--primary > .wp-block-button__link,
.wp-block-button.btn--fill > .wp-block-button__link {
  background: var(--wp--preset--color--accent, #C8621A) !important;
  color: #fff !important;
  border-color: var(--wp--preset--color--accent, #C8621A);
}
.btn--primary:hover, a.btn--primary:hover,
.wp-block-button.btn--primary > .wp-block-button__link:hover,
.wp-block-button.btn--fill > .wp-block-button__link:hover {
  background: var(--wp--preset--color--laranja-claro, #e07530) !important;
  border-color: var(--wp--preset--color--laranja-claro, #e07530);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(200,98,26,.3);
}

/* GHOST (transparent + border) */
.btn--ghost, a.btn--ghost,
.wp-block-button.btn--ghost > .wp-block-button__link {
  background: transparent !important;
  color: var(--wp--preset--color--secondary, #0A1F38) !important;
  border-color: var(--wp--preset--color--cinza-linha, #DDD8D0);
}
.btn--ghost:hover, a.btn--ghost:hover,
.wp-block-button.btn--ghost > .wp-block-button__link:hover {
  border-color: var(--wp--preset--color--secondary, #0A1F38);
  background: rgba(15,35,57,.04) !important;
}

/* OUTLINE-WHITE (para fundos escuros) */
.btn--outline-white, a.btn--outline-white,
.wp-block-button.btn--outline-white > .wp-block-button__link {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.3);
}
.btn--outline-white:hover, a.btn--outline-white:hover,
.wp-block-button.btn--outline-white > .wp-block-button__link:hover {
  background: rgba(255,255,255,.06) !important;
  border-color: #fff;
}

/* GOLD (acento dourado) */
.btn--gold, a.btn--gold,
.wp-block-button.btn--gold > .wp-block-button__link {
  background: var(--wp--preset--color--ouro, #BE9663) !important;
  color: #1a1408 !important;
  border-color: var(--wp--preset--color--ouro, #BE9663);
  font-weight: 700;
}
.btn--gold:hover, a.btn--gold:hover,
.wp-block-button.btn--gold > .wp-block-button__link:hover {
  background: #d8b85a !important;
  border-color: #d8b85a;
  transform: translateY(-1px);
}

/* DARK (navy) */
.btn--dark, a.btn--dark,
.wp-block-button.btn--dark > .wp-block-button__link {
  background: var(--wp--preset--color--secondary, #0A1F38) !important;
  color: #fff !important;
  border-color: var(--wp--preset--color--secondary, #0A1F38);
}
.btn--dark:hover, a.btn--dark:hover,
.wp-block-button.btn--dark > .wp-block-button__link:hover {
  background: #162d48 !important;
  border-color: #162d48;
}

/* WHITE (sobre fundos escuros) */
.btn--white, a.btn--white,
.wp-block-button.btn--white > .wp-block-button__link {
  background: #fff !important;
  color: var(--wp--preset--color--accent, #C8621A) !important;
  border-color: #fff;
  font-weight: 700;
}
.btn--white:hover, a.btn--white:hover,
.wp-block-button.btn--white > .wp-block-button__link:hover {
  background: var(--wp--preset--color--background, #F7F4F0) !important;
}

/* WHATSAPP (verde brand — usado em botões secundários quando relevante) */
.btn--whatsapp, a.btn--whatsapp,
.wp-block-button.btn--whatsapp > .wp-block-button__link {
  background: #25D366 !important;
  color: #fff !important;
  border-color: #25D366;
}
.btn--whatsapp:hover, a.btn--whatsapp:hover,
.wp-block-button.btn--whatsapp > .wp-block-button__link:hover {
  background: #1ebe5d !important;
  border-color: #1ebe5d;
}

/* TEXT (link sem botão visual) */
.btn--text, a.btn--text {
  background: transparent !important;
  color: var(--wp--preset--color--accent, #C8621A) !important;
  padding: 0 !important;
  min-height: 0;
  border: 0 !important;
  font-weight: 600;
  font-size: .9rem;
}
.btn--text:hover, a.btn--text:hover {
  text-decoration: underline !important;
  color: var(--wp--preset--color--laranja-claro, #e07530) !important;
}

/* ──── Ícone WhatsApp automático em links ──── */
.wp-block-button.btn--whatsapp > .wp-block-button__link::before,
.wp-block-button.btn--primary > .wp-block-button__link[href*="api.whatsapp"]::before,
.wp-block-button.btn--primary > .wp-block-button__link[href*="wa.me"]::before,
a.btn--whatsapp::before,
a.btn--primary[href*="api.whatsapp"]::before,
a.btn--primary[href*="wa.me"]::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff' width='16' height='16'%3E%3Cpath d='M17.6 6.32A8 8 0 0 0 4 12c0 1.4.36 2.78 1.05 4L4 20l4.1-1.04A8 8 0 0 0 20 12a7.94 7.94 0 0 0-2.4-5.68zM12 18.5a6.5 6.5 0 0 1-3.32-.92l-.24-.14-2.44.62.65-2.38-.16-.25A6.5 6.5 0 1 1 12 18.5zm3.6-4.86c-.2-.1-1.18-.58-1.36-.65-.18-.07-.32-.1-.45.1-.13.2-.52.65-.64.78-.12.13-.24.15-.44.05-.2-.1-.84-.31-1.6-.99-.6-.53-1-1.18-1.12-1.38-.12-.2-.01-.31.09-.4.09-.09.2-.24.3-.36.1-.12.13-.2.2-.34.06-.13.03-.25-.02-.35-.05-.1-.45-1.08-.62-1.48-.16-.39-.33-.34-.45-.34l-.38-.01a.74.74 0 0 0-.54.25c-.18.2-.7.69-.7 1.68 0 .99.72 1.95.82 2.08.1.13 1.42 2.17 3.45 3.04.48.2.86.33 1.16.43.49.16.93.13 1.28.08.39-.06 1.18-.48 1.34-.95.16-.46.16-.86.12-.95-.05-.08-.18-.13-.38-.23z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════
   FORM — CHECKBOX LGPD FIX v2.3.3
═══════════════════════════════════════════ */

/* Reset column-count em qualquer wrapper de form */
.form, .form__lgpd, .form__lgpd label, .form-lgpd, .form-lgpd label,
.contato-form .lgpd, .contato-form .lgpd label,
form .lgpd, form label.lgpd {
  column-count: initial !important;
  columns: initial !important;
  -webkit-columns: initial !important;
  -moz-columns: initial !important;
}

/* Layout correto do checkbox + texto */
.form__lgpd, .form-lgpd, form .lgpd-row, label.lgpd-checkbox {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  font-size: .82rem;
  line-height: 1.5;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}

.form__lgpd input[type="checkbox"],
.form-lgpd input[type="checkbox"],
form .lgpd-row input[type="checkbox"] {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  cursor: pointer;
}

.form__lgpd span,
.form__lgpd > label,
.form-lgpd span,
form .lgpd-row span,
label.lgpd-checkbox span {
  flex: 1 1 auto;
  display: inline; /* texto corre como inline, não como bloco/coluna */
  white-space: normal;
}

.form__lgpd a, .form-lgpd a, form .lgpd-row a {
  color: var(--wp--preset--color--accent, #C8621A);
  text-decoration: underline;
}

/* ═══════════════════════════════════════════
   v2.4.0 — BUG FIXES
═══════════════════════════════════════════ */

/* BUG 1 — LGPD checkbox: garantir que label tem 2 filhos (input + span)
   e o span contém a frase corrida com link inline. Override total para
   evitar que children virem flex items separados. */
.form__lgpd, label.form__lgpd, .lgpd-checkbox, label.lgpd-checkbox {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start;
  gap: 10px;
  font-size: .82rem;
  line-height: 1.55;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  column-count: initial !important;
  columns: initial !important;
  -webkit-columns: initial !important;
  -moz-columns: initial !important;
}
.form__lgpd > .form__lgpd-text,
.form__lgpd > span,
label.form__lgpd > span {
  flex: 1 1 auto !important;
  display: inline-block !important;
  font-size: .82rem;
  line-height: 1.55;
  white-space: normal !important;
  column-count: initial !important;
  columns: initial !important;
}
.form__lgpd > .form__lgpd-text a,
.form__lgpd > span a,
.form__lgpd a {
  color: var(--wp--preset--color--accent, #C8621A);
  text-decoration: underline;
  display: inline !important; /* não bloco, não flex item */
}
.form__lgpd input[type="checkbox"] {
  flex: 0 0 16px !important;
  width: 16px;
  height: 16px;
  margin-top: 4px;
}

/* BUG 2 — Hover dos botões: preservar border-radius, sem inset shadows
   ou outlines que aparentem segunda borda */
.btn:hover, .btn:focus, .btn:active,
a.btn:hover, a.btn:focus, a.btn:active,
.wp-block-button__link:hover, .wp-block-button__link:focus, .wp-block-button__link:active,
.wp-element-button:hover, .wp-element-button:focus,
.wp-block-button > .wp-block-button__link:hover,
.wp-block-button > .wp-block-button__link:focus,
.wp-block-button > .wp-block-button__link:active {
  border-radius: 8px !important;
  outline: none !important;
}

/* WCAG 2.4.7 — Foco visível com :focus-visible (v3.0.0)
   Remove outline default em :focus (mouse), mantém em teclado via :focus-visible */
.btn:focus-visible, a.btn:focus-visible,
.wp-block-button__link:focus-visible,
.wp-element-button:focus-visible,
.wp-block-button > .wp-block-button__link:focus-visible {
  outline: 2px solid var(--wp--preset--color--ouro, #BE9663) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(190,150,99,.25) !important;
}
a:focus-visible,
.nav-main__link:focus-visible,
.nav-main__drop-item:focus-visible,
.topbar__item:focus-visible {
  outline: 2px solid var(--wp--preset--color--accent, #C8621A);
  outline-offset: 2px;
  border-radius: 4px;
}
.faq-q:focus-visible {
  outline: 2px solid var(--wp--preset--color--accent, #C8621A);
  outline-offset: -2px;
}
.nav-main__toggle:focus-visible {
  outline: 2px solid var(--wp--preset--color--accent, #C8621A);
  outline-offset: 4px;
  border-radius: 4px;
}
input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--wp--preset--color--accent, #C8621A);
  outline-offset: 1px;
}
/* drop shadows OK; inset shadows não — limpa qualquer inset herdado */
.btn:hover, a.btn:hover,
.wp-block-button__link:hover,
.wp-block-button > .wp-block-button__link:hover {
  box-shadow: 0 4px 16px rgba(200,98,26,.18);
}
.btn--outline-white:hover, a.btn--outline-white:hover,
.wp-block-button.btn--outline-white > .wp-block-button__link:hover {
  box-shadow: none;
}
.btn--ghost:hover, a.btn--ghost:hover,
.wp-block-button.btn--ghost > .wp-block-button__link:hover {
  box-shadow: none;
}
.unidade-card .wp-block-button__link:hover,
.unidade-card a.btn:hover {
  border-radius: 8px !important;
  box-shadow: 0 4px 14px rgba(200,98,26,.15);
}

/* BUG 4 — Ícone WhatsApp 16 → 18px nos botões (e SVG geral em botão) */
.wp-block-button.btn--whatsapp > .wp-block-button__link::before,
.wp-block-button[class*="whatsapp"] > .wp-block-button__link::before,
a.btn--whatsapp::before,
a[href*="api.whatsapp"]:not(.wpp-float):not(.topbar__item):not(.nav-main__drop-item):not(.site-footer__social a):not([aria-label]):not(.unidade-card__phone)::before,
a[href*="wa.me"]:not(.wpp-float):not(.topbar__item):not(.nav-main__drop-item):not(.site-footer__social a):not([aria-label]):not(.unidade-card__phone)::before,
.btn.btn--primary[href*="api.whatsapp"]::before,
.btn.btn--primary[href*="wa.me"]::before,
.wp-block-button.btn--primary > .wp-block-button__link[href*="api.whatsapp"]::before,
.wp-block-button.btn--primary > .wp-block-button__link[href*="wa.me"]::before,
a.btn--primary[href*="api.whatsapp"]::before,
a.btn--primary[href*="wa.me"]::before {
  width: 18px !important;
  height: 18px !important;
}
.btn svg, .wp-block-button__link svg, .wp-element-button svg {
  width: 18px !important;
  height: 18px !important;
}

/* BUG 5 — Espaço entre "+10" e "anos" + cor da unidade */
.hero-home__trust-value .hero-home__trust-unit,
.hero-home__trust-value > span.hero-home__trust-unit {
  font-size: 1rem;
  color: var(--orange, #C8621A);
  margin-left: 4px;
}

/* v2.4.3 — Cards "Como Posso Ajudar Você" — ícones reconhecíveis + bg em 3 layers */
.area-card {
  position: relative;
  overflow: hidden;
}
/* Layer 1: pattern de fundo decorativo (radial highlight + diagonais finas) */
.area-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse 400px 300px at 90% 0%, rgba(190,150,99,.10) 0%, transparent 60%),
    repeating-linear-gradient(
      135deg,
      transparent 0,
      transparent 30px,
      rgba(190,150,99,.025) 30px,
      rgba(190,150,99,.025) 31px
    );
  pointer-events: none;
  z-index: 0;
}
/* Layer 2: borda decorativa interna sutil */
.area-card::after {
  content: '';
  position: absolute;
  inset: 16px;
  border: 1px solid rgba(190,150,99,.10);
  border-radius: calc(var(--r2, 16px) - 8px);
  pointer-events: none;
  z-index: 1;
}
/* Variante urologia (fundo navy) */
.area-card--uro::before {
  background-image:
    radial-gradient(ellipse 400px 300px at 90% 0%, rgba(255,255,255,.06) 0%, transparent 60%),
    repeating-linear-gradient(
      135deg,
      transparent 0,
      transparent 30px,
      rgba(255,255,255,.025) 30px,
      rgba(255,255,255,.025) 31px
    );
}
.area-card--uro::after {
  border-color: rgba(255,255,255,.08);
}
/* Variante estética (dark + ouro) */
.area-card--est::before {
  background-image:
    radial-gradient(ellipse 400px 300px at 90% 0%, rgba(190,150,99,.18) 0%, transparent 60%),
    repeating-linear-gradient(
      135deg,
      transparent 0,
      transparent 30px,
      rgba(190,150,99,.06) 30px,
      rgba(190,150,99,.06) 31px
    );
}
.area-card--est::after {
  border-color: rgba(190,150,99,.20);
}
/* Conteúdo + ícone bg ficam acima das layers */
.area-card > * {
  position: relative;
  z-index: 3;
}
.area-card__bg-icon {
  position: absolute !important;
  bottom: -32px;
  right: -32px;
  width: 280px;
  height: 280px;
  z-index: 2 !important;
  pointer-events: none;
  opacity: 0.10;
  margin: 0 !important;
  display: block;
}
.area-card--uro .area-card__bg-icon {
  color: #fff;
  opacity: 0.10;
}
.area-card--est .area-card__bg-icon {
  color: var(--wp--preset--color--ouro, #BE9663);
  opacity: 0.20;
}
@media (max-width: 600px) {
  .area-card__bg-icon { width: 200px; height: 200px; bottom: -24px; right: -24px; }
  .area-card::after { inset: 10px; }
}

/* v2.4.4 — Faixa intro-strip e #reembolso ambos 100% edge-to-edge full-bleed */
.intro-strip {
  background: var(--wp--preset--color--laranja-pale, #F3E8DF) !important;
  background-image: none !important;
  border-bottom: 1px solid #e8d5c5;
  position: relative;
  overflow: hidden;
  padding: 20px 0 !important;
  margin: 0 !important;
  /* full-bleed escape do constrained do <main> */
  width: 100vw !important;
  max-width: none !important;
  margin-inline: calc(50% - 50vw) !important;
  padding-inline: 0 !important;
}
.intro-strip::before,
.intro-strip::after { content: none !important; }
.intro-strip > * { position: relative; z-index: 1; }
/* Conteúdo interno respeita 1200px (mas o bg vai até a borda da viewport) */
.intro-strip__inner {
  max-width: 1200px !important;
  margin-inline: auto !important;
  padding-inline: 32px !important;
  flex-wrap: nowrap !important;
}
@media (max-width: 768px) {
  .intro-strip__inner { flex-wrap: wrap !important; padding-inline: 20px !important; }
}
/* Override de regra antiga conflitante (linha 276) */
.intro-strip { padding-block: 18px !important; }

/* BUG 9 — Horários no footer */
.site-footer__hours {
  display: block;
  margin-top: 12px;
  font-size: .8rem;
  line-height: 1.6;
  color: rgba(255,255,255,.7);
}
.site-footer__hours-title {
  display: block;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ouro, #BE9663);
  margin-bottom: 4px;
}
.site-footer__hours span { display: block; }

/* v2.4.3 — Seção #reembolso: mesma cor sólida da faixa + edge-to-edge full-bleed */
#reembolso,
.process-steps {
  background: var(--wp--preset--color--laranja-pale, #F3E8DF) !important;
  background-image: none !important;
  color: var(--wp--preset--color--texto, #2A2A2A);
  position: relative;
  overflow: hidden;
  width: 100vw !important;
  max-width: none !important;
  margin-inline: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  padding-top: clamp(48px, 6vw, 72px) !important;
  padding-left: max(24px, calc((100% - 1200px) / 2)) !important;
  padding-right: max(24px, calc((100% - 1200px) / 2)) !important;
}
#reembolso::before,
.process-steps::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 80% 20%, rgba(200,98,26,.08) 0%, transparent 50%),
    radial-gradient(circle at 20% 80%, rgba(190,150,99,.10) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}
#reembolso > *,
.process-steps > * { position: relative; z-index: 1; }

/* Texto escuro sobre fundo claro */
#reembolso .section-title,
#reembolso h2,
#reembolso .process__title { color: var(--wp--preset--color--secondary, #0A1F38) !important; }
#reembolso p,
#reembolso .process__desc,
#reembolso .process__text { color: var(--wp--preset--color--texto, #2A2A2A) !important; }
#reembolso .process__badge {
  color: var(--wp--preset--color--accent, #C8621A) !important;
  background: rgba(200,98,26,.08) !important;
  border: 1px solid rgba(200,98,26,.18) !important;
}
#reembolso .process__num {
  background: var(--wp--preset--color--secondary, #0A1F38) !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(15,35,57,.15);
}
#reembolso .process__step {
  border-bottom-color: rgba(15,35,57,.10) !important;
}
#reembolso .process__step-title { color: var(--wp--preset--color--secondary, #0A1F38) !important; }
#reembolso .process__step-desc { color: var(--wp--preset--color--texto-leve, #5A5550) !important; }
#reembolso strong,
#reembolso .process__text strong { color: var(--wp--preset--color--secondary, #0A1F38) !important; }

/* CTA dentro de #reembolso — laranja primary (não ouro) */
#reembolso .wp-block-button .wp-block-button__link,
#reembolso .wp-block-button.btn--primary > .wp-block-button__link,
#reembolso a.btn--primary {
  background: var(--wp--preset--color--accent, #C8621A) !important;
  color: #fff !important;
  border-color: var(--wp--preset--color--accent, #C8621A) !important;
}
#reembolso .wp-block-button .wp-block-button__link:hover,
#reembolso .wp-block-button.btn--primary > .wp-block-button__link:hover {
  background: var(--wp--preset--color--laranja-claro, #e07530) !important;
  color: #fff !important;
  border-color: var(--wp--preset--color--laranja-claro, #e07530) !important;
}

/* v2.4.2 — eliminar gap visual entre faixa e seção: continuidade vertical */
.intro-strip + #reembolso,
.intro-strip + .wp-block-group#reembolso,
.alignfull.intro-strip + .alignwide,
.intro-strip:has(+ #reembolso) { margin-top: 0 !important; }
#reembolso { margin-top: 0 !important; }

/* ═══════════════════════════════════════════
   v2.5.1 — RITMO VISUAL HOME (refino)
   (Depoimentos / Blog / FAQ)
   - Depoimentos: aspas gigantes removidas; bg cinza-bg; ornamento radial sutil
   - Blog: padding-block reduzido; bg navy + ornamentos mantidos
   - Gap blog→teleatendimento: zerado
   - FAQ: '?' gigante removido; section-divider posicionado corretamente
   ═══════════════════════════════════════════ */

/* ── Section divider reusável (ornamento art-deco) ── */
.section-divider {
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--wp--preset--color--ouro, #BE9663), transparent);
  margin: 0 auto 20px;
  position: relative;
}
.section-divider::before,
.section-divider::after {
  content: '◆';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 6px;
  line-height: 1;
  color: var(--wp--preset--color--ouro, #BE9663);
}
.section-divider::before { left: -16px; }
.section-divider::after  { right: -16px; }
.section-divider--on-dark {
  margin-left: 0;
  margin-right: auto;
  background: linear-gradient(90deg, var(--wp--preset--color--ouro, #BE9663), rgba(190,150,99,.15));
}
.section-divider--on-dark::before { left: auto; display: none; }
.section-divider--on-dark::after  { right: -16px; }

/* ─────────────────────────────────────────
   SEÇÃO 1 — DEPOIMENTOS (cinza-bg neutro)
   v2.5.1: aspas gigantes removidas. Identidade
   vem do bg cinza-bg + section-divider + radial sutil.
   ───────────────────────────────────────── */
.depoimentos-section {
  background: var(--wp--preset--color--cinza-bg, #F0EDE8) !important;
  position: relative;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 96px) !important;
  margin-top: 0 !important;
}
.depoimentos-section::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle at 70% 30%, rgba(190,150,99,.10) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.depoimentos-section::after { content: none !important; }
.depoimentos-section .depoimentos-section__inner,
.depoimentos-section > * { position: relative; z-index: 1; }
.depoimentos-section .section-title { color: var(--wp--preset--color--secondary, #0A1F38); }

/* ─────────────────────────────────────────
   SEÇÃO 2 — BLOG (navy escuro)
   Quebra dramática light → dark.
   Padrão geométrico discreto + radial ouro.
   Cards "saltam" do fundo navy.
   ───────────────────────────────────────── */
.blog-section {
  background: var(--wp--preset--color--secondary, #0A1F38) !important;
  color: #fff !important;
  position: relative;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 96px) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Issue 3: zerar gap entre blog e teleatendimento (qualquer pattern subsequente
   muted/cinza-claro). O respiro vem do padding interno da seção seguinte. */
.blog-section + *,
.alignfull.blog-section + .alignfull,
.teleatendimento-snippet,
.tele-snippet,
.telemedicina-2col,
[class*="teleatendimento"],
[class*="telemedicina"] {
  margin-top: 0 !important;
}
.blog-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse at 90% 0%, rgba(190,150,99,.18) 0%, transparent 55%),
    radial-gradient(ellipse at 0% 100%, rgba(200,98,26,.08) 0%, transparent 50%),
    repeating-linear-gradient(
      135deg,
      transparent 0,
      transparent 22px,
      rgba(190,150,99,.04) 22px,
      rgba(190,150,99,.04) 23px
    );
  pointer-events: none;
  z-index: 0;
}
.blog-section > *,
.blog-section .blog-section__inner { position: relative; z-index: 1; }

/* Tipografia clara sobre navy */
.blog-section .section-label,
.blog-section .section-label--on-dark {
  color: var(--wp--preset--color--ouro, #BE9663) !important;
}
.blog-section .blog-section__title,
.blog-section .section-title,
.blog-section h2 {
  color: #fff !important;
  font-family: var(--wp--preset--font-family--montserrat, 'Montserrat', system-ui, sans-serif);
}
.blog-section .blog-section__title em,
.blog-section .section-title em { color: var(--wp--preset--color--ouro, #BE9663); font-style: italic; }

/* Cards saltam do navy: bg off-white, sombra */
.blog-section .diferencial-card,
.blog-section a.diferencial-card {
  background: var(--wp--preset--color--background, #F7F4F0) !important;
  border: 1px solid rgba(190,150,99,.18) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.18) !important;
  color: var(--wp--preset--color--texto, #2A2A2A) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.blog-section .diferencial-card:hover,
.blog-section a.diferencial-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0,0,0,.28) !important;
  border-color: rgba(190,150,99,.45) !important;
}
.blog-section .diferencial-card .section-label {
  color: var(--wp--preset--color--accent, #C8621A) !important;
}
.blog-section .diferencial-card__title {
  color: var(--wp--preset--color--secondary, #0A1F38) !important;
}
.blog-section .diferencial-card__desc {
  color: var(--wp--preset--color--texto-leve, #5A5550) !important;
}

/* CTA "Ver todos os artigos" — ghost light em fundo dark */
.blog-section .blog-section__cta,
.blog-section a.btn--ghost {
  color: var(--wp--preset--color--ouro, #BE9663) !important;
  border-color: rgba(190,150,99,.5) !important;
}
.blog-section .blog-section__cta:hover,
.blog-section a.btn--ghost:hover {
  color: #fff !important;
  border-color: var(--wp--preset--color--ouro, #BE9663) !important;
  background: rgba(190,150,99,.12) !important;
}

/* ═══════════════════════════════════════════
   v2.5.2 — REFINOS Dr. Robson Laranja
   - Issue 1: section-divider removido do bloco depoimentos
   - Issue 2: animação fade-in nos cards de depoimentos
   - Issue 3: FAQ redesign — header centralizado +
              accordion clean full-width + CTA centralizado
   ═══════════════════════════════════════════ */

/* ── Issue 2: Fade-in dos cards de depoimento ── */
.depoimento-card,
.testimonial-card,
.depoimentos-section .diferencial-card {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .65s cubic-bezier(.4,0,.2,1),
              transform .65s cubic-bezier(.4,0,.2,1);
  will-change: opacity, transform;
}
.depoimento-card.is-visible,
.testimonial-card.is-visible,
.depoimentos-section .diferencial-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .depoimento-card,
  .testimonial-card,
  .depoimentos-section .diferencial-card {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ─────────────────────────────────────────
   SEÇÃO 3 — FAQ (v2.5.2 redesign)
   Header centralizado · accordion clean full-width
   · CTA centralizado abaixo. Bg cinza-bg + radial ouro.
   ───────────────────────────────────────── */
.faq-section {
  background: var(--wp--preset--color--cinza-bg, #F0EDE8) !important;
  position: relative;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 96px) !important;
  margin-top: 0 !important;
}
.faq-section::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(190,150,99,.12) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}
.faq-section::after { content: none !important; }
.faq-section > *,
.faq-section .faq-section__inner { position: relative; z-index: 1; }

/* Header centralizado */
.faq-section .faq-section__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}
.faq-section .faq-section__head .section-label {
  display: inline-flex;
  justify-content: center;
}
.faq-section .faq-section__head h2 {
  font-family: var(--wp--preset--font-family--montserrat, 'Montserrat', system-ui, sans-serif);
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 300;
  line-height: 1.15;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 12px 0 16px;
}
.faq-section .faq-section__head h2 em {
  font-style: italic;
  color: var(--wp--preset--color--accent, #C8621A);
}
.faq-section .faq-section__head p {
  color: var(--wp--preset--color--texto-leve, #5A5550);
  font-size: 1rem;
  line-height: 1.7;
  margin: 0 auto;
  max-width: 580px;
}

/* Accordion list — full-width clean */
.faq-section .faq-list {
  max-width: 820px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.faq-section .faq-item {
  background: #fff;
  border: 1px solid var(--wp--preset--color--cinza-linha, #DDD8D0);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(15,35,57,.04);
  transition: box-shadow .25s ease, border-color .25s ease;
}
.faq-section .faq-item:hover {
  box-shadow: 0 6px 18px rgba(15,35,57,.08);
}
.faq-section .faq-item.open {
  box-shadow: 0 8px 24px rgba(15,35,57,.08);
  border-color: rgba(190,150,99,.4);
}
.faq-section .faq-q {
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  padding: 20px 24px;
  font-family: var(--wp--preset--font-family--roboto, 'Roboto', sans-serif);
  font-size: 1rem;
  font-weight: 600;
  color: var(--wp--preset--color--secondary, #0A1F38);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 56px;
}
.faq-section .faq-q .faq-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--wp--preset--color--accent, #C8621A);
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}
.faq-section .faq-q .faq-icon svg {
  display: block;
  width: 14px;
  height: 14px;
  overflow: visible;
}
.faq-section .faq-q .faq-icon::before,
.faq-section .faq-q .faq-icon::after { content: none !important; }
/* Chevron pra cima (aberto) */
.faq-section .faq-item.open .faq-q .faq-icon {
  transform: rotate(180deg);
}
/* FIX bug largura: scrollbar sempre visível para evitar reflow ao abrir accordion */
html { scrollbar-gutter: stable; }
.faq-section .faq-list { box-sizing: border-box; width: 100%; }
.faq-section .faq-item { box-sizing: border-box; width: 100%; max-width: 100%; }
.faq-section .faq-a {
  padding: 0 24px;
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, padding .35s ease;
}
.faq-section .faq-item.open .faq-a {
  padding: 0 24px 20px;
  max-height: 600px;
}
.faq-section .faq-a p {
  color: var(--wp--preset--color--texto-leve, #5A5550);
  line-height: 1.7;
  margin: 0;
}

/* CTA centralizado abaixo do accordion */
.faq-section .faq-section__cta {
  text-align: center;
  margin-top: 48px;
}

/* Continuidade: anular margin-top entre as seções para que a transição
   de cor seja a única "barreira" visual. */
.depoimentos-section + .blog-section,
.blog-section + .faq-section,
.depoimentos-section + .faq-section { margin-top: 0 !important; }

/* Mobile — reduzir ornamentos (radials) para não pesar */
@media (max-width: 720px) {
  .depoimentos-section::before { width: 200px; height: 200px; }
  .faq-section::before { width: 240px; height: 240px; top: -60px; right: -60px; }
  .blog-section .blog-section__head { flex-direction: column; align-items: flex-start; }
  .faq-section .faq-section__head { margin-bottom: 40px; }
  .faq-section .faq-q { padding: 16px 18px; min-height: 52px; }
  .faq-section .faq-item.open .faq-a { padding: 0 18px 18px; }
}

/* ═══════════════════════════════════════════
   v2.6.0 — TELEATENDIMENTO CARD (refinado)
   Card direita: badge LIVE topo · ícone gold · steps numerados
   ═══════════════════════════════════════════ */
.tele-snippet {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: center;
}
@media (max-width: 860px) {
  .tele-snippet { grid-template-columns: 1fr; gap: 32px; }
}
.tele-snippet__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #43a047;
  display: inline-block;
  animation: tele-pulse 2s infinite;
}
@keyframes tele-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(67,160,71,.55); opacity: 1; }
  70%  { box-shadow: 0 0 0 10px rgba(67,160,71,0); opacity: .55; }
  100% { box-shadow: 0 0 0 0 rgba(67,160,71,0); opacity: 1; }
}

.tele-card {
  background: linear-gradient(180deg, #fff 0%, #faf9f7 100%);
  border: 1px solid rgba(190,150,99,.20);
  border-radius: 20px;
  padding: 40px 32px;
  text-align: center;
  position: relative;
  box-shadow: 0 12px 40px rgba(15,35,57,.08), inset 0 0 0 1px rgba(255,255,255,.5);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.tele-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(67,160,71,.12);
  color: #1f6f24;
  border: 1px solid rgba(67,160,71,.35);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.tele-card__icon-wrap {
  width: 88px; height: 88px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(190,150,99,.20) 0%, transparent 70%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  position: relative;
}
.tele-card__icon-wrap::after {
  content: '';
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(190,150,99,.30);
  border-radius: 50%;
}
.tele-card__icon {
  width: 36px; height: 36px;
  stroke: var(--wp--preset--color--ouro, #BE9663);
}
.tele-card__title {
  font-family: var(--wp--preset--font-family--montserrat, 'Montserrat', system-ui, sans-serif);
  font-size: clamp(1.5rem, 3vw, 1.85rem);
  font-weight: 300;
  line-height: 1.15;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 0 0 12px;
  letter-spacing: -.01em;
}
.tele-card__title em {
  font-style: italic;
  color: var(--wp--preset--color--accent, #C8621A);
}
.tele-card__desc {
  font-size: .92rem;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  line-height: 1.7;
  max-width: 300px;
  margin: 0 auto 24px;
}
.tele-card__divider {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ouro, #BE9663);
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 8px 0 18px;
  width: 100%;
}
.tele-card__divider::before,
.tele-card__divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(190,150,99,.25);
}
.tele-card__divider span { white-space: nowrap; }
.tele-card__steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  text-align: left;
}
.tele-card__step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: .92rem;
  color: var(--wp--preset--color--texto, #2A2723);
  line-height: 1.55;
}
.tele-card__step-num {
  flex-shrink: 0;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: rgba(190,150,99,.15);
  color: var(--wp--preset--color--ouro, #BE9663);
  font-family: var(--wp--preset--font-family--montserrat, 'Montserrat', system-ui, sans-serif);
  font-size: .95rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.tele-card__step-text {
  flex: 1;
  padding-top: 2px;
}
@media (max-width: 720px) {
  .tele-card { padding: 32px 24px; }
}

/* ═══════════════════════════════════════════
   v2.6.0 — FAQ SECTION (2-col layout restaurado + bg areia tostada)
   Sticky-side esquerda · accordion direita · #EAE4D8 com pattern losangos art-deco
   ═══════════════════════════════════════════ */
.faq-section {
  background-color: #EAE4D8 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M20 0 L40 20 L20 40 L0 20 Z' stroke='rgba(190,150,99,.06)' stroke-width='1' fill='none'/%3E%3C/svg%3E") !important;
  background-size: 40px 40px !important;
  position: relative;
  overflow: hidden;
  padding-block: clamp(80px, 9vw, 112px) !important;
  margin-top: 0 !important;
}
.faq-section::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, rgba(190,150,99,.18) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}
.faq-section::after {
  content: '' !important;
  position: absolute;
  bottom: -80px;
  left: -80px;
  width: 280px;
  height: 280px;
  background: radial-gradient(circle, rgba(200,98,26,.08) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.faq-section > *,
.faq-section .faq-section__inner { position: relative; z-index: 1; }

/* Layout 2-col: sticky-side + accordion */
.faq-section .faq-section__inner {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 64px;
  align-items: start;
}
.faq-section .faq-section__sticky {
  position: sticky;
  top: 100px;
  align-self: start;
}
.faq-section .faq-section__sticky .section-label {
  display: inline-flex;
  margin-bottom: 16px;
}
.faq-section .faq-section__sticky h2 {
  font-family: var(--wp--preset--font-family--montserrat, 'Montserrat', system-ui, sans-serif);
  font-size: clamp(2rem, 4vw, 2.6rem);
  font-weight: 300;
  line-height: 1.15;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 0 0 16px;
  letter-spacing: -.01em;
}
.faq-section .faq-section__sticky h2 em {
  font-style: italic;
  color: var(--wp--preset--color--accent, #C8621A);
}
.faq-section .faq-section__sticky p {
  color: var(--wp--preset--color--texto-leve, #5A5550);
  font-size: .95rem;
  line-height: 1.7;
  margin: 0 0 28px;
  max-width: 360px;
}

/* Override do v2.5.2: header centralizado vira 2-col */
.faq-section .faq-section__head {
  text-align: left;
  max-width: none;
  margin: 0;
}
.faq-section .faq-section__head .section-label { justify-content: flex-start; }

/* Accordion list — full-width na coluna direita (mantém estilo v2.5.2 cards brancos +/-) */
.faq-section .faq-list {
  max-width: none;
  margin: 0;
}

/* Mobile: colapsa para 1-col */
@media (max-width: 900px) {
  .faq-section .faq-section__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .faq-section .faq-section__sticky { position: static; }
}
@media (max-width: 720px) {
  .faq-section { background-attachment: scroll !important; }
  .faq-section::before { width: 240px; height: 240px; top: -60px; right: -60px; }
  .faq-section::after { width: 180px; height: 180px; bottom: -50px; left: -50px; }
}

/* ═══════════════════════════════════════════
   v2.6.9 — MOBILE OVERFLOW SAFETY NET — SCOPED (NÃO QUEBRA STICKY)
   ─────────────────────────────────────────
   DEBUG REAL (v2.6.8 quebrava sticky em Firefox):
     - Tinhamos `overflow-x: clip` em html, body E .wp-site-blocks.
     - Firefox tratou `clip` como contexto de containment (igual hidden)
       e o `position: sticky` no .nav-main escapou: top vai 118 → -482
       ao scrollar 600px (NÃO fica fixo).
     - Documentação MDN diz que `clip` NÃO cria scroll context, mas a
       implementação real do Firefox respeita `overflow != visible` no
       ancestor chain como sticky-blocker.
   FIX: Remover clip dos ANCESTRAIS do header (html, body, .wp-site-blocks)
        e aplicar APENAS em main e footer — que NÃO contêm o nav sticky.
        Mantém safety-net de overflow horizontal sem matar sticky.
   ═══════════════════════════════════════════ */
html, body {
  max-width: 100vw;
}
.wp-site-blocks > main,
main.wp-block-group,
main#wp--skip-link--target,
.wp-site-blocks > footer.wp-block-template-part {
  overflow-x: clip;
  max-width: 100vw;
}

/* Garante que o nav mobile (quando aberto via .open) não estoura horizontalmente */
@media (max-width: 900px) {
  .nav-main__links.open {
    max-width: 100vw;
    box-sizing: border-box;
  }
  /* hero-home grid 1fr 440px → 1fr quando ainda não houver media (segurança) */
  .hero-home,
  .hero-home__columns,
  .wp-block-columns.hero-home__columns {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  /* CTA do header — esconder em mobile.
     Source-order-late: vence `.btn { display: inline-flex !important }` (linha ~1624).
     Especificidade extra `nav.nav-main a.nav-main__cta` (0,3,1) também ajuda. */
  nav.nav-main a.nav-main__cta,
  .nav-main a.nav-main__cta,
  a.nav-main__cta,
  .nav-main__cta {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════
   v2.6.5 — MOBILE FULL-BLEED FIX (hero + contato)
   ─────────────────────────────────────────
   Diagnose (firefox 375x667 em /):
     .hero-home { width: 327, left: 0, marL: -24px, maxW: 100% }
     → max-width: 100% mata a tentativa de full-bleed via negative margin.
   Diagnose (/contato/):
     alignwide groups with width 327 (24px gutters) — visualmente ok mas
     o usuário pediu full-bleed. Forçamos width: 100% e padding-inline interno.
   ═══════════════════════════════════════════ */
@media (max-width: 900px) {
  /* HERO HOME — bg full-bleed, padding-inline zero (conteúdo respira no __inner) */
  .hero-home,
  section.hero-home,
  .wp-block-group.hero-home,
  .wp-block-group.alignfull.hero-home {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-inline: calc(50% - 50vw) !important;
    padding-inline: 0 !important;
  }
  .hero-home__inner {
    padding-inline: 24px !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* CONTATO — sections full-bleed, conteúdo com 24px de respiro */
  .contato-section,
  .contato-channels,
  .contato-main,
  .contato-channels-unidades-form,
  .telemed-section,
  .telemedicina-2col,
  .lgpd-section,
  [class*="contato"][class*="section"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 24px !important;
    box-sizing: border-box !important;
  }
  /* Os wrappers .contato-grid-2col e .telemed-grid-2col já viram 1fr (linhas 1152-1153);
     garantimos que ocupam toda a largura disponível */
  .contato-grid-2col,
  .telemed-grid-2col {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
  }

  /* ─────────────────────────────────────────
     v2.6.6 — Agende agora (CTA final form home) full-bleed
     Pattern .cta-final-split-form / .cta-fin / agende-section
     v2.6.7 — REVISADO: section bg full-bleed, conteúdo (__inner) respeita 1200px
              com padding lateral. Padding lateral movido de `> *` para `__inner`
              para evitar herdar em níveis indesejados.
     ───────────────────────────────────────── */
  /* v2.6.9: REMOVIDOS wildcards [class*="cta-final"] e [class*="agende"] —
     estavam matchando .cta-final__title, .cta-final__desc, .cta-final__inner
     e empurrando h2/p para 100vw com margin negativa (texto colado nas bordas).
     Agora APENAS o wrapper externo recebe full-bleed. */
  .cta-fin,
  .cta-final,
  .cta-final-split-form,
  section.cta-fin,
  section.cta-final,
  .wp-block-group.cta-fin,
  .wp-block-group.cta-final,
  .alignfull.cta-fin,
  .alignfull.cta-final {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-inline: calc(50% - 50vw) !important;
    padding-inline: 0 !important;
    box-sizing: border-box !important;
  }
  /* Conteúdo respeita 1200px com padding lateral 24px (v2.6.7) */
  .cta-final__inner,
  .cta-fin__inner,
  .cta-final-split-form > * {
    max-width: 1200px !important;
    width: 100% !important;
    margin-inline: auto !important;
    padding-inline: 24px !important;
    box-sizing: border-box !important;
  }

  /* ─────────────────────────────────────────
     v2.6.8 — CTA Agende agora: bg full-bleed + padding interno garantido
     (override final, fica no fim para vencer regras anteriores)
     ───────────────────────────────────────── */
  .cta-final,
  .cta-fin,
  section.cta-final,
  .wp-block-group.cta-final {
    padding: 64px 24px !important;
  }
  .cta-final__inner {
    padding-inline: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* ─────────────────────────────────────────
     v2.6.9 — Sticky CORRETO em mobile (topbar scrolla, nav fica fixo)
     DEBUG REAL (Firefox 375x667 em /):
       v2.6.8: .nav-main sticky DENTRO de .site-header (h=182) →
               quando scroll > 118 (182-64), nav escapa do parent.
               Resultado: nav.top vai 118 → -482 ao scrollar 600px (FAIL).
       Tentativa 1: sticky em .site-header → falhou IDÊNTICO porque
                    o pai dela (header.wp-block-template-part) tem h=183.
       FIX FINAL: position:sticky vai no PRÓPRIO header.wp-block-template-part,
                  cujo pai é .wp-site-blocks (h=15950px — altura toda da
                  página). Top negativo = altura da topbar (≈118px no
                  mobile com 2 grupos empilhados em flex-wrap). Topbar
                  scrolla pra cima, nav trava em top:0.
                  v2.6.5 já dizia: usar `clip` em vez de `hidden` em
                  ancestores — agora removemos AMBOS dos ancestores
                  diretos do header sticky, apenas main/footer recebem clip.
     ───────────────────────────────────────── */
  header.wp-block-template-part {
    position: sticky !important;
    top: -118px !important;
    z-index: 100 !important;
    background: rgba(247,244,240,.97) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    overflow: visible !important;
    width: 100%;
  }
  .site-header {
    position: static !important;
    background: transparent !important;
  }
  .topbar {
    position: static !important;
  }
  .nav-main {
    position: static !important;
    z-index: 100 !important;
    background: rgba(247,244,240,.97) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid var(--line, #DDD8D0) !important;
    justify-content: center !important;
    padding: 14px 24px !important;
    height: 64px !important;
  }
  .nav-main__logo {
    margin: 0 auto !important;
  }
  .nav-main__toggle {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
  .nav-main__toggle.is-active {
    transform: translateY(-50%) !important;
  }

  /* ─────────────────────────────────────────
     v2.6.8 — Menu mobile drawer ABAIXO do nav (não cobre)
     ───────────────────────────────────────── */
  .nav-main__links.open {
    top: 64px !important;
    height: calc(100vh - 64px) !important;
    inset: auto !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    padding: 16px 24px 32px !important;
  }

  /* ─────────────────────────────────────────
     v2.7.2 — Hero badge mobile: empilhar info + status (column)
     Em row, status ficava vert-centered ao info (2 linhas), parecendo
     "alguma coisa em cima dele". Column resolve.
     ───────────────────────────────────────── */
  .hero-home__badge,
  .hero-home__badge.wp-block-group {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 12px 14px !important;
  }
  .hero-home__badge-status {
    margin-left: 0 !important;
    align-self: flex-start !important;
  }

  /* ─────────────────────────────────────────
     v2.6.6 — Hero mobile: botões full-width
     ───────────────────────────────────────── */
  .hero-home__actions {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 10px !important;
  }
  .hero-home__actions .wp-block-button,
  .hero-home__actions .btn,
  .hero-home__actions a.btn,
  .hero-home__actions .wp-block-button__link {
    width: 100% !important;
    justify-content: center !important;
  }

  /* ─────────────────────────────────────────
     v2.6.6 — Menu mobile abre quando .open (era bloqueado por display:none !important)
     v2.6.7 — REESCRITO: full-screen overlay (fixed inset 0) substitui drawer.
              Regras movidas para o bloco v2.6.7 abaixo (final do arquivo).
     ───────────────────────────────────────── */
}

/* ═══════════════════════════════════════════
   v2.6.7 — UX MENU MOBILE FULL-SCREEN + SUBMENU CLICK-TOGGLE
   ─────────────────────────────────────────
   T1: Menu mobile vira overlay fixed inset 0 (toma tela toda)
       + body scroll lock + toggle vira X animado.
   T2: Submenu mobile abre por click (.is-open) — não hover.
       Caret rotaciona para indicar estado. Hover desabilitado em mobile.
   ═══════════════════════════════════════════ */
@media (max-width: 900px) {
  /* Lock body scroll quando menu aberto */
  body.menu-mobile-open {
    overflow: hidden;
    height: 100vh;
  }

  /* v2.7.1: Drawer cobre tela inteira (top:0), padding-top reserva espaço pro header sticky */
  .nav-main__links.open {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    max-width: 100vw !important;
    background: var(--wp--preset--color--background, #F7F4F0) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 200px 24px 32px !important;  /* topbar(~118) + nav(64) + folga(18) */
    margin: 0 !important;
    z-index: 90 !important;  /* abaixo do header (100) e do toggle (101) */
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    box-shadow: none !important;
    border: 0 !important;
    box-sizing: border-box !important;
  }
  /* Quando topbar scrolla pra fora, header tem só 64px — encolhe padding-top do drawer */
  body.has-scrolled .nav-main__links.open {
    padding-top: 80px !important;
  }

  /* Toggle vira X quando menu aberto */
  .nav-main__toggle span {
    transition: transform .3s ease, opacity .3s ease;
  }
  .nav-main__toggle.is-active span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  .nav-main__toggle.is-active span:nth-child(2) {
    opacity: 0;
  }
  .nav-main__toggle.is-active span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  /* v2.7.1: Toggle (X) sempre por cima de tudo (z:101) */
  .nav-main__toggle {
    z-index: 101 !important;
  }
  /* Header sticky por cima do drawer mas abaixo do toggle */
  header.wp-block-template-part {
    z-index: 100 !important;
  }

  /* Items do menu cheios e tocáveis */
  .nav-main__links.open .nav-main__link,
  .nav-main__links.open > a,
  .nav-main__links.open .nav-main__drop > .nav-main__link {
    width: 100% !important;
    padding: 14px 8px !important;
    min-height: 56px !important;
    font-size: 1.1rem !important;
    color: var(--wp--preset--color--secondary, #0A1F38) !important;
    border-bottom: 1px solid rgba(190,150,99,.15) !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: transparent !important;
  }
  /* .nav-main__drop wrapper deixa o link interno controlar padding */
  .nav-main__links.open .nav-main__drop {
    width: 100% !important;
    padding: 0 !important;
    display: block !important;
    min-height: auto !important;
  }

  /* T2: Submenu fechado por padrão em mobile */
  .nav-main__links.open .nav-main__drop-menu {
    display: none !important;
    position: static !important;
    transform: none !important;
    box-shadow: none !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 4px 0 8px 16px !important;
    background: transparent !important;
    width: 100% !important;
    min-width: 0 !important;
    inset: auto !important;
  }
  /* Submenu aberto via .is-open (toggle por click no JS) */
  .nav-main__links.open .nav-main__drop.is-open .nav-main__drop-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
  }
  /* Override: hover NÃO abre submenu em mobile (impede acidente touch-hover) */
  .nav-main__links.open .nav-main__drop:hover .nav-main__drop-menu,
  .nav-main__links.open .nav-main__drop:focus-within .nav-main__drop-menu,
  .nav-main__links.open .nav-main__drop > .nav-main__link:hover ~ .nav-main__drop-menu {
    display: none !important;
  }
  .nav-main__links.open .nav-main__drop.is-open:hover .nav-main__drop-menu,
  .nav-main__links.open .nav-main__drop.is-open .nav-main__drop-menu {
    display: flex !important;
  }

  /* Items do submenu */
  .nav-main__links.open .nav-main__drop-menu a,
  .nav-main__links.open .nav-main__drop-menu .nav-main__drop-item {
    width: 100% !important;
    padding: 10px 8px !important;
    min-height: 44px !important;
    font-size: .95rem !important;
    color: var(--wp--preset--color--texto-leve, #5A5550) !important;
    border-bottom: 1px solid rgba(190,150,99,.10) !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
  }

  /* Indicador (caret) no parent do dropdown — rotaciona quando aberto.
     IMPORTANT: reset position/inset que vêm do desktop (linha ~1330: hover-bridge). */
  .nav-main__links.open .nav-main__drop > .nav-main__link::after {
    content: '';
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 8px !important;
    height: 8px !important;
    border: solid var(--wp--preset--color--accent, #C8621A) !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg);
    transition: transform .3s ease;
    margin-left: auto;
    flex-shrink: 0;
    background: transparent !important;
    z-index: auto !important;
  }
  .nav-main__links.open .nav-main__drop.is-open > .nav-main__link::after {
    transform: rotate(-135deg);
  }
}

/* ═══════════════════════════════════════════
   v2.7.3 — HERO SOBRE (página Sobre Dr. Robson)
   E-E-A-T premium: navy + ouro + foto + chips + logos
═══════════════════════════════════════════ */
.hero-sobre {
  background: var(--wp--preset--color--secondary, #0A1F38);
  color: #fff;
  position: relative;
  overflow: hidden;
  padding: 0;
}
.hero-sobre::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 70% at 85% 50%, rgba(190,150,99,.15) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 10% 90%, rgba(200,98,26,.10) 0%, transparent 60%);
}
.hero-sobre__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 96px 32px 88px;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 64px;
  align-items: center;
}
.hero-sobre__copy { max-width: 600px; }
.hero-sobre__eyebrow {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(190,150,99,.95);
  margin-bottom: 20px;
}
.hero-sobre__title {
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  font-weight: 300;
  line-height: 1.08;
  color: #fff;
  margin: 0 0 20px;
  letter-spacing: -.02em;
}
.hero-sobre__title em {
  font-style: italic;
  color: var(--wp--preset--color--ouro, #BE9663);
}
.hero-sobre__sub {
  font-size: 1.05rem;
  color: rgba(255,255,255,.78);
  line-height: 1.72;
  margin: 0 0 24px;
  max-width: 520px;
}

/* Chips de credenciais */
.hero-sobre__creds {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
}
.hero-sobre__cred {
  display: inline-flex;
  align-items: center;
  font-size: .78rem;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.15);
}
.hero-sobre__cred--gold {
  background: rgba(190,150,99,.15);
  color: var(--wp--preset--color--ouro, #BE9663);
  border-color: rgba(190,150,99,.35);
}

/* Logos institucionais */
.hero-sobre__institutions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.hero-sobre__inst-label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}
.hero-sobre__inst-logos {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
/* Logo institucional como <img> em chip branco translúcido (fica legível
   independente da cor da logo, sobre fundo navy do hero). */
.hero-sobre__inst-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  /* img dentro respeita altura disponível com aspect mantido */
  object-fit: contain;
  max-width: 140px;
  width: auto;
}
.hero-sobre__inst-logo:hover {
  transform: translateY(-2px);
  background: #fff;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.20);
}
.hero-sobre__inst-logo--gold {
  background: rgba(255, 248, 235, 0.96);
  border-color: rgba(190, 150, 99, 0.45);
  box-shadow: 0 2px 12px rgba(190, 150, 99, 0.16);
}
.hero-sobre__inst-logo--gold:hover {
  background: #fff8eb;
  box-shadow: 0 6px 22px rgba(190, 150, 99, 0.28);
}
@media (max-width: 600px) {
  .hero-sobre__inst-logo { height: 40px; padding: 6px 10px; max-width: 110px; }
}

/* CTAs */
.hero-sobre__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* Foto placeholder (coluna direita) */
.hero-sobre__photo {
  position: relative;
}
.hero-sobre__photo-placeholder {
  position: relative;
  height: 540px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(190,150,99,.08) 100%);
  border: 1px solid rgba(190,150,99,.25);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: rgba(190,150,99,.6);
  overflow: hidden;
}
.hero-sobre__photo-placeholder svg {
  width: 200px;
  height: 240px;
  opacity: 0.45;
}
.hero-sobre__photo-label {
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  text-align: center;
}

/* Mobile */
@media (max-width: 900px) {
  .hero-sobre__inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 64px 24px;
  }
  .hero-sobre__photo-placeholder { height: 320px; }
  .hero-sobre__title { font-size: clamp(1.8rem, 8vw, 2.6rem); }
  .hero-sobre__institutions { flex-direction: column; align-items: flex-start; }
}

/* ═══════════════════════════════════════════════════════════════════
   v3.1.0 — SOBRE refinements (Bio gallery + Filosofia dark + CTA bifurcação)
   Escopo BEM estrito — sem regressão em outras páginas.
   Cores via tokens: --navy (--bg-dark), --gold, --orange, --ink-*.
═══════════════════════════════════════════════════════════════════ */

/* ─── BIO GALLERY (3 placeholders horizontais com captions ouro) ─── */
.bio-gallery {
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 32px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.bio-gallery__item {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 12px;
  overflow: hidden;
  background: var(--bg-dark, #0A1F38);
  border: 1px solid color-mix(in oklch, var(--gold) 28%, transparent);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
}
@supports not (background: color-mix(in oklch, red, blue)) {
  .bio-gallery__item { border-color: rgba(190, 150, 99, 0.28); }
}
.bio-gallery__item::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(60% 50% at 50% 35%, rgba(190,150,99,.12) 0%, rgba(190,150,99,0) 70%),
    linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(0,0,0,.20) 100%);
  pointer-events: none;
}
.bio-gallery__item:hover,
.bio-gallery__item:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(10, 31, 56, 0.22);
  border-color: var(--gold);
}
.bio-gallery__icon {
  position: relative;
  width: 88px;
  height: 88px;
  color: var(--gold);
  opacity: 0.85;
}
.bio-gallery__icon svg { width: 100%; height: 100%; }
.bio-gallery__caption {
  position: relative;
  margin-top: 18px;
  padding: 0 16px;
  color: var(--gold);
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
  text-wrap: balance;
}
.bio-gallery__hint {
  position: relative;
  margin-top: 6px;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
}

/* ─── FILOSOFIA --dark (refinamento editorial v3.1.0) ─── */
.filosofia--dark {
  position: relative;
  background:
    radial-gradient(60% 70% at 12% 10%, rgba(190,150,99,.10) 0%, rgba(190,150,99,0) 60%),
    radial-gradient(50% 60% at 88% 92%, rgba(200,98,26,.08) 0%, rgba(200,98,26,0) 60%),
    var(--bg-dark, #0A1F38);
  color: var(--white, #fff);
  overflow: hidden;
}
.filosofia--dark::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,.18) 100%);
  pointer-events: none;
}
.filosofia--dark .filosofia { position: relative; z-index: 1; }
.filosofia--dark .section-label,
.filosofia--dark .filosofia__eyebrow {
  color: var(--gold);
}
.filosofia__figure {
  position: relative;
  margin: 36px auto 28px;
  max-width: 920px;
  padding: 0 56px;
  text-align: center;
}
.filosofia__quote-mark {
  position: absolute;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 400;
  font-size: clamp(4rem, 9vw, 7.5rem);
  line-height: 1;
  color: var(--gold);
  opacity: 0.6;
  user-select: none;
  pointer-events: none;
}
.filosofia__quote-mark--left { top: -18px; left: 0; }
.filosofia__quote-mark--right { bottom: -42px; right: 0; }
.filosofia--dark .filosofia__quote-block {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.filosofia--dark .filosofia__quote {
  font-family: "Montserrat", system-ui, sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  line-height: 1.18;
  color: var(--white, #fff);
  text-wrap: balance;
  margin: 0;
}
.filosofia__divider {
  display: block;
  width: 56px;
  height: 1px;
  margin: 28px auto 14px;
  background: linear-gradient(90deg, transparent 0%, var(--gold) 50%, transparent 100%);
  opacity: 0.7;
}
.filosofia__cite {
  display: block;
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}
.filosofia--dark .filosofia__intro {
  max-width: 760px;
  margin: 8px auto 56px;
  color: rgba(255, 255, 255, 0.85);
  font-size: clamp(1rem, 1.6vw, 1.1rem);
  line-height: 1.7;
  text-wrap: pretty;
}
.filosofia__cards { margin-top: 24px; }
.filosofia--dark .filosofia__card,
.filosofia--dark .filosofia__card.diferencial-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid color-mix(in oklch, var(--gold) 26%, transparent);
  border-radius: 14px;
  padding: 32px 24px;
  color: var(--white, #fff);
  transition: transform var(--ease), border-color var(--ease), background var(--ease), box-shadow var(--ease);
}
@supports not (background: color-mix(in oklch, red, blue)) {
  .filosofia--dark .filosofia__card,
  .filosofia--dark .filosofia__card.diferencial-card { border-color: rgba(190,150,99,.26); }
}
.filosofia--dark .filosofia__card:hover,
.filosofia--dark .filosofia__card:focus-within {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.07);
  border-color: var(--gold);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32);
}
.filosofia--dark .filosofia__card .diferencial-card__icon {
  color: var(--gold);
}
.filosofia--dark .filosofia__card .diferencial-card__icon svg {
  width: 44px;
  height: 44px;
  stroke: currentColor;
}
.filosofia--dark .filosofia__card .diferencial-card__title {
  color: var(--white, #fff);
  text-wrap: balance;
  margin-top: 14px;
}
.filosofia--dark .filosofia__card .diferencial-card__desc {
  color: rgba(255, 255, 255, 0.78);
  text-wrap: pretty;
}

/* ─── CTA SOBRE BIFURCAÇÃO v3.1.2 — area-card uro + tele-card whatsapp + area-card est ─── */
/* Uro/Estética usam o mesmo padrão da home (areas-2col-bicolor).               */
/* WhatsApp central destacado: translateY + scale + halo verde + pulse.        */
.cta-sobre-bifurcacao {
  position: relative;
  background:
    radial-gradient(45% 60% at 15% 10%, rgba(190,150,99,.12) 0%, rgba(190,150,99,0) 60%),
    radial-gradient(55% 65% at 90% 95%, rgba(200,98,26,.10) 0%, rgba(200,98,26,0) 60%),
    linear-gradient(160deg, var(--bg-dark, #0A1F38) 0%, #061429 100%);
  color: var(--white, #fff);
  overflow: hidden;
}
.cta-sobre-bifurcacao__inner { position: relative; z-index: 1; }
.cta-sobre-bifurcacao__header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}
.cta-sobre-bifurcacao__eyebrow {
  color: var(--gold);
  display: inline-block;
  margin-bottom: 14px;
}
.cta-sobre-bifurcacao__title {
  color: var(--white, #fff);
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.12;
  text-wrap: balance;
  margin: 0 0 14px;
}
.cta-sobre-bifurcacao__sub {
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  line-height: 1.6;
  text-wrap: pretty;
  margin: 0;
}

/* ── Grid 3 colunas ── */
.cta-sobre-bifurcacao__grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr 1fr;
  gap: 24px;
  max-width: 1200px;
  margin-inline: auto;
  align-items: stretch;
}
.cta-sobre-bifurcacao__grid > .area-card,
.cta-sobre-bifurcacao__grid > .tele-card {
  margin: 0 !important;
}

/* ── area-card dentro do CTA: arredondar + sombra + hover ── */
.cta-sobre-bifurcacao__area {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 50px rgba(15,35,57,.28);
  transition: transform .3s ease, box-shadow .3s ease;
}
.cta-sobre-bifurcacao__area:hover,
.cta-sobre-bifurcacao__area:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(15,35,57,.36);
}

/* ── WhatsApp central destacado (variante .tele-card) ── */
.cta-sobre-bifurcacao__whatsapp {
  position: relative;
  transform: translateY(-12px);
  border-color: rgba(37,211,102,.40) !important;
  box-shadow:
    0 16px 50px rgba(37,211,102,.18),
    0 4px 16px rgba(15,35,57,.10) !important;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.cta-sobre-bifurcacao__whatsapp:hover,
.cta-sobre-bifurcacao__whatsapp:focus-within {
  transform: translateY(-16px);
  border-color: rgba(37,211,102,.55) !important;
  box-shadow:
    0 24px 60px rgba(37,211,102,.26),
    0 8px 24px rgba(15,35,57,.18) !important;
}
@media (min-width: 1024px) {
  .cta-sobre-bifurcacao__whatsapp { transform: translateY(-12px) scale(1.02); }
  .cta-sobre-bifurcacao__whatsapp:hover,
  .cta-sobre-bifurcacao__whatsapp:focus-within { transform: translateY(-16px) scale(1.02); }
}

/* ── Tele-card variante WhatsApp ── */
.tele-card__badge--live {
  background: rgba(37,211,102,.12);
  color: #1f6f24;
  border-color: rgba(37,211,102,.35);
}
.tele-card__icon-wrap--whatsapp {
  background: radial-gradient(circle, rgba(37,211,102,.22) 0%, transparent 70%);
}
.tele-card__icon-wrap--whatsapp::after {
  border-color: rgba(37,211,102,.32);
}
.tele-card__icon--whatsapp {
  width: 40px; height: 40px;
  color: #25D366;
  stroke: none !important;
}
.tele-card__divider--whatsapp { color: #1FAE56; }
.tele-card__divider--whatsapp::before,
.tele-card__divider--whatsapp::after { background: rgba(37,211,102,.28); }
.tele-card__title em { color: var(--accent, #C8621A); font-style: italic; }
.cta-sobre-bifurcacao__whatsapp .tele-card__title em { color: #1FAE56; }
.tele-card__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px; height: 22px;
  background: rgba(37,211,102,.15);
  border-radius: 50%;
  color: #25D366;
  font-weight: 700;
  font-size: .78rem;
  flex-shrink: 0;
}
.tele-card__step-text { flex: 1; padding-top: 2px; }
.tele-card__cta-wrap {
  width: 100%;
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  padding-top: 18px;
}
.tele-card__btn,
.btn--whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  background: #25D366;
  color: #052e16;
  border: 0;
  font-family: "Roboto", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-size: .95rem;
  padding: 14px 22px;
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(37,211,102,.32);
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.tele-card__btn svg,
.btn--whatsapp svg { flex-shrink: 0; }
.tele-card__btn:hover,
.tele-card__btn:focus-visible,
.btn--whatsapp:hover,
.btn--whatsapp:focus-visible {
  background: #1FAE56;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(37,211,102,.42);
  color: #052e16;
}
.tele-card__fallback {
  margin: 0;
  text-align: center;
  font-size: .82rem;
}
.tele-card__fallback a {
  color: #5A5550;
  text-decoration: none;
  border-bottom: 1px dotted rgba(90,85,80,.35);
  padding-bottom: 1px;
  transition: color .25s ease, border-color .25s ease;
}
.tele-card__fallback a:hover,
.tele-card__fallback a:focus-visible {
  color: var(--gold, #BE9663);
  border-color: var(--gold, #BE9663);
}

/* ── Mobile empilha — WhatsApp PRIMEIRO ── */
@media (max-width: 900px) {
  .cta-sobre-bifurcacao__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .cta-sobre-bifurcacao__whatsapp {
    order: -1;
    transform: none !important;
  }
  .cta-sobre-bifurcacao__whatsapp:hover,
  .cta-sobre-bifurcacao__whatsapp:focus-within { transform: none !important; }
}
@media (max-width: 640px) {
  .cta-sobre-bifurcacao { padding: 64px 20px !important; }
  .cta-sobre-bifurcacao__area { padding: 36px 24px !important; }
}

/* ── FADE-IN STAGGER global v3.1.2 (cards múltiplos) ── */
.cta-sobre-bifurcacao__grid > .fade-in:nth-child(1) { transition-delay: 0ms; }
.cta-sobre-bifurcacao__grid > .fade-in:nth-child(2) { transition-delay: 120ms; }
.cta-sobre-bifurcacao__grid > .fade-in:nth-child(3) { transition-delay: 240ms; }
.areas-grid > .area-card:nth-child(1) { transition-delay: 0ms; }
.areas-grid > .area-card:nth-child(2) { transition-delay: 120ms; }
.bio-gallery > .fade-in:nth-child(1) { transition-delay: 0ms; }
.bio-gallery > .fade-in:nth-child(2) { transition-delay: 100ms; }
.bio-gallery > .fade-in:nth-child(3) { transition-delay: 200ms; }
.filosofia__cards > .fade-in:nth-child(1) { transition-delay: 0ms; }
.filosofia__cards > .fade-in:nth-child(2) { transition-delay: 120ms; }
.filosofia__cards > .fade-in:nth-child(3) { transition-delay: 240ms; }
.diferenciais > .fade-in:nth-child(1) { transition-delay: 0ms; }
.diferenciais > .fade-in:nth-child(2) { transition-delay: 100ms; }
.diferenciais > .fade-in:nth-child(3) { transition-delay: 200ms; }
.diferenciais > .fade-in:nth-child(4) { transition-delay: 300ms; }
.diferenciais > .fade-in:nth-child(5) { transition-delay: 400ms; }
.diferenciais > .fade-in:nth-child(6) { transition-delay: 500ms; }

/* ── Hover refinado global (cards que ainda não têm) ── */
.unidade-card,
.blog-card {
  transition: transform .3s ease, box-shadow .3s ease;
}
.unidade-card:hover,
.blog-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(15,35,57,.15);
}
.filosofia__card { transition: transform .3s ease, box-shadow .3s ease, background .3s ease; }
.filosofia__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(0,0,0,.28);
}
.tele-card { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.bio-gallery__item { transition: transform .3s ease, box-shadow .3s ease; }
.bio-gallery__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(15,35,57,.12);
}

/* ── prefers-reduced-motion: kill fade-in transforms ── */
@media (prefers-reduced-motion: reduce) {
  .fade-in,
  .fade-in.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .cta-sobre-bifurcacao__whatsapp,
  .cta-sobre-bifurcacao__area,
  .tele-card,
  .area-card,
  .unidade-card,
  .filosofia__card,
  .blog-card,
  .bio-gallery__item { transition: none !important; transform: none !important; }
}

/* ─── Polish global v3.1.0 — especializações grid ─── */
.diferencial-card .diferencial-card__title,
.diferencial-card__title { text-wrap: balance; }
a:focus-visible,
.wp-block-button__link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ─── Responsive (≤900px empilha tudo) ─── */
@media (max-width: 900px) {
  .bio-gallery {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 0 24px;
  }
  .bio-gallery__item { aspect-ratio: 16 / 10; }
  .bio-gallery__icon { width: 64px; height: 64px; }

  .filosofia__figure { padding: 0 32px; }
  .filosofia__quote-mark { font-size: clamp(3rem, 14vw, 5rem); }
  .filosofia__quote-mark--left { top: -8px; }
  .filosofia__quote-mark--right { bottom: -28px; }

  .cta-sobre-bifurcacao__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  /* No mobile: WhatsApp PRIMEIRO, sem elevação (sem destaque por translate quando empilhado) */
  .cta-sobre-bifurcacao__card--whatsapp { order: -1; transform: none; }
  .cta-sobre-bifurcacao__card--whatsapp:hover,
  .cta-sobre-bifurcacao__card--whatsapp:focus-within { transform: none; }
  .cta-sobre-bifurcacao__card--service:nth-of-type(1) { order: 1; }
  .cta-sobre-bifurcacao__card--service:nth-of-type(3) { order: 2; }
}

@media (max-width: 640px) {
  .cta-sobre-bifurcacao { padding: 64px 20px !important; }
  .filosofia--dark { padding: 80px 20px !important; }
  .cta-sobre-bifurcacao__card { padding: 32px 24px; }
  .cta-sobre-bifurcacao__card-icon-wrap { width: 76px; height: 76px; }
  .cta-sobre-bifurcacao__card-icon { width: 32px; height: 32px; }
}
/* ═══ end v3.1.0 SOBRE refinements ═══ */

/* ═══════════════════════════════════════════════════
   v3.1.3 — Sobre fixes
   1) WhatsApp btn (Sobre bifurcacao): cor preta + ícone único
   2) Animações reais: hero keyframes + stagger expandido
   ═══════════════════════════════════════════════════ */

/* — ISSUE 2: botão WhatsApp do CTA Sobre Bifurcação → texto + ícone PRETOS — */
.cta-sobre-bifurcacao__whatsapp .btn--whatsapp,
.cta-sobre-bifurcacao__whatsapp .wp-block-button.btn--whatsapp > .wp-block-button__link,
.cta-sobre-bifurcacao__whatsapp a.btn--whatsapp {
  color: #000 !important;
  font-weight: 700 !important;
}
/* Override do ícone SVG WhatsApp para preto (data-URI com fill='%23000000') */
.cta-sobre-bifurcacao__whatsapp .btn--whatsapp::before,
.cta-sobre-bifurcacao__whatsapp a.btn--whatsapp::before,
.cta-sobre-bifurcacao__whatsapp .wp-block-button.btn--whatsapp > .wp-block-button__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000' width='20' height='20'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893A11.821 11.821 0 0 0 20.464 3.488'/%3E%3C/svg%3E") !important;
  width: 20px !important;
  height: 20px !important;
}

/* — ISSUE 3d: Hero da Sobre — animação de entrada por keyframes (não scroll) — */
.hero-sobre__copy,
.hero-sobre__photo {
  opacity: 0;
  animation: hero-fade-in .8s cubic-bezier(.4,0,.2,1) forwards;
}
.hero-sobre__copy  { animation-delay: .15s; }
.hero-sobre__photo { animation-delay: .35s; }

@keyframes hero-fade-in {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* — ISSUE 3c: Stagger expandido para todas as seções da Sobre — */
/* Bio timeline (5 itens) */
.bio-timeline > .fade-in:nth-child(1) { transition-delay:   0ms; }
.bio-timeline > .fade-in:nth-child(2) { transition-delay: 100ms; }
.bio-timeline > .fade-in:nth-child(3) { transition-delay: 200ms; }
.bio-timeline > .fade-in:nth-child(4) { transition-delay: 300ms; }
.bio-timeline > .fade-in:nth-child(5) { transition-delay: 400ms; }

/* Diferenciais 3-col (filosofia + especializações) */
.diferenciais.diferenciais--3col > .fade-in:nth-child(1) { transition-delay:   0ms; }
.diferenciais.diferenciais--3col > .fade-in:nth-child(2) { transition-delay: 120ms; }
.diferenciais.diferenciais--3col > .fade-in:nth-child(3) { transition-delay: 240ms; }
.diferenciais.diferenciais--3col > .fade-in:nth-child(4) { transition-delay: 360ms; }
.diferenciais.diferenciais--3col > .fade-in:nth-child(5) { transition-delay: 480ms; }
.diferenciais.diferenciais--3col > .fade-in:nth-child(6) { transition-delay: 600ms; }

/* Bio content paragraphs (stagger leve) */
.bio-content > .fade-in:nth-child(1)  { transition-delay:   0ms; }
.bio-content > .fade-in:nth-child(2)  { transition-delay:  60ms; }
.bio-content > .fade-in:nth-child(3)  { transition-delay: 120ms; }
.bio-content > .fade-in:nth-child(4)  { transition-delay: 180ms; }
.bio-content > .fade-in:nth-child(5)  { transition-delay: 240ms; }
.bio-content > .fade-in:nth-child(6)  { transition-delay: 300ms; }

/* Reduced motion — também silencia hero keyframes */
@media (prefers-reduced-motion: reduce) {
  .hero-sobre__copy,
  .hero-sobre__photo {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
/* ═══ end v3.1.3 ═══ */

/* ═══════════════════════════════════════════════════════════════
   v3.1.4 — Page Contato refatorada
   Canais 3-col (channel-card-v2) + formulário em card centralizado
   ═══════════════════════════════════════════════════════════════ */

/* ── Section head: lede paragraph ── */
.section-lede {
  max-width: 620px;
  margin: 18px auto 0;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  font-size: clamp(1rem, 1.4vw, 1.08rem);
  line-height: 1.7;
  text-wrap: pretty;
}

/* ── Canais 3-col grid ── */
.canais-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
@media (max-width: 960px) {
  .canais-grid { grid-template-columns: 1fr; gap: 18px; }
}

/* ── Channel Card v2 (estilo tele-card refinado) ── */
.channel-card-v2 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: linear-gradient(180deg, #fff 0%, #faf9f7 100%);
  border: 1px solid rgba(190, 150, 99, 0.20);
  border-radius: 20px;
  padding: 40px 28px 32px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 12px 40px rgba(15, 35, 57, 0.06), inset 0 0 0 1px rgba(255, 255, 255, 0.5);
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.4s ease, border-color 0.4s ease;
  overflow: hidden;
}
.channel-card-v2:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(15, 35, 57, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.6);
  border-color: rgba(190, 150, 99, 0.35);
}
.channel-card-v2:focus-visible {
  outline: 3px solid var(--wp--preset--color--ouro, #BE9663);
  outline-offset: 4px;
}

/* Badge (chip topo) */
.channel-card-v2__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(67, 160, 71, 0.12);
  color: #1f6f24;
  border: 1px solid rgba(67, 160, 71, 0.35);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 22px;
}
.channel-card-v2__badge--gold {
  background: rgba(190, 150, 99, 0.14);
  color: #7a5a2a;
  border-color: rgba(190, 150, 99, 0.40);
}
.channel-card-v2__badge--purple {
  background: rgba(147, 51, 234, 0.10);
  color: #6b21a8;
  border-color: rgba(147, 51, 234, 0.30);
}
.channel-card-v2__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #25D366;
  box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.55);
  animation: drl-pulse-dot 2s ease-out infinite;
}
@keyframes drl-pulse-dot {
  0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.55); }
  70%  { box-shadow: 0 0 0 8px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

/* Icon wrap circular */
.channel-card-v2__icon-wrap {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(190, 150, 99, 0.22) 0%, transparent 70%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  position: relative;
  color: var(--wp--preset--color--ouro, #BE9663);
}
.channel-card-v2__icon-wrap::after {
  content: '';
  position: absolute;
  inset: 11px;
  border: 1px solid rgba(190, 150, 99, 0.30);
  border-radius: 50%;
}
.channel-card-v2--whatsapp .channel-card-v2__icon-wrap {
  background: radial-gradient(circle, rgba(37, 211, 102, 0.22) 0%, transparent 70%);
  color: #128C7E;
}
.channel-card-v2--whatsapp .channel-card-v2__icon-wrap::after {
  border-color: rgba(37, 211, 102, 0.32);
}
.channel-card-v2--instagram .channel-card-v2__icon-wrap {
  background: radial-gradient(circle, rgba(147, 51, 234, 0.18) 0%, transparent 70%);
  color: #9333ea;
}
.channel-card-v2--instagram .channel-card-v2__icon-wrap::after {
  border-color: rgba(147, 51, 234, 0.28);
}

/* Eyebrow */
.channel-card-v2__eyebrow {
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ouro, #BE9663);
  margin-bottom: 8px;
}

/* Title (valor destacado: telefone, @user) — DM Sans para dados */
.channel-card-v2__title {
  font-family: "Roboto", system-ui, -apple-system, sans-serif;
  font-size: clamp(1.2rem, 2.2vw, 1.5rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 0 0 12px;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}

/* Description */
.channel-card-v2__desc {
  font-size: 0.92rem;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  line-height: 1.65;
  margin: 0 0 24px;
  max-width: 280px;
}
.channel-card-v2__desc em {
  font-style: normal;
  color: var(--wp--preset--color--accent, #C8621A);
  font-weight: 600;
}

/* CTA inline (não é botão pleno) */
.channel-card-v2__cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 999px;
  background: var(--wp--preset--color--secondary, #0A1F38);
  color: #fff;
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: background 0.3s ease, transform 0.3s ease;
}
.channel-card-v2__cta svg {
  transition: transform 0.3s ease;
}
.channel-card-v2:hover .channel-card-v2__cta { background: #061429; }
.channel-card-v2:hover .channel-card-v2__cta svg { transform: translateX(3px); }

/* CTA por variante */
.channel-card-v2--whatsapp .channel-card-v2__cta { background: #128C7E; }
.channel-card-v2--whatsapp:hover .channel-card-v2__cta { background: #075E54; }
.channel-card-v2--instagram .channel-card-v2__cta {
  background: linear-gradient(135deg, #833AB4 0%, #C13584 50%, #E1306C 100%);
}
.channel-card-v2--instagram:hover .channel-card-v2__cta {
  background: linear-gradient(135deg, #6b2f93 0%, #a52a6b 50%, #b81f53 100%);
}

@media (max-width: 720px) {
  .channel-card-v2 { padding: 32px 22px 26px; }
  .channel-card-v2__icon-wrap { width: 72px; height: 72px; }
}

/* ═══════════════════════════════════════════════════════════════
   Contato — formulário em card refinado centralizado
   ═══════════════════════════════════════════════════════════════ */
.contato-form-card {
  max-width: 760px;
  margin: 0 auto;
  background: linear-gradient(180deg, #fff 0%, #faf9f7 100%);
  border: 1px solid rgba(190, 150, 99, 0.22);
  border-radius: 24px;
  padding: 44px 44px 40px;
  box-shadow: 0 20px 60px rgba(15, 35, 57, 0.08), inset 0 0 0 1px rgba(255, 255, 255, 0.5);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.contato-form-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 24px;
  padding: 1px;
  background: linear-gradient(135deg, rgba(190, 150, 99, 0.35) 0%, transparent 40%, transparent 60%, rgba(190, 150, 99, 0.18) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}
.contato-form-card__head {
  display: flex;
  justify-content: center;
  margin-bottom: 6px;
}
.contato-form-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(37, 211, 102, 0.10);
  color: #1f6f24;
  border: 1px solid rgba(37, 211, 102, 0.30);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.contato-form-card__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #25D366;
  animation: drl-pulse-dot 2s ease-out infinite;
}
.form__optional {
  color: var(--wp--preset--color--texto-leve, #5A5550);
  font-weight: 400;
  font-size: 0.82em;
}
.contato-form-card__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--wp--preset--color--accent, #C8621A);
  color: #fff;
  font-weight: 700;
  padding: 14px 28px;
  font-size: 0.98rem;
  letter-spacing: 0.02em;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
.contato-form-card__submit:hover {
  background: #9c4b14;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(200, 98, 26, 0.30);
}
.contato-form-card__submit:focus-visible {
  outline: 3px solid var(--wp--preset--color--ouro, #BE9663);
  outline-offset: 3px;
}
.contato-form-card__legal {
  margin: 4px 0 0;
  text-align: center;
  font-size: 0.78rem;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  line-height: 1.5;
}
@media (max-width: 720px) {
  .contato-form-card { padding: 32px 22px 28px; border-radius: 18px; }
}

/* ═══ end v3.1.4 ═══ */

/* ═══════════════════════════════════════════════════════════════
   v3.1.5 — Page Contato: canais + formulário em 2 colunas (lado a lado)
   Canais empilhados em row layout (icon esquerda + texto direita)
   ═══════════════════════════════════════════════════════════════ */

/* ── Wrapper 2-col ── */
.contato-2col {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 48px;
  align-items: start;
}
@media (max-width: 1024px) {
  .contato-2col { grid-template-columns: 1fr; gap: 56px; }
}

.contato-2col__channels { display: flex; flex-direction: column; gap: 24px; }
.contato-2col__form { position: relative; }

/* Section head left-aligned (sobreescreve text-align: center quando dentro do 2col) */
.contato-2col .section-head--left {
  text-align: left;
  margin: 0 0 8px;
}
.contato-2col .section-head--left .section-label,
.contato-2col .section-head--left .section-title,
.contato-2col .section-head--left .section-lede {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}
.contato-2col .section-head--left .section-lede {
  max-width: none;
}

/* ── Canais empilhados ── */
.canais-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ── Channel Card v2 — variante ROW (horizontal) ── */
/* Channel card row — refinado e suave: padding maior, tipografia mais leve,
   sombra discreta, borda menos saturada. */
.channel-card-v2--row {
  flex-direction: row;
  align-items: center;
  text-align: left;
  padding: 26px 26px 26px 28px;
  gap: 22px;
  border-radius: 18px;
  border-color: rgba(190, 150, 99, 0.14);
  box-shadow: 0 6px 22px rgba(15, 35, 57, 0.04), inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}
.channel-card-v2--row:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(15, 35, 57, 0.08), inset 0 0 0 1px rgba(255, 255, 255, 0.5);
  border-color: rgba(190, 150, 99, 0.26);
}
.channel-card-v2--row .channel-card-v2__icon-wrap {
  width: 56px;
  height: 56px;
  margin: 0;
  flex-shrink: 0;
}
.channel-card-v2--row .channel-card-v2__icon-wrap::after {
  inset: 7px;
}
.channel-card-v2--row .channel-card-v2__icon {
  width: 24px;
  height: 24px;
}
.channel-card-v2--row .channel-card-v2__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.channel-card-v2--row .channel-card-v2__top {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.channel-card-v2--row .channel-card-v2__eyebrow {
  margin: 0;
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  font-weight: 600;
  color: var(--wp--preset--color--ouro, #BE9663);
}
.channel-card-v2--row .channel-card-v2__badge {
  margin: 0;
  padding: 3px 9px;
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  font-weight: 500;
}
/* Título do valor (telefone/@user) — Cormorant para suavizar a "rigidez" do DM Sans
   e remover a impressão de "robusto demais". */
.channel-card-v2--row .channel-card-v2__title {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: clamp(1.25rem, 1.8vw, 1.5rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.18;
  margin: 0;
  /* preserva alinhamento de dígitos */
  font-variant-numeric: tabular-nums;
}
.channel-card-v2--row .channel-card-v2__desc {
  font-size: 0.84rem;
  margin: 4px 0 0;
  max-width: none;
  line-height: 1.6;
  color: var(--wp--preset--color--texto-leve, #5A5550);
}
.channel-card-v2--row .channel-card-v2__desc em {
  font-style: italic;
  color: var(--wp--preset--color--accent, #C8621A);
  font-weight: 500;
}
.channel-card-v2--row .channel-card-v2__arrow {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--wp--preset--color--secondary, #0A1F38);
  color: #fff;
  transition: background 0.3s ease, transform 0.3s ease;
}
.channel-card-v2--row:hover .channel-card-v2__arrow {
  transform: translateX(4px);
  background: #061429;
}
.channel-card-v2--row.channel-card-v2--whatsapp .channel-card-v2__arrow { background: #128C7E; }
.channel-card-v2--row.channel-card-v2--whatsapp:hover .channel-card-v2__arrow { background: #075E54; }
.channel-card-v2--row.channel-card-v2--instagram .channel-card-v2__arrow {
  background: linear-gradient(135deg, #833AB4 0%, #C13584 50%, #E1306C 100%);
}
.channel-card-v2--row.channel-card-v2--instagram:hover .channel-card-v2__arrow {
  background: linear-gradient(135deg, #6b2f93 0%, #a52a6b 50%, #b81f53 100%);
}

@media (max-width: 480px) {
  .channel-card-v2--row { padding: 18px; gap: 14px; }
  .channel-card-v2--row .channel-card-v2__icon-wrap { width: 52px; height: 52px; }
  .channel-card-v2--row .channel-card-v2__title { font-size: 1.1rem; }
  .channel-card-v2--row .channel-card-v2__arrow { width: 30px; height: 30px; }
}

/* ── Form card — variante compact (header interno + padding menor) ── */
.contato-form-card--compact {
  max-width: none;
  padding: 36px 36px 32px;
  gap: 14px;
}
.contato-form-card__title {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: clamp(1.5rem, 2.5vw, 1.85rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 8px 0 0;
  letter-spacing: -0.01em;
}
.contato-form-card__title strong {
  font-weight: 400;
  color: var(--wp--preset--color--accent, #C8621A);
  font-style: italic;
}
.contato-form-card--compact .contato-form-card__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 12px;
}
.contato-form-card--compact .contato-form-card__head .contato-form-card__badge {
  margin-top: 6px;
}

@media (max-width: 720px) {
  .contato-form-card--compact { padding: 28px 22px 24px; }
}

/* ═══ end v3.1.5 ═══ */

/* ═══════════════════════════════════════════════════════════════
   v3.1.7 — Page Blog refatorada
   Hero compacto com busca + tabs por categoria + featured horizontal + spotlight grid
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero compacto ── */
.blog-listing-hero {
  position: relative;
  overflow: hidden;
  text-align: center;
}
.blog-listing-hero__inner {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  z-index: 1;
}
.blog-listing-hero__label {
  display: inline-block;
  margin-bottom: 14px;
}
.blog-listing-hero__title {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 0 0 16px;
  text-wrap: balance;
}
.blog-listing-hero__title strong {
  font-weight: 400;
  color: var(--wp--preset--color--accent, #C8621A);
  font-style: italic;
}
.blog-listing-hero__lede {
  color: var(--wp--preset--color--texto-leve, #5A5550);
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  line-height: 1.65;
  text-wrap: pretty;
  margin: 0 auto 32px;
  max-width: 640px;
}

/* Decorações orgânicas */
.blog-listing-hero__deco {
  position: absolute;
  pointer-events: none;
  z-index: 0;
}
.blog-listing-hero__deco--circle {
  width: 22px; height: 22px;
  border: 2.5px solid var(--wp--preset--color--ouro, #BE9663);
  opacity: 0.45;
  border-radius: 50%;
  top: 8%;
  left: 18%;
}
.blog-listing-hero__deco--cross {
  color: rgba(190, 150, 99, 0.32);
  top: 6%;
  left: 8%;
}
.blog-listing-hero__deco--square {
  width: 26px; height: 26px;
  background: rgba(200, 98, 26, 0.16);
  border-radius: 4px;
  top: 14%;
  right: 10%;
  transform: rotate(-8deg);
}
.blog-listing-hero__deco--dot {
  width: 16px; height: 16px;
  background: rgba(190, 150, 99, 0.32);
  border-radius: 50%;
  bottom: 22%;
  right: 16%;
}
@media (max-width: 760px) {
  .blog-listing-hero__deco { display: none; }
}

/* ── Search bar ── */
.blog-search {
  position: relative;
  max-width: 520px;
  margin: 0 auto;
}
.blog-search__icon {
  position: absolute;
  top: 50%;
  left: 18px;
  transform: translateY(-50%);
  color: var(--wp--preset--color--texto-leve, #5A5550);
  pointer-events: none;
}
.blog-search__input {
  width: 100%;
  padding: 14px 48px 14px 50px;
  border: 1px solid rgba(15, 35, 57, 0.10);
  border-radius: 12px;
  background: #fff;
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.95rem;
  color: var(--wp--preset--color--secondary, #0A1F38);
  box-shadow: 0 6px 20px rgba(15, 35, 57, 0.05);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  -webkit-appearance: none;
}
.blog-search__input::placeholder {
  color: var(--wp--preset--color--texto-leve, #5A5550);
  opacity: 0.7;
}
.blog-search__input:focus {
  outline: none;
  border-color: var(--wp--preset--color--ouro, #BE9663);
  box-shadow: 0 6px 20px rgba(15, 35, 57, 0.08), 0 0 0 3px rgba(190, 150, 99, 0.18);
}
.blog-search__clear {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(15, 35, 57, 0.06);
  color: var(--wp--preset--color--secondary, #0A1F38);
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease;
}
.blog-search__clear:hover { background: rgba(15, 35, 57, 0.12); }
.blog-search__clear[hidden] { display: none; }

/* ── Tabs ── */
.blog-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid rgba(15, 35, 57, 0.08);
  padding-bottom: 0;
  margin: 0 auto;
  max-width: 1200px;
}
.blog-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  background: transparent;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  border: none;
  border-bottom: 2px solid transparent;
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.005em;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
  margin-bottom: -1px;
}
.blog-tab__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: currentColor;
  opacity: 0.7;
}
.blog-tab__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  background: rgba(15, 35, 57, 0.06);
  color: var(--wp--preset--color--texto-leve, #5A5550);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
}
.blog-tab__count:empty { display: none; }
.blog-tab:hover {
  color: var(--wp--preset--color--secondary, #0A1F38);
}
.blog-tab.is-active {
  color: var(--wp--preset--color--secondary, #0A1F38);
  border-bottom-color: var(--wp--preset--color--ouro, #BE9663);
  font-weight: 600;
}
.blog-tab.is-active .blog-tab__icon { opacity: 1; color: var(--wp--preset--color--ouro, #BE9663); }
.blog-tab.is-active .blog-tab__count {
  background: var(--wp--preset--color--ouro, #BE9663);
  color: #fff;
}
.blog-tab:focus-visible {
  outline: 2px solid var(--wp--preset--color--ouro, #BE9663);
  outline-offset: 4px;
  border-radius: 4px;
}
@media (max-width: 720px) {
  .blog-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    padding-bottom: 4px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .blog-tab { font-size: 0.82rem; padding: 10px 14px; }
}

/* ── Blog list wrapper ── */
.blog-list { display: flex; flex-direction: column; gap: 56px; }

/* ── Featured (horizontal) ── */
.blog-featured {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 0;
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(15, 35, 57, 0.08), inset 0 0 0 1px rgba(190, 150, 99, 0.18);
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.4s ease;
}
.blog-featured:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 72px rgba(15, 35, 57, 0.14), inset 0 0 0 1px rgba(190, 150, 99, 0.28);
}
.blog-featured__body {
  padding: clamp(32px, 4vw, 56px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
}
.blog-featured__title {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -0.01em;
  margin: 0;
  text-wrap: balance;
  color: var(--wp--preset--color--secondary, #0A1F38);
}
.blog-featured__title a { color: inherit; text-decoration: none; transition: color 0.3s ease; }
.blog-featured__title a:hover { color: var(--wp--preset--color--accent, #C8621A); }
.blog-featured__excerpt {
  color: var(--wp--preset--color--texto-leve, #5A5550);
  font-size: 1rem;
  line-height: 1.65;
  text-wrap: pretty;
  margin: 0;
}
.blog-featured__meta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 6px;
}
.blog-meta-divider {
  width: 4px; height: 4px;
  background: rgba(15, 35, 57, 0.18);
  border-radius: 50%;
}
.blog-meta-time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  font-size: 0.85rem;
  font-weight: 500;
}
.blog-featured__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  padding: 12px 22px;
  border-radius: 999px;
  background: var(--wp--preset--color--secondary, #0A1F38);
  color: #fff;
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s ease, transform 0.3s ease;
  margin-top: 6px;
}
.blog-featured__cta svg { transition: transform 0.3s ease; }
.blog-featured__cta:hover { background: #061429; }
.blog-featured__cta:hover svg { transform: translateX(3px); }

.blog-featured__media {
  position: relative;
  min-height: 320px;
  background: #f5f4f2;
  overflow: hidden;
}
.blog-featured__media img,
.blog-featured__media svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 900px) {
  .blog-featured { grid-template-columns: 1fr; }
  .blog-featured__media { min-height: 240px; order: -1; }
}

/* ── Spotlight section head ── */
.blog-spotlight__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
}
.blog-spotlight__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(190, 150, 99, 0.16);
  color: var(--wp--preset--color--ouro, #BE9663);
}
.blog-spotlight__title {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: clamp(1.6rem, 2.6vw, 2rem);
  font-weight: 400;
  margin: 0;
  color: var(--wp--preset--color--secondary, #0A1F38);
  letter-spacing: -0.01em;
}

/* ── Grid 3-col ── */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
@media (max-width: 960px) {
  .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .blog-grid { grid-template-columns: 1fr; }
}

/* ── Card v2 (spotlight) ── */
.blog-card-v2 {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 8px 24px rgba(15, 35, 57, 0.06), inset 0 0 0 1px rgba(15, 35, 57, 0.04);
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.4s ease;
}
.blog-card-v2:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 44px rgba(15, 35, 57, 0.12), inset 0 0 0 1px rgba(190, 150, 99, 0.20);
}
.blog-card-v2:focus-visible {
  outline: 3px solid var(--wp--preset--color--ouro, #BE9663);
  outline-offset: 3px;
}
.blog-card-v2__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  background: #f5f4f2;
  overflow: hidden;
}
.blog-card-v2__media img,
.blog-card-v2__media svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.blog-card-v2:hover .blog-card-v2__media img,
.blog-card-v2:hover .blog-card-v2__media svg { transform: scale(1.04); }

.blog-card-v2__body {
  padding: 22px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}
.blog-card-v2__title {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.25;
  margin: 0;
  color: var(--wp--preset--color--secondary, #0A1F38);
  letter-spacing: -0.005em;
  text-wrap: balance;
}
.blog-card-v2__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: auto;
}

/* ── Chips por categoria ── */
.blog-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 6px;
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.blog-chip--sm { padding: 3px 9px; font-size: 0.66rem; }
.blog-chip--prevencao         { background: rgba(22, 163, 74, 0.10);  color: #15803d; }
.blog-chip--oncologia         { background: rgba(10, 31, 56, 0.08);   color: #0A1F38; }
.blog-chip--urologia          { background: rgba(200, 98, 26, 0.12);  color: #9c4b14; }
.blog-chip--estetica-intima   { background: rgba(190, 150, 99, 0.18); color: #7a5a2a; }
.blog-chip--cirurgia-robotica { background: rgba(14, 77, 110, 0.12);  color: #073449; }
.blog-chip--default           { background: rgba(15, 35, 57, 0.06);   color: #0A1F38; }

/* ── Empty state ── */
.blog-empty {
  text-align: center;
  padding: 64px 32px;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  border: 1px dashed rgba(15, 35, 57, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.5);
}
.blog-empty svg { color: var(--wp--preset--color--ouro, #BE9663); opacity: 0.5; margin-bottom: 12px; }
.blog-empty__title {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: 1.4rem;
  font-weight: 400;
  margin: 0 0 6px;
  color: var(--wp--preset--color--secondary, #0A1F38);
}
.blog-empty__desc { margin: 0; font-size: 0.95rem; }

/* ── State: filter/search ativo escondendo cards ── */
.blog-card-v2.is-hidden,
.blog-featured.is-hidden { display: none; }
.blog-spotlight.is-empty { display: none; }
.blog-featured.is-empty { display: none; }

/* ═══ end v3.1.7 ═══ */

/* ═══════════════════════════════════════════════════════════════
   v3.1.8 — Documento legal (Política de Privacidade)
   Hero + sumário com âncoras + prose elegante + box DPO
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero ── */
.legal-hero {
  position: relative;
  overflow: hidden;
  text-align: center;
}
.legal-hero__inner {
  position: relative;
  max-width: 780px;
  margin: 0 auto;
  z-index: 1;
}
.legal-hero__deco {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(190, 150, 99, 0.16);
  color: var(--wp--preset--color--ouro, #BE9663);
  margin-bottom: 22px;
}
.legal-hero__label {
  display: inline-block;
  margin-bottom: 14px;
}
.legal-hero__title {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 0 0 16px;
  text-wrap: balance;
}
.legal-hero__title strong {
  font-weight: 400;
  color: var(--wp--preset--color--accent, #C8621A);
  font-style: italic;
}
.legal-hero__lede {
  color: var(--wp--preset--color--texto-leve, #5A5550);
  font-size: clamp(1rem, 1.6vw, 1.1rem);
  line-height: 1.7;
  text-wrap: pretty;
  margin: 0 auto 28px;
  max-width: 680px;
}
.legal-hero__meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.legal-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  background: #fff;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  border: 1px solid rgba(15, 35, 57, 0.08);
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
}
.legal-hero__chip svg { color: var(--wp--preset--color--ouro, #BE9663); }
.legal-hero__chip--check {
  background: rgba(22, 163, 74, 0.08);
  color: #15803d;
  border-color: rgba(22, 163, 74, 0.25);
}
.legal-hero__chip--check svg { color: #15803d; }

/* ── Document wrapper ── */
.legal-document {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 48px;
  align-items: start;
}
@media (max-width: 900px) {
  .legal-document {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* ── TOC sticky ── */
.legal-toc {
  position: sticky;
  top: 100px;
  background: linear-gradient(180deg, #fff 0%, #faf9f7 100%);
  border: 1px solid rgba(190, 150, 99, 0.20);
  border-radius: 16px;
  padding: 22px 22px 20px;
  box-shadow: 0 8px 24px rgba(15, 35, 57, 0.05);
}
@media (max-width: 900px) {
  .legal-toc { position: static; }
}
.legal-toc__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(190, 150, 99, 0.20);
}
.legal-toc__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(190, 150, 99, 0.15);
  color: var(--wp--preset--color--ouro, #BE9663);
}
.legal-toc__title {
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ouro, #BE9663);
  margin: 0;
}
.legal-toc__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.legal-toc__item { margin: 0; }
.legal-toc__link {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  text-decoration: none;
  color: var(--wp--preset--color--secondary, #0A1F38);
  transition: background 0.2s ease, color 0.2s ease;
}
.legal-toc__name {
  display: block;
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.35;
}
.legal-toc__hint {
  display: block;
  font-size: 0.72rem;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  margin-top: 2px;
  line-height: 1.35;
}
.legal-toc__link:hover {
  background: rgba(190, 150, 99, 0.10);
}
.legal-toc__link:hover .legal-toc__name {
  color: var(--wp--preset--color--accent, #C8621A);
}
.legal-toc__link:focus-visible {
  outline: 2px solid var(--wp--preset--color--ouro, #BE9663);
  outline-offset: 2px;
}

/* ── Prose ── */
.legal-prose {
  min-width: 0;
  color: var(--wp--preset--color--texto, #2A2723);
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.75;
}
.legal-section {
  scroll-margin-top: 100px;
  margin-bottom: 48px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(15, 35, 57, 0.06);
}
.legal-section:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}
.legal-section h2 {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: clamp(1.5rem, 2.6vw, 1.85rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 0 0 18px;
  text-wrap: balance;
}
.legal-section p {
  margin: 0 0 16px;
  text-wrap: pretty;
}
.legal-section p:last-child { margin-bottom: 0; }
.legal-section ul {
  margin: 0 0 16px;
  padding-left: 0;
  list-style: none;
}
.legal-section ul li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
  text-wrap: pretty;
}
.legal-section ul li::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--wp--preset--color--ouro, #BE9663);
}
.legal-section strong {
  color: var(--wp--preset--color--secondary, #0A1F38);
  font-weight: 600;
}
.legal-section a {
  color: var(--wp--preset--color--accent, #C8621A);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}
.legal-section a:hover {
  color: #9c4b14;
}

/* ── Contact / DPO Box ── */
.legal-contact-box {
  margin: 48px 0 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 28px;
  padding: 36px 36px 32px;
  background: linear-gradient(135deg, var(--wp--preset--color--secondary, #0A1F38) 0%, #061429 100%);
  color: #fff;
  border-radius: 24px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(15, 35, 57, 0.18);
}
/* Variante standalone: card é irmão de .legal-document (não filho).
   Faz o sticky do TOC parar antes de chegar aqui — sem overlap. */
.legal-contact-box--standalone { margin-top: 56px; }
.legal-contact-box::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(40% 60% at 100% 0%, rgba(190, 150, 99, 0.16) 0%, transparent 60%),
    radial-gradient(50% 70% at 0% 100%, rgba(200, 98, 26, 0.10) 0%, transparent 60%);
  pointer-events: none;
}
.legal-contact-box > * { position: relative; z-index: 1; }
.legal-contact-box__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(190, 150, 99, 0.20);
  color: var(--wp--preset--color--ouro, #BE9663);
  flex-shrink: 0;
}
.legal-contact-box__body { display: flex; flex-direction: column; gap: 10px; }
.legal-contact-box .section-label { color: rgba(190, 150, 99, 0.95); }
.legal-contact-box__title {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: clamp(1.6rem, 2.6vw, 2rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0;
  color: #fff;
}
.legal-contact-box__title strong {
  font-weight: 400;
  font-style: italic;
  color: var(--wp--preset--color--ouro, #BE9663);
}
.legal-contact-box__desc {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.96rem;
  line-height: 1.6;
  margin: 0;
  text-wrap: pretty;
}
.legal-contact-box__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.legal-contact-box__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 10px 18px;
  border-radius: 999px;
}
/* Botão primário (laranja, padrão do site) — mantém background/color do .btn--primary
   global; aqui só pequenos ajustes de transição/hover. O ícone do WhatsApp vem do
   ::before global (.btn--primary[href*="api.whatsapp"]::before). */
.legal-contact-box .btn--primary {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.legal-contact-box .btn--primary:hover {
  transform: translateY(-2px);
}
/* Ghost button — fundo navy escuro do card exige texto/svg branco. A regra global
   do .btn--ghost aplica cor escura, que ficaria invisível aqui. */
.legal-contact-box .btn--ghost {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease !important;
}
.legal-contact-box .btn--ghost svg { color: #fff; stroke: #fff; }
.legal-contact-box .btn--ghost:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.48) !important;
  color: #fff !important;
}
.legal-contact-box__legal {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.62);
  margin: 12px 0 0;
  line-height: 1.55;
}
.legal-contact-box__legal a {
  color: var(--wp--preset--color--ouro, #BE9663);
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 720px) {
  .legal-contact-box {
    grid-template-columns: 1fr;
    padding: 28px 22px;
    gap: 18px;
  }
  .legal-contact-box__icon { margin: 0 auto; }
  .legal-contact-box__body { text-align: center; }
  .legal-contact-box__actions { justify-content: center; }
}

/* ── Tabela de cookies (.legal-table) ── */
.legal-table-wrap {
  overflow-x: auto;
  margin: 0 0 16px;
  border-radius: 12px;
  border: 1px solid rgba(15, 35, 57, 0.08);
  background: #fff;
}
.legal-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.88rem;
  min-width: 560px;
}
.legal-table thead th {
  background: rgba(190, 150, 99, 0.10);
  color: var(--wp--preset--color--secondary, #0A1F38);
  font-weight: 700;
  font-size: 0.74rem;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid rgba(190, 150, 99, 0.25);
}
.legal-table tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(15, 35, 57, 0.06);
  color: var(--wp--preset--color--texto, #2A2723);
  line-height: 1.55;
  vertical-align: top;
}
.legal-table tbody tr:last-child td { border-bottom: none; }
.legal-table code {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 0.82rem;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(15, 35, 57, 0.06);
  color: var(--wp--preset--color--secondary, #0A1F38);
  white-space: nowrap;
}

/* Pills dentro da tabela */
.legal-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.legal-pill--essential {
  background: rgba(22, 163, 74, 0.12);
  color: #15803d;
}
.legal-pill--analytics {
  background: rgba(190, 150, 99, 0.18);
  color: #7a5a2a;
}

/* H3 dentro de section (subseções) */
.legal-section h3 {
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.005em;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 18px 0 8px;
}

/* Nota auxiliar na prose */
.legal-prose__note {
  font-size: 0.85rem;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  font-style: italic;
  margin: 8px 0 0;
}

/* ═══ end v3.1.8 ═══ */

/* ═══════════════════════════════════════════════════════════════
   v3.1.9 — Single Post refatorado
   Hero centralizado + featured rounded + drop cap + related posts
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero centralizado ── */
.single-post-hero {
  position: relative;
  text-align: center;
}
.single-post-hero__inner {
  max-width: 760px;
  margin: 0 auto;
}

/* Voltar pro blog (chip discreto acima do título) */
.single-post-hero__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px 8px 14px;
  border-radius: 999px;
  background: #fff;
  color: var(--wp--preset--color--secondary, #0A1F38);
  border: 1px solid rgba(15, 35, 57, 0.08);
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.82rem;
  font-weight: 500;
  text-decoration: none;
  margin-bottom: 24px;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.single-post-hero__back:hover {
  background: var(--wp--preset--color--secondary, #0A1F38);
  color: #fff;
  border-color: var(--wp--preset--color--secondary, #0A1F38);
  transform: translateX(-2px);
}
.single-post-hero__back svg { transition: transform 0.2s ease; }
.single-post-hero__back:hover svg { transform: translateX(-2px); }

/* Chip de categoria */
.single-post-hero__chip {
  display: inline-block;
  margin-bottom: 18px;
  text-decoration: none;
  transition: transform 0.2s ease;
}
.single-post-hero__chip:hover { transform: translateY(-1px); }

/* Título grande */
.single-post-hero__title {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: clamp(2rem, 4.8vw, 3.2rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.015em;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 0 0 26px;
  text-wrap: balance;
}

/* Meta line (autor + data + tempo) */
.single-post-hero__meta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.88rem;
}
.single-post-hero__author {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.single-post-hero__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--wp--preset--color--ouro, #BE9663) 0%, #9c7948 100%);
  color: #fff;
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: 0 2px 6px rgba(190, 150, 99, 0.30);
}
.single-post-hero__author-name { color: var(--wp--preset--color--texto, #2A2723); }
.single-post-hero__author-name strong { font-weight: 600; }
.single-post-hero__sep {
  width: 4px; height: 4px;
  border-radius: 50%;
  background: rgba(15, 35, 57, 0.18);
}
.single-post-hero__date,
.single-post-hero__time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.single-post-hero__date svg,
.single-post-hero__time svg {
  color: var(--wp--preset--color--ouro, #BE9663);
  opacity: 0.85;
}
@media (max-width: 600px) {
  .single-post-hero__meta { gap: 10px; font-size: 0.82rem; }
}

/* ── Featured image (overlap negativo no hero) ── */
.single-post-feature {
  position: relative;
  margin: 0 auto;
  max-width: 960px;
  aspect-ratio: 16 / 9;
  border-radius: 24px;
  overflow: hidden;
  background: #f5f4f2;
  box-shadow: 0 32px 80px rgba(15, 35, 57, 0.18), inset 0 0 0 1px rgba(255, 255, 255, 0.5);
  z-index: 1;
}
.single-post-feature img,
.single-post-feature svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.single-post-feature__fallback {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--wp--preset--color--secondary, #0A1F38) 0%, #1a3a5c 100%);
}
@media (max-width: 720px) {
  .single-post-feature { border-radius: 16px; }
}

/* ── Body do post — tipografia editorial ── */
.single-post__content-wrap { width: 100%; }
.single-post__body {
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 1.05rem;
  line-height: 1.78;
  color: var(--wp--preset--color--texto, #2A2723);
  max-width: 720px;
  margin: 0 auto;
}
.single-post__body > * {
  margin-top: 0;
  margin-bottom: 1.2em;
}
.single-post__body > *:last-child { margin-bottom: 0; }

/* Drop cap no primeiro parágrafo */
.single-post__body > p:first-of-type::first-letter {
  float: left;
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: 5.2rem;
  font-weight: 400;
  line-height: 0.9;
  margin: 0.06em 0.12em 0 0;
  color: var(--wp--preset--color--accent, #C8621A);
  font-style: italic;
}

/* Headings */
.single-post__body h2 {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: clamp(1.65rem, 2.8vw, 2rem);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 1.8em 0 0.5em;
  text-wrap: balance;
}
.single-post__body h3 {
  font-family: "Roboto", system-ui, sans-serif;
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 1.5em 0 0.4em;
}
.single-post__body p { text-wrap: pretty; }
.single-post__body strong {
  color: var(--wp--preset--color--secondary, #0A1F38);
  font-weight: 600;
}
.single-post__body a {
  color: var(--wp--preset--color--accent, #C8621A);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}
.single-post__body a:hover { color: #9c4b14; }

/* Listas */
.single-post__body ul,
.single-post__body ol {
  padding-left: 0;
  list-style: none;
}
.single-post__body ul li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 0.7em;
}
.single-post__body ul li::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 14px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--wp--preset--color--ouro, #BE9663);
}
.single-post__body ol {
  counter-reset: drl-ol;
}
.single-post__body ol li {
  counter-increment: drl-ol;
  position: relative;
  padding-left: 36px;
  margin-bottom: 0.7em;
}
.single-post__body ol li::before {
  content: counter(drl-ol);
  position: absolute;
  left: 0;
  top: 2px;
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--wp--preset--color--ouro, #BE9663);
  width: 26px;
  text-align: right;
}

/* Blockquote */
.single-post__body blockquote {
  margin: 1.8em 0;
  padding: 8px 0 8px 28px;
  border-left: 3px solid var(--wp--preset--color--ouro, #BE9663);
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: 1.32rem;
  font-style: italic;
  line-height: 1.45;
  color: var(--wp--preset--color--secondary, #0A1F38);
}
.single-post__body blockquote p { margin-bottom: 0.6em; }

/* Imagens dentro do body */
.single-post__body img {
  border-radius: 12px;
  max-width: 100%;
  height: auto;
}
.single-post__body figure { margin: 1.5em 0; }
.single-post__body figcaption {
  font-size: 0.82rem;
  color: var(--wp--preset--color--texto-leve, #5A5550);
  text-align: center;
  margin-top: 10px;
  font-style: italic;
}

@media (max-width: 600px) {
  .single-post__body { font-size: 1rem; line-height: 1.7; }
  .single-post__body > p:first-of-type::first-letter { font-size: 4.2rem; }
}

/* ── Related posts ── */
.single-post-related__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.single-post-related__head {
  text-align: center;
  margin-bottom: 36px;
}
.single-post-related__head .section-label {
  display: inline-block;
  margin-bottom: 12px;
}
.single-post-related__title {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--wp--preset--color--secondary, #0A1F38);
  margin: 0;
  text-wrap: balance;
}
.single-post-related__title strong {
  font-weight: 400;
  color: var(--wp--preset--color--accent, #C8621A);
  font-style: italic;
}
.single-post-related__grid { margin-bottom: 32px; }
.single-post-related__footer {
  text-align: center;
}
.single-post-related__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.single-post-related__cta svg { transition: transform 0.3s ease; }
.single-post-related__cta:hover svg { transform: translateX(3px); }

/* ═══ end v3.1.9 ═══ */

/* ═══════════════════════════════════════════════════════════════
   v4.0.0 — Design system refactor
   ───────────────────────────────────────────────────────────────
   • Fontes: Montserrat (títulos) + Roboto (textos)
   • Cores: #112534 azul oficial · #c19b73 dourado oficial
   • #0A1929 ink-deep (variação escura para páginas sensíveis)
   • Border radius soft round (botões pill, cards 20-28px, fotos 28px)
   • Padding vertical densificado (48/64/80)
   • Bold reservado para o nome "Dr. Robson Laranja"
   ═══════════════════════════════════════════════════════════════ */

/* ── Refinos tipográficos: Montserrat é mais "técnica" que Cormorant
     então reduzimos letter-spacing e ajustamos peso para hierarquia. ── */
.hero-home__title,
.hero-sobre__title,
.page-hero__title,
.legal-hero__title,
.blog-listing-hero__title,
.single-post-hero__title,
.section-title,
.tele-card__title,
.area-card__title,
.cta-final__title,
.legal-section h2,
.single-post__body h2 {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif) !important;
  font-weight: 300;
  letter-spacing: -0.02em;
  font-style: normal; /* Montserrat italic não tem o mesmo charme do Cormorant */
}

/* H1 grandes — Montserrat 300 + tracking levemente apertado */
.hero-home__title,
.hero-sobre__title,
.legal-hero__title,
.blog-listing-hero__title,
.single-post-hero__title {
  font-weight: 300;
  letter-spacing: -0.025em;
}

/* <em>/<strong> dentro de títulos: troca italic Cormorant pelo accent dourado
   em peso ligeiramente maior (sem perder leveza geral). */
.hero-home__title em,
.hero-sobre__title em,
.legal-hero__title strong,
.blog-listing-hero__title strong,
.section-title strong,
.cta-sobre-bifurcacao__title em,
.tele-card__title em,
.contato-form-card__title strong,
.legal-contact-box__title strong,
.single-post-related__title strong {
  font-style: normal;
  font-weight: 400;
  color: var(--wp--preset--color--accent, #c19b73);
}

/* O nome "Dr. Robson Laranja" — Bold reservado pra ele.
   Usado em: badge do hero da home, autor do post, footer brand-name, etc. */
.hero-home__badge-name,
.single-post-hero__author-name strong,
.legal-contact-box__title,
.bio-grid__sticky strong,
.site-footer__grid strong {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
  font-weight: 700;
  letter-spacing: 0;
}

/* Body text — Roboto Light em parágrafos longos pra reduzir peso visual. */
.hero-home__sub,
.hero-sobre__sub,
.section-lede,
.legal-hero__lede,
.blog-listing-hero__lede,
.tele-snippet__copy p,
.cta-final__desc,
.cta-sobre-bifurcacao__sub,
.legal-contact-box__desc,
.area-card__desc,
.tele-card__desc,
.diferencial-card__desc,
.blog-featured__excerpt,
.contato-form-card .section-lede {
  font-family: var(--wp--preset--font-family--roboto, "Roboto", system-ui, sans-serif);
  font-weight: 300;
}

/* Eyebrow/section-label — Roboto medium uppercase fina, sem letter-spacing exagerado. */
.section-label,
.hero-home__eyebrow,
.hero-sobre__eyebrow,
.blog-listing-hero__label,
.legal-hero__label {
  font-family: var(--wp--preset--font-family--roboto, "Roboto", system-ui, sans-serif);
  font-weight: 500;
  letter-spacing: 0.12em;
}

/* ── Soft round: botões pill, cards/fotos arredondados ── */
.btn,
.btn--primary,
.btn--ghost,
.btn--whatsapp,
.btn--outline-white,
a.btn,
.wp-block-button .wp-block-button__link,
.wp-element-button,
.form__submit,
.contato-form-card__submit,
.blog-featured__cta,
.single-post-hero__back,
.single-post-related__cta,
.legal-toc__link,
.area-card__cta,
.tele-card__btn,
.channel-card-v2__cta,
.legal-contact-box__cta {
  border-radius: var(--r-pill, 999px) !important;
}

/* Cards e fotos — mais arredondados */
.area-card,
.tele-card,
.unidade-card,
.blog-card-v2,
.blog-featured,
.depoimento-card,
.diferencial-card,
.filosofia__card,
.channel-card-v2,
.contato-form-card,
.legal-toc,
.legal-contact-box,
.single-post-feature,
.unidade-card__map,
.hero-home__photo-img img,
.bio-photo img {
  border-radius: var(--r3, 28px);
}

/* Mapa edge-to-edge dentro de unidade-card mantém só o topo arredondado */
.unidade-card iframe[title^="Mapa"],
.unidade-card .unidade-card__map {
  border-radius: var(--r3, 28px) var(--r3, 28px) 0 0;
}

/* Inputs e selects */
.form__input,
.form__select,
.form__textarea,
.blog-search__input,
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
  border-radius: var(--r, 14px);
}

/* Chips de categoria, badges institucionais, pills LGPD */
.blog-chip,
.legal-pill,
.legal-hero__chip,
.section-label,
.tele-card__badge,
.channel-card-v2__badge,
.contato-form-card__badge,
.blog-tab__count,
.area-card__pill,
.hero-home__badge-status,
.hero-sobre__inst-logo {
  border-radius: var(--r-pill, 999px);
}

/* Hero sobre — institutional logos box arredondado mais (pill-like) */
.hero-sobre__inst-logo {
  border-radius: 14px;
}

/* ── Padding vertical densificado nas seções ── */
.hero-home,
.cta-sobre-bifurcacao,
.cta-final-section,
.filosofia--dark,
.single-post-related,
.contato-2col,
.blog-listing-hero,
.legal-hero {
  padding-top: clamp(40px, 5vw, var(--section-py-lg)) !important;
  padding-bottom: clamp(40px, 5vw, var(--section-py-lg)) !important;
}

/* ── Páginas sensíveis (Estética Íntima): mantém estética dark premium.
     A page tem class wp-singular ou pode usar body.page-template + slug.
     Reforçamos --bg-dark dentro de .area-card--est para o ink-deep. ── */
.area-card--est,
body.page-estetica-intima-masculina .hero-home,
body.page-estetica-intima-masculina .area-card--est {
  background: var(--bg-ink-deep, #0A1929) !important;
}

/* ── Bold só onde existe ".hero-home__badge-name" e equivalentes ──
   Override pra garantir que H1/H2 NÃO peguem bold por descendência. */
h1, h2, h3, h4 {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", system-ui, sans-serif);
}
h1 { font-weight: 300; letter-spacing: -0.025em; }
h2 { font-weight: 300; letter-spacing: -0.02em; }
h3 { font-weight: 400; letter-spacing: -0.015em; }
h4 { font-weight: 500; letter-spacing: -0.01em; }

/* ═══ end v4.0.0 ═══ */

/* ═══════════════════════════════════════════════════════════════
   v4.0.1 — Refinos pós design system reset
   ───────────────────────────────────────────────────────────────
   • Elimina laranja-pale → tudo usa #c19b73 (accent) com alphas
   • Hover de botões: mantém radius, ganha scale + fill em outlines
   • Ícones em botões: +4px com currentColor
   • Logos institucionais: grayscale → color no hover, sem chip
   • Remove bio-chips abaixo da foto (home + Sobre)
   ═══════════════════════════════════════════════════════════════ */

/* ── Override: laranja-pale → accent alphas ── */
:root {
  /* Re-map: --orange-pale agora usa alpha do accent. Mantemos o nome pra
     compat com regras antigas, mas o valor visual é #c19b73 translúcido. */
  --orange-pale: rgba(193, 155, 115, 0.10);
  --brand-soft:  rgba(193, 155, 115, 0.10);
  --brand-mid:   rgba(193, 155, 115, 0.18);
}

/* ── Hover dos botões: mantém radius, scale + fill ── */
.btn,
.btn--primary,
.btn--ghost,
.btn--whatsapp,
.btn--outline-white,
a.btn,
.wp-block-button .wp-block-button__link,
.wp-element-button,
.form__submit,
.contato-form-card__submit,
.blog-featured__cta,
.single-post-hero__back,
.single-post-related__cta,
.legal-contact-box__cta,
.channel-card-v2__cta,
.tele-card__btn,
.area-card__cta {
  transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1),
              background-color 0.25s ease,
              color 0.25s ease,
              box-shadow 0.25s ease,
              border-color 0.25s ease !important;
}

.btn:hover,
.btn--primary:hover,
.btn--whatsapp:hover,
a.btn:hover,
.wp-block-button .wp-block-button__link:hover,
.wp-element-button:hover,
.form__submit:hover,
.contato-form-card__submit:hover,
.blog-featured__cta:hover,
.single-post-related__cta:hover,
.legal-contact-box__cta:hover,
.channel-card-v2__cta:hover,
.tele-card__btn:hover,
.area-card__cta:hover {
  transform: scale(1.04);
  box-shadow: 0 8px 24px rgba(193, 155, 115, 0.25);
}

/* Outline buttons: ganham fill no hover */
.btn--ghost:hover,
.btn--outline-white:hover,
.single-post-hero__back:hover {
  transform: scale(1.04);
  background: var(--wp--preset--color--accent, #c19b73) !important;
  color: #fff !important;
  border-color: var(--wp--preset--color--accent, #c19b73) !important;
  box-shadow: 0 8px 24px rgba(193, 155, 115, 0.30);
}
.btn--ghost:hover svg,
.btn--outline-white:hover svg,
.single-post-hero__back:hover svg {
  color: #fff !important;
  stroke: #fff !important;
  fill: currentColor;
}

/* ── Ícones em botões: +6px do default (era 16, agora 22) e currentColor ── */
.btn svg,
.btn--primary svg,
.btn--ghost svg,
.btn--whatsapp svg,
.btn--outline-white svg,
.wp-block-button .wp-block-button__link svg,
.wp-element-button svg,
.form__submit svg,
.contato-form-card__submit svg,
.blog-featured__cta svg,
.single-post-hero__back svg,
.single-post-related__cta svg,
.legal-contact-box__cta svg,
.channel-card-v2__cta svg,
.tele-card__btn svg,
.area-card__cta svg {
  width: 22px !important;
  height: 22px !important;
  color: currentColor !important;
  stroke: currentColor;
  flex-shrink: 0;
}

/* SVG menores (chevrons inline ⨯ X close, etc.) — manter quando o pai não é um botão */
.blog-search__icon,
.blog-search__clear svg,
.legal-toc__icon svg,
.single-post-hero__meta svg,
.blog-meta-time svg,
.blog-tab__icon svg {
  /* Esses são ícones contextuais (não em botões de ação) — mantêm tamanho original */
  width: auto !important;
  height: auto !important;
}

/* Arrow circles internos (+2px também: 16 → 18) */
.area-card__cta-arrow svg,
.channel-card-v2__arrow svg,
.single-post-related__cta svg {
  width: 18px !important;
  height: 18px !important;
}

/* ── Logos institucionais (.hero-sobre__inst-logo): sem chip, grayscale → cor ── */
.hero-sobre__inst-logo {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: 56px !important;
  width: auto;
  max-width: 130px;
  filter: grayscale(100%) brightness(1.6) contrast(0.8);
  opacity: 0.7;
  transition: filter 0.4s ease, opacity 0.4s ease, transform 0.3s ease;
}
.hero-sobre__inst-logo:hover {
  filter: grayscale(0%) brightness(1) contrast(1);
  opacity: 1;
  transform: scale(1.04);
}
.hero-sobre__institutions {
  gap: 28px !important;
  align-items: center;
}
.hero-sobre__inst-logos {
  gap: 24px !important;
  align-items: center;
}
@media (max-width: 600px) {
  .hero-sobre__inst-logo { height: 44px !important; max-width: 100px; }
}

/* ── Bio-chips na page Sobre (coluna sticky): substituídos por imgs grayscale ── */
.bio-chips--logos {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.bio-chips--logos img {
  height: 40px;
  width: auto;
  max-width: 110px;
  filter: grayscale(100%) brightness(1.5) contrast(0.85);
  opacity: 0.65;
  transition: filter 0.4s ease, opacity 0.4s ease, transform 0.3s ease;
}
.bio-chips--logos img:hover {
  filter: grayscale(0%) brightness(1) contrast(1);
  opacity: 1;
  transform: scale(1.05);
}
@media (max-width: 600px) {
  .bio-chips--logos img { height: 32px; max-width: 85px; }
}

/* ── Eliminar bio-chips antigas (pílulas) onde ainda existirem ──
   Caso o HTML antigo (com <p class="bio-chip">UFES</p>) ainda esteja em algum
   post_content, escondemos visualmente em vez de bagunçar layout. */
.bio-chips .bio-chip,
.bio-chips--legacy { display: none; }

/* ── Ícones com fill="currentColor" (WhatsApp logo, etc) — força currentColor ── */
.btn svg path[fill]:not([fill="none"]),
.wp-block-button .wp-block-button__link svg path[fill]:not([fill="none"]) {
  fill: currentColor;
}

/* ═══ end v4.0.1 ═══ */

/* ═══════════════════════════════════════════════════════════════
   v4.0.2 — Fixes pós-revisão visual
   • Lock de border-radius em :hover/:focus/:active (estava virando 8px)
   • Hero eyebrow + section-label--dark trocam laranja por dourado/branco
   • Foto hero como meia-bola saindo da tela (clip-path circular)
   • Logos institucionais: filter simplificado (sem brightness invertido) —
     UFES não fica mais preta no hover
   • Bio-chips--logos centralizadas + maiores
   • Pill RQE perde destaque dourado
   ═══════════════════════════════════════════════════════════════ */

/* ── (1) BORDER-RADIUS LOCK: todos os estados de todos os botões ── */
.btn, .btn:hover, .btn:focus, .btn:active, .btn:focus-visible,
a.btn, a.btn:hover, a.btn:focus, a.btn:active,
.btn--primary, .btn--primary:hover, .btn--primary:focus, .btn--primary:active,
.btn--ghost, .btn--ghost:hover, .btn--ghost:focus, .btn--ghost:active,
.btn--outline-white, .btn--outline-white:hover, .btn--outline-white:focus, .btn--outline-white:active,
.btn--whatsapp, .btn--whatsapp:hover, .btn--whatsapp:focus,
.wp-element-button, .wp-element-button:hover, .wp-element-button:focus, .wp-element-button:active,
.wp-block-button__link, .wp-block-button__link:hover, .wp-block-button__link:focus, .wp-block-button__link:active,
.wp-block-button > .wp-block-button__link,
.wp-block-button > .wp-block-button__link:hover,
.wp-block-button > .wp-block-button__link:focus,
.wp-block-button > .wp-block-button__link:active,
.form__submit, .form__submit:hover, .form__submit:focus,
.contato-form-card__submit, .contato-form-card__submit:hover,
.blog-featured__cta, .blog-featured__cta:hover,
.single-post-hero__back, .single-post-hero__back:hover,
.single-post-related__cta, .single-post-related__cta:hover,
.legal-contact-box__cta, .legal-contact-box__cta:hover,
.channel-card-v2__cta, .channel-card-v2__cta:hover,
.tele-card__btn, .tele-card__btn:hover {
  border-radius: 999px !important;
}

/* ── (2) Hero da home: eyebrow + section-label--dark sem laranja ── */
.hero-home__eyebrow {
  color: rgba(255, 255, 255, 0.75) !important;
}
.hero-home__badge-spec {
  color: rgba(10, 25, 41, 0.7) !important;
}
/* "Agende agora" — section-label--dark trocar laranja → dourado */
.section-label--dark {
  color: var(--wp--preset--color--accent, #c19b73) !important;
}
.cta-final .section-label,
.cta-final__title em,
.cta-final__desc em {
  color: var(--wp--preset--color--accent, #c19b73);
}

/* ── (3) Foto hero — forma D vindo da BORDA DA VIEWPORT. Sem moldura/card residual.
   Imagem herda a forma D, badge auto-sized dentro do D. ── */

/* Coluna container: NADA visual (era um card translúcido aparecendo como moldura) */
.hero-home__photo {
  position: relative;
  display: block;
  min-height: 620px;
  overflow: visible;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Filete dourado vertical não-aplicável aqui (era do design antigo) */
.hero-home__accent { display: none !important; }

/* Foto: estende da borda DA VIEWPORT pela direita. O offset à direita:
   (viewport_width - container_width) / 2 + root_padding.
   Para hero-home__inner (1200px) + root padding (32px): em 1366vw = 83 + 32 = 115px. */
/* Hero = 100vh - header. Foto absolute RELATIVA AO .hero-home (não à column),
   garantindo cobertura total. Texto fica numa half-column normal. */
:root {
  --hero-header-h: 127px;
}
.hero-home {
  position: relative !important;
  min-height: calc(100vh - var(--hero-header-h)) !important;
  padding-top: clamp(32px, 4vh, 48px) !important;
  padding-bottom: clamp(32px, 4vh, 48px) !important;
  overflow: hidden;
}
.hero-home__inner {
  position: relative;
  z-index: 2;
  min-height: calc(100vh - var(--hero-header-h) - 64px);
  display: flex;
  align-items: center;
}
.hero-home__columns {
  width: 100%;
}
/* Coluna foto: vira apenas um "spacer" da metade direita (não posiciona a foto) */
.hero-home__photo {
  --photo-right-overflow: max(0px, calc((100vw - 1200px) / 2 + 32px));
  min-height: 100%;
  position: relative;
}
/* Foto: max 40vw da viewport, altura cobre 100% do hero (com top/bottom negativos
   compensando o padding interno). Object-fit cover mantém aspect ratio da imagem. */
.hero-home__photo-img,
.hero-home__photo .wp-block-image,
.hero-home__photo figure.wp-block-image {
  position: absolute !important;
  top: calc(-1 * clamp(32px, 4vh, 48px)) !important;
  bottom: calc(-1 * clamp(32px, 4vh, 48px)) !important;
  right: 0 !important;
  left: auto !important;
  margin-right: calc(var(--photo-right-overflow) * -1) !important;
  /* Largura ~45% da viewport — maior que antes, sem invadir o texto.
     Gap de ~25px entre texto e foto preservado. */
  width: min(45vw, 660px) !important;
  max-width: 45vw !important;
  height: auto !important;       /* deixa top/bottom resolverem (cobre 100% do hero) */
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  border-radius: 35% 0 0 35% / 60% 0 0 60% !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
  z-index: 1;
}
/* Img dentro: object-fit cover mantém aspecto e cobre o frame */
.hero-home__photo-img img,
.hero-home__photo figure.wp-block-image img,
.hero-home__photo .wp-block-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  border-radius: inherit !important;
  filter: drop-shadow(-12px 12px 32px rgba(17, 37, 52, 0.18));
}
.hero-home__photo-img img,
.hero-home__photo figure.wp-block-image img,
.hero-home__photo .wp-block-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  border-radius: inherit !important;
  filter: drop-shadow(-12px 12px 32px rgba(17, 37, 52, 0.18));
}

/* Mover a foto pro nível do .hero-home via position absolute MAS o elemento
   está dentro da column. Aqui ajustamos a column pra ser "absolutamente posicionada"
   em relação ao .hero-home, OR usamos um trick CSS pra escapar.
   Approach simples: a column tem position:static, e a figure dentro dela tem
   position:absolute que sobe até o .hero-home (próximo positioned ancestor). */
.hero-home__photo {
  position: static !important;
}
/* Badge "Dr. Robson Laranja" sobreposto à foto (mesmo z-index acima da foto).
   Position absolute relativa ao .hero-home — bottom: ~80px e right: distância
   da borda direita pra ficar dentro da curva direita da foto (área "cheia" do D). */
.hero-home__badge {
  position: absolute !important;
  bottom: clamp(40px, 6vh, 72px) !important;
  right: clamp(24px, 3vw, 56px) !important;
  left: auto !important;
  z-index: 5;
}

@media (max-width: 900px) {
  /* Hero mobile — sem min-height fixa, deixa o conteúdo ditar */
  .hero-home {
    min-height: auto !important;
    padding-top: 24px !important;
    padding-bottom: 48px !important;
    overflow: hidden;
  }
  .hero-home__inner {
    min-height: auto !important;
    display: block;
  }
  /* Foto vem PRIMEIRO via order, texto depois */
  .hero-home__columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px;
  }
  .hero-home__photo {
    order: -1 !important;
    align-self: stretch;
    position: relative !important;  /* parent positioned p/ badge absolute */
    min-height: auto !important;
    margin-bottom: 8px;
  }
  .hero-home__copy {
    order: 1 !important;
  }
  /* Foto: 90% da largura, altura proporcional via aspect-ratio (4/5 vertical),
     centralizada (curva direita sai pela borda) */
  .hero-home__photo-img,
  .hero-home__photo .wp-block-image,
  .hero-home__photo figure.wp-block-image {
    position: relative !important;
    width: 90vw !important;
    max-width: 90vw !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    margin: 0 !important;
    margin-left: auto !important;        /* alinha à direita pra curva sair pela borda direita */
    margin-right: -32px !important;       /* compensa root padding */
    inset: auto !important;
    top: auto !important;
    bottom: auto !important;
    right: auto !important;
    left: auto !important;
    border-radius: 35% 0 0 35% / 50% 0 0 50% !important;
  }
  .hero-home__photo-img img,
  .hero-home__photo figure.wp-block-image img,
  .hero-home__photo .wp-block-image img {
    border-radius: inherit !important;
  }
  /* Badge sobre a foto — centralizado horizontalmente, parte inferior */
  .hero-home__badge {
    position: absolute !important;
    bottom: 16px !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    z-index: 10;
    padding: 10px 14px !important;
  }
  .hero-home__badge-name {
    font-size: 0.88rem !important;
  }
  .hero-home__badge-spec {
    font-size: 0.74rem !important;
  }
  .hero-home__badge-status {
    font-size: 0.68rem !important;
    padding: 3px 8px !important;
  }
}
@media (max-width: 480px) {
  .hero-home__photo-img,
  .hero-home__photo .wp-block-image,
  .hero-home__photo figure.wp-block-image {
    width: 92vw !important;
    aspect-ratio: 4 / 5 !important;
  }
  .hero-home__badge {
    bottom: 14px !important;
    max-width: 240px !important;
  }
}
/* Img precisa herdar a forma D (não pode ficar retangular dentro) */
.hero-home__photo-img img,
.hero-home__photo figure.wp-block-image img,
.hero-home__photo .wp-block-image img,
.hero-home__photo img.wp-image-68,
.hero-home__photo img[class*="wp-image"] {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  /* Mesma curva sutil de meia lua que o figure */
  border-radius: 35% 0 0 35% / 60% 0 0 60% !important;
  filter: drop-shadow(-12px 12px 32px rgba(17, 37, 52, 0.18));
}

/* ── Badge "Dr. Robson Laranja" — DENTRO da forma D, auto-sized ── */
.hero-home__badge {
  position: absolute;
  bottom: 32px;
  right: 24px;
  left: auto;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px !important;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 14px;
  box-shadow: 0 12px 36px rgba(17, 37, 52, 0.22);
  /* Auto-sized: largura é definida pelo conteúdo, não fixa */
  width: max-content;
  max-width: 360px;
}
.hero-home__badge-info {
  display: flex;
  flex-direction: column;
  gap: 0;
  line-height: 1.25;
}
.hero-home__badge-name {
  font-family: var(--wp--preset--font-family--montserrat, "Montserrat", sans-serif) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  color: var(--wp--preset--color--primary, #112534) !important;
  margin: 0 !important;
  letter-spacing: -0.005em;
}
.hero-home__badge-spec {
  font-family: var(--wp--preset--font-family--roboto, "Roboto", sans-serif) !important;
  font-weight: 400 !important;
  font-size: 0.78rem !important;
  color: rgba(10, 25, 41, 0.65) !important;
  margin: 2px 0 0 !important;
}
.hero-home__badge-info { display: flex; flex-direction: column; gap: 2px; }
.hero-home__badge-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(22, 163, 74, 0.10);
  color: #15803d;
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
}
.hero-home__badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #16a34a;
}

@media (max-width: 900px) {
  .hero-home__photo {
    min-height: 460px;
  }
  .hero-home__photo-img,
  .hero-home__photo .wp-block-image,
  .hero-home__photo figure.wp-block-image {
    inset: 0 0 0 0;            /* mobile: foto centralizada */
    border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  }
  .hero-home__badge {
    bottom: 24px;
    right: 24px;
    max-width: 240px;
    padding: 12px 14px;
  }
}
@media (max-width: 600px) {
  .hero-home__badge {
    right: 50%;
    transform: translateX(50%);
  }
}

/* ── (4) Section-label--dark: era laranja antigo, agora dourado ── */
/* (regra acima já cobre via .section-label--dark) */

/* ── (5) IAMSPE não recortada / bio-chips--logos centralizadas e maiores ── */
.bio-chips--logos {
  justify-content: center !important;
  align-items: center;
  gap: 32px !important;
  margin-top: 22px;
}
.bio-chips--logos img {
  height: 56px !important;
  width: auto;
  max-width: 160px !important;
  object-fit: contain;
}
@media (max-width: 600px) {
  .bio-chips--logos { gap: 20px !important; }
  .bio-chips--logos img { height: 44px !important; max-width: 120px !important; }
}

/* ── (6) Logos institucionais: filter sem brightness invertido ──
   Antes: grayscale(100%) brightness(1.6) contrast(0.8) — no hover voltava brightness:1,
   que fazia áreas brancas da logo virarem pretas (porque a "decisão" do brightness era
   invertida). Agora: só grayscale + opacity. */
.hero-sobre__inst-logo,
.bio-chips--logos img {
  filter: grayscale(100%) !important;
  opacity: 0.55 !important;
  transition: filter 0.4s ease, opacity 0.4s ease, transform 0.3s ease !important;
}
.hero-sobre__inst-logo:hover,
.bio-chips--logos img:hover {
  filter: grayscale(0%) !important;
  opacity: 1 !important;
  transform: scale(1.05);
}

/* ── (7) Pill RQE sem destaque dourado ── */
.hero-sobre__cred--gold {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

/* ── (8) Botões hover: regras com specificidade 3 (3 classes) para
   vencer regras antigas `.wp-block-button.btn--X > .wp-block-button__link:hover`. ── */
.btn--primary:hover, a.btn--primary:hover,
.wp-block-button.btn--primary > .wp-block-button__link:hover,
.wp-block-button.btn--primary > .wp-element-button:hover {
  transform: scale(1.04) !important;
  background: var(--wp--preset--color--accent, #c19b73) !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(193, 155, 115, 0.30) !important;
}

/* Outline hover: fill dourado SÓLIDO (vence rgba(255,255,255,.06) antigo) */
.btn--outline-white:hover, a.btn--outline-white:hover,
.wp-block-button.btn--outline-white > .wp-block-button__link:hover,
.wp-block-button.btn--outline-white > .wp-element-button:hover,
.btn--ghost:hover, a.btn--ghost:hover,
.wp-block-button.btn--ghost > .wp-block-button__link:hover,
.wp-block-button.btn--ghost > .wp-element-button:hover {
  transform: scale(1.04) !important;
  background: var(--wp--preset--color--accent, #c19b73) !important;
  color: #fff !important;
  border-color: var(--wp--preset--color--accent, #c19b73) !important;
  box-shadow: 0 8px 24px rgba(193, 155, 115, 0.30) !important;
}
.btn--outline-white:hover svg,
.wp-block-button.btn--outline-white > .wp-block-button__link:hover svg,
.btn--ghost:hover svg,
.wp-block-button.btn--ghost > .wp-block-button__link:hover svg {
  color: #fff !important;
  stroke: #fff !important;
}

/* ═══ end v4.0.2 ═══ */

/* ═══════════════════════════════════════════════════════════════
   v4.0.4 — Topbar com clínica + região clicável + mobile collapsible
   ═══════════════════════════════════════════════════════════════ */
.topbar__item-text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.topbar__item-text strong {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.95);
}
.topbar__item-sep {
  opacity: 0.45;
}
.topbar__item--link {
  cursor: pointer;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.topbar__item--link:hover {
  color: var(--wp--preset--color--accent, #c19b73) !important;
}
.topbar__item--link:hover .topbar__item-text strong,
.topbar__item--link:hover svg {
  color: var(--wp--preset--color--accent, #c19b73) !important;
}

/* Toggle desktop: hidden */
.topbar__toggle {
  display: none;
  background: transparent;
  border: 0;
  color: rgba(255, 255, 255, 0.85);
  padding: 6px;
  cursor: pointer;
  transition: transform 0.25s ease;
}
.topbar__toggle:hover { color: #fff; }

@media (max-width: 900px) {
  /* Mobile: topbar comprimida — 1 linha, com toggle pra expandir */
  .topbar { padding: 4px 16px; font-size: 0.7rem; }
  .topbar__inner {
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
  }
  .topbar__group {
    flex: 1;
    overflow: hidden;
    flex-wrap: nowrap;
    gap: 0;
  }
  /* Colapsada (default): mostra APENAS o primeiro item da primeira coluna */
  .topbar[data-collapsed="true"] .topbar__group--locations .topbar__item:nth-child(n+2),
  .topbar[data-collapsed="true"] .topbar__group--contact {
    display: none !important;
  }
  /* Primeiro item visível: trunca se grande */
  .topbar[data-collapsed="true"] .topbar__group--locations .topbar__item:first-child {
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
  }
  .topbar[data-collapsed="true"] .topbar__item-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  /* Expandida: grupos viram coluna, items aparecem */
  .topbar[data-collapsed="false"] .topbar__inner {
    flex-wrap: wrap;
  }
  .topbar[data-collapsed="false"] .topbar__group {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 6px;
    overflow: visible;
  }
  .topbar[data-collapsed="false"] .topbar__item {
    min-height: 32px;
    width: 100%;
  }
  .topbar__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .topbar[data-collapsed="false"] .topbar__toggle svg {
    transform: rotate(180deg);
  }
  .topbar__item svg { width: 12px !important; height: 12px !important; }
  /* Header total mais compacto em mobile */
  .nav-main { padding: 10px 16px !important; height: auto !important; }
}

/* ═══ end v4.0.4 ═══ */

/* ═══════════════════════════════════════════════════════════════
   v4.0.3 — Fix gap main↔footer + ajustes finos foto hero
   ═══════════════════════════════════════════════════════════════ */

/* ── Eliminar block-gap entre <main> e o footer (template-part) ──
   O WP aplica 1.5rem (24px) de gap implícito por estar no wp-site-blocks.
   No final do main, esse gap aparece como espaço entre a última seção full-bleed
   e o footer navy escuro — visualmente parece um "buraco" creme. */
.wp-site-blocks > main,
.wp-site-blocks > main + footer,
.wp-site-blocks > main + .wp-block-template-part {
  margin-block: 0 !important;
}
main + footer,
main + .wp-block-template-part {
  margin-top: 0 !important;
}
main > .entry-content > *:last-child,
main > *:last-child {
  margin-bottom: 0 !important;
}

/* Quando a última seção é alignfull com bg escuro (CTA bifurcação),
   garantir que ela "encosta" no footer. */
.cta-sobre-bifurcacao,
.legal-contact-box--standalone,
.single-post-related {
  margin-bottom: 0 !important;
}

/* ═══ end v4.0.3 ═══ */

/* ═══════════════════════════════════════════════════════════════
   v4.0.5 — Topbar label "Ver mais" + Hero mobile + Áreas grafia
   ═══════════════════════════════════════════════════════════════ */

/* ── Topbar: label do toggle (visível só no mobile) ── */
.topbar__toggle-label {
  display: none;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.85);
  margin-right: 4px;
}
.topbar__toggle {
  gap: 4px;
}
@media (max-width: 900px) {
  .topbar__toggle-label { display: inline; }
  .topbar__toggle {
    padding: 4px 10px 4px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
  }
  .topbar__toggle:hover {
    background: rgba(255, 255, 255, 0.12);
  }
}

/* ── Hero mobile: foto colada no header + não tapar CRM ──
   Sobrescreve blocos antigos (linhas ~6452 e ~6617) que tinham min-height: 460px
   e aspect-ratio 4/5 (foto inflava 438px+ e gerava gap + sobreposição). */
@media (max-width: 900px) {
  .hero-home {
    padding-top: 0 !important;
    padding-bottom: 40px !important;
  }
  .hero-home__inner {
    padding-top: 0 !important;
  }
  .hero-home__columns {
    gap: 20px !important;
  }
  /* Foto: altura proporcional menor (aspect-ratio 1/1), encosta no topo */
  .hero-home__photo {
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
  }
  .hero-home__photo-img,
  .hero-home__photo .wp-block-image,
  .hero-home__photo figure.wp-block-image {
    width: 90vw !important;
    max-width: 90vw !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    margin: 0 0 0 auto !important;
    margin-right: -16px !important;
    border-radius: 50% 0 0 50% / 50% 0 0 50% !important;
    inset: auto !important;
    position: relative !important;
  }
  .hero-home__photo-img img,
  .hero-home__photo figure.wp-block-image img,
  .hero-home__photo .wp-block-image img {
    border-radius: 50% 0 0 50% / 50% 0 0 50% !important;
    object-position: center 20% !important;
  }
  /* Copy: respiro do topo da foto */
  .hero-home__copy {
    padding-top: 8px !important;
  }
}
@media (max-width: 480px) {
  .hero-home__photo-img,
  .hero-home__photo .wp-block-image,
  .hero-home__photo figure.wp-block-image {
    width: 88vw !important;
    max-width: 88vw !important;
    aspect-ratio: 1 / 1 !important;
  }
}

/* ── Áreas de Atuação: esconder bg-icon caso fique no DB; intensificar stripes ── */
.area-card__bg-icon { display: none !important; }

/* Stripes ligeiramente mais marcadas — ainda discretas */
.area-card--uro::before {
  background-image:
    radial-gradient(ellipse 420px 320px at 88% 4%, rgba(255,255,255,.08) 0%, transparent 62%),
    repeating-linear-gradient(
      135deg,
      transparent 0,
      transparent 28px,
      rgba(255,255,255,.05) 28px,
      rgba(255,255,255,.05) 29px
    ) !important;
}
.area-card--est::before {
  background-image:
    radial-gradient(ellipse 420px 320px at 88% 4%, rgba(190,150,99,.22) 0%, transparent 62%),
    repeating-linear-gradient(
      135deg,
      transparent 0,
      transparent 28px,
      rgba(190,150,99,.11) 28px,
      rgba(190,150,99,.11) 29px
    ) !important;
}

/* ── Topbar expandida: empilha em linhas (não em colunas) ──
   Sobrescreve regras v4.0.4 onde .topbar__inner ficava com flex-wrap: wrap
   e os dois groups (locations + contact) viravam colunas lado a lado. */
@media (max-width: 900px) {
  .topbar[data-collapsed="false"] .topbar__inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 6px !important;
  }
  .topbar[data-collapsed="false"] .topbar__group {
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: 4px !important;
  }
  .topbar[data-collapsed="false"] .topbar__item {
    width: 100% !important;
    min-height: 28px !important;
    padding: 4px 0 !important;
  }
  /* Toggle continua acessível no topo */
  .topbar[data-collapsed="false"] .topbar__toggle {
    align-self: flex-end;
    margin-top: -28px;
  }
}

/* ── Nav: travar em uma linha (sem wrap) ── */
.nav-main__drop > .nav-main__link,
.nav-main__link {
  white-space: nowrap;
}

/* ── Chevron desktop em "Serviços" (substitui o ▾ unicode do texto) ──
   Mobile já tem ::after que rotaciona via .is-open. */
@media (min-width: 901px) {
  .nav-main__drop > .nav-main__link::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border: solid currentColor;
    border-width: 0 1.5px 1.5px 0;
    transform: rotate(45deg);
    margin-left: 4px;
    margin-bottom: 2px;
    order: 2;
    transition: transform .25s ease;
  }
  .nav-main__drop:hover > .nav-main__link::before,
  .nav-main__drop:focus-within > .nav-main__link::before {
    transform: rotate(-135deg);
    margin-bottom: -2px;
  }
}

/* ── Mobile: paddings de seção reduzidos (80/96/72 → 40px) ──
   Alvo: groups com padding inline herdado dos patterns. Preserva padding lateral
   quando existe (selecionando só padding-top/padding-bottom via shorthand). */
@media (max-width: 900px) {
  main .wp-block-group[style*="padding-top:80px"],
  main .wp-block-group[style*="padding-top:96px"],
  main .wp-block-group[style*="padding-top:72px"],
  main .wp-block-group[style*="padding:80px"],
  main .wp-block-group[style*="padding:96px"],
  main .wp-block-group[style*="padding:72px"] {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  /* Gaps internos do block-editor entre blocos no mobile */
  main .wp-block-group + .wp-block-group,
  main .alignfull + .alignfull,
  main .alignwide + .alignwide {
    margin-block-start: 0 !important;
  }
  /* Seções com padding via classe (depoimentos/blog/faq) e #reembolso ──
     escapavam da regra inline. Padronizar todas em 40px. */
  main .depoimentos-section,
  main .blog-section,
  main .faq-section,
  main #reembolso,
  main .process-steps,
  main .cta-final,
  main .cta-sobre-bifurcacao,
  main .filosofia,
  main .filosofia--dark,
  main .legal-document,
  main .legal-contact-box,
  main .legal-contact-box--standalone,
  main .single-post,
  main .single-post-related,
  main .blog-listing-full,
  main .section:not(.section--tight),
  main .telemedicina-2col,
  main .servico-content,
  main .servico-faq {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  /* Heros de páginas internas: paddings compactos (56/40px) ─ não confundir
     com a hero da home, que tem regras próprias mais acima. */
  .page-hero,
  .hero-sobre,
  .hero-blog,
  .single-post-hero {
    padding-top: 56px !important;
    padding-bottom: 40px !important;
  }

  /* Catch-all final: qualquer seção top-level com padding inline é normalizada
     pra 40/40. Cobre tanto páginas com .entry-content quanto sem (ex. blog).
     Exclui heros, intro-strip e o template-part header/footer. */
  main > [style*="padding-top"]:not(.hero-home):not(.page-hero):not(.hero-sobre):not(.intro-strip):not(.single-post-hero):not(.site-footer):not(.site-header),
  main > [style*="padding-bottom"]:not(.hero-home):not(.page-hero):not(.hero-sobre):not(.intro-strip):not(.single-post-hero):not(.site-footer):not(.site-header),
  main > [style*="padding:"]:not(.hero-home):not(.page-hero):not(.hero-sobre):not(.intro-strip):not(.single-post-hero):not(.site-footer):not(.site-header),
  main .entry-content > [style*="padding-top"]:not(.hero-home):not(.page-hero):not(.hero-sobre):not(.intro-strip):not(.single-post-hero):not(.site-footer):not(.site-header),
  main .entry-content > [style*="padding-bottom"]:not(.hero-home):not(.page-hero):not(.hero-sobre):not(.intro-strip):not(.single-post-hero):not(.site-footer):not(.site-header),
  main .entry-content > [style*="padding:"]:not(.hero-home):not(.page-hero):not(.hero-sobre):not(.intro-strip):not(.single-post-hero):not(.site-footer):not(.site-header) {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  /* Botões da hero Sobre: full-width no mobile (empilhados) */
  .hero-sobre__actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .hero-sobre__actions .btn,
  .hero-sobre__actions .wp-block-button,
  .hero-sobre__actions .wp-block-button .wp-block-button__link,
  .hero-sobre__actions .wp-block-button .wp-element-button,
  .hero-sobre__actions > a {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   v4.0.6 — Gap hero→1ª seção + FAQ section unificada
   ═══════════════════════════════════════════════════════════════ */

/* ── Eliminar block-gap (24px) entre hero e a primeira seção logo após ──
   Cobre 3 casos: (a) hero é filho direto de main/entry-content;
   (b) hero está embrulhado num wrapper (caso comum nas internas);
   (c) hero é a primeira seção (sibling-based). */
.page-hero + *,
.hero-home + *,
.hero-sobre + *,
.hero-blog + *,
.single-post-hero + *,
.blog-listing-hero + *,
main .entry-content > *:has(> .page-hero) + *,
main .entry-content > *:has(> .hero-home) + *,
main .entry-content > *:has(> .hero-sobre) + *,
main .entry-content > *:has(> .hero-blog) + *,
main .entry-content > *:has(> .single-post-hero) + *,
main .entry-content > *:has(> .blog-listing-hero) + *,
main > *:has(> .page-hero) + *,
main > *:has(> .hero-home) + *,
main > *:has(> .hero-sobre) + * {
  margin-top: 0 !important;
}

/* ── FAQ section: padronização visual em todas as páginas ── */
.faq-section {
  background: var(--wp--preset--color--cinza-bg, #F0EDE8) !important;
  position: relative;
  overflow: hidden;
  padding-block: clamp(64px, 8vw, 96px) !important;
}
.faq-section__inner {
  padding: 0 !important;
}
@media (max-width: 900px) {
  .faq-section {
    padding-block: 40px !important;
  }
}

/* ── Hero mobile/tablet: corrigir overflow da foto entre 463-900px ──
   Regra antiga (linha 349) forçava .hero-home__photo a height: 380px no mobile,
   mas a figure interna agora é aspect-ratio 1/1 (≥720px em 800px viewport),
   gerando overflow que sobrescreve o texto e o card. */
@media (max-width: 900px) {
  .hero-home__photo {
    height: auto !important;
    min-height: 0 !important;
  }
  /* Cap da largura da foto em tablets (evita 720px de foto em 800px viewport) */
  .hero-home__photo-img,
  .hero-home__photo .wp-block-image,
  .hero-home__photo figure.wp-block-image {
    max-width: min(90vw, 380px) !important;
    width: min(90vw, 380px) !important;
  }
}
@media (max-width: 480px) {
  .hero-home__photo-img,
  .hero-home__photo .wp-block-image,
  .hero-home__photo figure.wp-block-image {
    max-width: 88vw !important;
    width: 88vw !important;
  }
}

/* ── Ícones WhatsApp/tel nos botões: usar currentColor via mask-image ──
   Antes o ícone vinha com fill #ffffff hardcoded (background-image), o que
   ficava errado em botões com texto escuro (ex.: .btn--gold em estética). */
a[href*="api.whatsapp"]:not(.wpp-float):not(.topbar__item):not(.nav-main__drop-item):not(.site-footer__social a):not([aria-label]):not(.unidade-card__phone)::before,
a[href*="wa.me"]:not(.wpp-float):not(.topbar__item):not(.nav-main__drop-item):not(.site-footer__social a):not([aria-label]):not(.unidade-card__phone)::before,
.btn--whatsapp::before,
.wp-block-button.btn--whatsapp > .wp-block-button__link::before,
.wp-block-button[class*="whatsapp"] > .wp-block-button__link::before,
.wp-block-button.btn--primary > .wp-block-button__link[href*="api.whatsapp"]::before,
.wp-block-button.btn--primary > .wp-block-button__link[href*="wa.me"]::before {
  background-image: none !important;
  background-color: currentColor !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.6 6.32A8 8 0 0 0 4 12c0 1.4.36 2.78 1.05 4L4 20l4.1-1.04A8 8 0 0 0 20 12a7.94 7.94 0 0 0-2.4-5.68zM12 18.5a6.5 6.5 0 0 1-3.32-.92l-.24-.14-2.44.62.65-2.38-.16-.25A6.5 6.5 0 1 1 12 18.5zm3.6-4.86c-.2-.1-1.18-.58-1.36-.65-.18-.07-.32-.1-.45.1-.13.2-.52.65-.64.78-.12.13-.24.15-.44.05-.2-.1-.84-.31-1.6-.99-.6-.53-1-1.18-1.12-1.38-.12-.2-.01-.31.09-.4.09-.09.2-.24.3-.36.1-.12.13-.2.2-.34.06-.13.03-.25-.02-.35-.05-.1-.45-1.08-.62-1.48-.16-.39-.33-.34-.45-.34l-.38-.01a.74.74 0 0 0-.54.25c-.18.2-.7.69-.7 1.68 0 .99.72 1.95.82 2.08.1.13 1.42 2.17 3.45 3.04.48.2.86.33 1.16.43.49.16.93.13 1.28.08.39-.06 1.18-.48 1.34-.95.16-.46.16-.86.12-.95-.05-.08-.18-.13-.38-.23z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.6 6.32A8 8 0 0 0 4 12c0 1.4.36 2.78 1.05 4L4 20l4.1-1.04A8 8 0 0 0 20 12a7.94 7.94 0 0 0-2.4-5.68zM12 18.5a6.5 6.5 0 0 1-3.32-.92l-.24-.14-2.44.62.65-2.38-.16-.25A6.5 6.5 0 1 1 12 18.5zm3.6-4.86c-.2-.1-1.18-.58-1.36-.65-.18-.07-.32-.1-.45.1-.13.2-.52.65-.64.78-.12.13-.24.15-.44.05-.2-.1-.84-.31-1.6-.99-.6-.53-1-1.18-1.12-1.38-.12-.2-.01-.31.09-.4.09-.09.2-.24.3-.36.1-.12.13-.2.2-.34.06-.13.03-.25-.02-.35-.05-.1-.45-1.08-.62-1.48-.16-.39-.33-.34-.45-.34l-.38-.01a.74.74 0 0 0-.54.25c-.18.2-.7.69-.7 1.68 0 .99.72 1.95.82 2.08.1.13 1.42 2.17 3.45 3.04.48.2.86.33 1.16.43.49.16.93.13 1.28.08.39-.06 1.18-.48 1.34-.95.16-.46.16-.86.12-.95-.05-.08-.18-.13-.38-.23z'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}

/* Ícone telefone (tel:) nos botões — mesma lógica */
a[href^="tel:"]:not(.wpp-float):not(.topbar__item):not(.unidade-card__phone)::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 6px;
  flex-shrink: 0;
  vertical-align: middle;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}

/* SVG inline em botões: forçar herdar cor do texto (caso ainda exista) */
.btn svg, .btn--gold svg, .btn--primary svg, .btn--outline-white svg, .btn--ghost svg,
.wp-block-button .wp-block-button__link svg,
.wp-block-button .wp-element-button svg {
  color: currentColor !important;
  stroke: currentColor !important;
}
.btn svg [fill]:not([fill="none"]),
.btn--gold svg [fill]:not([fill="none"]),
.wp-block-button .wp-block-button__link svg [fill]:not([fill="none"]) {
  fill: currentColor !important;
}

/* ── Trust-item "Rembolso do" (texto em vez de ✓): tamanho compacto ──
   line-height alta pra ocupar a mesma altura do value padrão (42px), evitando
   que o label fique visualmente mais perto que nos outros items. */
.hero-home__trust-value--text,
.stat-item__value--text {
  font-size: 1rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 2.64 !important;
  white-space: nowrap;
  display: flex !important;
  align-items: flex-end !important;
}

/* ═══ end v4.0.6 ═══ */

/* Timeline formação: ano embaixo da instituição */
.bio-timeline__yr-date {
  display: block;
  font-weight: 400;
  font-size: .72rem;
  color: var(--ink-3);
  letter-spacing: 0;
  margin-top: 2px;
}

/* Hero Sobre — foto nativa (wp:image) segue o radius do design + altura do card */
.hero-sobre__photo.wp-block-image { margin: 0; }
.hero-sobre__photo.wp-block-image img,
figure.hero-sobre__photo img {
  border-radius: var(--r2, 20px);
  width: 100%;
  height: 540px;
  object-fit: cover;
  display: block;
}
@media (max-width: 800px) {
  .hero-sobre__photo.wp-block-image img,
  figure.hero-sobre__photo img { height: 320px; }
}

/* Card de unidade: fotos extras (Gutenberg + lightbox nativo) */
.unidade-card__extra { margin-top: 18px; }
.unidade-card__extra .unidade-fotos {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0;
}
.unidade-card__extra .unidade-fotos__item { margin: 0; }
.unidade-card__extra .unidade-fotos__item img,
.unidade-card__extra .unidade-fotos figure img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: var(--r2, 20px);
  display: block;
  cursor: zoom-in;
  transition: transform .3s ease, box-shadow .3s ease;
}
.unidade-card__extra .unidade-fotos__item img:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 24px rgba(17,37,52,.15);
}
@media (max-width: 600px) {
  .unidade-card__extra .unidade-fotos { grid-template-columns: 1fr; gap: 12px; }
  .unidade-card__extra .unidade-fotos__item img { height: 200px; }
}

/* Card de unidade único: bento grid (desktop + tablet) */
.unidades-grid--single { display: block !important; }
.unidade-card--single {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  grid-template-rows: auto auto;
  grid-template-areas:
    "body  map"
    "body  photos";
  gap: 20px;
  align-items: stretch;
}
.unidade-card--single .unidade-card__map { grid-area: map; height: 100% !important; min-height: 280px; max-height: 320px; border-radius: var(--r2, 20px); }
.unidade-card--single .unidade-card__body { grid-area: body; margin: 0; }
.unidade-card--single .unidade-card__extra { grid-area: photos; margin: 0; }
.unidade-card--single .unidade-card__extra .unidade-fotos { grid-template-columns: 1fr 1fr; gap: 14px; }
.unidade-card--single .unidade-card__extra .unidade-fotos__item img { height: 200px; }

/* Tablet (mantém bento, ajusta alturas) */
@media (max-width: 1000px) and (min-width: 601px) {
  .unidade-card--single { grid-template-columns: 1fr 1fr; gap: 16px; }
  .unidade-card--single .unidade-card__map { min-height: 220px; max-height: 260px; }
  .unidade-card--single .unidade-card__extra .unidade-fotos__item img { height: 150px; }
}

/* Mobile: empilha tudo (map → body → fotos) */
@media (max-width: 600px) {
  .unidade-card--single {
    display: flex;
    flex-direction: column;
    grid-template-areas: none;
    gap: 0;
  }
  .unidade-card--single .unidade-card__map { order: 1; height: 220px !important; min-height: 220px; }
  .unidade-card--single .unidade-card__body { order: 2; }
  .unidade-card--single .unidade-card__extra { order: 3; }
  .unidade-card--single .unidade-card__extra .unidade-fotos { grid-template-columns: 1fr; }
}

/* Card único: full width + padding interno (mapa e fotos não colam nas bordas) */
.unidades-grid--single { max-width: none !important; }
.unidade-card--single {
  width: 100%;
  max-width: none;
  padding: 32px;
  box-sizing: border-box;
}
.unidade-card--single .unidade-card__map,
.unidade-card--single iframe[title^="Mapa"] {
  width: 100% !important;
  border: 0;
}
.unidade-card--single .unidade-card__body { padding: 0 !important; }
@media (max-width: 1000px) and (min-width: 601px) {
  .unidade-card--single { padding: 24px; }
}
@media (max-width: 600px) {
  .unidade-card--single { padding: 20px; }
}

/* Card único = SEÇÃO (sem invólucro de card) — Sprint */
.unidades-grid--single {
  display: block !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
.unidade-card--single {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
  display: grid !important;
  grid-template-columns: 1.05fr 1fr;
  grid-template-rows: auto 1fr;
  grid-template-areas:
    "body  map"
    "body  photos";
  column-gap: 40px;
  row-gap: 16px;
  align-items: start;
}
.unidade-card--single .unidade-card__body {
  grid-area: body;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}
.unidade-card--single .unidade-card__map,
.unidade-card--single iframe[title^="Mapa"] {
  grid-area: map;
  width: 100% !important;
  height: 320px !important;
  min-height: 320px !important;
  border: 0 !important;
  border-radius: var(--r2, 20px) !important;
  display: block;
}
.unidade-card--single .unidade-card__extra {
  grid-area: photos;
  margin: 0 !important;
}
.unidade-card--single .unidade-card__extra .unidade-fotos {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 0;
}
.unidade-card--single .unidade-card__extra .unidade-fotos__item img {
  height: 200px;
  border-radius: var(--r2, 20px);
}

@media (max-width: 1000px) and (min-width: 601px) {
  .unidade-card--single { column-gap: 28px; grid-template-columns: 1fr 1fr; }
  .unidade-card--single .unidade-card__map { height: 240px !important; min-height: 240px !important; }
  .unidade-card--single .unidade-card__extra .unidade-fotos__item img { height: 150px; }
}
@media (max-width: 600px) {
  .unidade-card--single {
    display: flex !important;
    flex-direction: column;
    grid-template-areas: none;
    gap: 16px;
  }
  .unidade-card--single .unidade-card__map { order: 1; height: 220px !important; min-height: 220px !important; }
  .unidade-card--single .unidade-card__body { order: 2; }
  .unidade-card--single .unidade-card__extra { order: 3; }
  .unidade-card--single .unidade-card__extra .unidade-fotos { grid-template-columns: 1fr; }
}

/* === Card único: seção em 2 colunas (info | bento de mapa+fotos) === */
/* Reset bento — sobrescreve regras anteriores do --single */
.unidades-grid--single { display: block !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
.unidade-card--single {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) 1.4fr;
  grid-template-areas:
    "body  map"
    "body  photos";
  grid-template-rows: auto auto;
  column-gap: 32px;
  row-gap: 16px;
  align-items: start;
}
.unidade-card--single .unidade-card__body {
  grid-area: body; background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important;
}
.unidade-card--single .unidade-card__map,
.unidade-card--single iframe[title^="Mapa"] {
  grid-area: map; width: 100% !important; height: 320px !important; min-height: 320px !important;
  border: 0 !important; border-radius: var(--r2, 20px) !important; display: block;
}
.unidade-card--single .unidade-card__extra { grid-area: photos; margin: 0 !important; }
.unidade-card--single .unidade-card__extra .unidade-fotos { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; }
.unidade-card--single .unidade-card__extra .unidade-fotos__item { margin: 0; }
.unidade-card--single .unidade-card__extra .unidade-fotos__item img {
  width: 100%; height: 220px; object-fit: cover; border-radius: var(--r2, 20px); display: block;
}

@media (max-width: 1000px) and (min-width: 701px) {
  .unidade-card--single { grid-template-columns: 1fr 1.2fr; column-gap: 24px; }
  .unidade-card--single .unidade-card__map { height: 260px !important; min-height: 260px !important; }
  .unidade-card--single .unidade-card__extra .unidade-fotos__item img { height: 170px; }
}
@media (max-width: 700px) {
  .unidade-card--single {
    display: flex !important; flex-direction: column; grid-template-areas: none; gap: 18px;
  }
  .unidade-card--single .unidade-card__body { order: 1; }
  .unidade-card--single .unidade-card__map { order: 2; height: 240px !important; min-height: 240px !important; }
  .unidade-card--single .unidade-card__extra { order: 3; }
  .unidade-card--single .unidade-card__extra .unidade-fotos { grid-template-columns: 1fr 1fr; gap: 12px; }
  .unidade-card--single .unidade-card__extra .unidade-fotos__item img { height: 150px; }
}
@media (max-width: 480px) {
  .unidade-card--single .unidade-card__extra .unidade-fotos { grid-template-columns: 1fr; }
  .unidade-card--single .unidade-card__extra .unidade-fotos__item img { height: 200px; }
}

/* === Override de especificidade: bento single supera .wp-block-columns.unidades-grid === */
.wp-block-columns.unidades-grid--single,
.wp-block-columns.unidades-grid.unidades-grid--single {
  display: block !important;
  grid-template-columns: none !important;
  max-width: 100% !important;
  gap: 0 !important;
}

/* === Single: destaque coluna info + swap mapa/fotos === */
.unidade-card--single {
  grid-template-areas:
    "body  photos"
    "body  map" !important;
}
.unidade-card--single .unidade-card__body {
  background: #fff !important;
  padding: 28px !important;
  border-radius: var(--r2, 20px) !important;
  box-shadow: 0 8px 24px rgba(17,37,52,.06);
  border: 1px solid var(--wp--preset--color--cinza-linha, #E8E4DC);
}
@media (max-width: 700px) {
  .unidade-card--single { grid-template-areas: none !important; }
  .unidade-card--single .unidade-card__extra { order: 2 !important; }
  .unidade-card--single .unidade-card__map { order: 3 !important; }
}

/* Single: card info acompanha altura da coluna media + ajustes de tamanho */
.unidade-card--single { align-items: stretch !important; }
.unidade-card--single .unidade-card__body { height: 100%; box-sizing: border-box; }
.unidade-card--single .unidade-card__map,
.unidade-card--single iframe[title^="Mapa"] { height: 240px !important; min-height: 240px !important; }
.unidade-card--single .unidade-card__extra .unidade-fotos__item img { height: 280px; }
@media (max-width: 1000px) and (min-width: 701px) {
  .unidade-card--single .unidade-card__map { height: 200px !important; min-height: 200px !important; }
  .unidade-card--single .unidade-card__extra .unidade-fotos__item img { height: 220px; }
}

/* Fix sticky mobile: top calibrado p/ topbar 1-linha atual (~53px) */
@media (max-width: 900px) {
  header.wp-block-template-part { top: -53px !important; }
}

/* ═══════════════════════════════════════════════
   DEPOIMENTOS — CARROSSEL (bloco dr-robson/testimonials-carousel)
   ═══════════════════════════════════════════════ */
.tcar .tcar__inner { padding-block: 0; }
.tcar__agg {
  margin-top: 14px;
  font-weight: 600;
  color: var(--wp--preset--color--secondary, #0A1F38);
  font-size: .95rem;
}

/* Marquee — loop contínuo, vários cards visíveis */
.tcar__marquee {
  overflow: hidden;
  width: 100%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.tcar__track {
  display: flex;
  width: max-content;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  animation: tcar-marquee 24s linear infinite; /* duração real vem inline do render */
  will-change: transform;
}
.tcar__marquee:hover .tcar__track,
.tcar.is-paused .tcar__track { animation-play-state: paused; }
.tcar__slide {
  flex: 0 0 auto;
  width: clamp(280px, 30vw, 360px);
  margin-right: 24px;
  box-sizing: border-box;
}
/* margin-right uniforme em todos os cards → -50% alinha exatamente 1 conjunto = loop sem costura */
@keyframes tcar-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* Card */
.tcar-card {
  background: var(--white, #fff);
  border: 1px solid var(--line, #E6E1DA);
  border-radius: var(--r3, 28px);
  box-shadow: var(--s2);
  padding: clamp(28px, 4vw, 44px);
  margin: 0;
  text-align: center;
  position: relative;
}
.tcar-card::before {
  content: "\201C";
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 4.5rem;
  line-height: .6;
  color: var(--gold, #C9A84C);
  opacity: .35;
  margin-bottom: 8px;
}
.tcar-card__quote {
  margin: 0 0 22px;
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  line-height: 1.6;
  color: var(--ink, #2A2620);
  font-style: italic;
  text-wrap: pretty;
}
.tcar-card__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 14px;
}
.tcar-card__author {
  font-size: .9rem;
  font-weight: 600;
  color: var(--wp--preset--color--accent, #C0621A);
}

/* Estrelas */
.tcar-stars {
  display: inline-flex;
  gap: 3px;
  margin-bottom: 16px;
}
.tcar-star { width: 20px; height: 20px; fill: var(--line, #E0DAD0); }
.tcar-star--on { fill: var(--gold, #C9A84C); }

/* Selo de fonte */
.tcar-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .02em;
  padding: 4px 10px;
  border-radius: var(--r-pill, 999px);
  border: 1px solid transparent;
}
.tcar-badge svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.tcar-badge--google { color: #1a73e8; background: rgba(26,115,232,.08); border-color: rgba(26,115,232,.2); }
.tcar-badge--doctoralia { color: #00b0a8; background: rgba(0,176,168,.08); border-color: rgba(0,176,168,.22); }

/* Controles inferiores: play/pause */
.tcar__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 28px;
}
.tcar__playpause {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid var(--line, #E6E1DA);
  background: transparent;
  color: var(--wp--preset--color--secondary, #0A1F38);
  cursor: pointer;
  transition: background var(--ease);
}
.tcar__playpause:hover { background: rgba(0,0,0,.05); }
.tcar__playpause:focus-visible { outline: 2px solid var(--gold, #C9A84C); outline-offset: 2px; }
.tcar__playpause svg { width: 16px; height: 16px; fill: currentColor; }
.tcar__playpause .tcar__icon-play { display: none; }
.tcar.is-paused .tcar__playpause .tcar__icon-play { display: block; }
.tcar.is-paused .tcar__playpause .tcar__icon-pause { display: none; }

/* Widget Doctoralia */
.tcar__doctoralia {
  max-width: 860px;
  margin: 48px auto 0;
  padding-top: 36px;
  border-top: 1px solid var(--line, #E6E1DA);
  text-align: center;
}
.tcar__doctoralia-title {
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent, #c19b73);
  margin: 0 0 16px;
}
.tcar__doctoralia-ph {
  font-size: .9rem;
  color: var(--ink-2, #6b6258);
  background: rgba(0,0,0,.03);
  border: 1px dashed var(--line, #E6E1DA);
  border-radius: var(--r2, 20px);
  padding: 20px;
}
.tcar__doctoralia-embed { display: flex; justify-content: center; }

/* Layout lado a lado */
.tcar__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 992px) {
  .tcar__body {
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
  }
  .tcar__col-left {
    flex: 1;
    min-width: 0;
  }
  .tcar__col-right {
    flex: 0 0 auto;
    width: 280px;
  }
  .tcar__doctoralia.tcar__col-right {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    border-left: none;
    padding-left: 0;
  }
}

/* Cards mais largos no mobile (1 visível + peek) */
@media (max-width: 600px) {
  .tcar__slide { width: 82vw; margin-right: 16px; }
}

/* Reduce motion: sem marquee — depoimentos estáticos em grade */
@media (prefers-reduced-motion: reduce) {
  .tcar__track {
    animation: none;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
  }
  .tcar__slide { margin-right: 0; }
  .tcar__slide[aria-hidden="true"] { display: none; }
  .tcar__marquee { -webkit-mask-image: none; mask-image: none; }
  .tcar__playpause { display: none; }
}

/* ═══════════════════════════════════════════════
   BIO GALLERY — estado com imagem (bloco dr-robson/bio-gallery)
   ═══════════════════════════════════════════════ */
.bio-gallery__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bio-gallery__item--filled { background: var(--bg-dark, #0A1F38); }
.bio-gallery__caption--over {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  margin: 0;
  padding: 16px 16px 14px;
  background: linear-gradient(180deg, rgba(10,31,56,0) 0%, rgba(10,31,56,0.82) 100%);
  color: #fff;
  text-align: left;
}

/* ═══════════════════════════════════════════════
   REEMBOLSO — box de orientação (bloco dr-robson/reembolso-process)
   ═══════════════════════════════════════════════ */
.process__note {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-top: 28px;
  padding: 18px 20px;
  background: rgba(200,98,26,.06);
  border: 1px solid rgba(200,98,26,.16);
  border-left: 3px solid var(--wp--preset--color--accent, #C8621A);
  border-radius: var(--r2, 20px);
}
.process__note-icon {
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--wp--preset--color--accent, #C8621A);
}
.process__note-icon svg { width: 22px; height: 22px; display: block; }
.process__note-text {
  margin: 0;
  font-size: .92rem;
  line-height: 1.6;
  color: var(--wp--preset--color--texto, #2A2A2A);
}

/* Seção de Agendamento em 2 Colunas */
.agendamento-inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.agendamento-info {
  text-align: center;
}
.agendamento-info .section-label {
  justify-content: center;
  margin-bottom: 16px;
}
.agendamento-widget-col {
  width: 100%;
  display: flex;
  justify-content: center;
}
.agendamento-widget-wrap {
  width: 100%;
  box-sizing: border-box;
}
/* Só reserva altura quando o widget da Doctoralia realmente renderizou.
   Antes o min-height era incondicional: se o script de terceiro não carrega
   (adblocker, rede, CSP), sobrava um buraco de 580px com um link solto no topo
   — o "gap entre os blocos" que aparece só para parte dos visitantes. */
.agendamento-widget-wrap:has(iframe) {
  min-height: 580px;
}
/* Fallback quando o widget não carrega: o <a> que a Doctoralia substituiria
   vira um botão de verdade, em vez de link cru perdido no vazio. */
.agendamento-widget-wrap:not(:has(iframe)) .zl-url {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px; /* tap target */
  padding: 14px 28px;
  border-radius: 999px;
  background: var(--wp--preset--color--primary, #c8a06a);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
}

@media (min-width: 992px) {
  .agendamento-inner {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 64px;
  }
  .agendamento-info {
    flex: 1;
    max-width: 560px;
    text-align: left;
  }
  .agendamento-info .section-label {
    justify-content: flex-start;
  }
  .agendamento-widget-col {
    flex: 0 0 auto;
    width: 480px;
  }
}
