/* ==========================================================================
   A ARTE DO YOGA — Design System
   Paleta e tipografia herdadas da marca original (Lovable), refinadas para
   um editorial premium em HTML/CSS puro. Zero dependências externas de CSS.
   ========================================================================== */

:root{
  /* ---- Cor: núcleo da marca ---- */
  --ink:        #241F2E;   /* texto principal */
  --ink-soft:   #5B5568;   /* texto secundário */
  --dawn:       #FBF7F1;   /* fundo quente (golden hour) */
  --paper:      #FFFFFF;   /* fundo de cartões/superfícies */
  --plum:       #602A92;   /* cor primária da marca */
  --plum-dark:  #451E6B;
  --coral:      #F2A688;   /* acento quente / CTA */
  --coral-dark: #DE7E58;
  --sand:       #EFE5D8;   /* neutro quente / bordas */
  --sand-line:  #E4D8C8;

  /* ---- Cor: acento por categoria ---- */
  --cat-pratica:   #DE7E58;  /* coral profundo */
  --cat-filosofia: #602A92;  /* plum */
  --cat-bemestar:  #B87F3A;  /* ocre/dourado */
  --cat-meditacao: #4B5A8F;  /* índigo */

  --lavender: #F3EAF7;
  --blush:    #FBEFF3;

  /* ---- Tipografia ---- */
  --font-display: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;

  /* ---- Escala espacial ---- */
  --space-3xs: .25rem;
  --space-2xs: .5rem;
  --space-xs:  .75rem;
  --space-sm:  1rem;
  --space-md:  1.75rem;
  --space-lg:  2.75rem;
  --space-xl:  4.5rem;
  --space-2xl: 7rem;

  /* ---- Forma / profundidade ---- */
  --radius-sm: .5rem;
  --radius: .9rem;
  --radius-lg: 1.5rem;
  --shadow-soft: 0 1px 2px rgba(36,31,46,.04), 0 8px 24px rgba(36,31,46,.06);
  --shadow-lift: 0 4px 8px rgba(36,31,46,.05), 0 20px 48px rgba(36,31,46,.12);
  --ease: cubic-bezier(.4,0,.2,1);
  --max: 1240px;
}

/* ---------------------------------------------------------------------- */
/* Reset enxuto                                                           */
/* ---------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
img,picture,svg{display:block;max-width:100%;height:auto}
img{background:var(--sand)}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none;padding:0}
button,input,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
table{border-collapse:collapse;width:100%}

body{
  font-family:var(--font-body);
  background:var(--dawn);
  color:var(--ink);
  font-size:1.0625rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-wrap:break-word;
}
/* Rede de segurança: nenhum elemento (imagem, iframe, tabela, pre) deve
   forçar rolagem horizontal da página. Não usamos overflow-x:hidden no
   body/html de propósito — isso quebraria o header com position:sticky. */
img,svg,video,iframe,table,pre{max-width:100%}
table{display:block;overflow-x:auto}

:focus-visible{outline:2px solid var(--plum);outline-offset:3px;border-radius:3px}

h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--ink);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.01em;
  text-wrap:balance;
}
h1{font-size:clamp(2.4rem,5.4vw,4.25rem);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(1.85rem,3.6vw,2.75rem)}
h3{font-size:clamp(1.3rem,2.1vw,1.6rem)}
h4{font-size:1.1rem}
p{max-width:70ch}
p+p, p+h2, p+h3, ul+h2, ul+h3, blockquote+p{margin-top:var(--space-sm)}
strong{font-weight:700}

.container{max-width:var(--max);margin-inline:auto;padding-inline:1.5rem}
@media (min-width:768px){ .container{padding-inline:2.5rem} }

.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font-body);font-weight:700;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--plum);
}
.eyebrow::before{content:"";width:1.15rem;height:1px;background:currentColor;opacity:.55}

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{
  position:absolute;top:-3rem;left:1rem;background:var(--ink);color:#fff;
  padding:.6rem 1rem;border-radius:.5rem;z-index:200;transition:top .2s var(--ease);
}
.skip-link:focus{top:1rem}

/* ---------------------------------------------------------------------- */
/* Botões                                                                  */
/* ---------------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-weight:700;font-size:.95rem;padding:.85rem 1.6rem;border-radius:100px;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease);
  white-space:nowrap;
}
.btn-primary{background:var(--plum);color:#fff;box-shadow:0 10px 24px -8px rgba(96,42,146,.55)}
.btn-primary:hover{background:var(--plum-dark);transform:translateY(-2px);box-shadow:0 16px 28px -8px rgba(96,42,146,.6)}
.btn-ghost{border:1.5px solid var(--sand-line);color:var(--ink);background:var(--paper)}
.btn-ghost:hover{border-color:var(--plum);color:var(--plum);transform:translateY(-2px)}
.btn-sm{padding:.55rem 1.1rem;font-size:.82rem}

/* ---------------------------------------------------------------------- */
/* Cabeçalho                                                               */
/* ---------------------------------------------------------------------- */
.site-header{
  position:sticky;top:0;z-index:100;background:rgba(251,247,241,.86);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;transition:border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.site-header.is-scrolled{border-color:var(--sand-line);box-shadow:0 1px 0 rgba(36,31,46,.02)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:4.75rem;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.brand img{height:2.35rem;width:auto}
.brand .brand-word{font-family:var(--font-display);font-weight:800;font-size:1.05rem;letter-spacing:-.01em}

.main-nav{display:none}
.main-nav ul{display:flex;align-items:center;gap:2rem}
.main-nav a{font-weight:600;font-size:.92rem;position:relative;padding:.3rem 0}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--coral-dark);transition:right .28s var(--ease)}
.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{right:0}
.main-nav a[aria-current="page"]{color:var(--plum)}

.header-actions{display:flex;align-items:center;gap:.35rem}
.icon-btn{width:2.5rem;height:2.5rem;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);transition:background .2s var(--ease),color .2s var(--ease)}
.icon-btn:hover{background:var(--lavender);color:var(--plum)}
.icon-btn svg{width:1.15rem;height:1.15rem}
.nav-toggle{display:inline-flex}

@media (min-width:960px){
  .main-nav{display:block}
  .nav-toggle{display:none}
}

.mobile-nav{
  display:none;position:fixed;inset:4.75rem 0 0 0;background:var(--dawn);
  z-index:99;overflow-y:auto;padding:1.5rem;
}
.mobile-nav.is-open{display:block}
.mobile-nav ul{display:flex;flex-direction:column;gap:.25rem}
.mobile-nav a{display:block;padding:1rem .5rem;font-family:var(--font-display);font-weight:700;font-size:1.35rem;border-bottom:1px solid var(--sand-line)}

/* Círculos de categoria — uma única linha, sempre; encolhem via clamp()
   para caber todos (4 categorias + Glossário) mesmo em telas de 320px. */
.cat-circles{border-bottom:1px solid var(--sand-line);background:var(--paper)}
.cat-circles .container{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:clamp(.1rem,1.2vw,1rem);padding-block:.9rem;flex-wrap:nowrap;
}
.cat-circle{
  display:flex;flex-direction:column;align-items:center;gap:.4rem;
  flex:1 1 0;min-width:0;text-align:center;padding:.15rem;border-radius:var(--radius-sm);
  transition:transform .22s var(--ease);
}
.cat-circle .circle{
  width:clamp(2.5rem,8.5vw,3.4rem);height:clamp(2.5rem,8.5vw,3.4rem);
  border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:clamp(1.05rem,3.6vw,1.5rem);line-height:1;transition:box-shadow .22s var(--ease);
}
.cat-circle .label{
  font-size:clamp(.54rem,2.15vw,.78rem);font-weight:700;line-height:1.15;
  max-width:100%;overflow-wrap:normal;word-break:keep-all;hyphens:auto;
  letter-spacing:-.01em;white-space:normal;
}
.cat-circle:hover{transform:translateY(-2px)}
.cat-circle[aria-current="page"] .circle{box-shadow:0 0 0 2.5px var(--paper),0 0 0 4px currentColor}

/* ---------------------------------------------------------------------- */
/* Hero                                                                    */
/* ---------------------------------------------------------------------- */
.hero{position:relative;overflow:hidden;padding-block:var(--space-xl) var(--space-lg)}
.hero::before{
  content:"";position:absolute;inset:-20% -10% auto -10%;height:140%;
  background:radial-gradient(60% 60% at 30% 20%, rgba(242,166,136,.28), transparent 60%),
             radial-gradient(50% 50% at 85% 15%, rgba(96,42,146,.16), transparent 60%);
  pointer-events:none;z-index:0;
}
.hero .container{position:relative;z-index:1}
.hero-grid{display:grid;gap:2.5rem;align-items:center}
@media (min-width:960px){ .hero-grid{grid-template-columns:1.05fr .95fr;gap:3.5rem} }
.hero h1{margin-top:1rem}
.hero .lede{margin-top:1.1rem;font-size:1.2rem;color:var(--ink-soft);max-width:46ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.75rem}
.hero-figure{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lift);aspect-ratio:4/5}
.hero-figure img{width:100%;height:100%;object-fit:cover}
.mandala{position:absolute;opacity:.5}

/* Mandala/dot signature motif (do logotipo) */
.dot-motif{display:inline-flex;gap:.4rem;align-items:center}
.dot-motif span{width:.35rem;height:.35rem;border-radius:50%;background:var(--coral-dark)}
.dot-motif span:nth-child(2){background:var(--plum);width:.5rem;height:.5rem}
.dot-motif span:nth-child(3){background:var(--cat-bemestar)}

.section-divider{display:flex;align-items:center;justify-content:center;gap:.85rem;margin-block:var(--space-lg);color:var(--sand-line)}
.section-divider .line{height:1px;flex:1;background:var(--sand-line);max-width:6rem}

/* ---------------------------------------------------------------------- */
/* Seções gerais                                                          */
/* ---------------------------------------------------------------------- */
.section{padding-block:var(--space-xl)}
.section-tight{padding-block:var(--space-lg)}
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:var(--space-md)}
.section-head h2{margin-top:.5rem}
.section-alt{background:var(--paper);border-block:1px solid var(--sand-line)}

/* ---------------------------------------------------------------------- */
/* Cartões de artigo                                                      */
/* ---------------------------------------------------------------------- */
.article-grid{display:grid;gap:1.75rem;grid-template-columns:1fr}
@media (min-width:680px){ .article-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1080px){ .article-grid.cols-3{grid-template-columns:repeat(3,1fr)} }

.card-article{
  display:flex;flex-direction:column;background:var(--paper);border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .3s var(--ease),box-shadow .3s var(--ease);
  height:100%;
}
.card-article:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
.card-article .thumb{aspect-ratio:16/11;overflow:hidden}
.card-article .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.card-article:hover .thumb img{transform:scale(1.06)}
.card-article .body{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.card-article h3{font-size:1.2rem;line-height:1.3}
.card-article .excerpt{color:var(--ink-soft);font-size:.95rem;flex:1}
.card-article .meta{display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--ink-soft);margin-top:auto;padding-top:.4rem}

.tag{
  display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;
  letter-spacing:.03em;padding:.3rem .7rem;border-radius:100px;width:fit-content;
}
.tag .dot{width:.4rem;height:.4rem;border-radius:50%}

/* Featured (hero) article card */
.card-featured{display:grid;background:var(--paper);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lift)}
@media (min-width:800px){ .card-featured{grid-template-columns:1.1fr 1fr} }
.card-featured .thumb{aspect-ratio:16/10}
@media (min-width:800px){ .card-featured .thumb{aspect-ratio:auto;height:100%} }
.card-featured .thumb img{width:100%;height:100%;object-fit:cover}
.card-featured .body{padding:2.25rem clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center;gap:1rem}
.card-featured h2{font-size:clamp(1.6rem,3vw,2.1rem)}
.card-featured .excerpt{color:var(--ink-soft);font-size:1.05rem}

/* ---------------------------------------------------------------------- */
/* Prosa de artigo                                                        */
/* ---------------------------------------------------------------------- */
.article-head{padding-block:var(--space-lg) var(--space-md)}
.article-head .meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.25rem;color:var(--ink-soft);font-size:.88rem}
.article-head .meta-row .sep{width:3px;height:3px;border-radius:50%;background:var(--sand-line)}
.article-hero-figure{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lift);margin-top:var(--space-md)}
.article-hero-figure img{width:100%;aspect-ratio:16/8;object-fit:cover}

.prose{max-width:70ch;margin-inline:auto;font-size:1.09rem;line-height:1.8}
.prose h2{margin-top:2.4rem;margin-bottom:.9rem;font-size:1.65rem}
.prose h3{margin-top:1.9rem;margin-bottom:.7rem;font-size:1.3rem}
.prose p{max-width:none;margin-top:1.15rem}
.prose ul,.prose ol{margin-top:1.1rem;padding-left:1.4rem}
.prose li{margin-top:.5rem;line-height:1.7}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li::marker{color:var(--coral-dark);font-weight:700}
.prose a{color:var(--plum);font-weight:600;text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:3px}
.prose blockquote{
  margin:2.2rem 0;padding:1.5rem 1.75rem;border-left:3px solid var(--coral-dark);
  background:var(--lavender);border-radius:0 var(--radius) var(--radius) 0;
  font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--plum-dark);
  font-style:normal;line-height:1.5;
}
.prose strong{color:var(--ink)}

.share-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--sand-line)}

/* ---------------------------------------------------------------------- */
/* Breadcrumbs                                                            */
/* ---------------------------------------------------------------------- */
.breadcrumbs{padding-block:1.1rem;font-size:.82rem;color:var(--ink-soft)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.breadcrumbs a{font-weight:600}
.breadcrumbs a:hover{color:var(--plum)}
.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:.4rem;color:var(--sand-line)}
.breadcrumbs li[aria-current]{color:var(--ink);font-weight:600}

/* ---------------------------------------------------------------------- */
/* Glossário                                                              */
/* ---------------------------------------------------------------------- */
.glossary-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:var(--space-md)}
.letter-rail{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:var(--space-lg)}
.letter-rail a{
  width:2.15rem;height:2.15rem;border-radius:.55rem;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:700;font-size:.85rem;background:var(--paper);border:1px solid var(--sand-line);
}
.letter-rail a:hover{border-color:var(--plum);color:var(--plum)}

.term-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:680px){ .term-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1080px){ .term-grid{grid-template-columns:repeat(3,1fr)} }
.term-card{
  background:var(--paper);border:1px solid var(--sand-line);border-radius:var(--radius);
  padding:1.25rem 1.4rem;transition:border-color .2s var(--ease),transform .2s var(--ease);
}
.term-card:hover{border-color:var(--plum);transform:translateY(-2px)}
.term-card h3{font-size:1.02rem}
.term-card p{font-size:.88rem;color:var(--ink-soft);margin-top:.4rem}

.letter-group-title{
  font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--coral-dark);
  margin-top:var(--space-lg);margin-bottom:1rem;scroll-margin-top:6rem;
}

.term-header{padding-block:var(--space-lg) var(--space-sm)}
.term-header .term-title{margin-top:.6rem}
.term-header .short-def{margin-top:1rem;font-size:1.18rem;color:var(--ink-soft);max-width:65ch}
.term-quick{
  margin-top:1.5rem;padding:1.15rem 1.4rem;background:var(--blush);border-radius:var(--radius);
  font-family:var(--font-display);font-weight:700;font-size:1.02rem;color:var(--plum-dark);
  display:flex;gap:.75rem;align-items:flex-start;
}
.term-body{display:grid;gap:2.5rem;margin-top:var(--space-lg)}
@media (min-width:960px){ .term-body{grid-template-columns:2fr 1fr} }

.term-block{margin-top:2.1rem}
.term-block:first-child{margin-top:0}
.term-block h2{font-size:1.4rem}

.side-card{background:var(--paper);border:1px solid var(--sand-line);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}
.side-card h4{font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:.9rem}
.related-list{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.related-list li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.3rem 1rem;padding:.6rem .3rem;border-bottom:1px solid var(--sand-line)}
.related-list li:last-child{border-bottom:0}
.related-list li>*{min-width:0;overflow-wrap:anywhere}
.related-list li>span:first-child{color:var(--ink-soft);font-size:.88rem;flex-shrink:0}
.related-list a{font-weight:600;text-align:right}
.related-list a:hover{color:var(--plum)}

.check-list li{position:relative;padding-left:1.6rem;margin-top:.6rem}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--cat-bemestar);font-weight:800}
.warn-list li{position:relative;padding-left:1.6rem;margin-top:.6rem}
.warn-list li::before{content:"!";position:absolute;left:.15rem;color:var(--coral-dark);font-weight:800}

/* FAQ accordion — HTML nativo (details/summary), zero JS */
.faq-item{border-bottom:1px solid var(--sand-line)}
.faq-item summary{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem .1rem;
  font-family:var(--font-display);font-weight:700;font-size:1.03rem;cursor:pointer;list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";flex-shrink:0;font-size:1.4rem;font-weight:400;color:var(--plum);
  transition:transform .25s var(--ease);line-height:1;width:1.5rem;text-align:center;
}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .answer{padding:0 .1rem 1.3rem;color:var(--ink-soft);max-width:68ch}

/* ---------------------------------------------------------------------- */
/* Categoria / índice páginas                                             */
/* ---------------------------------------------------------------------- */
.cat-hero{padding-block:var(--space-lg);border-radius:var(--radius-lg);position:relative;overflow:hidden;color:#fff}
.cat-hero .container{position:relative;z-index:1}
.cat-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cat-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(30,20,45,.88), rgba(30,20,45,.42));z-index:0}
.cat-hero h1{color:#fff}
.cat-hero p{color:rgba(255,255,255,.86);margin-top:.85rem;max-width:52ch}

/* ---------------------------------------------------------------------- */
/* Formulários (contato/busca)                                            */
/* ---------------------------------------------------------------------- */
.field{display:flex;flex-direction:column;gap:.45rem;margin-top:1.15rem}
.field label{font-weight:700;font-size:.88rem}
.field input,.field textarea,.field select{
  border:1.5px solid var(--sand-line);border-radius:var(--radius-sm);padding:.8rem 1rem;
  background:var(--paper);font-size:1rem;transition:border-color .2s var(--ease);
}
.field input:focus,.field textarea:focus{border-color:var(--plum)}
.search-box{position:relative}
.search-box input{width:100%;padding:1rem 1.2rem 1rem 3rem;border-radius:100px;border:1.5px solid var(--sand-line);font-size:1.05rem;background:var(--paper)}
.search-box svg{position:absolute;left:1.15rem;top:50%;transform:translateY(-50%);width:1.15rem;height:1.15rem;color:var(--ink-soft)}
.search-results{margin-top:1.75rem;display:flex;flex-direction:column;gap:.85rem}
.search-result{display:block;padding:1.1rem 1.3rem;background:var(--paper);border:1px solid var(--sand-line);border-radius:var(--radius)}
.search-result:hover{border-color:var(--plum)}
.search-result .kind{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--coral-dark)}
.search-empty{color:var(--ink-soft);padding:2rem 0}

/* ---------------------------------------------------------------------- */
/* Quiz                                                                    */
/* ---------------------------------------------------------------------- */
.quiz-progress{height:.4rem;border-radius:100px;background:var(--sand);overflow:hidden;margin-top:1.25rem}
.quiz-progress > span{display:block;height:100%;background:linear-gradient(90deg,var(--coral),var(--plum));border-radius:100px}
.quiz-answers{display:grid;gap:.85rem;margin-top:var(--space-md)}
.quiz-answer{
  display:block;padding:1.15rem 1.4rem;background:var(--paper);border:1.5px solid var(--sand-line);
  border-radius:var(--radius);font-weight:600;transition:all .2s var(--ease);
}
.quiz-answer:hover{border-color:var(--coral-dark);background:var(--blush)}
.quiz-nav{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:var(--space-lg);gap:1rem}
.quiz-nav a{flex:1 1 auto;justify-content:center}
@media (min-width:560px){ .quiz-nav a{flex:0 1 auto} }

/* ---------------------------------------------------------------------- */
/* CTA newsletter/final                                                   */
/* ---------------------------------------------------------------------- */
.cta-band{
  background:linear-gradient(135deg,var(--plum) 0%,var(--plum-dark) 100%);
  color:#fff;border-radius:var(--radius-lg);padding:clamp(2.25rem,5vw,4rem);text-align:center;
  position:relative;overflow:hidden;
}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 80% at 80% 0%, rgba(242,166,136,.35), transparent 60%)}
.cta-band .container-inner{position:relative;z-index:1;max-width:38rem;margin-inline:auto}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.82);margin-top:.75rem;max-width:none}
.cta-band .btn-primary{background:#fff;color:var(--plum);box-shadow:0 10px 24px -8px rgba(0,0,0,.25)}
.cta-band .btn-primary:hover{background:var(--dawn)}

/* ---------------------------------------------------------------------- */
/* Rodapé                                                                  */
/* ---------------------------------------------------------------------- */
.site-footer{background:var(--ink);color:rgba(255,255,255,.7);margin-top:var(--space-2xl)}
.footer-top{padding-block:var(--space-xl) var(--space-lg);display:grid;gap:2.5rem;grid-template-columns:1fr}
@media (min-width:768px){ .footer-top{grid-template-columns:1.3fr 1fr 1fr 1fr} }
.footer-brand img{height:2.1rem;filter:brightness(0) invert(1);margin-bottom:1rem}
.footer-brand p{color:rgba(255,255,255,.55);font-size:.92rem;max-width:32ch}
.footer-col h5{color:#fff;font-family:var(--font-display);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.1rem}
.footer-col ul{display:flex;flex-direction:column;gap:.65rem}
.footer-col a:hover{color:#fff}
.footer-social{display:flex;gap:.6rem;margin-top:1.25rem}
.footer-social a{width:2.35rem;height:2.35rem;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center}
.footer-social a:hover{background:rgba(255,255,255,.1)}
.footer-social svg{width:1rem;height:1rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-block:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.82rem;color:rgba(255,255,255,.45)}
.footer-bottom ul{display:flex;gap:1.25rem;flex-wrap:wrap}

/* ---------------------------------------------------------------------- */
/* Utilidades de página (legal, faq, sobre)                               */
/* ---------------------------------------------------------------------- */
.page-head{padding-block:var(--space-lg) var(--space-md);text-align:left}
.legal-body h2{margin-top:2.2rem;margin-bottom:.75rem;font-size:1.4rem}
.legal-body p{margin-top:.9rem;color:var(--ink-soft)}
.legal-body ul{margin-top:.9rem;padding-left:1.4rem;list-style:disc;color:var(--ink-soft)}
.legal-body li{margin-top:.4rem}
.updated-badge{display:inline-block;margin-top:1rem;font-size:.82rem;color:var(--ink-soft)}

.stat-row{display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:768px){ .stat-row{grid-template-columns:repeat(4,1fr)} }
.stat{background:var(--paper);border:1px solid var(--sand-line);border-radius:var(--radius);padding:1.5rem;text-align:center}
.stat strong{display:block;font-family:var(--font-display);font-size:2rem;color:var(--plum)}
.stat span{font-size:.82rem;color:var(--ink-soft)}

.value-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media (min-width:680px){ .value-grid{grid-template-columns:repeat(3,1fr)} }
.value-card{padding:1.75rem;background:var(--paper);border-radius:var(--radius-lg);border:1px solid var(--sand-line)}
.value-card .icon{width:2.75rem;height:2.75rem;border-radius:.85rem;background:var(--lavender);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--plum)}

.pagefind-note{font-size:.85rem;color:var(--ink-soft)}

/* Sitemap HTML */
.sitemap-cols{columns:1;gap:2.5rem}
@media (min-width:680px){ .sitemap-cols{columns:2} }
@media (min-width:1080px){ .sitemap-cols{columns:3} }
.sitemap-cols .grp{break-inside:avoid;margin-bottom:2rem}
.sitemap-cols h3{font-size:1.05rem;margin-bottom:.75rem;color:var(--plum)}
.sitemap-cols li{margin-top:.45rem;font-size:.92rem}
.sitemap-cols a:hover{color:var(--plum);text-decoration:underline}

/* 404 */
.error-page{padding-block:var(--space-2xl);text-align:center}
.error-page .code{font-family:var(--font-display);font-weight:800;font-size:clamp(4rem,14vw,8rem);color:var(--sand-line);line-height:1}

::selection{background:var(--coral);color:var(--ink)}
