/* Tema "Céu noturno" — Harmonia e Cura Design System.
   Carregado depois de style.css e artigo.css, só nas páginas Astro (as landing pages não o usam). */
:root {
  --night: #1F1B3A; --night-deep: #14112A; --violet: #6C5BA8; --violet-strong: #5B4A99;
  --mist: #C9BEE6; --mist-soft: #EEE9F7; --gold: #D9B26F; --gold-hover: #E2C08A; --gold-text: #8A6630;
  --surface: #FAF7F2; --surface-raised: #FFFFFF; --ink: #26223A; --ink-muted: #5E5873;
  --on-night: #F4EFE6; --on-night-muted: #C9BEE6; --on-gold: #1F1B3A; --line: #E4DDEC; --whatsapp: #1F7A4C;
  --radius-md: 12px; --radius-lg: 20px; --radius-pill: 999px;
  --shadow-card: 0 1px 2px rgba(31,27,58,.06), 0 10px 30px rgba(31,27,58,.08);

  --cor-fundo: var(--surface); --cor-secao: var(--mist-soft); --cor-primaria: var(--violet);
  --cor-primaria-hover: var(--violet-strong); --cor-dourado: var(--gold-text); --cor-texto: var(--ink);
  --cor-texto-suave: var(--ink-muted); --cor-branco: #FFFFFF; --cor-borda: var(--line);
  --fonte-titulo: 'Fraunces', Georgia, serif; --fonte-corpo: 'DM Sans', system-ui, sans-serif;
}
body { font-size: 1.0625rem; }
h1, h2, h3, h4 { font-weight: 400; letter-spacing: -0.01em; }
h3, h4 { font-weight: 500; }
a { color: var(--violet); }
::selection { background: var(--mist); color: var(--ink); }
:focus-visible { outline: 2px solid var(--violet); outline-offset: 2px; }

/* Botões */
.btn-primario, .btn-secundario, .btn-whatsapp { border-radius: var(--radius-pill); font-weight: 500; }
.btn-primario { background: var(--gold); color: var(--on-gold); }
.btn-primario:hover { background: var(--gold-hover); color: var(--on-gold); }
.btn-secundario { color: var(--violet); border: 1.5px solid var(--violet); }
.btn-secundario:hover { background: var(--violet); color: #fff; }
.btn-whatsapp { background: var(--whatsapp); color: #fff; }
.btn-whatsapp:hover { background: #18663F; }

/* Cabeçalho e logótipo */
.site-header { background: rgba(250,247,242,.92); backdrop-filter: saturate(1.2) blur(8px); border-bottom: 1px solid var(--line); }
.logo { display: flex; align-items: center; gap: .6rem; }
.logo-marca { width: 42px; height: 42px; flex-shrink: 0; }
.logo-nome { color: var(--ink); font-weight: 400; }
.logo-sub { color: var(--gold-text); letter-spacing: .14em; }
.nav-principal a { color: var(--ink); }
.nav-principal a:hover, .nav-principal a[aria-current="page"] { color: var(--violet); }
.dropdown-menu { border-radius: var(--radius-md); border: 1px solid var(--line); box-shadow: var(--shadow-card); }

/* Céu noturno: heróis, topos interiores, CTAs, barra de credibilidade */
.hero, .hero-interior, .blog-hero, .secao-cta, .obrigado-hero {
  background: var(--night) radial-gradient(circle at 85% 20%, rgba(108,91,168,.45) 0, transparent 38%), radial-gradient(circle at 10% 90%, rgba(217,178,111,.16) 0, transparent 32%);
  background-color: var(--night); animation: none; color: var(--on-night-muted);
}
.hero::before { background: radial-gradient(circle, rgba(156,141,214,.30) 0%, rgba(156,141,214,.08) 45%, transparent 70%); }
.hero::after { background: radial-gradient(circle, rgba(217,178,111,.22) 0%, rgba(217,178,111,.06) 50%, transparent 70%); }
.hero-borboleta { fill: var(--mist); opacity: .07; }
.hero h1, .hero h2, .hero h3, .hero-interior h1, .hero-interior h2, .blog-hero h1, .secao-cta h2, .obrigado-hero h1 { color: var(--on-night); }
.hero p, .hero li, .hero-subtitulo, .hero-interior p, .hero-interior .subtitulo, .blog-hero p, .secao-cta p, .obrigado-hero p { color: var(--on-night-muted); }
.hero h1 em, .hero h2 em, .hero-interior h1 em, .secao-cta h2 em, .blog-hero h1 em { color: var(--gold); }
.hero .kicker, .hero-interior .kicker, .blog-hero .kicker, .secao-cta .kicker { color: var(--gold); }
.hero a:not([class*="btn"]), .hero-interior a:not([class*="btn"]), .secao-cta a:not([class*="btn"]) { color: var(--gold); }
.hero .btn-secundario, .hero-interior .btn-secundario, .secao-cta .btn-secundario { color: var(--on-night); border-color: var(--on-night-muted); }
.hero .btn-secundario:hover, .hero-interior .btn-secundario:hover, .secao-cta .btn-secundario:hover { background: var(--on-night); color: var(--night); }
.secao-cta .btn-primario { background: var(--gold); color: var(--on-gold); }
.secao-cta .nota-cta { color: var(--on-night-muted); }
.hero-imagem::before { background: radial-gradient(circle at 40% 40%, #3A3366 0%, #2C2752 60%, #1F1B3A 100%); }
.hero-foto::before { background: #3A3366; }
.barra-credibilidade { background: var(--night-deep); color: var(--on-night-muted); }
.barra-credibilidade .credencial strong { color: var(--gold); }

/* Secções e cartões */
.secao-titulo h2, h2 { color: var(--ink); }
.servico-card, .beneficio-card, .tipo-card, .diferencial, .inclui-item, .situacao-item, .card-certificacao, .testemunho, .stat-item, .principio, .passo-4 { border-radius: var(--radius-md); border-color: var(--line); }
.servico-card:hover { box-shadow: var(--shadow-card); }
.servico-card a { color: var(--violet); }
.passo-numero, .passo-4-num, .inclui-num { color: var(--gold); opacity: 1; }
.faq-item { border-color: var(--line); }
.faq-pergunta { font-family: var(--fonte-titulo); font-weight: 500; color: var(--ink); }
.faq-pergunta:hover { color: var(--violet); }
.faq-seta { color: var(--gold-text); }
.tabela-comparativa th { background: var(--night); color: var(--on-night); }
.form-contacto textarea, .form-contacto input { border-radius: var(--radius-md); border-color: var(--line); }

/* Rodapé */
.site-footer { background: var(--night); color: var(--on-night-muted); }
.footer-logo { display: flex; align-items: center; gap: .6rem; margin-bottom: .75rem; }
.footer-logo .logo-marca { width: 44px; height: 44px; }
.footer-logo-nome { color: var(--on-night); margin: 0; font-weight: 400; }
.footer-titulo-col { color: var(--gold); }
.footer-links a, .footer-contactos a { color: var(--on-night); }
.footer-links a:hover, .footer-contactos a:hover { color: var(--gold); }
.footer-credencial { color: var(--gold); }
.footer-sessoes, .footer-descricao { color: var(--on-night-muted); }
.footer-bottom { background: var(--night-deep); border-top: 0; color: var(--on-night-muted); }
.footer-bottom a { color: var(--on-night-muted); }
.footer-bottom a:hover { color: var(--gold); }

/* Blog: índice */
.blog-card { border-radius: var(--radius-md) !important; border-color: var(--line) !important; }
.blog-card:hover { box-shadow: var(--shadow-card) !important; }
.blog-card__badge { background: var(--night) !important; color: var(--on-night) !important; border-radius: var(--radius-pill) !important; }
.blog-card__titulo { font-weight: 500 !important; }
.blog-card__meta { color: var(--ink-muted) !important; }
.blog-card__link { color: var(--violet) !important; }

/* Artigos */
.artigo-hero, .artigo-hero--img {
  background-color: var(--night);
  background-image: linear-gradient(180deg, rgba(31,27,58,.86) 0%, rgba(31,27,58,.78) 55%, rgba(31,27,58,.92) 100%), var(--hero-img, none);
  background-size: cover; background-position: center;
}
.artigo-hero h1 { color: var(--on-night); font-weight: 400; }
.artigo-intro, .artigo-meta, .artigo-breadcrumb, .artigo-breadcrumb a { color: var(--on-night-muted); }
.artigo-breadcrumb a:hover { color: var(--gold); }
.artigo-breadcrumb span { color: rgba(201,190,230,.5); }
.artigo-meta { border-top-color: rgba(201,190,230,.22); }
.artigo-meta__autor-nome, .artigo-meta a { color: var(--on-night); }
.artigo-categoria { background: var(--gold); color: var(--on-gold); font-weight: 500; }
.artigo-corpo h2 { font-weight: 400; }
.artigo-corpo a { color: var(--violet); }
.artigo-destaque { border-left-color: var(--gold); border-radius: 0; background: var(--mist-soft); }
.artigo-resumo, .artigo-indice { border-radius: var(--radius-md); border-color: var(--line); }
.artigo-resumo { background: var(--mist-soft); }
.artigo-resumo li::marker { color: var(--gold-text); }
.artigo-corpo th { background: var(--night); color: var(--on-night); }
.artigo-cta { background: var(--night) radial-gradient(circle at 90% 10%, rgba(108,91,168,.5) 0, transparent 45%); border-radius: var(--radius-lg); }
.artigo-cta h3 { color: var(--on-night); font-weight: 400; }
.artigo-cta p { color: var(--on-night-muted); }
.artigo-cta .nota { color: rgba(201,190,230,.75); }
.artigo-autora { background: var(--surface-raised); border-color: var(--line); }
.artigo-autora .artigo-autora__nome { font-weight: 500; }
.relacionado-card { background: var(--surface-raised); border-color: var(--line); border-radius: var(--radius-md); }
.relacionado-card:hover { box-shadow: var(--shadow-card); }
.relacionado-card__cat { color: var(--gold-text); }
.relacionado-card__titulo { font-weight: 500; }
.relacionado-card:hover .relacionado-card__titulo { color: var(--violet); }
.leitura-progress { background: var(--gold) !important; }

/* Correções de contraste */
a.btn-whatsapp, .artigo-corpo a.btn-whatsapp, a.btn-whatsapp:hover, .artigo-corpo a.btn-whatsapp:hover { color: #fff; text-decoration: none; }
.artigo-corpo a.btn-primario, .artigo-corpo a.btn-primario:hover { color: var(--on-gold); text-decoration: none; }
.hero [style*="color: var(--cor-texto"], .hero-interior [style*="color: var(--cor-texto"], .secao-cta [style*="color: var(--cor-texto"],
.blog-hero [style*="color: var(--cor-texto"], .artigo-cta [style*="color: var(--cor-texto"] { color: var(--on-night-muted) !important; }
.hero :not(a)[style*="color: var(--cor-primaria"], .hero-interior :not(a)[style*="color: var(--cor-primaria"], .secao-cta :not(a)[style*="color: var(--cor-primaria"] { color: var(--gold) !important; }
.secao-cta a.btn-primario[style], .hero a.btn-primario[style], .hero-interior a.btn-primario[style] { background: var(--gold) !important; color: var(--on-gold) !important; }
.secao-cta a.btn-primario[style]:hover, .hero a.btn-primario[style]:hover { background: var(--gold-hover) !important; }
.hero span[style*="background: var(--cor-primaria)"] { background: rgba(201,190,230,.14) !important; color: var(--on-night) !important; border: 1px solid rgba(201,190,230,.3); }

/* ── Selo da terapeuta sobre a foto do hero (páginas de serviço) ── */
.hero-foto .selo-terapeuta {
  position: absolute; z-index: 2; left: 20px; bottom: -22px;
  display: flex; align-items: center; gap: 12px;
  padding: 8px 18px 8px 8px; border-radius: var(--radius-pill);
  background: rgba(20,17,42,.92); border: 1px solid rgba(217,178,111,.45);
  box-shadow: 0 10px 30px rgba(20,17,42,.35);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.hero-foto .selo-terapeuta img {
  width: 52px; height: 52px; max-height: none; border-radius: 50%;
  object-fit: cover; box-shadow: 0 0 0 2px var(--gold); filter: none;
}
.selo-terapeuta-texto { display: flex; flex-direction: column; line-height: 1.25; }
.selo-terapeuta-texto strong { font-family: var(--fonte-titulo); font-weight: 500; font-size: 1rem; color: var(--on-night); }
.selo-terapeuta-texto span { font-size: .78rem; color: var(--on-night-muted); letter-spacing: .01em; }
@media (max-width: 768px) {
  .hero-foto { margin-bottom: 22px; }
  .hero-foto .selo-terapeuta { left: 12px; bottom: -18px; padding: 6px 14px 6px 6px; gap: 10px; }
  .hero-foto .selo-terapeuta img { width: 42px; height: 42px; }
  .selo-terapeuta-texto strong { font-size: .9rem; }
  .selo-terapeuta-texto span { font-size: .72rem; }
}

/* Variante +25% (em teste na Mesa Radiónica) */
.hero-foto .selo-terapeuta--grande { left: 24px; bottom: -28px; gap: 15px; padding: 10px 24px 10px 10px; }
.hero-foto .selo-terapeuta--grande img { width: 65px; height: 65px; }
.selo-terapeuta--grande .selo-terapeuta-texto strong { font-size: 1.25rem; }
.selo-terapeuta--grande .selo-terapeuta-texto span { font-size: .975rem; }
@media (max-width: 768px) {
  .hero-foto:has(.selo-terapeuta--grande) { margin-bottom: 26px; }
  .hero-foto .selo-terapeuta--grande { left: 12px; bottom: -22px; gap: 11px; padding: 7px 16px 7px 7px; }
  .hero-foto .selo-terapeuta--grande img { width: 48px; height: 48px; }
  .selo-terapeuta--grande .selo-terapeuta-texto strong { font-size: 1rem; }
  .selo-terapeuta--grande .selo-terapeuta-texto span { font-size: .74rem; white-space: nowrap; }
}
@media (max-width: 380px) {
  .hero-foto .selo-terapeuta--grande { gap: 9px; padding: 6px 13px 6px 6px; }
  .hero-foto .selo-terapeuta--grande img { width: 44px; height: 44px; }
  .selo-terapeuta--grande .selo-terapeuta-texto strong { font-size: .95rem; }
  .selo-terapeuta--grande .selo-terapeuta-texto span { font-size: .68rem; }
}

/* ── Selo de avaliação Google sobre a foto do hero ── */
.hero-foto .selo-google{position:absolute;z-index:2;right:20px;top:-22px;display:flex;align-items:center;gap:12px;padding:9px 20px 9px 9px;border-radius:999px;background:rgba(20,17,42,.92);border:1px solid rgba(217,178,111,.45);box-shadow:0 10px 30px rgba(20,17,42,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero-foto .selo-google-g{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;flex-shrink:0}
.hero-foto .selo-google-texto{display:flex;flex-direction:column;line-height:1.2;text-align:left}
.hero-foto .selo-google-estrelas{color:#D9B26F;font-size:1.05rem;letter-spacing:.08em}
.hero-foto .selo-google-texto > span:last-child{font-size:.9rem;color:#C9BEE6}
.hero-foto .selo-google-texto strong{color:#F4EFE6;font-weight:600}
@media (max-width:768px){.hero-foto .selo-google{right:12px;top:-18px;gap:9px;padding:6px 14px 6px 6px}.hero-foto .selo-google-g{width:36px;height:36px}.hero-foto .selo-google-g svg{width:18px;height:18px}.hero-foto .selo-google-estrelas{font-size:.9rem}.hero-foto .selo-google-texto > span:last-child{font-size:.78rem}}
