/*
Theme Name: Health Slim
Theme URI: https://healthslim.example
Author: Health Slim
Description: Tema de blog de conteúdo com acompanhamento por tópico (topic tracker) fixo, índice interno com "mostrar mais", progresso de leitura e blocos numerados. Feito para artigos longos em formato listicle.
Version: 1.6.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: healthslim
Tags: blog, one-column, custom-menu, translation-ready
*/

/* ============================================================
   TOKENS
   Toda cor da interface sai daqui. Os três blocos abaixo cobrem
   os três estados de tema: claro, sistema-escuro e escolha explícita.
   ============================================================ */
:root{
  --hs-brand:#6E9C1F;
  --hs-brand-bar:#8CC63F;
  --hs-on-brand:#122A05;
  --hs-ground:#F7F9F2;
  --hs-surface:#FFFFFF;
  --hs-surface-2:#EEF3E3;
  --hs-ink:#1A1F13;
  --hs-ink-2:#454C3B;
  --hs-muted:#6F7864;
  --hs-line:#E1E7D4;
  --hs-line-2:#CFD8BC;
  --hs-warn-bg:#FDF6E3;
  --hs-warn-line:#E8D9A8;
  --hs-warn-ink:#5C4813;
  --hs-shadow:0 1px 2px rgba(26,31,19,.05), 0 10px 28px -16px rgba(26,31,19,.22);

  --hs-bar-h:60px;          /* altura da barra da marca (fixa)   */
  --hs-track-h:44px;        /* altura do tracker (sticky)        */
  --hs-admin:0px;           /* compensação da barra do admin     */
  --hs-measure:660px;       /* medida de leitura                 */

  /* Tamanho da logo. clamp(mínimo, fluido, máximo):
     encolhe sozinha da tela grande para a pequena. */
  --hs-logo-text:clamp(1.05rem, 4.2vw, 1.4rem);
  --hs-logo-img:clamp(26px, 7vw, 36px);
  --hs-display:"Archivo","Segoe UI",system-ui,sans-serif;
  --hs-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --hs-brand:#A9DC5A;
    --hs-brand-bar:#5F8A22;
    --hs-on-brand:#F2F8E6;
    --hs-ground:#12150D;
    --hs-surface:#1A1E13;
    --hs-surface-2:#232819;
    --hs-ink:#EDF1E3;
    --hs-ink-2:#C3CBB3;
    --hs-muted:#8D9780;
    --hs-line:#2D3322;
    --hs-line-2:#3C442E;
    --hs-warn-bg:#241E0E;
    --hs-warn-line:#4A3F1D;
    --hs-warn-ink:#E4D5A6;
    --hs-shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 28px -16px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"]{
  --hs-brand:#A9DC5A;
  --hs-brand-bar:#5F8A22;
  --hs-on-brand:#F2F8E6;
  --hs-ground:#12150D;
  --hs-surface:#1A1E13;
  --hs-surface-2:#232819;
  --hs-ink:#EDF1E3;
  --hs-ink-2:#C3CBB3;
  --hs-muted:#8D9780;
  --hs-line:#2D3322;
  --hs-line-2:#3C442E;
  --hs-warn-bg:#241E0E;
  --hs-warn-line:#4A3F1D;
  --hs-warn-ink:#E4D5A6;
  --hs-shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 28px -16px rgba(0,0,0,.7);
}

/* ============================================================
   BASE
   ============================================================ */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--hs-ground); color:var(--hs-ink);
  font-family:var(--hs-body); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
  padding-top:calc(var(--hs-bar-h) + 3px);
}
a{color:inherit}
img,svg,iframe,video{max-width:100%; height:auto}
:focus-visible{outline:2px solid var(--hs-brand); outline-offset:2px; border-radius:3px}
h1,h2,h3,h4{font-family:var(--hs-display); text-wrap:balance; margin:0}
.screen-reader-text{
  position:absolute!important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); clip-path:inset(50%); white-space:nowrap;
}
.hs-skip{
  position:absolute; left:-9999px; top:0; z-index:100; background:var(--hs-surface);
  color:var(--hs-ink); padding:10px 16px; border-radius:0 0 6px 0;
}
.hs-skip:focus{left:0}

/* ============================================================
   BARRA DE ADMINISTRAÇÃO
   Logada, a barra do WP é fixa acima de 782px e empurra o html
   em 32px. O header do tema precisa descer o mesmo tanto.
   Abaixo de 782px ela é absoluta e rola junto com a página —
   por isso a compensação volta a zero.
   ============================================================ */
body.admin-bar{--hs-admin:32px}
@media screen and (max-width:782px){
  body.admin-bar{--hs-admin:0px}
}

/* ============================================================
   HEADER FIXO
   ============================================================ */
.hs-topbar{position:fixed; inset:var(--hs-admin) 0 auto 0; z-index:50}
.hs-progress{height:3px; background:var(--hs-line)}
.hs-progress i{display:block; height:100%; width:0; background:var(--hs-brand-bar); transition:width .1s linear}
.hs-bar{
  height:var(--hs-bar-h); background:var(--hs-brand-bar);
  display:flex; align-items:center; gap:10px; padding:0 12px;
}
.hs-hamb{width:44px; height:40px; flex:none; display:grid; place-content:center; gap:5px; background:none; border:0; cursor:pointer; border-radius:8px}
.hs-hamb i{display:block; width:22px; height:2.5px; border-radius:2px; background:var(--hs-on-brand)}
.hs-brand,
.hs-bar .custom-logo-link{
  flex:1 1 auto; min-width:0; text-align:center;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.hs-brand{font-family:var(--hs-display); font-weight:700; font-size:var(--hs-logo-text); letter-spacing:-.02em; color:var(--hs-on-brand); text-decoration:none}
.hs-bar .custom-logo-link{line-height:0}
.hs-bar .custom-logo{display:inline-block; max-height:var(--hs-logo-img); width:auto}
.hs-brand span{color:#fff; font-weight:600}
.hs-brand img{max-height:var(--hs-logo-img); width:auto; display:inline-block; vertical-align:middle}
.hs-search{
  flex:none; display:flex; align-items:center; background:var(--hs-surface);
  border-radius:999px; height:36px; padding:0 4px 0 14px; width:44px;
  transition:width .22s ease; overflow:hidden;
}
.hs-search.is-open,.hs-search:focus-within{width:min(210px,52vw)}
.hs-search input{flex:1; min-width:0; border:0; background:none; font:inherit; font-size:.9rem; color:var(--hs-ink); padding:0; opacity:0; transition:opacity .15s}
.hs-search.is-open input,.hs-search:focus-within input{opacity:1}
.hs-search button{flex:none; width:32px; height:32px; border:0; background:none; cursor:pointer; display:grid; place-content:center; color:var(--hs-muted); border-radius:50%}

/* ============================================================
   TOPIC TRACKER  (sticky, logo abaixo do header fixo)
   ============================================================ */
.hs-tracker{
  position:sticky; top:calc(var(--hs-bar-h) + 3px + var(--hs-admin)); z-index:40;
  display:flex; align-items:stretch; height:var(--hs-track-h);
  background:var(--hs-surface); border-bottom:1px solid var(--hs-line);
  margin-bottom:26px;
}
.hs-tracker-scroll{
  position:relative; flex:1; min-width:0; display:flex; align-items:center; gap:4px;
  overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; padding:0 8px;
}
.hs-tracker-scroll::-webkit-scrollbar{display:none}
.hs-chip{
  scroll-snap-align:center; flex:none; display:flex; align-items:center; gap:7px;
  height:100%; padding:0 11px; text-decoration:none; white-space:nowrap;
  font-family:var(--hs-display); font-weight:600; font-size:.72rem;
  letter-spacing:.055em; text-transform:uppercase;
  color:var(--hs-muted); transition:color .18s;
}
.hs-chip:hover{color:var(--hs-ink-2)}
.hs-chip.is-active{color:var(--hs-ink)}
.hs-chip-n{
  width:17px; height:17px; flex:none; display:grid; place-content:center; border-radius:50%;
  background:var(--hs-surface-2); color:var(--hs-muted); font-size:.62rem; letter-spacing:0;
  font-variant-numeric:tabular-nums; transition:background .18s,color .18s;
}
.hs-chip.is-active .hs-chip-n{background:var(--hs-brand-bar); color:var(--hs-on-brand)}
.hs-tracker-ind{
  position:absolute; left:0; bottom:0; height:3px; width:0; background:var(--hs-brand-bar);
  border-radius:3px 3px 0 0;
  transition:transform .28s cubic-bezier(.4,0,.2,1), width .28s cubic-bezier(.4,0,.2,1);
}
.hs-tracker-count{
  flex:none; display:grid; place-content:center; padding:0 12px;
  border-left:1px solid var(--hs-line); background:var(--hs-surface);
  font-family:var(--hs-display); font-weight:600; font-size:.72rem; color:var(--hs-muted);
  font-variant-numeric:tabular-nums;
}
.hs-tracker-count b{color:var(--hs-ink)}

/* ============================================================
   DRAWER
   ============================================================ */
.hs-scrim{position:fixed; inset:0; background:rgba(10,14,6,.5); opacity:0; pointer-events:none; transition:opacity .22s; z-index:60}
.hs-scrim.is-open{opacity:1; pointer-events:auto}
.hs-drawer{
  position:fixed; inset:0 auto 0 0; width:280px; max-width:84vw; background:var(--hs-surface);
  z-index:70; transform:translateX(-101%); transition:transform .26s cubic-bezier(.4,0,.2,1);
  display:flex; flex-direction:column; border-right:1px solid var(--hs-line);
}
.hs-drawer.is-open{transform:none}
.hs-drawer-top{
  height:var(--hs-bar-h); flex:none; background:var(--hs-brand-bar); display:flex; align-items:center;
  padding:0 16px; font-family:var(--hs-display); font-weight:700; font-size:1.25rem; color:var(--hs-on-brand);
}
.hs-drawer-top span{color:#fff; font-weight:600}
.hs-drawer nav{padding:6px 8px 24px; overflow-y:auto}
.hs-drawer ul{list-style:none; margin:0; padding:0}
.hs-drawer li{margin:0}
.hs-drawer a{display:block; padding:11px 14px; border-radius:9px; text-decoration:none; font-size:.95rem; color:var(--hs-ink-2)}
.hs-drawer a:hover{background:var(--hs-surface-2); color:var(--hs-ink)}
.hs-drawer .sub-menu{padding-left:12px}

/* ============================================================
   LAYOUT
   ============================================================ */
.hs-wrap{max-width:1040px; margin:0 auto; padding:0 18px; display:grid; grid-template-columns:minmax(0,1fr); gap:44px}
@media (min-width:1024px){ .hs-wrap.has-rail{grid-template-columns:minmax(0,1fr) 292px; align-items:start} }
.hs-article{max-width:var(--hs-measure); width:100%}

.hs-crumb{display:flex; flex-wrap:wrap; align-items:center; gap:7px; padding:4px 0 14px; font-size:.8rem; color:var(--hs-muted)}
.hs-crumb a{text-decoration:none}
.hs-crumb a:hover{color:var(--hs-brand); text-decoration:underline}
.hs-crumb svg{opacity:.45; flex:none}
.hs-crumb b{color:var(--hs-ink-2); font-weight:600}

.hs-title{font-size:clamp(1.7rem,5.4vw,2.45rem); font-weight:700; letter-spacing:-.025em; line-height:1.15; margin-bottom:14px}
.hs-dek{font-size:1.08rem; color:var(--hs-ink-2); margin:0 0 22px}

.hs-byline{display:flex; align-items:center; gap:12px; padding:14px 0; border-top:1px solid var(--hs-line); border-bottom:1px solid var(--hs-line); margin-bottom:30px}
.hs-byline .avatar{width:40px; height:40px; flex:none; border-radius:50%; overflow:hidden; background:var(--hs-surface-2)}
.hs-byline img{border-radius:50%; display:block}
.hs-byline p{margin:0; font-size:.83rem; color:var(--hs-muted); line-height:1.45}
.hs-byline strong{display:block; font-size:.92rem; color:var(--hs-ink); font-weight:600; font-family:var(--hs-display)}
.hs-byline a{text-decoration:none}
.hs-byline a:hover{color:var(--hs-brand)}

.hs-hero{margin:0 0 26px}
.hs-hero img{border-radius:5px; display:block; width:100%}

/* tabelas roláveis: o corpo da página nunca rola de lado */
.hs-content figure.wp-block-table{overflow-x:auto}

/* índice interno com mostrar mais */
.hs-toc{background:var(--hs-surface-2); border-radius:4px; padding:16px 18px; margin:0 0 38px}
.hs-toc-h{font-family:var(--hs-display); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--hs-muted); display:block; margin-bottom:10px}
.hs-toc ol{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:2px}
.hs-toc li.is-hidden{display:none}
.hs-toc.is-open li.is-hidden{display:list-item}
.hs-toc a{display:flex; gap:10px; padding:5px 0; text-decoration:none; font-size:.97rem; color:var(--hs-ink-2)}
.hs-toc a:hover{color:var(--hs-brand)}
.hs-toc .n{color:var(--hs-muted); font-variant-numeric:tabular-nums; min-width:16px}
.hs-toc-more{margin-top:8px; background:none; border:0; padding:4px 0; cursor:pointer; font-family:var(--hs-display); font-weight:600; font-size:.82rem; color:var(--hs-brand); display:flex; align-items:center; gap:6px}
.hs-toc-more svg{transition:transform .2s}
.hs-toc.is-open .hs-toc-more svg{transform:rotate(180deg)}

/* ============================================================
   CONTEÚDO DO POST
   ============================================================ */
.hs-content{}
.hs-content > *{margin-block:0 18px}
.hs-content p{color:var(--hs-ink-2)}
.hs-content p strong,.hs-content p b{color:var(--hs-ink); font-weight:700}
.hs-content ul,.hs-content ol{padding-left:20px; display:flex; flex-direction:column; gap:9px; font-size:.98rem; color:var(--hs-muted)}
.hs-content li::marker{color:var(--hs-line-2)}
.hs-content a{color:var(--hs-brand); text-decoration:underline; text-underline-offset:2px}
.hs-content img{border-radius:5px; display:block}
.hs-content figure{margin:0 0 22px}
.hs-content figcaption{font-size:.82rem; color:var(--hs-muted); margin-top:7px}
.hs-content blockquote{margin:0 0 22px; padding-left:18px; border-left:3px solid var(--hs-brand-bar); color:var(--hs-ink-2); font-style:italic}
.hs-content h3{font-size:1.12rem; font-weight:600; margin-top:26px; color:var(--hs-ink)}
.hs-content table{width:100%; border-collapse:collapse; font-size:.93rem}
.hs-table-scroll{overflow-x:auto; margin-bottom:22px}

/* H2 = tópico numerado. O número é injetado pelo PHP. */
.hs-content h2.hs-topic{
  display:flex; gap:13px; align-items:flex-start;
  font-size:clamp(1.3rem,3.9vw,1.62rem); font-weight:700; letter-spacing:-.02em; line-height:1.25;
  color:var(--hs-ink);
  border-top:1px solid var(--hs-line);
  margin-top:40px; padding-top:40px; margin-bottom:16px;
  scroll-margin-top:calc(var(--hs-bar-h) + var(--hs-track-h) + 18px + var(--hs-admin));
}
.hs-content h2.hs-topic:first-child{border-top:0; margin-top:0; padding-top:0}
/* Tudo em em: o círculo acompanha o tamanho do título, e o centro dele
   cai no centro da primeira linha em qualquer tamanho de fonte.
   Antes, com align-items:baseline e um deslocamento fixo, o erro chegava
   a 49px nos títulos grandes. */
.hs-num{
  flex:none;
  width:1.87em; height:1.87em;
  font-size:.62em; line-height:1;
  margin-top:.07em;
  display:grid; place-content:center; border-radius:50%;
  background:var(--hs-brand-bar); color:var(--hs-on-brand);
  font-family:var(--hs-display); font-weight:700;
  font-variant-numeric:tabular-nums;
}

/* padrões de bloco */
.hs-tldr{background:var(--hs-surface); border:1px solid var(--hs-line); border-left:4px solid var(--hs-brand-bar); border-radius:4px; padding:18px 20px; margin-bottom:30px; box-shadow:var(--hs-shadow)}
.hs-tldr h2{font-size:.72rem!important; text-transform:uppercase; letter-spacing:.1em; color:var(--hs-brand); margin-bottom:10px; border:0!important; padding:0!important; display:block!important}
.hs-tldr ul{margin:0; font-size:.97rem; color:var(--hs-ink-2)}

.hs-note{
  background:var(--hs-warn-bg); border:1px solid var(--hs-warn-line); border-radius:4px;
  padding:15px 18px; font-size:.9rem; line-height:1.55; color:var(--hs-warn-ink);
  margin:38px 0; display:flex; gap:12px;
}
.hs-note svg{flex:none; margin-top:3px}

/* ============================================================
   BLOCOS PÓS-ARTIGO
   ============================================================ */
.hs-helpful{background:var(--hs-surface); border:1px solid var(--hs-line); border-radius:4px; padding:20px; text-align:center; margin-bottom:38px}
.hs-helpful p{margin:0 0 13px; font-family:var(--hs-display); font-weight:600; font-size:1rem}
.hs-helpful .btns{display:flex; gap:10px; justify-content:center}
.hs-helpful button{min-width:84px; padding:9px 20px; border-radius:999px; border:1px solid var(--hs-line-2); background:var(--hs-surface); font:inherit; font-size:.92rem; font-weight:600; color:var(--hs-ink-2); cursor:pointer; transition:.16s}
.hs-helpful button:hover{border-color:var(--hs-brand); color:var(--hs-brand); background:var(--hs-surface-2)}
.hs-helpful.is-done .btns{display:none}

.hs-block-h{font-family:var(--hs-display); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--hs-muted); margin-bottom:12px}
.hs-bio{display:flex; gap:15px; background:var(--hs-surface); border:1px solid var(--hs-line); border-radius:4px; padding:18px; margin-bottom:38px}
.hs-bio img{border-radius:50%; flex:none}
.hs-bio p{margin:6px 0 0; font-size:.88rem; color:var(--hs-muted)}
.hs-bio strong{font-family:var(--hs-display); font-size:1rem}

.hs-rel{display:grid; gap:10px; margin-bottom:56px; padding:0; list-style:none}
@media (min-width:560px){ .hs-rel{grid-template-columns:1fr 1fr} }
.hs-card{display:block; text-decoration:none; background:var(--hs-surface); border:1px solid var(--hs-line); border-radius:4px; padding:15px; transition:.16s; height:100%}
.hs-card:hover{border-color:var(--hs-brand-bar); transform:translateY(-2px); box-shadow:var(--hs-shadow)}
.hs-card span{font-family:var(--hs-display); font-size:.63rem; text-transform:uppercase; letter-spacing:.09em; color:var(--hs-brand)}
.hs-card p{margin:5px 0 0; font-size:.95rem; font-weight:600; line-height:1.35; color:var(--hs-ink)}

/* rail */
.hs-rail{display:none}
@media (min-width:1024px){
  .hs-rail{display:block; position:sticky; top:calc(var(--hs-bar-h) + var(--hs-track-h) + 22px + var(--hs-admin))}
  .hs-rail .box{background:var(--hs-surface); border:1px solid var(--hs-line); border-radius:4px; padding:17px; margin-bottom:16px}
  .hs-rail .box ul{list-style:none; margin:0; padding:0}
  .hs-rail .box a{display:block; text-decoration:none; font-size:.9rem; font-weight:600; color:var(--hs-ink-2); padding:8px 0; border-bottom:1px solid var(--hs-line); line-height:1.35}
  .hs-rail .box li:last-child a{border-bottom:0}
  .hs-rail .box a:hover{color:var(--hs-brand)}
}

/* ============================================================
   HOME
   ============================================================ */
.hs-hero{background:var(--hs-surface); border-bottom:1px solid var(--hs-line); padding:44px 18px 40px}
.hs-hero-inner{max-width:660px; margin:0 auto; text-align:center}
.hs-hero-eyebrow{
  display:block; font-family:var(--hs-display); font-size:.68rem;
  text-transform:uppercase; letter-spacing:.14em; color:var(--hs-brand); margin-bottom:12px;
}
.hs-hero h1{
  font-size:clamp(1.5rem,4.6vw,2.15rem); font-weight:700; letter-spacing:-.025em;
  line-height:1.22; color:var(--hs-ink); margin-bottom:22px;
}
/* A busca da home é maior e sempre aberta — aqui ela é o ponto de partida,
   não um ícone secundário como no cabeçalho. */
.hs-hero-search .hs-search{
  margin:0 auto; width:min(420px,100%); height:48px;
  border:1px solid var(--hs-line-2); padding-left:20px;
}
.hs-hero-search .hs-search input{opacity:1; font-size:.98rem}
.hs-hero-search .hs-search button{width:38px; height:38px; background:var(--hs-brand-bar); color:var(--hs-on-brand)}

.hs-home{display:block; padding-top:38px}
.hs-home-section{margin-bottom:52px}
.hs-home-head{display:flex; align-items:baseline; justify-content:space-between; gap:16px}
.hs-home-h{
  font-family:var(--hs-display); font-size:.74rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.11em; color:var(--hs-muted); margin-bottom:16px;
}
.hs-home-all{font-size:.85rem; color:var(--hs-brand); text-decoration:none; font-weight:600}
.hs-home-all:hover{text-decoration:underline}

/* destaque */
.hs-feature{
  display:grid; grid-template-columns:1fr; gap:0; text-decoration:none; overflow:hidden;
  background:var(--hs-surface); border:1px solid var(--hs-line); border-radius:8px;
  transition:border-color .16s, transform .16s, box-shadow .16s;
}
.hs-feature:hover{border-color:var(--hs-brand-bar); transform:translateY(-2px); box-shadow:var(--hs-shadow)}
@media (min-width:760px){ .hs-feature{grid-template-columns:1.15fr 1fr; align-items:stretch} }
.hs-feature-media{position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--hs-surface-2)}
@media (min-width:760px){ .hs-feature-media{aspect-ratio:auto; min-height:260px} }
.hs-feature-media img{width:100%; height:100%; object-fit:cover; display:block}
.hs-feature-body{padding:24px}
.hs-feature-body h3{
  font-size:clamp(1.25rem,3.2vw,1.6rem); font-weight:700; letter-spacing:-.02em;
  line-height:1.25; color:var(--hs-ink); margin:8px 0 10px;
}
.hs-feature-body p{margin:0 0 14px; font-size:.95rem; line-height:1.55; color:var(--hs-ink-2)}
.hs-feature-meta{font-family:var(--hs-display); font-size:.82rem; font-weight:600; color:var(--hs-brand)}

/* categorias */
.hs-cats{display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; list-style:none; margin:0; padding:0}
.hs-cats a{
  display:block; text-decoration:none; padding:16px 18px; border-radius:6px;
  background:var(--hs-surface); border:1px solid var(--hs-line);
  transition:border-color .16s, background .16s;
}
.hs-cats a:hover{border-color:var(--hs-brand-bar); background:var(--hs-surface-2)}
.hs-cat-name{display:block; font-family:var(--hs-display); font-weight:700; font-size:1rem; color:var(--hs-ink); margin-bottom:3px}
.hs-cat-count{font-size:.79rem; color:var(--hs-muted)}

/* grade de artigos */
.hs-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:18px; list-style:none; margin:0; padding:0}
.hs-mcard{
  display:flex; flex-direction:column; height:100%; text-decoration:none; overflow:hidden;
  background:var(--hs-surface); border:1px solid var(--hs-line); border-radius:7px;
  transition:border-color .16s, transform .16s, box-shadow .16s;
}
.hs-mcard:hover{border-color:var(--hs-brand-bar); transform:translateY(-3px); box-shadow:var(--hs-shadow)}
.hs-mcard-media{aspect-ratio:16/10; overflow:hidden; background:var(--hs-surface-2); display:grid; place-content:center}
.hs-mcard-media img{width:100%; height:100%; object-fit:cover; display:block}
.hs-mcard-fallback{
  font-family:var(--hs-display); font-weight:700; font-size:2.4rem;
  color:var(--hs-line-2); text-transform:uppercase;
}
.hs-mcard-body{padding:15px 16px 18px; flex:1}
.hs-mcard-cat{
  display:block; font-family:var(--hs-display); font-size:.63rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.1em; color:var(--hs-brand); margin-bottom:6px;
}
.hs-mcard-body h3{font-size:1rem; font-weight:600; line-height:1.35; color:var(--hs-ink)}

/* ============================================================
   ARQUIVO / HOME
   ============================================================ */
.hs-archive-h{padding:26px 0 18px}
.hs-archive-h h1{font-size:clamp(1.5rem,4.5vw,2rem); letter-spacing:-.02em}
.hs-list{display:grid; gap:14px; padding:0 0 56px; list-style:none; margin:0}
@media (min-width:700px){ .hs-list{grid-template-columns:1fr 1fr} }
.hs-pag{display:flex; gap:8px; justify-content:center; padding-bottom:56px}
.hs-pag .page-numbers{padding:8px 14px; border-radius:8px; background:var(--hs-surface); border:1px solid var(--hs-line); text-decoration:none; font-size:.9rem}
.hs-pag .current{background:var(--hs-brand-bar); color:var(--hs-on-brand); border-color:transparent}

.hs-/* avatar de persona */
.hs-avatar-img{border-radius:50%; display:block}
.hs-avatar-initial{
  width:40px; height:40px; flex:none; display:grid; place-content:center; border-radius:50%;
  background:var(--hs-brand-bar); color:var(--hs-on-brand);
  font-family:var(--hs-display); font-weight:700; font-size:1.05rem;
}
.hs-bio .hs-avatar-initial{width:48px; height:48px}

/* ============================================================
   BLOCO QUIZ
   ============================================================ */
.hs-quiz{margin:38px 0; padding:24px 22px; border-radius:6px; background:var(--hs-surface); border:1px solid var(--hs-line); box-shadow:var(--hs-shadow)}
.hs-quiz-title{font-size:1.3rem; font-weight:700; letter-spacing:-.02em; color:var(--hs-ink); margin-bottom:14px}

.hs-quiz-progress{height:4px; border-radius:4px; background:var(--hs-surface-2); overflow:hidden; margin-bottom:22px}
.hs-quiz-progress i{display:block; height:100%; background:var(--hs-brand-bar); transition:width .25s ease}

.hs-quiz-q{border:0; margin:0 0 22px; padding:0}
.hs-quiz-q legend{display:flex; gap:11px; align-items:flex-start; font-family:var(--hs-display); font-weight:700; font-size:1.02rem; line-height:1.35; color:var(--hs-ink); margin-bottom:11px; padding:0}
.hs-quiz-n{
  flex:none; width:1.6em; height:1.6em; font-size:.72em; line-height:1;
  display:grid; place-content:center; border-radius:50%;
  background:var(--hs-surface-2); color:var(--hs-muted);
  font-variant-numeric:tabular-nums; margin-top:.12em;
}
.hs-quiz-q.is-answered .hs-quiz-n{background:var(--hs-brand-bar); color:var(--hs-on-brand)}

.hs-quiz-options{display:flex; flex-direction:column; gap:7px}
.hs-quiz-option{
  display:flex; align-items:flex-start; gap:10px; cursor:pointer;
  padding:11px 14px; border:1px solid var(--hs-line); border-radius:5px;
  background:var(--hs-ground); font-size:.95rem; line-height:1.45; color:var(--hs-ink-2);
  transition:border-color .15s, background .15s;
}
.hs-quiz-option:hover{border-color:var(--hs-line-2); background:var(--hs-surface-2)}
.hs-quiz-option input{margin-top:3px; flex:none; accent-color:var(--hs-brand-bar)}
.hs-quiz-option:has(input:checked){border-color:var(--hs-brand-bar); background:var(--hs-surface-2); color:var(--hs-ink)}

.hs-quiz-msg{margin:0 0 12px; font-size:.88rem; color:#C4453B; min-height:0}
.hs-quiz-submit{
  display:block; width:fit-content; margin:0 auto; border:0; cursor:pointer;
  background:var(--hs-brand-bar); color:var(--hs-on-brand);
  font-family:var(--hs-display); font-weight:700; font-size:1rem;
  padding:14px 34px; border-radius:999px; transition:filter .16s, transform .16s;
}
.hs-quiz-submit:hover{filter:brightness(1.06); transform:translateY(-1px)}

.hs-quiz-result{animation:hs-quiz-in .35s ease}
@keyframes hs-quiz-in{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none}}
.hs-quiz-eyebrow{display:block; font-family:var(--hs-display); font-size:.66rem; text-transform:uppercase; letter-spacing:.11em; color:var(--hs-brand); margin-bottom:8px}
.hs-quiz-result h3{font-size:1.28rem; font-weight:700; letter-spacing:-.02em; color:var(--hs-ink); margin-bottom:10px}
.hs-quiz-result p{margin:0; font-size:.97rem; line-height:1.6; color:var(--hs-ink-2)}
.hs-quiz-retry{
  display:block; margin:22px auto 0; border:1px solid var(--hs-line-2); cursor:pointer;
  background:none; color:var(--hs-ink-2); font:inherit; font-size:.88rem;
  padding:9px 20px; border-radius:999px;
}
.hs-quiz-retry:hover{border-color:var(--hs-brand); color:var(--hs-brand)}

/* --- teste de conhecimento: certo, errado e explicação --- */
.hs-quiz-intro{margin:0 0 18px; font-size:.95rem; color:var(--hs-ink-2); max-width:44ch}
.hs-quiz-mark{margin-left:auto; flex:none; font-style:normal; font-weight:700; opacity:0; transition:opacity .18s}
.hs-quiz-option.is-right{border-color:#4C9A2A; background:rgba(76,154,42,.12); color:var(--hs-ink)}
.hs-quiz-option.is-right .hs-quiz-mark::after{content:"¹3"; color:#4C9A2A}
.hs-quiz-option.is-wrong{border-color:#C4453B; background:rgba(196,69,59,.12)}
.hs-quiz-option.is-wrong .hs-quiz-mark::after{content:"¹5"; color:#C4453B}
.hs-quiz-option.is-right .hs-quiz-mark,
.hs-quiz-option.is-wrong .hs-quiz-mark{opacity:1}
.hs-quiz-q.is-graded .hs-quiz-option{cursor:default}
.hs-quiz-q.is-right .hs-quiz-n{background:#4C9A2A; color:#fff}
.hs-quiz-q.is-wrong .hs-quiz-n{background:#C4453B; color:#fff}

.hs-quiz-why{
  margin:10px 0 0; padding:11px 14px; border-left:3px solid var(--hs-brand-bar);
  background:var(--hs-surface-2); border-radius:0 4px 4px 0;
  font-size:.89rem; line-height:1.55; color:var(--hs-ink-2);
}

.hs-quiz-score{text-align:center; margin-bottom:20px}
.hs-quiz-score-n{
  display:block; font-family:var(--hs-display); font-weight:700;
  font-size:2.6rem; line-height:1; color:var(--hs-ink);
  font-variant-numeric:tabular-nums;
}
.hs-quiz-score-n b{color:var(--hs-brand)}
.hs-quiz-score-n span{font-size:1.4rem; color:var(--hs-muted); font-weight:600}
.hs-quiz-score .hs-quiz-eyebrow{margin-top:6px}
.hs-quiz-results .hs-quiz-result{text-align:center}
.hs-quiz-results .hs-quiz-result p{max-width:44ch; margin-inline:auto}

/* --- material desbloqueado ao final do quiz --- */
.hs-quiz-reward{
  margin-top:26px; padding:22px; border-radius:6px; text-align:center;
  background:var(--hs-surface-2); border:1px dashed var(--hs-line-2);
}
.hs-quiz-unlock{
  display:grid; place-content:center; width:46px; height:46px; margin:0 auto 12px;
  border-radius:50%; background:var(--hs-brand-bar); color:var(--hs-on-brand);
}
.hs-quiz-reward h3{font-size:1.15rem; font-weight:700; letter-spacing:-.02em; color:var(--hs-ink); margin-bottom:8px}
.hs-quiz-reward > p{margin:0 auto 16px; max-width:40ch; font-size:.93rem; line-height:1.55; color:var(--hs-ink-2)}
.hs-quiz-reward .hs-optin{margin:0; padding:0; background:none; border:0}
.hs-quiz-reward .hs-optin-consent{justify-content:center; text-align:left}

@media (prefers-reduced-motion: reduce){ .hs-quiz-result{animation:none} }

/* ============================================================
   CAPTURA DE E-MAIL
   ============================================================ */
.hs-optin{
  margin:38px 0; padding:24px 22px; border-radius:6px;
  background:var(--hs-surface-2); border:1px solid var(--hs-line);
}
.hs-optin-title{font-size:1.2rem; font-weight:700; letter-spacing:-.02em; color:var(--hs-ink); margin-bottom:8px}
.hs-optin-text{margin:0 0 18px; max-width:44ch; font-size:.94rem; line-height:1.6; color:var(--hs-ink-2)}

.hs-optin-row{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px}
.hs-optin-row input[type=email]{
  flex:1 1 220px; min-width:0; height:46px; padding:0 16px;
  border:1px solid var(--hs-line-2); border-radius:999px;
  background:var(--hs-surface); color:var(--hs-ink);
  font:inherit; font-size:.95rem;
}
.hs-optin-row input[type=email]::placeholder{color:var(--hs-muted)}
.hs-optin-row button{
  flex:none; height:46px; padding:0 26px; border:0; border-radius:999px; cursor:pointer;
  background:var(--hs-brand-bar); color:var(--hs-on-brand);
  font-family:var(--hs-display); font-weight:700; font-size:.92rem;
  transition:filter .16s;
}
.hs-optin-row button:hover{filter:brightness(1.06)}
.hs-optin-row button[disabled]{opacity:.6; cursor:progress}

.hs-optin-consent{display:flex; gap:9px; align-items:flex-start; font-size:.82rem; line-height:1.5; color:var(--hs-muted)}
.hs-optin-consent input{margin-top:3px; flex:none; accent-color:var(--hs-brand-bar)}
.hs-optin-consent a{color:var(--hs-brand)}

/* honeypot: fora da tela, invisível para gente, preenchido por robô */
.hs-optin-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}

.hs-optin-msg{margin:12px 0 0; font-size:.88rem; min-height:1.2em}
.hs-optin-msg.is-ok{color:var(--hs-brand); font-weight:600}
.hs-optin-msg.is-error{color:#C4453B}
.hs-optin.is-done .hs-optin-form > *:not(.hs-optin-msg){display:none}

.hs-content .hs-optin a{text-decoration:underline}
.hs-content .hs-optin p{color:inherit}

/* ============================================================
   BLOCO DE ARQUIVO (PDF)
   ============================================================ */
.hs-content .wp-block-file__embed{display:none}
.hs-content .wp-block-file{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  background:var(--hs-surface); border:1px solid var(--hs-line); border-radius:5px;
  padding:16px 18px; margin-bottom:22px;
}
.hs-content .wp-block-file > a:not(.wp-block-file__button){
  font-family:var(--hs-display); font-weight:600; font-size:.97rem;
  color:var(--hs-ink); text-decoration:none; flex:1 1 auto; min-width:0;
}
.hs-content .wp-block-file > a:not(.wp-block-file__button)::before{
  content:"PDF"; display:inline-block; margin-right:10px; padding:2px 7px; border-radius:3px;
  background:var(--hs-surface-2); color:var(--hs-muted);
  font-size:.62rem; letter-spacing:.08em; vertical-align:middle;
}
.hs-content .wp-block-file > a:not(.wp-block-file__button):hover{color:var(--hs-brand); text-decoration:underline}
.hs-content .wp-block-file__button{
  flex:none; background:var(--hs-brand-bar); color:var(--hs-on-brand);
  border-radius:999px; padding:9px 22px; text-decoration:none;
  font-family:var(--hs-display); font-weight:600; font-size:.85rem;
  transition:filter .16s;
}
.hs-content .wp-block-file__button:hover{filter:brightness(1.06); text-decoration:none}

/* ============================================================
   SEÇÃO DE OFERTA
   ============================================================ */
.hs-offer{
  margin:38px 0; padding:24px 22px; border-radius:6px; text-align:center;
  background:var(--hs-surface); border:1px solid var(--hs-line);
  border-top:3px solid var(--hs-brand-bar); box-shadow:var(--hs-shadow);
}
/* Etiqueta, título, corpo e aviso alinham na borda interna da caixa.
   Cupom e botão continuam centrados: são ação, não leitura. */
.hs-offer-eyebrow{
  display:block; text-align:left;
  font-family:var(--hs-display); font-size:.66rem;
  text-transform:uppercase; letter-spacing:.11em; color:var(--hs-brand); margin-bottom:8px;
}
.hs-offer-title{
  text-align:left;
  font-size:1.3rem; font-weight:700; letter-spacing:-.02em; line-height:1.25;
  color:var(--hs-ink); margin-bottom:10px;
}
.hs-offer-text{
  /* margin-left:0 encosta a coluna na borda interna da caixa: o texto passa a
     começar exatamente onde começa o título. O teto de 34rem segura a linha em
     ~72 caracteres — sem ele a linha chega a 87, longe demais para ler bem. */
  margin:0 auto 20px 0; max-width:34rem;
  font-size:.95rem; line-height:1.6; color:var(--hs-ink-2);
  text-align:left;
}

.hs-coupon{display:flex; align-items:stretch; justify-content:center; gap:0; margin-bottom:18px}
.hs-coupon code{
  font-family:var(--hs-display); font-size:1.35rem; font-weight:700; letter-spacing:.09em;
  color:var(--hs-ink); background:var(--hs-surface-2);
  border:2px dashed var(--hs-line-2); border-right:0; border-radius:6px 0 0 6px;
  padding:10px 18px; display:flex; align-items:center;
}
.hs-coupon-copy{
  border:2px solid var(--hs-brand-bar); background:var(--hs-brand-bar); color:var(--hs-on-brand);
  border-radius:0 6px 6px 0; padding:0 16px; cursor:pointer;
  font:inherit; font-family:var(--hs-display); font-weight:600; font-size:.82rem;
  transition:filter .16s;
}
.hs-coupon-copy:hover{filter:brightness(1.06)}
.hs-coupon-copy.is-copied{background:var(--hs-brand); border-color:var(--hs-brand); color:#fff}

.hs-offer-cta{
  /* width:fit-content + margin auto centraliza sem depender do text-align
     do pai — funciona mesmo se o bloco cair dentro do conteúdo do post. */
  display:block; width:fit-content; max-width:100%; margin:0 auto;
  background:var(--hs-brand-bar); color:var(--hs-on-brand);
  font-family:var(--hs-display); font-weight:700; font-size:1rem; letter-spacing:.01em;
  text-decoration:none; padding:14px 34px; border-radius:999px;
  transition:transform .16s, filter .16s;
}
.hs-offer-cta:hover{transform:translateY(-1px); filter:brightness(1.06)}
.hs-offer-alt{display:block; width:fit-content; margin:14px auto 0; font-size:.9rem; color:var(--hs-brand); text-decoration:underline; text-underline-offset:2px}

/* O bloco é injetado dentro de .hs-content, cujas regras de link têm
   especificidade maior (0,1,1) que as do botão (0,1,0) e venciam a disputa:
   era o que sublinhava o "COMPRAR AGORA". */
.hs-content .hs-offer{text-align:center}
.hs-content .hs-offer .hs-offer-cta{text-decoration:none; color:var(--hs-on-brand)}
.hs-content .hs-offer .hs-offer-text{text-align:left; margin-left:0; margin-right:auto}
.hs-content .hs-offer .hs-offer-eyebrow,
.hs-content .hs-offer .hs-offer-title,
.hs-content .hs-offer .hs-offer-note{text-align:left}
.hs-content .hs-offer p{color:var(--hs-ink-2)}
.hs-content .hs-offer ul,.hs-content .hs-offer ol{padding-left:0; list-style:none}
.hs-offer-note{margin:18px auto 0 0; max-width:52ch; text-align:left; font-size:.76rem; line-height:1.5; color:var(--hs-muted)}

/* páginas estáticas e 404 */
.page .hs-article,.hs-404{padding-bottom:56px}
.hs-404-search{margin-bottom:38px}
.hs-404-search .hs-search{margin-left:0; width:min(320px,100%); border:1px solid var(--hs-line)}
.hs-404-search .hs-search input{opacity:1}

footer{border-top:1px solid var(--hs-line); background:var(--hs-surface); padding:26px 18px; text-align:center; font-size:.82rem; color:var(--hs-muted)}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition-duration:.01ms!important; animation-duration:.01ms!important}
}
