/* ==========================================================================
   BRIFT — tema das páginas públicas (fora a Home)
   ==========================================================================
   As páginas públicas foram escritas antes da Home nova, com componentes
   próprios (.article-hero, .section, .btn, cards, formulários). Em vez de
   reescrever ~30 templates, esta camada traz esses componentes para o padrão
   da Home: mesmos tokens (brift-publico.css), mesma tipografia, mesmos
   botões, mesmo cabeçalho de página e o mesmo ritmo de espaçamento.

   Escopo: `[data-brift]` (só base_publico.html marca o <body>) e
   `:not(.home-brift)` onde a Home já tem o próprio desenho.
   Nada de vw (o zoom precisa escalar tudo junto); só rem e pontos de quebra.
   ========================================================================== */

[data-brift]:not(.home-brift){background:var(--hb-papel); color:var(--hb-tinta);}

/* Catálogo de cursos: site.css troca as fontes de .courses-page pela dupla
   antiga (Montserrat/Playfair); na área pública valem as do kit. */
[data-brift].courses-page{
  --serif:'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --sans:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* ------------------------------------------------- cabeçalho de página ==
   Todas as variantes (.article-hero, --photo, --artigos, --debates...)
   viram o mesmo cabeçalho da Home: Tinta, malha de pontos + grade de 50 px
   do kit, etiqueta com a viga, título Archivo 800. As fotos antigas saem:
   eram de bancos genéricos, cada página com uma, e brigavam com a marca. */
[data-brift] .article-hero,
[data-brift] .hero,
[data-brift] .pricing-hero{
  position:relative; overflow:hidden; color:var(--hb-papel);
  background:var(--hb-tinta) !important; background-image:none !important;
  aspect-ratio:auto !important; min-height:0 !important; width:auto !important;
  padding:3.5rem 0 3.125rem !important; border-bottom:1px solid var(--hb-linha-e);
}
[data-brift] .article-hero::before,
[data-brift] .hero::after,
[data-brift] .pricing-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:radial-gradient(circle, rgba(95,250,213,.2) 1.4px, transparent 1.6px), linear-gradient(var(--hb-linha-e) 1px, transparent 1px), linear-gradient(90deg, var(--hb-linha-e) 1px, transparent 1px) !important;
  background-size:25px 25px, 50px 50px, 50px 50px !important;
  -webkit-mask-image:linear-gradient(100deg, transparent 15%, rgba(0,0,0,.55) 55%, #000 90%); mask-image:linear-gradient(100deg, transparent 15%, rgba(0,0,0,.55) 55%, #000 90%);
}
[data-brift] .article-hero > .wrap,
[data-brift] .hero > .wrap,
[data-brift] .pricing-hero > .wrap,
[data-brift] .hero__inner{position:relative; z-index:1;}
/* o catálogo de artigos usava uma arte com o título embutido; sem a arte, o
   título real (que já estava no HTML) volta a aparecer */
[data-brift] .article-hero--artigos .sr-only{position:static; width:auto; height:auto; margin:0 0 18px; clip:auto; overflow:visible; white-space:normal;}
[data-brift] .article-hero--artigos h1.sr-only{margin:0;}

[data-brift] .article-tag,
[data-brift] .hero__eyebrow,
[data-brift] .pricing-hero__kicker{
  display:flex !important; align-items:center; gap:10px; width:max-content; max-width:100%;
  background:none !important; border:0 !important; padding:0 !important; margin:0 0 1.125rem;
  font:500 13px/1.3 var(--mono) !important; letter-spacing:.14em !important; text-transform:uppercase; color:var(--hb-menta) !important;
}
[data-brift] .article-tag::before,
[data-brift] .hero__eyebrow::before,
[data-brift] .pricing-hero__kicker::before{content:""; width:28px; height:6px; border-radius:1px; background:currentColor; flex:none;}   /* a viga */
[data-brift] .hero__eyebrow .dot,
[data-brift] .pricing-hero__kicker > span{display:none !important;}

[data-brift] .article-hero h1,
[data-brift] .hero h1,
[data-brift] .pricing-hero h1{
  font:800 2.25rem/1.06 var(--serif) !important; letter-spacing:-.02em !important; color:var(--hb-papel) !important;
  max-width:24ch; margin:0 0 .875rem; text-wrap:balance;
}
[data-brift] .article-hero__meta,
[data-brift] .hero__lede,
[data-brift] .pricing-hero p{color:var(--hb-suave-e) !important; font-size:1rem; line-height:1.6;}
[data-brift] .hero h1 span,[data-brift] .hero h1 em{color:var(--hb-menta) !important;}

/* ------------------------------------------------------------ seções == */
[data-brift] .section{padding:4.6875rem 0;}
[data-brift] .section--alt{background:#fff; border-color:var(--hb-linha-c);}
[data-brift] .section__head{text-align:left; margin:0 0 3.125rem; max-width:47.5rem;}
[data-brift] .section__eyebrow,
[data-brift] .secao__eyebrow{display:flex; align-items:center; gap:10px; font:500 13px/1.3 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--hb-petroleo); margin-bottom:1.125rem;}
[data-brift] .section__eyebrow::before{content:""; width:28px; height:6px; border-radius:1px; background:currentColor; flex:none;}
[data-brift] .section__title{font:800 2rem/1.08 var(--serif); letter-spacing:-.02em; color:var(--hb-tinta); text-wrap:balance;}
[data-brift] .section__desc{color:var(--hb-suave-c); font-size:1.0625rem; line-height:1.6; max-width:62ch;}
[data-brift]:not(.home-brift) h2,[data-brift]:not(.home-brift) h3{font-family:var(--serif); letter-spacing:-.015em;}
[data-brift]:not(.home-brift) h2{font-weight:800;}

/* ----------------------------------------------------------- botões ==
   Mesma geometria do .hb-btn da Home. Primário: Tinta sobre fundo claro,
   Papel sobre fundo escuro. Brasa só onde a página já marcou .btn--brasa
   (o CTA principal) — um acento por composição. */
[data-brift]:not(.home-brift) .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px; padding:0 22px; border-radius:10px; border:1px solid transparent;
  font:600 15px/1 var(--sans); letter-spacing:0; text-decoration:none; transition:background-color .2s, border-color .2s;
}
[data-brift]:not(.home-brift) .btn--primary,
[data-brift]:not(.home-brift) .btn--dark.btn--primary{background:var(--hb-tinta); color:var(--hb-papel); border-color:var(--hb-tinta);}
[data-brift]:not(.home-brift) .btn--primary:hover,
[data-brift]:not(.home-brift) .btn--dark.btn--primary:hover{background:var(--hb-petroleo); border-color:var(--hb-petroleo); color:#fff; transform:none;}
[data-brift]:not(.home-brift) .btn--ghost,
[data-brift]:not(.home-brift) .btn--dark.btn--ghost{background:transparent; color:var(--hb-tinta); border-color:var(--hb-linha-c);}
[data-brift]:not(.home-brift) .btn--ghost:hover,
[data-brift]:not(.home-brift) .btn--dark.btn--ghost:hover{border-color:var(--hb-tinta); background:rgba(1,18,28,.04);}
/* sobre o cabeçalho escuro */
[data-brift] .article-hero .btn--primary,[data-brift] .hero .btn--primary,[data-brift] .pricing-hero .btn--primary{background:var(--hb-papel); color:var(--hb-tinta); border-color:var(--hb-papel);}
[data-brift] .article-hero .btn--ghost,[data-brift] .hero .btn--ghost,[data-brift] .pricing-hero .btn--ghost{background:transparent; color:var(--hb-papel); border-color:rgba(246,243,238,.4);}
[data-brift]:not(.home-brift) .btn--brasa,
[data-brift]:not(.home-brift) .btn--primary.btn--brasa{background:var(--hb-brasa); color:var(--hb-tinta); border-color:var(--hb-brasa);}   /* Tinta sobre Brasa 6,1:1 */
[data-brift] .article-back-btn{display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 18px; border-radius:10px; border:1px solid var(--hb-linha-c); background:#fff; color:var(--hb-tinta); font-weight:600; text-decoration:none;}
[data-brift] .article-back-btn:hover{border-color:var(--hb-tinta);}

/* ------------------------------------------------- cards e superfícies ==
   Cards claros: branco sobre Papel, borda do kit, raio 14 px (o mesmo dos
   cards da Home). */
[data-brift]:not(.home-brift) :is(.theme, .book, .glossary-card, .cst-group, .entity-section, .search-result-item,
  .course-card, .hub-card, .tool-panel:not(.tool-panel--news), .pricing-card:not(.pricing-card--highlight), .article-sources, .calc-form, .nf-receipt, .debate-card, .qb-card, .questao-card){
  border-radius:14px; border-color:var(--hb-linha-c);
}
[data-brift] :is(.search-result-item, .theme, .glossary-card):hover{border-color:var(--hb-petroleo);}
[data-brift] .entity-placeholder{border-radius:14px; border:1px dashed var(--hb-linha-c); background:#fff; color:var(--hb-suave-c); padding:1.5rem;}

/* ---------------------------------------------------- texto e links == */
[data-brift]:not(.home-brift) main a:not([class]){color:var(--hb-petroleo); text-underline-offset:3px;}   /* 5,7:1 sobre Papel */
[data-brift] .article-wrap{font-size:1.0625rem; line-height:1.7;}
[data-brift] .article-wrap :is(h2, h3){color:var(--hb-tinta);}
[data-brift] .article-wrap p,[data-brift] .article-wrap li{max-width:70ch;}

/* ------------------------------------------------------- formulários == */
[data-brift]:not(.home-brift) :is(input[type=text], input[type=search], input[type=email], input[type=password], input[type=number], select, textarea, .form-input){
  border-radius:10px; border-color:var(--hb-linha-c); min-height:44px; font-family:var(--sans);
}
[data-brift]:not(.home-brift) :is(input, select, textarea, .form-input):focus-visible{outline:2px solid var(--hb-petroleo); outline-offset:1px; border-color:var(--hb-petroleo);}
[data-brift] .search-page-form{border-radius:14px;}

/* ---------------------------------------- entrada, cadastro e senha == */
[data-brift] :is(.auth-card, .login-card, .auth-box){border-radius:18px; border:1px solid var(--hb-linha-e); box-shadow:0 30px 80px rgba(1,18,28,.35);}

/* --------------------------------------------- escala (rem, sem vw) == */
@media (min-width:40rem){
  [data-brift] .article-hero h1,[data-brift] .hero h1,[data-brift] .pricing-hero h1{font-size:2.75rem !important;}
  [data-brift] .section__title{font-size:2.5rem;}
}
@media (min-width:64rem){
  [data-brift] .article-hero,[data-brift] .hero,[data-brift] .pricing-hero{padding:4.6875rem 0 4.0625rem !important;}
  [data-brift] .article-hero h1,[data-brift] .hero h1,[data-brift] .pricing-hero h1{font-size:3.25rem !important;}
  [data-brift] .section{padding:6.25rem 0;}
  [data-brift] .section__title{font-size:2.75rem;}
}

/* -------------------------------------------- imagens das notícias ==
   Banco BRIFT (1280x720, 16:9): recorte responsivo com object-fit, largura
   e altura no HTML para não haver salto de layout. Legenda sempre visível:
   são ilustrações geradas por IA. */
[data-brift] .nt-card__fig{margin:-20px -20px 14px; border-radius:12px 12px 0 0; overflow:hidden; background:var(--hb-tinta);}
[data-brift] .nt-card__fig img,[data-brift] .noticia-fig img{display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover;}
[data-brift] .nt-card__fig figcaption,[data-brift] .noticia-fig figcaption{font:500 11px/1.4 var(--mono); letter-spacing:.04em; color:var(--hb-suave-c); padding:6px 10px; background:#fff;}
[data-brift] .noticia-fig{margin:0 0 2rem; border-radius:14px; overflow:hidden; border:1px solid var(--hb-linha-c); max-width:56rem;}
