/* =====================================================================
   GRAVIDÍSSIMAS — Folha de estilo principal
   Identidade Visual V.3 (2026): elegante, acolhedora, sem infantilização.
   Paleta oficial:
     Creme #FEF6E5 · Rosa suave #FCE0D5 · Rosa profundo #C97B70
     Rosa secundário #E8B9AE · Tinta quente #3A2E2A
   ===================================================================== */

:root {
  /* Cores da marca — base branca, bege como detalhe */
  --creme:        #FFFFFF;   /* fundo principal (branco) */
  --creme-2:      #FBF3E9;   /* bege suave para seções de detalhe */
  --bege:         #FBEFDD;   /* bege de destaque (pills, ícones) */
  --rosa-suave:   #FCE0D5;
  --rosa-sec:     #E8B9AE;
  --rosa-prof:    #C97B70;
  --rosa-prof-esc:#B0655B;
  --tinta:        #3A2E2A;
  --tinta-2:      #5A4B45;
  --texto:        #4A3F3A;
  --texto-claro:  #7A6C65;
  --branco:       #FFFFFF;
  --borda:        #EFE2D5;

  /* Sombras suaves */
  --sombra:       0 6px 24px rgba(58, 46, 42, 0.07);
  --sombra-md:    0 10px 34px rgba(58, 46, 42, 0.11);
  --sombra-forte: 0 16px 44px rgba(58, 46, 42, 0.16);

  /* Tipografia */
  --fonte-titulo: 'Fraunces', Georgia, 'Times New Roman', serif;
  --fonte-corpo:  'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --raio:    18px;
  --raio-sm: 12px;
  --raio-pill: 999px;
  --transicao: all .28s cubic-bezier(.4,.16,.2,1);
  --largura: 1160px;
}

/* ===== Reset ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--fonte-corpo);
  font-size: 1.0625rem;
  line-height: 1.75;
  color: var(--texto);
  background: var(--creme);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 {
  font-family: var(--fonte-titulo);
  color: var(--tinta);
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.01em;
}

a { color: var(--rosa-prof-esc); text-decoration: none; transition: var(--transicao); }
a:hover { color: var(--tinta); }

strong { color: var(--tinta); font-weight: 700; }

.container { max-width: var(--largura); margin: 0 auto; padding: 0 1.5rem; }

/* ===== Botões ===== */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .9rem 1.9rem;
  border-radius: var(--raio-pill);
  font-family: var(--fonte-corpo);
  font-weight: 700; font-size: 1rem;
  cursor: pointer; border: 2px solid transparent;
  transition: var(--transicao); text-align: center;
}
.btn-primary { background: var(--rosa-prof); color: #fff; box-shadow: 0 8px 20px rgba(201,123,112,.28); }
.btn-primary:hover { background: var(--rosa-prof-esc); color:#fff; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(201,123,112,.38); }
.btn-secondary { background: transparent; color: var(--rosa-prof-esc); border-color: var(--rosa-sec); }
.btn-secondary:hover { background: var(--rosa-suave); color: var(--tinta); border-color: var(--rosa-prof); }
.btn-light { background:#fff; color: var(--rosa-prof-esc); }
.btn-light:hover { background: var(--creme); transform: translateY(-2px); }
.btn-block { display:flex; width:100%; }

/* ===== Header ===== */
.site-header {
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(160%) blur(10px);
  -webkit-backdrop-filter: saturate(160%) blur(10px);
  border-bottom: 1px solid var(--borda);
  position: sticky; top: 0; z-index: 1000;
}
.header-inner {
  max-width: var(--largura); margin: 0 auto;
  padding: .65rem 1.5rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.logo { display:flex; align-items:center; }
.logo img { height: 52px; width: auto; }
.nav-menu { display: flex; list-style: none; gap: 1.8rem; align-items: center; }
.nav-menu a {
  color: var(--tinta); font-weight: 600; font-size: 1rem; position: relative; padding: .25rem 0;
}
.nav-menu a::after {
  content: ''; position: absolute; left: 0; bottom: -3px; height: 2px; width: 0;
  background: var(--rosa-prof); transition: width .3s ease; border-radius: 2px;
}
.nav-menu a:hover, .nav-menu a.active { color: var(--rosa-prof-esc); }
.nav-menu a:hover::after, .nav-menu a.active::after { width: 100%; }
.nav-menu .nav-cta { background: var(--rosa-prof); color:#fff; padding:.5rem 1.15rem; border-radius: var(--raio-pill); }
.nav-menu .nav-cta::after { display:none; }
.nav-menu .nav-cta:hover { background: var(--rosa-prof-esc); color:#fff; }

.menu-toggle { display:none; background:none; border:none; cursor:pointer; padding:.5rem; }
.menu-toggle span { display:block; width:26px; height:2.5px; background: var(--tinta); margin:5px 0; border-radius:2px; transition: var(--transicao); }

/* ===== Hero ===== */
.hero {
  background:
    radial-gradient(1200px 500px at 85% -10%, var(--rosa-suave) 0%, transparent 60%),
    linear-gradient(160deg, var(--creme) 0%, var(--creme-2) 100%);
  padding: 3.5rem 0 4rem;
  overflow: hidden;
}
.hero-grid {
  max-width: var(--largura); margin: 0 auto; padding: 0 1.5rem;
  display: grid; grid-template-columns: 1.05fr .95fr; gap: 3rem; align-items: center;
}
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:.5rem;
  background: var(--rosa-suave); color: var(--rosa-prof-esc);
  font-weight: 700; font-size: .82rem; letter-spacing: .04em; text-transform: uppercase;
  padding: .4rem 1rem; border-radius: var(--raio-pill); margin-bottom: 1.3rem;
}
.hero h1 { font-size: clamp(2.3rem, 5vw, 3.5rem); margin-bottom: 1.1rem; }
.hero h1 em { font-style: italic; color: var(--rosa-prof-esc); }
.hero p.lead { font-size: 1.2rem; color: var(--texto-claro); max-width: 34rem; margin-bottom: 2rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap: 1rem; }
.hero-figure { position: relative; }
.hero-figure img { border-radius: var(--raio); box-shadow: var(--sombra-md); margin-left:auto; }
.hero-figure::before {
  content:''; position:absolute; inset: -14px -14px auto auto; width: 60%; height: 60%;
  background: var(--rosa-suave); border-radius: var(--raio); z-index:0; transform: rotate(3deg);
}
.hero-figure img { position: relative; z-index: 1; }

/* Faixa de confiança */
.trust-strip { background: var(--branco); border-bottom: 1px solid var(--borda); }
.trust-strip .container { display:flex; flex-wrap:wrap; gap: 1.5rem 2.5rem; justify-content:center; padding: 1.1rem 1.5rem; }
.trust-item { display:flex; align-items:center; gap:.6rem; color: var(--texto-claro); font-weight:600; font-size:.95rem; }
.trust-item svg { color: var(--rosa-prof); flex: none; }

/* ===== Seções ===== */
.section { padding: 4.5rem 0; }
.section-alt { background: var(--creme-2); }
.section-head { text-align:center; max-width: 42rem; margin: 0 auto 3rem; }
.section-head .eyebrow { color: var(--rosa-prof); font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:.82rem; }
.section-head h2 { font-size: clamp(1.8rem, 3.5vw, 2.4rem); margin: .5rem 0 .75rem; }
.section-head p { color: var(--texto-claro); font-size: 1.1rem; }

/* ===== Grid de artigos ===== */
.cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 1.8rem; }
.card {
  background: var(--branco); border-radius: var(--raio); overflow: hidden;
  box-shadow: var(--sombra); transition: var(--transicao);
  display: flex; flex-direction: column; border: 1px solid var(--borda);
}
.card:hover { transform: translateY(-6px); box-shadow: var(--sombra-md); }
.card-thumb { aspect-ratio: 16 / 10; overflow:hidden; background: var(--rosa-suave); }
.card-thumb img { width:100%; height:100%; object-fit: cover; transition: transform .5s ease; }
.card:hover .card-thumb img { transform: scale(1.05); }
.card-body { padding: 1.5rem; flex:1; display:flex; flex-direction:column; }
.card-cat {
  align-self:flex-start; font-size:.72rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  color: var(--rosa-prof-esc); background: var(--rosa-suave); padding:.28rem .7rem; border-radius: var(--raio-pill); margin-bottom:.8rem;
}
.card h3 { font-size: 1.28rem; margin-bottom:.6rem; }
.card h3 a { color: var(--tinta); }
.card h3 a:hover { color: var(--rosa-prof-esc); }
.card p { color: var(--texto-claro); font-size: .98rem; flex:1; margin-bottom: 1.1rem; }
.card-link { font-weight:700; color: var(--rosa-prof-esc); display:inline-flex; align-items:center; gap:.35rem; }
.card-link:hover { gap:.6rem; color: var(--tinta); }

/* ===== Features / diferenciais ===== */
.features-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(250px,1fr)); gap: 2rem; }
.feature { text-align:center; padding: 1rem; }
.feature-icon {
  width: 64px; height: 64px; margin: 0 auto 1.1rem; border-radius: 50%;
  background: var(--rosa-suave); color: var(--rosa-prof-esc);
  display:flex; align-items:center; justify-content:center;
}
.feature h3 { font-size: 1.25rem; margin-bottom:.5rem; }
.feature p { color: var(--texto-claro); }

/* ===== Bloco de produto afiliado ===== */
.produtos-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap: 1.6rem; }
.produto-card {
  background:#fff; border:1px solid var(--borda); border-radius: var(--raio);
  overflow:hidden; display:flex; flex-direction:column; box-shadow: var(--sombra); transition: var(--transicao); position:relative;
}
.produto-card:hover { transform: translateY(-5px); box-shadow: var(--sombra-md); }
.produto-loja {
  position:absolute; top:.8rem; left:.8rem; z-index:2;
  font-size:.7rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase;
  padding:.28rem .65rem; border-radius: var(--raio-pill); color:#fff; background: var(--tinta);
}
.produto-loja.amazon { background:#232F3E; }
.produto-loja.mercadolivre { background:#2D3277; }
.produto-loja.shopee { background:#EE4D2D; }
.produto-thumb { aspect-ratio: 1/1; background: var(--creme); display:flex; align-items:center; justify-content:center; padding:1rem; }
.produto-thumb img { width:100%; height:100%; object-fit: contain; }
.produto-body { padding: 1.1rem 1.2rem 1.4rem; display:flex; flex-direction:column; flex:1; }
.produto-body h3 { font-family: var(--fonte-corpo); font-weight:700; font-size:1.02rem; line-height:1.35; color: var(--tinta); margin-bottom:.4rem; }
.produto-body p { font-size:.9rem; color: var(--texto-claro); margin-bottom:.9rem; flex:1; }
.produto-preco { font-weight:800; color: var(--rosa-prof-esc); font-size:1.05rem; margin-bottom:.9rem; }
.produto-preco small { font-weight:600; color: var(--texto-claro); font-size:.78rem; display:block; }

/* Caixa de recomendação dentro do artigo */
.rec-box {
  display:grid; grid-template-columns: 132px 1fr; gap: 1.2rem; align-items:center;
  background: linear-gradient(135deg, var(--creme) 0%, var(--rosa-suave) 130%);
  border: 1px solid var(--borda); border-radius: var(--raio);
  padding: 1.2rem; margin: 2rem 0; box-shadow: var(--sombra);
}
.rec-box .rec-thumb { aspect-ratio:1/1; background:#fff; border-radius: var(--raio-sm); display:flex; align-items:center; justify-content:center; padding:.6rem; border:1px solid var(--borda); }
.rec-box .rec-tag { font-size:.7rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color: var(--rosa-prof-esc); }
.rec-box h4 { font-family: var(--fonte-corpo); font-size:1.08rem; color: var(--tinta); margin:.25rem 0 .4rem; }
.rec-box p { font-size:.92rem; color: var(--texto-claro); margin-bottom:.8rem; }

/* ===== Ebook / produto próprio ===== */
.ebook-card {
  display:grid; grid-template-columns: 200px 1fr; gap: 2rem; align-items:center;
  background:#fff; border:1px solid var(--borda); border-radius: var(--raio); padding: 2rem; box-shadow: var(--sombra); position:relative; overflow:hidden;
}
.ebook-cover { border-radius: var(--raio-sm); box-shadow: var(--sombra-md); }
.ebook-badge { display:inline-block; background: var(--rosa-suave); color: var(--rosa-prof-esc); font-weight:800; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; padding:.3rem .8rem; border-radius: var(--raio-pill); margin-bottom:.7rem; }
.ebook-card h3 { font-size:1.5rem; margin-bottom:.5rem; }
.ebook-card .preco-antigo { text-decoration: line-through; color: var(--texto-claro); font-weight:600; margin-right:.5rem; }
.ebook-card .preco-novo { color: var(--rosa-prof-esc); font-weight:800; font-size:1.35rem; }

/* ===== Newsletter ===== */
.newsletter { background: linear-gradient(135deg, var(--rosa-suave), var(--rosa-sec)); }
.newsletter-inner { max-width: 44rem; margin:0 auto; text-align:center; padding: 3.5rem 1.5rem; }
.newsletter h2 { font-size: clamp(1.7rem,3vw,2.2rem); margin-bottom:.6rem; }
.newsletter p { color: var(--tinta-2); margin-bottom: 1.8rem; font-size:1.08rem; }
.newsletter-form { display:flex; gap:.7rem; flex-wrap:wrap; justify-content:center; }
.newsletter-form input {
  flex:1; min-width: 240px; padding:.9rem 1.2rem; border:2px solid #fff; border-radius: var(--raio-pill);
  font-family:inherit; font-size:1rem; background:#fff; color: var(--tinta);
}
.newsletter-form input:focus { outline:none; border-color: var(--rosa-prof); }
.newsletter small { display:block; margin-top: .9rem; color: var(--tinta-2); font-size:.82rem; }

/* ===== CTA ===== */
.cta-band { background: var(--tinta); color: var(--creme); text-align:center; }
.cta-band .container { padding: 3.5rem 1.5rem; }
.cta-band h2 { color:#fff; font-size: clamp(1.7rem,3vw,2.3rem); margin-bottom:.7rem; }
.cta-band p { color: #E9DCD3; max-width: 40rem; margin: 0 auto 1.8rem; font-size:1.08rem; }

/* ===== Breadcrumb ===== */
.breadcrumb { max-width: var(--largura); margin: 0 auto; padding: 1rem 1.5rem 0; font-size:.9rem; color: var(--texto-claro); }
.breadcrumb a { color: var(--rosa-prof-esc); }
.breadcrumb span { color: var(--tinta); }

/* ===== Página de artigo ===== */
.article-hero { background: linear-gradient(160deg, var(--creme), var(--creme-2)); padding: 2.5rem 0 2rem; }
.article-hero .container { max-width: 820px; }
.article-hero .cat { color: var(--rosa-prof); font-weight:800; text-transform:uppercase; letter-spacing:.05em; font-size:.8rem; }
.article-hero h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); margin:.6rem 0 1rem; }
.article-meta { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; color: var(--texto-claro); font-size:.92rem; }
.article-meta .author { display:flex; align-items:center; gap:.5rem; font-weight:700; color: var(--tinta); }
.article-meta .author img { width:38px; height:38px; border-radius:50%; }
.article-cover { max-width: 820px; margin: 1.5rem auto 0; padding: 0 1.5rem; }
.article-cover img { width:100%; border-radius: var(--raio); box-shadow: var(--sombra-md); max-height: 420px; object-fit: cover; }

.article-body { max-width: 720px; margin: 0 auto; padding: 2.5rem 1.5rem 1rem; font-size: 1.09rem; }
.article-body > p { margin-bottom: 1.35rem; }
.article-body h2 { font-size: 1.7rem; margin: 2.4rem 0 1rem; padding-top:.5rem; }
.article-body h3 { font-size: 1.3rem; margin: 1.8rem 0 .7rem; color: var(--tinta); }
.article-body ul, .article-body ol { margin: 0 0 1.5rem 1.3rem; }
.article-body li { margin-bottom: .6rem; }
.article-body img { border-radius: var(--raio); margin: 1.5rem 0; box-shadow: var(--sombra); }
.article-body a { text-decoration: underline; text-decoration-color: var(--rosa-sec); text-underline-offset: 3px; }
.article-body blockquote {
  border-left: 4px solid var(--rosa-prof); background: #fff; padding: 1.1rem 1.5rem;
  margin: 1.8rem 0; border-radius: 0 var(--raio-sm) var(--raio-sm) 0; color: var(--tinta-2); font-style: italic; box-shadow: var(--sombra);
}
.article-body .lead { font-size:1.22rem; color: var(--tinta-2); line-height:1.6; }

/* Aviso médico */
.med-note {
  display:flex; gap:.85rem; align-items:flex-start; background: var(--rosa-suave);
  border-radius: var(--raio-sm); padding: 1rem 1.2rem; margin: 1.8rem 0; font-size:.95rem; color: var(--tinta-2);
}
.med-note svg { color: var(--rosa-prof-esc); flex:none; margin-top:2px; }

/* Sumário do artigo */
.toc { background:#fff; border:1px solid var(--borda); border-radius: var(--raio); padding: 1.2rem 1.5rem; margin-bottom: 2rem; }
.toc strong { display:block; margin-bottom:.6rem; color: var(--tinta); font-family: var(--fonte-titulo); font-size:1.05rem; }
.toc ol { margin: 0 0 0 1.1rem; }
.toc li { margin-bottom:.3rem; }
.toc a { color: var(--tinta-2); }
.toc a:hover { color: var(--rosa-prof-esc); }

/* FAQ */
.faq details { background:#fff; border:1px solid var(--borda); border-radius: var(--raio-sm); margin-bottom:.8rem; overflow:hidden; }
.faq summary { padding: 1.05rem 1.3rem; font-weight:700; color: var(--tinta); cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; font-size:1.4rem; color: var(--rosa-prof); font-weight:400; transition: transform .25s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details[open] summary { border-bottom:1px solid var(--borda); }
.faq .faq-a { padding: 1.05rem 1.3rem; color: var(--texto-claro); }

/* Tags / relacionados */
.article-tags { display:flex; flex-wrap:wrap; gap:.6rem; margin: 1.5rem 0; }
.article-tags a { background: var(--rosa-suave); color: var(--rosa-prof-esc); padding:.35rem .9rem; border-radius: var(--raio-pill); font-size:.85rem; font-weight:600; }
.article-tags a:hover { background: var(--rosa-prof); color:#fff; }

.share-row { display:flex; gap:.7rem; align-items:center; margin: 1.5rem 0; color: var(--texto-claro); font-weight:600; }
.share-row a { width:40px; height:40px; border-radius:50%; background:#fff; border:1px solid var(--borda); display:flex; align-items:center; justify-content:center; color: var(--rosa-prof-esc); }
.share-row a:hover { background: var(--rosa-prof); color:#fff; border-color: var(--rosa-prof); }

/* ===== Página genérica / legal ===== */
.page-hero { background: linear-gradient(160deg, var(--creme), var(--creme-2)); padding: 2.8rem 0 2.2rem; text-align:center; }
.page-hero h1 { font-size: clamp(1.9rem,4vw,2.6rem); }
.page-hero p { color: var(--texto-claro); max-width: 40rem; margin:.7rem auto 0; }
.prose { max-width: 760px; margin: 0 auto; padding: 2.5rem 1.5rem; }
.prose h2 { font-size:1.5rem; margin: 2rem 0 .8rem; }
.prose h3 { font-size:1.2rem; margin: 1.4rem 0 .6rem; }
.prose p, .prose li { margin-bottom: 1rem; }
.prose ul, .prose ol { margin: 0 0 1.2rem 1.3rem; }

/* ===== Sobre ===== */
.about-grid { display:grid; grid-template-columns: .85fr 1.15fr; gap: 3rem; align-items:center; }
.about-figure img { border-radius: var(--raio); box-shadow: var(--sombra-md); }
.about-grid h1 { font-size: clamp(2rem,4vw,2.7rem); margin-bottom:1.1rem; }
.author-card { display:flex; gap:1.2rem; align-items:center; background:#fff; border:1px solid var(--borda); border-radius: var(--raio); padding:1.5rem; box-shadow: var(--sombra); margin-top: 1.5rem; }
.author-card img { width:80px; height:80px; border-radius:50%; flex:none; }

/* ===== Formulário ===== */
.form-card { max-width: 620px; margin: 0 auto; background:#fff; border:1px solid var(--borda); border-radius: var(--raio); padding: 2.4rem; box-shadow: var(--sombra); }
.form-group { margin-bottom: 1.3rem; }
.form-group label { display:block; font-weight:700; margin-bottom:.4rem; color: var(--tinta); }
.form-group input, .form-group textarea, .form-group select {
  width:100%; padding:.85rem 1rem; border:2px solid var(--borda); border-radius: var(--raio-sm);
  font-family:inherit; font-size:1rem; background: #FAF6F0; color: var(--tinta); transition: var(--transicao);
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { outline:none; border-color: var(--rosa-prof); background:#fff; }
.form-group textarea { min-height: 150px; resize: vertical; }

/* ===== Footer ===== */
.site-footer { background: var(--tinta); color: #E9DCD3; padding: 3.5rem 0 1.5rem; margin-top: auto; }
.footer-grid { max-width: var(--largura); margin: 0 auto; padding: 0 1.5rem; display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 2.5rem; }
.footer-brand img { height: 46px; margin-bottom: 1rem; background:#fff; padding:.5rem .7rem; border-radius: var(--raio-sm); }
.footer-logo { font-family: var(--fonte-titulo); font-size: 1.95rem; color:#fff; display:inline-block; margin-bottom: .9rem; letter-spacing:-.01em; }
.footer-brand p { color:#C9B8AF; font-size:.95rem; max-width: 24rem; }
.footer-col h4 { color:#fff; font-size:1.05rem; margin-bottom: 1rem; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:.55rem; }
.footer-col a { color:#C9B8AF; font-size:.95rem; }
.footer-col a:hover { color:#fff; }
.footer-social { display:flex; gap:.6rem; margin-top:1rem; }
.footer-social a { width:38px; height:38px; border-radius:50%; background: rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; color:#E9DCD3; }
.footer-social a:hover { background: var(--rosa-prof); color:#fff; }
.footer-bottom { max-width: var(--largura); margin: 2.5rem auto 0; padding: 1.5rem 1.5rem 0; border-top:1px solid rgba(255,255,255,.12); display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; font-size:.88rem; color:#B7A69D; }
.footer-bottom a { color:#B7A69D; }
.footer-bottom a:hover { color:#fff; }
.disclosure-mini { background: rgba(255,255,255,.05); border-radius: var(--raio-sm); padding: 1rem 1.2rem; margin: 1.5rem auto 0; max-width: var(--largura); font-size:.82rem; color:#B7A69D; }

/* ===== Utilidades ===== */
.text-center { text-align:center; }
.mt-2 { margin-top: 2rem; } .mt-3 { margin-top: 3rem; }
.skip-link { position:absolute; top:-48px; left:0; background: var(--rosa-prof); color:#fff; padding:.6rem 1rem; z-index:10000; border-radius: 0 0 8px 0; }
.skip-link:focus { top:0; }

/* ===== Responsivo ===== */
@media (max-width: 900px) {
  .hero-grid { grid-template-columns: 1fr; gap: 2rem; text-align:center; }
  .hero-eyebrow { margin-inline:auto; }
  .hero p.lead { margin-inline:auto; }
  .hero-actions { justify-content:center; }
  .hero-figure { max-width: 380px; margin: 0 auto; }
  .hero-figure img { margin: 0 auto; }
  .about-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .menu-toggle { display:block; }
  .nav-menu {
    position: fixed; inset: 64px 0 auto 0; background: var(--creme);
    flex-direction: column; padding: 1.5rem; gap: 1.1rem; align-items:stretch;
    box-shadow: var(--sombra-md); transform: translateY(-140%); opacity:0; visibility:hidden;
    transition: var(--transicao); border-bottom:1px solid var(--borda);
  }
  .nav-menu.active { transform: translateY(0); opacity:1; visibility:visible; }
  .nav-menu a { padding:.4rem 0; }
  .ebook-card { grid-template-columns: 1fr; text-align:center; }
  .ebook-cover { max-width: 180px; margin: 0 auto; }
  .rec-box { grid-template-columns: 1fr; text-align:center; }
  .rec-box .rec-thumb { max-width: 150px; margin: 0 auto; }
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { justify-content:center; text-align:center; }
  .section { padding: 3.2rem 0; }
}

/* Menos animação para quem prefere */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Impressão */
@media print { .site-header, .site-footer, .newsletter, .cta-band, .menu-toggle, .share-row { display:none; } }

/* ===================================================================
   NOVOS COMPONENTES — Ferramentas, Destaques (bombando) e Pop-up
   =================================================================== */

/* --- Ferramentas populares (home): grade de ícones --- */
.tools-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(150px,1fr)); gap: 1.2rem; }
.tool-chip {
  background:#fff; border:1px solid var(--borda); border-radius: var(--raio); padding: 1.5rem 1rem;
  text-align:center; display:flex; flex-direction:column; align-items:center; gap:.7rem;
  box-shadow: var(--sombra); transition: var(--transicao); color: var(--tinta);
}
.tool-chip:hover { transform: translateY(-5px); box-shadow: var(--sombra-md); color: var(--rosa-prof-esc); }
.tool-chip .ti { width:58px; height:58px; border-radius:50%; background: var(--bege); color: var(--rosa-prof-esc); display:flex; align-items:center; justify-content:center; }
.tool-chip span { font-weight:700; font-size:.95rem; line-height:1.3; }

/* --- Página de ferramentas: cartões com formulário --- */
.tool-card {
  background:#fff; border:1px solid var(--borda); border-radius: var(--raio); padding: 1.8rem;
  box-shadow: var(--sombra); scroll-margin-top: 90px;
}
.tool-card + .tool-card { margin-top: 1.8rem; }
.tool-head { display:flex; align-items:center; gap:1rem; margin-bottom: 1.2rem; }
.tool-head .ti { width:52px; height:52px; border-radius:14px; background: var(--bege); color: var(--rosa-prof-esc); display:flex; align-items:center; justify-content:center; flex:none; }
.tool-head h2 { font-size: 1.4rem; margin:0; }
.tool-head p { color: var(--texto-claro); font-size:.92rem; margin:.15rem 0 0; }
.tool-form { display:flex; flex-wrap:wrap; gap: 1rem; align-items:flex-end; }
.tool-field { flex:1; min-width: 150px; }
.tool-field label { display:block; font-weight:700; font-size:.9rem; color:var(--tinta); margin-bottom:.35rem; }
.tool-field input, .tool-field select {
  width:100%; padding:.75rem .9rem; border:2px solid var(--borda); border-radius: var(--raio-sm);
  font-family:inherit; font-size:1rem; background:#FAF6F0; color:var(--tinta);
}
.tool-field input:focus, .tool-field select:focus { outline:none; border-color: var(--rosa-prof); background:#fff; }
.tool-result {
  margin-top: 1.3rem; padding: 1.2rem 1.4rem; border-radius: var(--raio-sm);
  background: linear-gradient(135deg, var(--bege), var(--rosa-suave)); color: var(--tinta); display:none;
}
.tool-result.show { display:block; }
.tool-result strong.big { display:block; font-family: var(--fonte-titulo); font-size:1.5rem; color: var(--rosa-prof-esc); margin-bottom:.3rem; }
.tool-result .rows { display:grid; gap:.35rem; margin-top:.5rem; }
.tool-result .rows div { display:flex; justify-content:space-between; gap:1rem; border-bottom:1px dashed rgba(58,46,42,.15); padding-bottom:.3rem; }
.tool-disclaimer { font-size:.82rem; color: var(--texto-claro); margin-top:.8rem; }
.tools-nav { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin-bottom:2rem; }
.tools-nav a { background:#fff; border:1px solid var(--borda); padding:.5rem 1rem; border-radius: var(--raio-pill); font-weight:600; font-size:.9rem; color:var(--tinta); }
.tools-nav a:hover { background: var(--rosa-prof); color:#fff; border-color: var(--rosa-prof); }
/* nomes de bebê */
.nomes-lista { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap:.8rem; margin-top:1.2rem; }
.nome-item { background:#FAF6F0; border:1px solid var(--borda); border-radius: var(--raio-sm); padding:.9rem 1.1rem; }
.nome-item h4 { font-family: var(--fonte-titulo); font-size:1.1rem; margin:0 0 .2rem; color: var(--tinta); }
.nome-item .meta { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color: var(--rosa-prof-esc); }
.nome-item p { font-size:.9rem; color: var(--texto-claro); margin:.3rem 0 0; }

/* --- O que está bombando (destaques/notícias) --- */
.trending-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(300px,1fr)); gap:1.5rem; }
.trending-item { background:#fff; border:1px solid var(--borda); border-radius: var(--raio); overflow:hidden; box-shadow: var(--sombra); transition: var(--transicao); display:flex; flex-direction:column; }
.trending-item:hover { transform: translateY(-5px); box-shadow: var(--sombra-md); }
.trending-thumb { aspect-ratio: 16/9; background: var(--rosa-suave); overflow:hidden; position:relative; }
.trending-thumb img { width:100%; height:100%; object-fit:cover; }
.trending-flame { position:absolute; top:.7rem; left:.7rem; background: var(--rosa-prof); color:#fff; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; padding:.28rem .7rem; border-radius: var(--raio-pill); }
.trending-body { padding:1.2rem; flex:1; display:flex; flex-direction:column; }
.trending-body h3 { font-size:1.12rem; margin-bottom:.5rem; }
.trending-body p { color: var(--texto-claro); font-size:.92rem; flex:1; margin-bottom:.9rem; }
.trending-src { font-size:.8rem; color: var(--texto-claro); }
.trending-src a { font-weight:700; color: var(--rosa-prof-esc); }

/* --- Pop-up de saída (exit-intent) --- */
.modal-overlay {
  position: fixed; inset:0; background: rgba(58,46,42,.55); backdrop-filter: blur(3px);
  display:flex; align-items:center; justify-content:center; padding:1.2rem; z-index:5000;
  opacity:0; visibility:hidden; transition: opacity .3s ease, visibility .3s ease;
}
.modal-overlay.open { opacity:1; visibility:visible; }
.modal-box {
  background:#fff; border-radius: var(--raio); max-width: 460px; width:100%; padding: 2.4rem 2rem 2rem;
  text-align:center; position:relative; box-shadow: var(--sombra-forte);
  transform: translateY(16px) scale(.98); transition: transform .3s ease;
}
.modal-overlay.open .modal-box { transform: none; }
.modal-close { position:absolute; top:.8rem; right:1rem; background:none; border:none; font-size:1.8rem; line-height:1; color: var(--texto-claro); cursor:pointer; }
.modal-close:hover { color: var(--tinta); }
.modal-box .modal-badge { display:inline-block; background: var(--bege); color: var(--rosa-prof-esc); font-weight:800; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; padding:.3rem .9rem; border-radius: var(--raio-pill); margin-bottom:1rem; }
.modal-box h3 { font-size:1.6rem; margin-bottom:.6rem; }
.modal-box p { color: var(--texto-claro); margin-bottom:1.3rem; }
.modal-box form { display:flex; flex-direction:column; gap:.7rem; }
.modal-box input { padding:.85rem 1rem; border:2px solid var(--borda); border-radius: var(--raio-pill); font-family:inherit; font-size:1rem; text-align:center; background:#FAF6F0; }
.modal-box input:focus { outline:none; border-color: var(--rosa-prof); background:#fff; }
.modal-box small { display:block; margin-top:.8rem; color:var(--texto-claro); font-size:.8rem; }

@media (max-width:600px){ .tools-grid{grid-template-columns:repeat(2,1fr);} }
