/* ==========================================================================
   Páginas de artigo (guia "Antes de decidir"). Carregado depois de style.css;
   reaproveita tokens, botões, .label, .faq-list e .articles da home.
   ========================================================================== */

/* ---------- abertura ---------- */

.art-hero { padding-top: calc(var(--header-h) + clamp(2.5rem, 6vw, 5rem)); padding-bottom: clamp(3rem, 6vw, 5rem); border-bottom: 1px solid var(--line-soft); }
.art-hero-grid { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1000px) { .art-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(260px, 380px); gap: clamp(3rem, 7vw, 7rem); } }

.art-hero-copy { display: grid; gap: 1.4rem; justify-items: start; }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 0 0.6rem; font-size: 0.82rem; color: var(--dim); margin-bottom: -0.6rem; }
.crumbs a { color: var(--muted); transition: color 0.3s; display: inline-flex; align-items: center; min-height: 44px; }
.crumbs a:hover { color: var(--gold-hi); }

.art-hero h1 {
  font-size: clamp(2.1rem, 1.2rem + 3vw, 4rem); font-weight: 300; letter-spacing: -0.04em; line-height: 1.04;
  max-width: 22ch; text-wrap: balance;
}
.art-hero h1 em {
  display: block; margin-top: 0.12em;
  font-family: var(--serif); font-style: italic; font-weight: 500; letter-spacing: -0.01em; font-size: 0.86em; line-height: 1.08;
  color: transparent; background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; padding-bottom: 0.06em;
}
.art-lead { color: #cfc7b6; font-size: clamp(1.02rem, 0.96rem + 0.3vw, 1.18rem); line-height: 1.65; max-width: 58ch; }

.art-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; padding-top: 1.2rem; border-top: 1px solid var(--line-soft); width: 100%; max-width: 58ch; }
.art-byline img { width: 36px; height: auto; }
.art-byline p { font-size: 0.85rem; color: var(--muted); line-height: 1.4; }
.art-byline strong { color: var(--ivory); font-weight: 600; margin-right: 0.3rem; }
.art-time { margin-left: auto; font-size: 0.72rem !important; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold) !important; }

.art-cover { position: relative; overflow: hidden; aspect-ratio: 4 / 5; margin: 0; border: 1px solid var(--line-soft); background: #0c0b09; max-width: 380px; }
.art-cover img { width: 100%; height: 100%; object-fit: cover; }
.art-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(12, 11, 9, 0.6), rgba(12, 11, 9, 0) 35%); }

/* ---------- corpo + coluna lateral ---------- */

.art-layout { display: grid; gap: 4rem; padding-block: clamp(3rem, 6vw, 5.5rem); }
@media (min-width: 1100px) { .art-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(4rem, 7vw, 7rem); align-items: start; } }

.art-body { max-width: 70ch; font-size: 1.05rem; line-height: 1.78; color: #d4ccbb; }
.art-body p, .art-body ul, .art-body ol { margin: 0; }
.art-body p + p, .art-body p + ul, .art-body ul + p, .art-body p + ol, .art-body ol + p { margin-top: 1.05em; }
.art-body strong { color: var(--ivory); font-weight: 600; }
.art-body a:not(.btn) { color: var(--gold-hi); background: linear-gradient(var(--gold), var(--gold)) left bottom / 100% 1px no-repeat; transition: color 0.3s; }
.art-body a:not(.btn):hover { color: var(--ivory); }

.art-body h2 {
  font-size: clamp(1.65rem, 1.25rem + 1.3vw, 2.4rem); font-weight: 300; letter-spacing: -0.035em; line-height: 1.12;
  margin: 0 0 0.9rem; color: var(--ivory); text-wrap: balance;
}
.art-body h2 em { display: inline; font-size: 1.08em; }
.art-body h3 { font-size: 1.18rem; font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; margin: 1.8rem 0 0.5rem; color: var(--ivory); }

.art-body ul { padding: 0; }
.art-body ul li { position: relative; padding-left: 1.5rem; }
.art-body ul li + li { margin-top: 0.45rem; }
.art-body ul li::before { content: ""; position: absolute; left: 0.2rem; top: 0.72em; width: 6px; height: 6px; background: var(--gold); transform: rotate(45deg); }
.art-body ol { padding-left: 1.3rem; }
.art-body ol li::marker { color: var(--gold); }

/* checklist do WordPress */
.art-body ul.art-check li::before { width: 10px; height: 5px; top: 0.6em; background: none; border-left: 1.5px solid var(--gold); border-bottom: 1.5px solid var(--gold); transform: rotate(-45deg); }

/* seções */
.art-sec { padding-top: clamp(2.6rem, 4vw, 3.4rem); }
.art-sec.art-opening { padding-top: 0; }
.art-num { display: block; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.28em; color: var(--gold); margin-bottom: 0.9rem; }
.art-split .label, .art-center .label, .art-conclusion .label, .art-panel .label, .art-faq .label { margin-bottom: 1rem; }

.art-emph {
  font-family: var(--serif); font-style: italic; font-weight: 500;
  font-size: clamp(1.35rem, 1.15rem + 0.6vw, 1.7rem); line-height: 1.35; letter-spacing: -0.005em;
  color: var(--gold-hi); padding-left: 1.2rem; border-left: 1px solid var(--gold);
}

.art-link { display: inline-flex; margin-top: 1.2rem; font-size: 0.95rem; font-weight: 600; }

/* citação de abertura */
.art-quote { margin: clamp(2.8rem, 5vw, 3.8rem) 0 0; padding: 2.2rem 0; border-block: 1px solid var(--line); }
.art-quote blockquote, .art-conclusion blockquote {
  margin: 0; font-family: var(--serif); font-style: italic; font-weight: 500;
  font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); line-height: 1.25; letter-spacing: -0.01em;
  color: transparent; background: var(--gold-grad); -webkit-background-clip: text; background-clip: text;
}

/* painel com itens numerados */
.art-panel { margin-top: clamp(2.8rem, 5vw, 3.8rem); padding: clamp(1.8rem, 3vw, 2.6rem); background: var(--ink-2); border: 1px solid var(--line-soft); }
.art-panel > p:not(.label) { color: var(--muted); }
.art-steps { display: grid; gap: 0; margin-top: 1.6rem; border-top: 1px solid var(--line-soft); }
.art-step { display: grid; grid-template-columns: 3.2rem 1fr; gap: 0.8rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line-soft); }
.art-step > span { font-size: 1.7rem; font-weight: 300; letter-spacing: -0.04em; line-height: 1; color: transparent; background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; }
.art-step p { font-size: 0.96rem; line-height: 1.6; color: var(--muted); }
.art-step strong { display: block; color: var(--ivory); margin-bottom: 0.15rem; }
@media (min-width: 700px) {
  .art-steps { grid-template-columns: 1fr 1fr; column-gap: 2rem; }
}

/* cards lado a lado (Lipo HD × abdominoplastia) */
.art-cards { display: grid; gap: 1rem; margin-top: 1.4rem; }
.art-card { padding: 1.4rem 1.5rem; border: 1px solid var(--line-soft); background: rgba(238, 231, 216, 0.02); }
.art-card h3 { margin-top: 0; color: var(--gold-hi); }
.art-card p { font-size: 0.96rem; color: var(--muted); }
@media (min-width: 700px) { .art-cards { grid-template-columns: 1fr 1fr; } }

/* resposta direta e destaque */
.art-answer { margin-top: clamp(2.4rem, 4vw, 3rem); padding: 1.6rem 1.8rem; background: rgba(208, 180, 95, 0.05); border: 1px solid var(--line); }
.art-answer .label { margin-bottom: 0.8rem; }
.art-callout { margin-top: clamp(2.4rem, 4vw, 3rem); padding: 0.3rem 0 0.3rem 1.6rem; border-left: 1px solid var(--gold); }
.art-callout-title { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: clamp(1.4rem, 1.2rem + 0.6vw, 1.75rem); line-height: 1.25; color: var(--gold-hi); margin-bottom: 0.7rem !important; }

.art-center { margin-top: clamp(3rem, 5vw, 4rem); padding-block: 2.4rem; border-block: 1px solid var(--line); }
.art-center h2 { font-size: clamp(1.9rem, 1.4rem + 1.6vw, 2.8rem); }

.art-conclusion { margin-top: clamp(3rem, 5vw, 4rem); padding-top: 2.4rem; border-top: 1px solid var(--line); }
.art-conclusion blockquote { margin-top: 1.6rem; font-size: clamp(1.4rem, 1.15rem + 0.9vw, 1.9rem); }

/* FAQ do artigo: reaproveita .faq-list da home */
.art-faq { margin-top: clamp(3.4rem, 6vw, 4.6rem); padding-top: 2.4rem; border-top: 1px solid var(--line); }
.art-faq-intro { color: var(--muted); margin-bottom: 1.6rem; }
.art-faq .faq-list { margin-top: 1.4rem; }
.art-faq .faq-list summary { font-size: clamp(1rem, 0.95rem + 0.3vw, 1.15rem); padding: 1.3rem 0; }
.art-faq .faq-list details > div { padding: 0 2.5rem 1.5rem 0; color: var(--muted); }
.art-faq .faq-list details > div p { padding: 0; }

.art-disclaimer { margin-top: 3rem !important; padding-top: 1.4rem; border-top: 1px solid var(--line-soft); font-size: 0.8rem; line-height: 1.6; color: var(--dim); }

/* ---------- coluna lateral ---------- */

.art-aside { display: grid; gap: 2rem; }
@media (min-width: 1100px) { .art-aside { position: sticky; top: calc(var(--header-h) + 1.5rem); } }

.art-aside-card { display: grid; gap: 0.9rem; justify-items: start; padding: 1.8rem; background: var(--ink-2); border: 1px solid var(--line); }
.art-aside-title { font-size: 1.5rem; font-weight: 300; letter-spacing: -0.035em; line-height: 1.15; color: var(--ivory); }
.art-aside-card > p:not(.label):not(.art-aside-title) { font-size: 0.9rem; color: var(--muted); line-height: 1.6; }
.art-aside-card .btn { width: 100%; margin-top: 0.4rem; }

.art-toc .label { margin-bottom: 0.9rem; }
.art-toc ol { border-top: 1px solid var(--line-soft); }
.art-toc li { border-bottom: 1px solid var(--line-soft); }
.art-toc a { display: grid; grid-template-columns: 2rem 1fr; gap: 0.4rem; padding: 0.8rem 0; font-size: 0.9rem; line-height: 1.4; color: var(--muted); transition: color 0.3s; }
.art-toc a span { font-size: 0.7rem; letter-spacing: 0.16em; color: var(--dim); padding-top: 0.15rem; }
.art-toc a:hover { color: var(--ivory); }
.art-toc a[aria-current="page"] { color: var(--gold-hi); }
.art-toc a[aria-current="page"] span { color: var(--gold); }

/* ---------- continue lendo + CTA ---------- */

.art-more { background: var(--ink-2); border-top: 1px solid var(--line-soft); }
.art-more-head { display: grid; gap: 1.6rem; margin-bottom: clamp(2.4rem, 5vw, 3.6rem); }
.art-more-head > div { display: grid; gap: 1.4rem; }
@media (min-width: 900px) { .art-more-head { grid-template-columns: 1fr auto; align-items: end; } }
@media (min-width: 1100px) { .art-more-list { grid-template-columns: repeat(4, 1fr); } }

.art-cta-inner { display: grid; gap: 1.6rem; justify-items: center; text-align: center; }
.art-cta-inner .section-lead { max-width: 52ch; }
.art-cta .contact-actions { justify-content: center; }
