/*
Theme Name: Nessa Trader
Theme URI: https://nessatrader.com.br
Author: Equipe Nessa Trader (Agente 9)
Author URI: https://nessatrader.com.br
Description: Tema block-based (FSE) do site oficial de Vanessa de Souza / Nessa Trader. v2 "Nessa Editorial": sistema de zonas (Light institucional dominante / Dark de impacto), monograma oficial, texturas de mercado, laranja como enfase e roxo como assinatura institucional. Tokens no theme.json. Fontes oficiais (Glancyr/Acumin) pendentes de licenca — fallbacks Space Grotesk + Inter self-hosted.
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
Version: 5.0.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nessatrader
Tags: block-theme, full-site-editing, one-column, custom-colors, custom-typography
*/

/* =========================================================
   NESSA TRADER — CSS complementar ao theme.json
   Regras WCAG do Agente 5 (medidas, nao estimadas):
   - Amber #FF5E00 NUNCA como texto sobre fundo claro (2.74:1)
   - Botao primario = fundo Amber + texto PRETO (6.85:1)
   - Link em zona light = Royal Violet (11.70:1 AAA)
   - Link/destaque em zona dark = Amber (6.46:1 sobre Ink-950)
   - Foco: anel Violet 2px no light / Amber 2px no dark
   ========================================================= */

/* ---------- Foco visivel (WCAG 2.4.7) ---------- */
/* Zona light (padrao do body) — anel Royal Violet */
:focus-visible {
  outline: 2px solid var(--wp--preset--color--violet);
  outline-offset: 2px;
  border-radius: 2px;
}
/* Zona dark — anel Amber (Violet reprova sobre Ink-950: 1.51:1) */
.zone-dark :focus-visible,
.zone-dark a:focus-visible,
.zone-dark button:focus-visible {
  outline-color: var(--wp--preset--color--amber);
}

/* Reduced motion: transicoes viram instantaneas */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---------- Zonas dark: cor de link e texto ---------- */
/* Links em zona dark = Amber puro (regra §3.4 do design doc).
   Exceção: navegação (header/footer) fica em Gray-300 → hover Cloud White
   com underline Amber (design doc §4.1). */
.zone-dark a:not(.wp-element-button):not(.wp-block-button__link):not(.wp-block-navigation-item__content):not(.nt-logo) {
  color: var(--wp--preset--color--amber);
}
.zone-dark a:not(.wp-element-button):not(.wp-block-navigation-item__content):hover {
  color: var(--wp--preset--color--amber-300);
}
.zone-dark .wp-block-navigation a:hover {
  color: var(--wp--preset--color--white);
}

/* ---------- Layout raiz ---------- */
/* Remove o gap padrão de 24px entre header/main/footer (filetes brancos
   entre zonas dark) — as seções controlam o próprio espaçamento. */
.wp-site-blocks > * {
  margin-block-start: 0;
}
/* Seções full-bleed (as "zonas" do sistema v2) encostam umas nas outras.
   Sem isso o blockGap de 24px do layout constrained aparece como um filete
   claro entre duas zonas escuras — visível na virada dark -> violeta. */
.entry-content > .wp-block-group.alignfull {
  margin-block-start: 0;
  margin-block-end: 0;
}

/* ---------- Skip link (gerado pelo core) ---------- */
.skip-link.screen-reader-text {
  background: var(--wp--preset--color--violet);
  color: #fff;
}

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  /* Sem backdrop-filter: blur criaria um containing block e prenderia o
     overlay fixed do menu mobile dentro do header. Fundo 0.92 mantém o
     efeito de leve transparência do design doc §4.1. */
  background: rgba(0, 0, 0, 0.92) !important;
}
.site-header .wp-block-navigation a:hover {
  color: var(--wp--preset--color--white);
  text-decoration: underline;
  text-decoration-color: var(--wp--preset--color--amber);
  text-underline-offset: 6px;
}
/* Logo placeholder "ness↗" — TODO: substituir pelo SVG oficial do manual */
.nt-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  line-height: 1;
}
.nt-logo svg { display: block; height: 26px; width: auto; }

/* Overlay do menu mobile (core/navigation) — painel dark full-screen */
.wp-block-navigation__responsive-container.is-menu-open {
  background-color: #000 !important;
  color: var(--wp--preset--color--white);
  padding-top: 5rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--wp--preset--font-size--2-xl);
  color: var(--wp--preset--color--white);
}
/* Links do overlay empilhados à esquerda (design doc §4.1 — mobile) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  align-items: flex-start !important;
}
.wp-block-navigation__responsive-container.is-menu-open {
  padding-left: 1.5rem;
}
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
  color: var(--wp--preset--color--white);
}
.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg {
  width: 28px;
  height: 28px;
}

/* ---------- Botoes ---------- */
.wp-element-button,
.wp-block-button__link {
  transition: background-color 150ms ease-out, transform 150ms ease-out, border-color 150ms ease-out;
  min-height: 44px; /* touch target */
}
.wp-block-button .wp-element-button:hover {
  transform: translateY(-1px);
}
/* Secundario zona dark: borda Amber, texto Amber, fundo transparente */
.zone-dark .is-style-outline .wp-block-button__link,
.btn-outline-dark .wp-block-button__link {
  background: transparent;
  border: 1.5px solid var(--wp--preset--color--amber);
  color: var(--wp--preset--color--amber);
}
.zone-dark .is-style-outline .wp-block-button__link:hover,
.btn-outline-dark .wp-block-button__link:hover {
  background: rgba(255, 94, 0, 0.08);
  color: var(--wp--preset--color--amber);
}
/* Secundario zona light: borda Violet, texto Violet */
.is-style-outline .wp-block-button__link {
  background: transparent;
  border: 1.5px solid var(--wp--preset--color--violet);
  color: var(--wp--preset--color--violet);
}
.is-style-outline .wp-block-button__link:hover {
  background: rgba(76, 0, 125, 0.08);
  color: var(--wp--preset--color--violet);
}

/* ---------- Cards de coluna semanal ---------- */
.nt-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  box-shadow: var(--wp--custom--shadow--card, 0 1px 3px rgba(0,0,0,0.10));
  transition: box-shadow 150ms ease-out, transform 150ms ease-out;
}
.nt-card:hover {
  box-shadow: var(--wp--custom--shadow--card-hover, 0 6px 20px rgba(0,0,0,0.14));
  transform: translateY(-2px);
}
/* Card em zona dark (pricing) */
.nt-card-dark {
  background: var(--wp--preset--color--ink-900);
  border: 1px solid var(--wp--preset--color--ink-700);
  border-radius: 12px;
}
.nt-card-dark.nt-card-featured {
  border: 1.5px solid var(--wp--preset--color--amber);
}

/* ---------- Tags / badges ---------- */
.nt-tag {
  display: inline-block;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: var(--wp--preset--font-size--xs);
  font-family: var(--wp--preset--font-family--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
}
/* Zona light: fundo Violet-100, texto Violet (9.82:1) */
.nt-tag-light {
  background: var(--wp--preset--color--violet-100);
  color: var(--wp--preset--color--violet);
}
/* Zona dark: borda Amber, texto Amber (6.46:1) */
.nt-tag-dark {
  border: 1px solid var(--wp--preset--color--amber);
  color: var(--wp--preset--color--amber);
  background: transparent;
}

/* ---------- FAQ acordeao (<details> nativo, zero JS) ---------- */
.wp-block-details {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  padding: 0.75rem 0;
}
.wp-block-details summary {
  font-weight: 600;
  font-size: 1.0625rem;
  min-height: 44px;
  display: flex;
  align-items: center;
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-right: 2rem;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
  content: "+";
  position: absolute;
  right: 0.25rem;
  font-family: var(--wp--preset--font-family--display);
  font-size: 1.5rem;
  color: var(--wp--preset--color--violet);
  transition: transform 150ms ease-out;
}
.wp-block-details[open] summary::after {
  transform: rotate(45deg);
}
.wp-block-details > :not(summary) {
  color: var(--wp--preset--color--gray-600);
}

/* ---------- Pagina /links ---------- */
.nt-links-page {
  min-height: 100vh;
}
.nt-links-stack .wp-block-button,
.nt-links-stack .wp-block-button__link {
  width: 100%;
}
.nt-links-stack .wp-block-button__link {
  min-height: 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Botoes secundarios do /links: borda Ink-700 -> hover borda Amber */
.nt-links-stack .is-style-outline .wp-block-button__link {
  border: 1px solid var(--wp--preset--color--ink-700);
  color: var(--wp--preset--color--white);
  background: transparent;
}
.nt-links-stack .is-style-outline .wp-block-button__link:hover {
  border-color: var(--wp--preset--color--amber);
  color: var(--wp--preset--color--white);
  background: transparent;
}

/* ---------- RSS (bloco Ultimas analises) ---------- */
.nt-rss .wp-block-rss {
  list-style: none;
  padding-left: 0;
}
.nt-rss .wp-block-rss__item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding: 1.25rem 0;
}
.nt-rss .wp-block-rss__item-title a {
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--wp--preset--font-size--xl);
  font-weight: 500;
  color: var(--wp--preset--color--black);
  text-decoration: none;
}
.nt-rss .wp-block-rss__item-title a:hover {
  color: var(--wp--preset--color--violet);
  text-decoration: underline;
}
.nt-rss .wp-block-rss__item-publish-date {
  color: var(--wp--preset--color--gray-600);
  font-size: var(--wp--preset--font-size--sm);
}
.nt-rss .wp-block-rss__item-excerpt {
  color: var(--wp--preset--color--gray-600);
}

/* ---------- Tabelas (bloco gratis vs pago) ---------- */
.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
}
.wp-block-table td, .wp-block-table th {
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.10);
  padding: 0.75rem 0.75rem;
  text-align: left;
}
.zone-dark .wp-block-table td, .zone-dark .wp-block-table th {
  border-bottom-color: var(--wp--preset--color--ink-700);
}

/* ---------- Embed Substack (iframe) ---------- */
.nt-substack-embed iframe {
  width: 100%;
  max-width: 480px;
  border: 1px solid var(--wp--preset--color--ink-700);
  border-radius: 8px;
  background: var(--wp--preset--color--ink-900);
}

/* ---------- Utilidades ---------- */
.nt-measure-720 { max-width: 720px; margin-left: auto; margin-right: auto; }
img { height: auto; max-width: 100%; }
html { scroll-behavior: smooth; }

/* Placeholder de foto (sem imagens ficticias):
   bloco de cor com pattern sutil. TODO: substituir por foto real do ensaio. */
.nt-photo-placeholder {
  background-color: var(--wp--preset--color--ink-900);
  background-image: linear-gradient(135deg, rgba(255,94,0,0.08) 0%, rgba(255,94,0,0) 60%);
  border-radius: 12px;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--wp--preset--color--gray-400);
  font-size: var(--wp--preset--font-size--sm);
  font-family: var(--wp--preset--font-family--mono);
}


/* (bloco v1 do watermark removido — substituido pelo sistema v2 .nt-hero-media) */


/* =========================================================
   ============  NESSA EDITORIAL — SISTEMA v2  =============
   Fonte de verdade: Manual de Marca + referencias oficiais
   (monograma "n", paleta 4 cores, texturas de mercado,
   blocos laranja, touro/urso).

   PAPEIS DE COR (nao negociavel):
   - #F2F2F2 Cloud White .. fundo institucional/editorial DOMINANTE
   - #000000 Deep Black ... impacto, mercado, transicao, footer
   - #FF5E00 Amber Flame .. enfase primaria, CTA, dados-chave, filete
   - #4C007D Royal Violet . assinatura institucional (parcimonia)

   WCAG (medido, nao estimado):
   - Amber NUNCA como texto sobre fundo claro (2.74:1) -> so fundo/filete
   - Botao primario = fundo Amber + texto PRETO (6.85:1)
   - Link zona light = Violet (11.70:1 AAA) | zona dark = Amber (6.46:1)
   ========================================================= */

:root{
  --nt-amber:#FF5E00;
  /* variante escurecida do Amber Flame, mesmo matiz, para TEXTO sobre fundo claro
     (#BD4600 = 4.64:1 sobre #F2F2F2 -> AA). O Amber puro segue exclusivo de
     filetes, fundos, graficos e texto sobre preto (6.85:1). */
  --nt-amber-ink:#BD4600;
  --nt-violet:#4C007D;
  --nt-black:#000;
  --nt-paper:#F2F2F2;
  --nt-rule:3px;
  --nt-ease:cubic-bezier(.2,.6,.2,1);
}

/* ---------- 1. MONOGRAMA / LOGO ---------- */
.nt-logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;line-height:1}
.nt-logo img,.nt-logo svg{display:block;height:30px;width:auto}
.nt-logo .nt-logo-word{
  font-family:var(--wp--preset--font-family--display);
  font-weight:500;letter-spacing:-.02em;font-size:1.06rem;
  color:var(--wp--preset--color--white);
}
.zone-light .nt-logo .nt-logo-word{color:var(--nt-black)}
.nt-monogram{display:block;width:auto}

/* ---------- 2. EYEBROW (sobrelinha de secao) ---------- */
.nt-eyebrow{
  display:flex;align-items:center;gap:.75rem;
  font-family:var(--wp--preset--font-family--body);
  font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  margin:0 0 1.1rem;color:#4a4a4a;
}
.nt-eyebrow::before{content:"";display:block;width:34px;height:var(--nt-rule);background:var(--nt-amber);flex:none}
.zone-dark .nt-eyebrow{color:#b3b3b3}

/* ---------- 3. FILETE / REGUA ---------- */
.nt-rule{display:block;width:64px;height:var(--nt-rule);background:var(--nt-amber);border:0;margin:0 0 1.5rem}
.nt-rule--violet{background:var(--nt-violet)}
.nt-rule--full{width:100%;height:1px;background:rgba(0,0,0,.12);margin:2.5rem 0}
.zone-dark .nt-rule--full{background:rgba(255,255,255,.14)}

/* ---------- 4. NUMERAIS EDITORIAIS (01 / 02 / 03) ---------- */
.nt-num{
  font-family:var(--wp--preset--font-family--display);
  font-weight:700;font-size:clamp(2.6rem,5vw,3.9rem);line-height:.85;
  letter-spacing:-.04em;color:var(--nt-amber-ink);display:block;margin:0 0 .9rem;
  font-variant-numeric:tabular-nums;
}
.nt-num--outline{
  color:transparent;-webkit-text-stroke:2px var(--nt-amber);
  paint-order:stroke fill;
}
.zone-dark .nt-num{color:var(--nt-amber)}

/* ---------- 5. CARD EDITORIAL ---------- */
.nt-card{
  position:relative;background:#fff;padding:2rem 1.75rem 1.9rem;
  border:1px solid rgba(0,0,0,.10);
  transition:transform .35s var(--nt-ease),border-color .35s var(--nt-ease);
}
.nt-card::before{content:"";position:absolute;inset:0 0 auto 0;height:var(--nt-rule);background:var(--nt-amber)}
.nt-card:hover{transform:translateY(-4px);border-color:rgba(0,0,0,.2)}
.nt-card h3{margin:.2rem 0 .55rem;letter-spacing:-.015em}
.nt-card p{margin:0;color:#3a3a3a}
.nt-card .nt-day{
  display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--nt-violet);margin-bottom:.15rem;
}
.zone-dark .nt-card{background:#0b0b0b;border-color:rgba(255,255,255,.14)}
.zone-dark .nt-card p{color:#c9c9c9}
.zone-dark .nt-card:hover{border-color:rgba(255,255,255,.3)}
.zone-dark .nt-card .nt-day{color:var(--nt-amber)}

/* ---------- 6. SEQUENCIA / PROCESSO ---------- */
.nt-steps{display:grid;gap:0;margin:1.5rem 0 0;padding:0;list-style:none}
.nt-step{
  display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:start;
  padding:1.65rem 0;border-top:1px solid rgba(0,0,0,.12);
}
.nt-step:last-child{border-bottom:1px solid rgba(0,0,0,.12)}
.zone-dark .nt-step{border-color:rgba(255,255,255,.14)}
.zone-dark .nt-step:last-child{border-bottom-color:rgba(255,255,255,.14)}
.nt-step-n{
  font-family:var(--wp--preset--font-family--display);font-weight:700;
  font-size:1.05rem;letter-spacing:.04em;color:var(--nt-amber-ink);
  min-width:2.4rem;padding-top:.2rem;font-variant-numeric:tabular-nums;
}
.zone-dark .nt-step-n{color:var(--nt-amber)}
.nt-step h3{margin:0 0 .4rem;font-size:1.28rem;letter-spacing:-.015em}
.nt-step p{margin:0;color:#3a3a3a}
.zone-dark .nt-step p{color:#c4c4c4}

/* ---------- 7. FIGURA EDITORIAL (fotos) ---------- */
.nt-figure{position:relative;margin:0;overflow:hidden;background:#0a0a0a}
.nt-figure img{display:block;width:100%;height:100%;object-fit:cover}
.nt-figure--tall{aspect-ratio:3/4}
.nt-figure--wide{aspect-ratio:16/10}
.nt-figure--accent::after{
  content:"";position:absolute;left:0;bottom:0;width:38%;height:var(--nt-rule);background:var(--nt-amber)
}
.nt-figure figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:2.6rem 1.25rem 1rem;
  background:linear-gradient(to top,rgba(0,0,0,.86),transparent);
  color:#f2f2f2;font-size:.8rem;letter-spacing:.02em;
}

/* ---------- 8. SECOES COM TEXTURA DE MERCADO ---------- */
.nt-texture{position:relative;isolation:isolate;background-color:#000}
.nt-texture > *{position:relative;z-index:2}
.nt-texture::before{
  content:"";position:absolute;inset:0;z-index:1;
  background-image:var(--nt-tex);background-size:cover;background-position:center;
  opacity:.5;
}
.nt-texture::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.86) 45%,rgba(0,0,0,.55) 100%);
}
.nt-tex--wide{--nt-tex:url(assets/img/textura-mercado-wide.webp)}
.nt-tex--curva{--nt-tex:url(assets/img/textura-candles-curva.webp)}
.nt-tex--desc{--nt-tex:url(assets/img/textura-candles-desc.webp)}
/* -v2 no nome e proposital: o arquivo antigo (candles) ficou preso em cache
   de navegador/CDN com o mesmo nome. Renomear e a unica invalidacao confiavel. */
.nt-tex--touro{--nt-tex:url(assets/img/touro-urso-v2.webp)}
.nt-tex--touro::before{opacity:.85;background-size:contain;background-repeat:no-repeat;background-position:right center}
.nt-tex--touro::after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.9) 38%,rgba(0,0,0,.25) 100%)}
@media (max-width:781px){
  /* touro+urso tem 1700x683: no mobile precisa de escala maior e mascara mais
     leve na base, senao o par some no preto e o bloco perde o sentido. */
  .nt-tex--touro::before{opacity:.6;background-position:center bottom;background-size:165% auto}
  .nt-tex--touro::after{
    background:linear-gradient(to top,rgba(0,0,0,.2) 0%,rgba(0,0,0,.5) 16%,rgba(0,0,0,.9) 42%,#000 72%);
  }
}

/* ---------- 9. HERO v2 ---------- */
.nt-hero{position:relative;overflow:hidden;isolation:isolate;background:#000}
.nt-hero > *:not(.nt-hero-media){position:relative;z-index:3}
.nt-hero > .nt-hero-media{
  position:absolute !important;top:0;right:0;bottom:0;z-index:1;width:min(52%,780px);
  margin:0 !important;max-width:none !important;pointer-events:none;
}
.nt-hero-media img{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center 15%;
  filter:grayscale(.22) contrast(1.06) brightness(1.2);
}
/* Mascara: a foto nasce do preto e nunca invade a coluna de leitura */
.nt-hero-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#000 0%,#000 14%,rgba(0,0,0,.92) 32%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.25) 100%);
}
.nt-hero-media::before{
  content:"";position:absolute;inset:auto 0 0 0;height:32%;z-index:2;
  background:linear-gradient(to top,#000 6%,transparent 100%);
}
@media (min-width:1024px) and (max-width:1279px){
  .nt-hero > .nt-hero-media{width:min(46%,560px)}
  .nt-hero-media::after{background:linear-gradient(90deg,#000 0%,#000 18%,rgba(0,0,0,.94) 40%,rgba(0,0,0,.5) 100%)}
}
/* Abaixo de 1024px nao existe coluna livre para a foto: em vez de virar
   marca d'agua atras do texto (ilegivel), ela vira uma FAIXA EDITORIAL de
   largura total acima do titulo. Regra da Diretora: o texto nunca fica em
   cima da foto. */
@media (max-width:1023px){
  .nt-hero{padding-top:0 !important}
  .nt-hero > .nt-hero-media{
    position:relative !important;top:auto;right:auto;bottom:auto;
    width:100vw;max-width:none !important;height:auto;aspect-ratio:5/4;
    margin:0 0 2.6rem calc(50% - 50vw) !important;opacity:1;
  }
  .nt-hero-media img{object-position:center 10%;filter:grayscale(.16) contrast(1.05) brightness(1.04)}
  .nt-hero-media::after{
    background:linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.55) 82%,#000 100%);
  }
  .nt-hero-media::before{display:none}
}
@media (max-width:600px){
  .nt-hero > .nt-hero-media{aspect-ratio:4/3;margin-bottom:2.2rem !important}
}

/* ---------- 10. MANIFESTO (tipografia grande) ---------- */
.nt-manifesto p{
  font-family:var(--wp--preset--font-family--display);
  font-size:clamp(1.5rem,3.2vw,2.35rem);line-height:1.24;letter-spacing:-.022em;
  font-weight:500;margin:0 0 1rem;text-wrap:balance;
}
.nt-manifesto p:last-child{margin-bottom:0}
.nt-manifesto strong{color:var(--nt-violet);font-weight:500}
.zone-dark .nt-manifesto strong{color:var(--nt-amber)}

/* ---------- 11. COMPARATIVO (pricing) ---------- */
.nt-plan{position:relative;padding:2.1rem 1.85rem 2rem;background:#0b0b0b;border:1px solid rgba(255,255,255,.14);height:100%}
.nt-plan--paid{border-color:var(--nt-amber)}
.nt-plan--paid::before{content:"";position:absolute;inset:0 0 auto 0;height:var(--nt-rule);background:var(--nt-amber)}
.nt-plan .nt-price{
  font-family:var(--wp--preset--font-family--display);font-weight:700;
  font-size:clamp(1.9rem,4vw,2.7rem);line-height:1;letter-spacing:-.03em;
  margin:.35rem 0 .2rem;color:#fff;
}
.nt-plan ul{list-style:none;margin:1.3rem 0 0;padding:0}
.nt-plan li{position:relative;padding:.5rem 0 .5rem 1.5rem;color:#c9c9c9;border-top:1px solid rgba(255,255,255,.09)}
.nt-plan li::before{content:"";position:absolute;left:0;top:1.05rem;width:8px;height:8px;background:var(--nt-amber)}
.nt-plan li.is-off{color:#6a6a6a}
.nt-plan li.is-off::before{background:#3a3a3a}

/* ---------- 12. CREDENCIAIS (assinatura roxa) ---------- */
.nt-credentials{position:relative;background:var(--nt-violet);color:#fff}
.nt-credentials .nt-eyebrow{color:rgba(255,255,255,.72)}
.nt-credentials .nt-eyebrow::before{background:#fff}
.nt-credentials h2,.nt-credentials h3{color:#fff}
.nt-credentials p{color:rgba(255,255,255,.9)}
.nt-credentials .nt-cred-item{border-top:1px solid rgba(255,255,255,.24);padding:1.35rem 0}
.nt-credentials .nt-cred-item:last-child{border-bottom:1px solid rgba(255,255,255,.24)}
.nt-credentials a{color:#fff;text-decoration-color:rgba(255,255,255,.5)}
.nt-credentials :focus-visible{outline-color:#fff}
.nt-credentials .nt-cred-intro{color:rgba(255,255,255,.92);max-width:64ch;margin-bottom:.4rem}
.nt-credentials .nt-cred-intro strong{color:#fff;font-weight:600}
.nt-credentials .nt-cred-item--extra{border-top-style:dashed;border-top-color:rgba(255,255,255,.34)}
.nt-cred-tag{
  display:block;font-family:var(--wp--preset--font-family--body);
  font-size:.68rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(255,255,255,.72);margin-bottom:.35rem;
}
.nt-cred-mono{position:absolute;right:clamp(1rem,4vw,4rem);top:50%;transform:translateY(-50%);
  width:clamp(90px,13vw,190px);opacity:.16;pointer-events:none}
@media (max-width:900px){.nt-cred-mono{display:none}}

/* ---------- 13. FAIXA LARANJA (divisor de marca) ---------- */
.nt-band{background:var(--nt-amber);color:#000}
.nt-band h2,.nt-band h3,.nt-band p{color:#000}
.nt-band .nt-eyebrow{color:rgba(0,0,0,.7)}
.nt-band .nt-eyebrow::before{background:#000}
.nt-band a:not(.wp-element-button){color:#000;text-decoration-color:rgba(0,0,0,.45)}
.nt-band :focus-visible{outline-color:#000}

/* ---------- 14. LISTA DE ANALISES (RSS + curadoria) ---------- */
.nt-list{list-style:none;margin:0;padding:0}
.nt-list li{border-top:1px solid rgba(0,0,0,.12)}
.nt-list li:last-child{border-bottom:1px solid rgba(0,0,0,.12)}
.nt-list a{
  display:block;padding:1.35rem 0;text-decoration:none;
  transition:padding-left .3s var(--nt-ease);
}
.nt-list a:hover{padding-left:.7rem}
.nt-list .nt-t{
  display:block;font-family:var(--wp--preset--font-family--display);
  font-size:clamp(1.12rem,2.1vw,1.4rem);font-weight:500;letter-spacing:-.018em;
  color:#000;margin-bottom:.3rem;
}
.nt-list .nt-d{display:block;font-size:.94rem;color:#4a4a4a}
.nt-list a:hover .nt-t{color:var(--nt-violet)}
.zone-dark .nt-list li{border-color:rgba(255,255,255,.14)}
.zone-dark .nt-list .nt-t{color:#fff}
.zone-dark .nt-list .nt-d{color:#a8a8a8}
.zone-dark .nt-list a:hover .nt-t{color:var(--nt-amber)}

/* RSS do core estilizado como .nt-list */
.wp-block-rss{list-style:none;margin:0;padding:0}
.wp-block-rss .wp-block-rss__item{border-top:1px solid rgba(0,0,0,.12);padding:1.3rem 0}
.wp-block-rss .wp-block-rss__item:last-child{border-bottom:1px solid rgba(0,0,0,.12)}
.wp-block-rss .wp-block-rss__item-title a{
  font-family:var(--wp--preset--font-family--display);
  font-size:clamp(1.12rem,2.1vw,1.4rem);font-weight:500;letter-spacing:-.018em;
  color:#000;text-decoration:none;
  /* alvo de toque >=44px no mobile (WCAG 2.5.5) sem alterar o ritmo no desktop */
  display:block;padding-block:.6rem;
}
@media (min-width:782px){
  .wp-block-rss .wp-block-rss__item-title a{display:inline-block;padding-block:.15rem}
}
.wp-block-rss .wp-block-rss__item-title a:hover{color:var(--nt-violet);text-decoration:underline;text-underline-offset:5px}
.wp-block-rss .wp-block-rss__item-publish-date{display:block;font-size:.82rem;color:#5a5a5a;margin-top:.35rem}
.wp-block-rss .wp-block-rss__item-excerpt{color:#3f3f3f;margin-top:.4rem}
.zone-dark .wp-block-rss .wp-block-rss__item{border-color:rgba(255,255,255,.14)}
.zone-dark .wp-block-rss .wp-block-rss__item-title a{color:#fff}
.zone-dark .wp-block-rss .wp-block-rss__item-title a:hover{color:var(--nt-amber)}
.zone-dark .wp-block-rss .wp-block-rss__item-publish-date{color:#8f8f8f}
.zone-dark .wp-block-rss .wp-block-rss__item-excerpt{color:#bdbdbd}

/* ---------- 15. FAQ / acordeao ---------- */
.wp-block-details{border-top:1px solid rgba(0,0,0,.12);padding:0}
.wp-block-details:last-of-type{border-bottom:1px solid rgba(0,0,0,.12)}
.wp-block-details summary{
  cursor:pointer;padding:1.3rem 2.4rem 1.3rem 0;position:relative;list-style:none;
  font-family:var(--wp--preset--font-family--display);font-weight:500;
  font-size:clamp(1.02rem,1.9vw,1.18rem);letter-spacing:-.012em;
}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{
  content:"";position:absolute;right:.35rem;top:50%;width:13px;height:var(--nt-rule);
  background:var(--nt-amber);transform:translateY(-50%);
}
.wp-block-details summary::before{
  content:"";position:absolute;right:.35rem;top:50%;width:13px;height:var(--nt-rule);
  background:var(--nt-amber);transform:translateY(-50%) rotate(90deg);
  transition:opacity .25s var(--nt-ease),transform .25s var(--nt-ease);
}
.wp-block-details[open] summary::before{opacity:0;transform:translateY(-50%) rotate(0)}
.wp-block-details[open] summary{color:var(--nt-violet)}
.wp-block-details > *:not(summary){padding-bottom:1.35rem;max-width:64ch}
.zone-dark .wp-block-details{border-color:rgba(255,255,255,.14)}
.zone-dark .wp-block-details[open] summary{color:var(--nt-amber)}

/* ---------- 16. FAIXA DE DADOS / PROVA ---------- */
.nt-stats{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.nt-stat{padding:1.5rem 1.4rem;border-left:var(--nt-rule) solid var(--nt-amber);background:rgba(255,255,255,.03)}
.nt-stat .nt-k{
  display:block;font-family:var(--wp--preset--font-family--display);font-weight:700;
  font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1;letter-spacing:-.03em;color:#fff;
  font-variant-numeric:tabular-nums;
}
.nt-stat .nt-l{display:block;margin-top:.45rem;font-size:.86rem;color:#b0b0b0;line-height:1.4}
.zone-light .nt-stat{background:rgba(0,0,0,.02)}
.zone-light .nt-stat .nt-k{color:#000}
.zone-light .nt-stat .nt-l{color:#4a4a4a}

/* ---------- 17. BOTOES ---------- */
.wp-element-button,.wp-block-button__link{
  transition:transform .25s var(--nt-ease),background-color .25s var(--nt-ease),color .25s var(--nt-ease);
  letter-spacing:.01em;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{transform:translateY(-2px)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:var(--nt-amber) !important;color:#000 !important;border-color:var(--nt-amber) !important
}

/* ---------- 18. /links ---------- */
.nt-links-stack .wp-block-button__link{
  font-family:var(--wp--preset--font-family--display);font-weight:500;letter-spacing:-.005em
}
.nt-links-avatar img{
  border-radius:50%;aspect-ratio:1;object-fit:cover;object-position:center 12%;
  border:var(--nt-rule) solid var(--nt-amber)
}

/* ---------- 19. RODAPE ---------- */
.site-footer .nt-foot-mono{width:52px;height:auto;display:block;margin-bottom:1rem;opacity:.95}

/* ---------- 20. TIPOGRAFIA EDITORIAL ---------- */
h1,h2,h3{text-wrap:balance}
h2{letter-spacing:-.028em}
.nt-lede{font-size:clamp(1.08rem,2vw,1.32rem);line-height:1.58;color:#3a3a3a;max-width:60ch}
.zone-dark .nt-lede{color:#c4c4c4}
.nt-mono-tag{
  font-family:var(--wp--preset--font-family--body);font-size:.74rem;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;color:var(--nt-violet)
}
.zone-dark .nt-mono-tag{color:var(--nt-amber)}

/* ---------- 21. IMPRESSAO ---------- */
@media print{
  .site-header,.site-footer,.nt-hero-media,.nt-texture::before,.nt-texture::after{display:none !important}
  .nt-texture,.zone-dark{background:#fff !important;color:#000 !important}
}

/* =========================================================
   22. CAMADA EDITORIAL v3 — filosofia, acesso e insights
   Componentes novos para a nova hierarquia narrativa da home:
   posicionamento -> filosofia -> processo -> atuacao -> acesso -> insights.
   Contrastes medidos sobre #F2F2F2 (light) e #000 (dark).
   ========================================================= */

/* ---------- 22.1 Ancora de rolagem (header sticky) ---------- */
.nt-anchor{display:block;height:0;scroll-margin-top:96px;visibility:hidden}

/* ---------- 22.2 Nota sobria (risco, contexto, disclosure) ---------- */
.nt-note{
  font-size:.83rem;line-height:1.6;color:#4a4a4a;max-width:68ch;
  margin-top:2rem;padding-left:1rem;border-left:1px solid rgba(0,0,0,.18);
  /* O layout constrained do core centraliza os filhos com auto/auto. A nota e
     um rodape de secao: precisa comecar na mesma coluna do conteudo, nao no
     centro nem na borda do full-bleed. O calc reproduz o recuo da coluna wide
     e colapsa para 0 no mobile. */
  width:min(68ch,100%);
  margin-inline:max(0px,calc((100% - var(--wp--style--global--wide-size)) / 2)) auto !important;
}
.zone-dark .nt-note{color:#a9a9a9;border-left-color:rgba(255,255,255,.22)}

/* ---------- 22.3 Principios (filosofia) ---------- */
.nt-principles{
  list-style:none;margin:3rem 0 0;padding:0;
  display:grid;grid-template-columns:repeat(2,1fr);
  column-gap:3rem;row-gap:0;
}
.nt-principle{padding:1.9rem 0;border-top:1px solid rgba(0,0,0,.12)}
.nt-principle h3{
  margin:0 0 .45rem;font-size:1.12rem;letter-spacing:-.012em;line-height:1.3;
  position:relative;padding-top:1.15rem;
}
.nt-principle h3::before{
  content:"";position:absolute;top:0;left:0;width:28px;height:var(--nt-rule);
  background:var(--nt-amber);
}
.nt-principle p{margin:0;color:#3a3a3a;font-size:.97rem;line-height:1.62}
.zone-dark .nt-principle{border-top-color:rgba(255,255,255,.14)}
.zone-dark .nt-principle p{color:#c4c4c4}
@media (max-width:781px){
  .nt-principles{grid-template-columns:1fr;margin-top:2.2rem}
  .nt-principle{padding:1.6rem 0}
}

/* ---------- 22.4 Arquitetura de acesso (solucoes) ---------- */
.nt-solutions{
  margin:3rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
}
.nt-solution{
  position:relative;display:flex;flex-direction:column;
  background:#fff;border:1px solid rgba(0,0,0,.10);
  padding:2.1rem 1.6rem 1.7rem;
  transition:transform .35s var(--nt-ease),border-color .35s var(--nt-ease);
}
.nt-solution::before{
  content:"";position:absolute;inset:0 0 auto 0;height:var(--nt-rule);background:var(--nt-violet);
}
.nt-solution:hover{transform:translateY(-4px);border-color:rgba(0,0,0,.2)}
.nt-sol-tag{
  display:inline-block;align-self:flex-start;
  font-family:var(--wp--preset--font-family--body);
  font-size:.68rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--nt-violet);margin-bottom:.85rem;
}
.nt-solution h3{margin:0 0 .6rem;font-size:1.2rem;letter-spacing:-.015em;line-height:1.28}
.nt-solution p{margin:0 0 1.5rem;color:#3a3a3a;font-size:.95rem;line-height:1.62;flex:1}
.nt-sol-link{
  align-self:flex-start;font-weight:600;font-size:.92rem;
  color:var(--nt-violet);text-decoration:none;
  padding-block:.5rem;min-height:44px;display:inline-flex;align-items:center;gap:.45rem;
}
.nt-sol-link::after{content:"→";transition:transform .25s var(--nt-ease)}
.nt-sol-link:hover{text-decoration:underline;text-underline-offset:5px}
.nt-sol-link:hover::after{transform:translateX(4px)}
@media (max-width:900px){
  .nt-solutions{grid-template-columns:1fr;gap:1.1rem;margin-top:2.2rem}
  .nt-solution p{margin-bottom:1.1rem}
}

/* ---------- 22.5 Insights: RSS como cards editoriais ---------- */
.nt-rss-cards.wp-block-rss{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;
  margin:2.6rem 0 2.6rem;
}
.nt-rss-cards .wp-block-rss__item{
  position:relative;display:flex;flex-direction:column;
  background:#fff;border:1px solid rgba(0,0,0,.10);
  padding:1.9rem 1.6rem 1.5rem;
  border-top:none;transition:transform .35s var(--nt-ease),border-color .35s var(--nt-ease);
}
.nt-rss-cards .wp-block-rss__item::before{
  content:"Gulfstream Capital";
  font-family:var(--wp--preset--font-family--body);
  font-size:.68rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:#5a5a5a;margin-bottom:.8rem;
}
.nt-rss-cards .wp-block-rss__item:last-child{border-bottom:1px solid rgba(0,0,0,.10)}
.nt-rss-cards .wp-block-rss__item:hover{transform:translateY(-4px);border-color:rgba(0,0,0,.2)}
.nt-rss-cards .wp-block-rss__item-title{order:1}
.nt-rss-cards .wp-block-rss__item-excerpt{order:2;margin-top:.6rem;font-size:.93rem;line-height:1.6;flex:1}
.nt-rss-cards .wp-block-rss__item-publish-date{order:3;margin-top:1.3rem;font-size:.78rem}
.nt-rss-cards .wp-block-rss__item-title a{
  display:block;padding-block:0;font-size:clamp(1.08rem,1.8vw,1.24rem);line-height:1.3;
}
@media (max-width:781px){
  .nt-rss-cards.wp-block-rss{grid-template-columns:1fr;gap:1.1rem;margin:2rem 0}
  /* alvo de toque >=44px mesmo quando o titulo cabe em uma linha */
  .nt-rss-cards .wp-block-rss__item-title a{padding-block:.7rem;min-height:44px}
}

/* ---------- 22.6 Rolagem suave para as ancoras da home ---------- */
html{scroll-behavior:smooth}

/* ---------- 22.7 Hierarquia dentro do manifesto ----------
   Com a secao de Filosofia o manifesto passou a ter um H2 acima e os
   principios abaixo. A primeira linha segue em display; o paragrafo de
   apoio desce um degrau para nao competir com o titulo da secao. */
.nt-manifesto p + p{
  font-size:clamp(1.12rem,2.05vw,1.4rem);line-height:1.5;letter-spacing:-.012em;
  font-weight:400;color:#3a3a3a;max-width:62ch;margin-top:1.4rem;
}
.zone-dark .nt-manifesto p + p{color:#c4c4c4}

/* =========================================================
   23. MODO PORTFOLIO — home v4
   A home passou a ser lida como portfolio: capa, galeria de trabalho,
   statement, pausa visual, perfil, credenciais, acesso e contato.
   ========================================================= */

/* ---------- 23.1 Galeria de trabalho em 3 colunas ----------
   Fora de uso na home desde a v4.1 (bloco "Trabalho" removido a pedido da
   Diretora). Mantido no tema, sem custo de render, para o caso de a galeria
   voltar ou ser usada em outra pagina. */
.nt-work .nt-rss-cards.wp-block-rss{
  counter-reset:ntpeca;
  grid-template-columns:repeat(3,1fr);
  gap:1.4rem;
}
/* Indice editorial da peca (01, 02, 03...) no lugar do rotulo da fonte */
.nt-work .nt-rss-cards .wp-block-rss__item{counter-increment:ntpeca;padding:1.7rem 1.5rem 1.4rem}
.nt-work .nt-rss-cards .wp-block-rss__item::before{
  content:counter(ntpeca,decimal-leading-zero);
  font-family:var(--wp--preset--font-family--display);
  font-size:.82rem;font-weight:700;letter-spacing:.08em;
  color:var(--nt-amber-ink);text-transform:none;margin-bottom:.9rem;
  font-variant-numeric:tabular-nums;
}
.nt-work .nt-rss-cards .wp-block-rss__item-title a{font-size:clamp(1.02rem,1.5vw,1.15rem);padding-block:.25rem}
.nt-work .nt-rss-cards .wp-block-rss__item-excerpt{font-size:.9rem}
@media (max-width:1023px){
  .nt-work .nt-rss-cards.wp-block-rss{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:781px){
  .nt-work .nt-rss-cards.wp-block-rss{grid-template-columns:1fr}
  /* o titulo ganha area de toque de 44px; sem isso o resumo herdava um
     respiro duplo e o card ficava frouxo em titulos de uma linha */
  .nt-work .nt-rss-cards .wp-block-rss__item-excerpt{margin-top:.15rem}
}

/* ---------- 23.2 Perfil em zona clara ---------- */
.nt-figure--light{background:#e6e2da}
.nt-profile .nt-figure--tall{aspect-ratio:4/5}
@media (max-width:781px){
  .nt-profile .nt-figure--tall{aspect-ratio:1/1}
}
