/*
Theme Name: Saveta Arauto
Theme URI: https://mestresaveta.com
Author: Mestre Saveta
Description: O motor de noticias do reino. Tema sob medida da Saveta: azul-noite, dourado do arauto, Fraunces e Mali.
Version: 1.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: saveta-arauto
*/

:root{
/* TOKENS:INICIO */
  --canvas:#131a29;
  --panel:#1b2438;
  --panel-2:#212c44;
  --line:#3a4360;
  --text-primary:#f4ecdc;
  --text-secondary:#bcb4a2;
  --text-tertiary:#9c9484;
  --accent:#e89b2e;
  --accent-hover:#f5b04a;
  --accent-muted:rgba(200,150,64,.34);
  --accent-claro:#8a5a12;
  --radar:#e89b2e;
  --chegou:#a3b04a;
  --arsenal:#2ea38f;
  --atlas:#a98bd0;
  --mascate:#d97bb0;
  --alerta:#e0563e;
  --display:"Fraunces",Georgia,serif;
  --body:"Mali","Trebuchet MS",sans-serif;
  --mono:"IBM Plex Mono",Consolas,monospace;
  --r-controle:10px;
  --r-superficie:16px;
  --r-pilula:99px;
  --e-1:8px;
  --e-2:16px;
  --e-3:24px;
  --e-4:32px;
  --e-6:48px;
  --e-8:64px;
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --ease-io:cubic-bezier(.65,.05,.36,1);
  /* TOKENS:FIM */
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:clip}
body{background:var(--canvas);color:var(--text-primary);font-family:var(--body);font-size:1.0625rem;line-height:1.7}
img{max-width:100%;height:auto}
a{color:var(--accent)}
a:hover{color:var(--accent-hover)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
h1,h2,h3,h4{font-family:var(--display);font-weight:900;line-height:1.15;color:var(--text-primary)}

.wrap{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
.wrap-leitura{max-width:46rem;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}

/* ===== Cabecalho ===== */
.topo{position:sticky;top:0;z-index:50;background:rgba(15,20,33,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topo-inner{display:flex;align-items:center;justify-content:flex-start;gap:1rem;padding:.7rem clamp(1rem,4vw,2rem);max-width:72rem;margin:0 auto}
/* A marca empurra a fita e o botao para a direita. Era justify-content:space-between
   quando o topo tinha dois filhos; com o botao fora da fita sao tres, e o
   space-between abriria um buraco entre as pilulas e o botao. */
.marca{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text-primary);margin-right:auto}
.marca img{width:32px;height:auto}
.marca b{font-family:var(--display);font-size:1.1rem}
.marca .mtx{display:flex;flex-direction:column;line-height:1.15}
.marca .mtx span{font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.menu-bancas{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.menu-bancas a{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:.45em .8em;border-radius:var(--r-pilula);border:1px solid var(--line);color:var(--text-secondary);transition:all .25s var(--ease-out)}
.menu-bancas a:hover{color:var(--text-primary);border-color:var(--accent-muted)}
.menu-bancas a.b-radar{border-color:var(--radar);color:var(--radar)}
.menu-bancas a.b-arsenal{border-color:var(--arsenal);color:var(--arsenal)}
.menu-bancas a.b-atlas{border-color:var(--atlas);color:var(--atlas)}
.btn{display:inline-block;background:var(--accent);color:#1a1206;font-weight:700;text-decoration:none;padding:.55em 1.1em;border:0;border-radius:var(--r-controle);font-family:var(--body);cursor:pointer;transition:background .25s var(--ease-out),transform .25s var(--ease-out)}
.btn:hover{background:var(--accent-hover);color:#1a1206;transform:translateY(-1px)}

/* ===== Faixa de titulo do arquivo ===== */
.faixa{padding:clamp(2.2rem,6vw,3.6rem) 0 1.6rem;border-bottom:1px solid var(--line);margin-bottom:2rem}
.faixa .kicker{font-family:var(--mono);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.faixa h1{font-size:clamp(1.9rem,4.5vw,3rem);margin-top:.4rem}
.faixa p{color:var(--text-secondary);margin-top:.5rem;max-width:60ch}

/* ===== Grade de cartas ===== */
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1.4rem;padding-bottom:3rem}
.carta{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-superficie);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease-out),border-color .3s var(--ease-out)}
.carta:hover{transform:translateY(-3px);border-color:var(--accent-muted)}
.carta a.capa{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--panel-2)}
.carta a.capa img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}
.carta:hover a.capa img{transform:scale(1.04)}
.carta .pad{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.carta h2{font-size:1.22rem;line-height:1.25}
.carta h2 a{color:var(--text-primary);text-decoration:none}
.carta h2 a:hover{color:var(--accent-hover)}
.carta .resumo{color:var(--text-secondary);font-size:.95rem}
.carta .meta{margin-top:auto;font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--text-secondary);padding-top:.6rem}

/* selo de banca */
.selo{display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.25em .7em;border-radius:var(--r-pilula);width:fit-content}
.selo-radar{background:rgba(232,155,46,.14);color:var(--radar);border:1px solid rgba(232,155,46,.4)}
.selo-arsenal{background:rgba(46,163,143,.14);color:var(--arsenal);border:1px solid rgba(46,163,143,.4)}
.selo-atlas{background:rgba(169,139,208,.14);color:var(--atlas);border:1px solid rgba(169,139,208,.4)}
.selo-chegou{background:rgba(163,176,74,.14);color:var(--chegou);border:1px solid rgba(163,176,74,.4)}
.selo-geral{background:rgba(188,180,162,.12);color:var(--text-secondary);border:1px solid var(--line)}
/* o alarme do arauto: chapado, nao vazado. Vazado ficaria em 4,11 de contraste; chapado da 4,92. */
.selos{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;width:fit-content}
.selo-alerta{background:var(--alerta);color:#1a1206;border:1px solid var(--alerta);font-weight:700}

/* ===== Post ===== */
.post-cabeca{padding:clamp(2.2rem,6vw,3.4rem) 0 1.4rem}
.post-cabeca h1{font-size:clamp(1.9rem,4.6vw,3.1rem);margin:.6rem 0 .8rem}
.post-cabeca .meta{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--text-secondary)}
.post-capa{border-radius:var(--r-superficie);overflow:hidden;border:1px solid var(--line);margin:1.2rem 0 2rem}
.post-capa img{display:block;width:100%}

/* Medida de leitura: o texto corrido para em ~65 caracteres (estava em 84).
   Figura, tabela e embed ficam de fora e continuam usando a largura toda.
   NAO usar a unidade ch aqui: o "0" da Mali e largo, e 68ch dao 713px,
   ou seja 89 caracteres. Medido no ar: 33rem = 528px = ~66 caracteres. */
.conteudo{--medida:min(100%,33rem)}
.conteudo>p,.conteudo>ul,.conteudo>ol,.conteudo>h2,.conteudo>h3,.conteudo>h4,.conteudo>blockquote{max-width:var(--medida)}
.conteudo>*+*{margin-top:1.15em}
.conteudo h2{font-size:1.6rem;margin-top:2rem}
.conteudo h3{font-size:1.3rem;margin-top:1.6rem}
.conteudo a{text-decoration-thickness:1px;text-underline-offset:3px}
.conteudo ul,.conteudo ol{padding-left:1.4em}
.conteudo li+li{margin-top:.4em}
.conteudo blockquote{border-left:3px solid var(--accent);padding:.4em 0 .4em 1.2em;color:var(--text-secondary);font-style:italic}
.conteudo img{border-radius:var(--r-superficie)}
.conteudo figcaption{font-family:var(--mono);font-size:.7rem;color:var(--text-secondary);margin-top:.5em;text-align:center}
.conteudo pre{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-superficie);padding:1em;overflow-x:auto;font-family:var(--mono);font-size:.85rem}
.conteudo code{font-family:var(--mono);font-size:.9em;background:var(--panel);padding:.15em .4em;border-radius:var(--r-controle)}
.conteudo hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
.conteudo .wp-block-embed iframe{max-width:100%}

/* espalhe o grito: compartilhar no fim do post */
.espalhar{margin:2.6rem 0 0;padding-top:1.4rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.9rem}
.espalhar-rot{font-family:var(--mono);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.espalhar-botoes{display:flex;gap:.6rem;flex-wrap:wrap}
.espalhar .btn{display:inline-flex;align-items:center;gap:.5em;font-size:.95rem}
.espalhar .btn svg{width:1.15em;height:1.15em}
.btn-fantasma{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.btn-fantasma:hover{background:rgba(232,155,46,.12);color:var(--accent)}
.btn-fantasma.copiado{border-color:var(--arsenal);color:var(--arsenal);background:rgba(46,163,143,.12)}

/* caixa da Trupe no fim do post */
.trupe-caixa{margin:3rem 0;background:linear-gradient(160deg,var(--panel),var(--panel-2));border:1px solid var(--accent-muted);border-radius:var(--r-superficie);padding:clamp(1.4rem,4vw,2.2rem);text-align:center}
.trupe-caixa h2{font-size:1.5rem}
.trupe-caixa p{color:var(--text-secondary);margin:.6rem auto 1.1rem;max-width:44ch}
.trupe-form{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}
.trupe-form input[type=email]{flex:1 1 14rem;max-width:20rem;background:rgba(10,14,24,.72);color:var(--text-primary);border:1px solid var(--line);border-radius:var(--r-controle);padding:.65em 1em;font:inherit}
.trupe-form input[type=email]:focus-visible{outline:2px solid var(--accent);border-color:var(--accent)}
.trupe-ok{display:none;font-family:var(--display);font-weight:900;color:var(--accent);margin-top:.8rem}
.trupe-caixa.enviada .trupe-form{display:none}
.trupe-caixa.enviada .trupe-ok{display:block}
.trupe-micro{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;color:var(--text-secondary);margin-top:.8rem}

/* navegacao entre posts */
.post-nav{display:flex;justify-content:space-between;gap:1rem;padding:1.6rem 0 3rem;font-size:.92rem}
.post-nav a{text-decoration:none;color:var(--text-secondary);max-width:46%}
.post-nav a:hover{color:var(--accent)}
.post-nav .rot{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:.2rem}

/* paginacao */
.paginacao{display:flex;gap:.5rem;justify-content:center;padding:0 0 3rem;font-family:var(--mono);font-size:.8rem}
.paginacao .page-numbers{padding:.45em .85em;border:1px solid var(--line);border-radius:var(--r-controle);text-decoration:none;color:var(--text-secondary)}
.paginacao .page-numbers.current{background:var(--accent);color:#1a1206;border-color:var(--accent)}
.paginacao a.page-numbers:hover{border-color:var(--accent-muted);color:var(--text-primary)}

/* ===== Rodape ===== */
.rodape{border-top:1px solid var(--line);margin-top:2rem;padding:2rem 0 2.6rem;color:var(--text-secondary);font-size:.92rem}
.rodape-inner{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.rodape .fb{display:flex;align-items:center;gap:.7rem}
.rodape img{width:28px;opacity:.85}
.rodape a{color:var(--text-secondary);text-decoration:none}
.rodape a:hover{color:var(--accent)}

/* utilidades */
.aviso-vazio{padding:3rem 0 5rem;color:var(--text-secondary);text-align:center}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* ===== Cabecalho no celular =====
   Duas fileiras: marca e botao em cima, a fita de bancas embaixo com a largura
   toda. Ate 15/09/2026 a fita dividia a linha com a marca e sobravam 154 px para
   496 px de conteudo: "Lojas", "Arsenal", "Atlas" e o botao "Entrar para a Trupe"
   ficavam fora da tela, atras de um rolar lateral com a barra escondida — sem
   pista nenhuma de que havia mais menu. Agora os cinco links cabem inteiros em
   375 px (343 de 345) e o botao esta sempre a vista. O cabecalho vai de 91 para
   113 px de 812; a versao que quebrava em tres linhas dava 156. Medido no ar. */
@media (max-width:600px){
	.topo-inner{flex-wrap:wrap;gap:.5rem;row-gap:.45rem;padding-top:.55rem;padding-bottom:.55rem}
	.topo .marca{flex:1 1 auto;min-width:0}
	.topo-inner>.btn{flex:0 0 auto;order:2}
	.menu-bancas{order:3;flex:0 0 100%;min-width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
	.menu-bancas::-webkit-scrollbar{display:none}
	.menu-bancas a{flex:none}
	/* O rotulo encolhe para "Entrar" (a frase inteira fica no aria-label) porque
	   com os 212 px do rotulo inteiro a marca e o botao nao cabem na mesma
	   fileira: o botao desce sozinho, vira uma TERCEIRA fileira e o cabecalho
	   volta aos 156 px que esta regra existe para evitar. Com "Entrar" sao
	   173 + 94 + 8 = 275 px de 345, e ficam duas fileiras. Mesma solucao do
	   cabecalho do site principal. O &nbsp; do header.php nao e frescura: em
	   tela de toque o .btn vira inline-flex, e flex come espaco no comeco de
	   um item — com espaco comum o rotulo sai "Entrarpara a Trupe". */
	.topo-inner>.btn .cta-resto{display:none}
}
/* Abaixo de 375 px os cinco links nao cabem mais na fita (343 px de conteudo):
   ela volta a rolar, e o esmaecido na borda direita avisa que ha mais. Acima
   disso nada rola, e o esmaecido so apagaria a ponta do "Atlas" a toa. */
@media (max-width:374px){
	.menu-bancas{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}
}
/* A 320 px a fileira tem 273 px uteis e a marca (174) mais o botao (94) mais o
   vao (8) pedem 276: faltam TRES pixels, e por causa deles o botao desce
   sozinho e o cabecalho volta aos 156 px. O letreiro encolhe um degrau e os
   dois passam a caber. Mesmo remedio do site principal, que ja encolhe a marca
   no celular. */
@media (max-width:359px){
	.topo .marca b{font-size:1rem}
	.topo .marca .mtx span{letter-spacing:.12em}
}
@media (pointer:coarse){.btn,.menu-bancas a{min-height:40px;display:inline-flex;align-items:center}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Aviso de link de afiliado no alto da matéria. Exigência da Amazon e do CONAR:
   visível e perto dos links. Selo faz o anúncio, o texto explica — para não ser
   mais um parágrafo em itálico no meio da matéria. 22/09/2026. */
.nota-afiliado{display:flex;flex-wrap:wrap;gap:.7rem;align-items:baseline;
  margin:0 0 var(--e-4);padding:.85rem 1.1rem;background:rgba(163,176,74,.07);
  border:1px solid rgba(163,176,74,.26);border-radius:var(--r-superficie)}
.nota-afiliado p{margin:0;flex:1 1 16rem;color:var(--text-tertiary);
  font-size:.88rem;line-height:1.55}

/* ===== Tabelas das matérias no celular (05/10/2026, ronda do reino) =====
   A tabela da Jambô Play tinha cinco colunas espremidas em 375px: o texto quebrava palavra a
   palavra e "Por" e "Desconto" ficavam atrás de uma rolagem lateral sem pista nenhuma. Abaixo
   de 600px, tabela que traz data-label (o conversor põe desde 05/10) vira um cartão por linha,
   com o nome da coluna ao lado de cada valor. Tabela antiga, sem data-label, fica como era. */
@media (max-width:600px){
  .wp-block-table table:has(td[data-label]) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .wp-block-table table:has(td[data-label]),
  .wp-block-table table:has(td[data-label]) tbody,
  .wp-block-table table:has(td[data-label]) tr{display:block;width:100%}
  .wp-block-table table:has(td[data-label]) tr{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.7rem .95rem;margin:0 0 .8rem}
  .wp-block-table table:has(td[data-label]) td{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border:0;padding:.28rem 0;text-align:right}
  .wp-block-table table:has(td[data-label]) td::before{content:attr(data-label);flex:0 0 auto;text-align:left;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}
  .wp-block-table table:has(td[data-label]) td:first-child{display:block;text-align:left;font-weight:700;font-size:1.05rem;padding:0 0 .35rem;margin-bottom:.2rem;border-bottom:1px solid var(--line)}
  .wp-block-table table:has(td[data-label]) td:first-child::before{display:none}
}

/* ===== Cabeçalho no tablet (05/10/2026, ronda do reino) =====
   Entre 601 e 900 px a marca, as cinco pílulas e o botão inteiro tentavam caber numa linha:
   "Mestre Saveta / Notícias do reino" quebrava em quatro linhas, a pílula Atlas caía sozinha
   e o botão virava duas linhas. Aqui vale o mesmo arranjo do celular (marca e botão em cima,
   bancas embaixo), mas o botão mantém o rótulo inteiro, que no tablet cabe. */
@media (min-width:601px) and (max-width:900px){
	.topo-inner{flex-wrap:wrap;row-gap:.5rem}
	.topo .marca{flex:1 1 auto;min-width:0}
	.topo .marca .mtx{white-space:nowrap}
	.topo-inner>.btn{flex:0 0 auto;order:2;white-space:nowrap}
	.menu-bancas{order:3;flex:0 0 100%}
}
