/*
Theme Name: Dig Digital Local
Theme URI: https://digdigital.com.br/
Author: Dig Digital
Description: Home Astro e blog WordPress para revisão na instalação local.
Version: 0.2.0
Text Domain: dig-digital-local
*/
/* O <head>, a fonte, os tokens, o cabeçalho e o rodapé vêm da moldura Astro
   (astro/moldura-*.html, cabeçalho e rodapé da home aprovada). Aqui ficam só as páginas do blog. */
img{max-width:100%;height:auto}

/* ---------- Blog: listagem e categorias ---------- */
.db-main{display:block;background:var(--dd-branco);color:var(--dd-texto)}
/* Foco pelo teclado: o elemento para abaixo do cabeçalho e com folga no pé da tela, para o contorno
   de foco (3 px para fora) não ficar cortado. */
.db-main a,.db-main button{scroll-margin-top:88px;scroll-margin-bottom:16px}
.db-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Abertura escura, no padrão das seções da home (rótulo com o quadrado, título e apoio). */
.db-topo{overflow:hidden;padding-block:clamp(48px,6vw,88px)}
.db-topo__grade{opacity:.35;mask-image:radial-gradient(ellipse at 70% 0%,#000,transparent 70%)}
.db-topo__cabeca{position:relative}
.db-topo__lado{display:grid;gap:12px;justify-items:start}
.db-topo .tv-titulo{max-width:18ch}
.db-lista{padding-block:clamp(40px,5vw,72px) clamp(56px,6.4vw,96px)}
.db-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.db-grade>li{display:flex;min-width:0}
/* Cartão: imagem, data e categoria, título (o link) e resumo. Só o contorno muda ao passar. */
.db-card{display:flex;flex-direction:column;width:100%;overflow:hidden;border:1px solid var(--tv-gelo-2);border-radius:20px;background:var(--dd-branco);transition:border-color .2s,box-shadow .2s}
.db-card:hover,.db-card:focus-within{border-color:var(--tv-azul);box-shadow:0 18px 40px rgba(15,23,42,.08)}
.db-card__link{display:flex;flex-direction:column;color:inherit;text-decoration:none;border-radius:20px 20px 0 0}
.db-card-imagem{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--tv-gelo-2)}
.db-card-imagem img{display:block;width:100%;height:100%;object-fit:cover}
.db-card__corpo{display:grid;gap:10px;padding:20px 22px 0}
.db-meta{margin:0;color:var(--dd-texto-2);font-size:14px;font-weight:600;line-height:1.45}
.db-card__titulo{margin:0;font-size:20px;font-weight:800;line-height:1.3;letter-spacing:-.015em;color:var(--dd-texto);text-wrap:pretty}
.db-card__link:hover .db-card__titulo{color:var(--tv-azul-forte);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.db-card__resumo{margin:12px 0 0;padding:0 22px 24px;color:var(--dd-texto-2);font-size:15px;line-height:1.65}
.db-vazio{margin:0;font-size:18px}
.db-vazio .tv-link{display:table;margin-top:16px}
/* Paginação: posição atual por extenso e botões de 44 px. */
.db-paginacao{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:48px;padding-top:28px;border-top:1px solid var(--tv-gelo-2)}
.db-paginacao__posicao{margin:0;color:var(--dd-texto-2);font-size:15px;font-weight:600}
.db-paginacao ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.db-paginacao li>.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border:1px solid var(--tv-gelo-2);border-radius:12px;background:var(--dd-branco);color:var(--tv-azul-forte);font-weight:700;text-decoration:none}
.db-paginacao li>a.page-numbers:hover{border-color:var(--tv-azul)}
.db-paginacao li>.page-numbers.current{border-color:var(--tv-noite);background:var(--tv-noite);color:var(--dd-branco)}
.db-paginacao li>.page-numbers.dots{border-color:transparent;background:none;color:var(--dd-texto-2)}
@media(max-width:1023.98px){.db-grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639.98px){.db-grade{grid-template-columns:1fr;gap:20px}.db-card__titulo{font-size:19px}.db-paginacao{flex-direction:column;align-items:flex-start}}
.db-container{width:min(100% - 40px,1200px);margin-inline:auto}
.db-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.db-pagina{max-width:850px;margin-inline:auto}
.db-pagina .db-conteudo{margin-top:40px}

/* ---------- Artigo ---------- */
/* Topo escuro com voltar, categoria (link para a categoria), título e data; a imagem destacada
   fica sobre a passagem para o branco. O texto segue numa coluna de leitura (~68 caracteres). */
.db-leitura{max-width:760px}
.db-artigo-topo{position:relative;overflow:hidden;padding-block:clamp(32px,4vw,56px) clamp(48px,6vw,88px)}
.db-artigo-topo--imagem{padding-bottom:clamp(120px,16vw,220px)}
.db-artigo-topo__texto{position:relative;display:grid;justify-items:start}
.db-voltar{margin-bottom:28px;font-size:15px}
.db-artigo-topo .tv-rotulo a{color:inherit;text-decoration:none}
.db-artigo-topo .tv-rotulo a:hover{text-decoration:underline;text-underline-offset:4px}
.db-artigo-titulo{margin:16px 0 0;font-size:clamp(32px,4.6vw,56px);font-weight:800;line-height:1.08;letter-spacing:-.035em;color:var(--dd-branco);text-wrap:balance}
.db-artigo-data{margin:20px 0 0;color:var(--tv-texto-claro);font-size:16px;font-weight:600}
.db-artigo-imagem{position:relative;max-width:1040px;margin:calc(-1 * clamp(96px,13vw,184px)) auto 0}
.db-artigo-imagem img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:24px;box-shadow:0 30px 60px rgba(2,6,23,.28)}
.db-conteudo{padding-block:clamp(40px,5vw,64px) 0;color:var(--dd-texto);font-size:18px;line-height:1.75;overflow-wrap:anywhere}
.db-conteudo>:first-child{margin-top:0}
.db-conteudo h2{margin:2em 0 .6em;font-size:clamp(24px,3vw,32px);font-weight:800;line-height:1.25;letter-spacing:-.02em}
.db-conteudo h3{margin:1.8em 0 .5em;font-size:22px;font-weight:800;line-height:1.3}
.db-conteudo h4{margin:1.6em 0 .5em;font-size:19px;font-weight:800}
.db-conteudo p,.db-conteudo ul,.db-conteudo ol{margin:0 0 1.3em}
.db-conteudo ul,.db-conteudo ol{padding-left:1.4em}
.db-conteudo li+li{margin-top:.45em}
.db-conteudo li::marker{color:var(--tv-azul)}
.db-conteudo a{color:var(--tv-azul-forte);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}
.db-conteudo a:hover{text-decoration-color:currentColor}
.db-conteudo strong{color:var(--dd-texto)}
.db-conteudo blockquote{margin:2em 0;padding:18px 24px;border-left:4px solid var(--tv-azul);border-radius:0 16px 16px 0;background:var(--tv-gelo)}
.db-conteudo blockquote>:last-child{margin-bottom:0}
.db-conteudo figure{margin:2em 0}
.db-conteudo img{display:block;max-width:100%;height:auto;border-radius:16px}
.db-conteudo figcaption{margin-top:10px;color:var(--dd-texto-2);font-size:14px;text-align:center}
.db-conteudo a[href*="wa.me/"][style*="background"]{background-color:#075E54 !important;color:#fff !important;text-decoration:none}
.db-conteudo iframe{display:block;max-width:100%;border:0;border-radius:16px}
.db-conteudo table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:16px}
.db-conteudo th,.db-conteudo td{padding:10px 14px;border:1px solid var(--tv-gelo-2)}
.db-conteudo th{background:var(--tv-gelo)}
.db-conteudo pre{overflow:auto;padding:20px;border-radius:16px;background:var(--tv-gelo)}
.db-conteudo hr{margin:2.5em 0;border:0;border-top:1px solid var(--tv-gelo-2)}
.db-artigo-fim{display:grid;gap:24px;justify-items:start;margin-top:56px;padding-block:32px clamp(56px,6.4vw,96px);border-top:1px solid var(--tv-gelo-2)}
/* Artigo anterior e próximo: cartões com o título de cada um. */
.db-vizinhos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%}
.db-vizinho{display:grid;gap:6px;padding:18px 20px;border:1px solid var(--tv-gelo-2);border-radius:16px;background:var(--tv-gelo);color:var(--dd-texto);text-decoration:none}
.db-vizinho:hover{border-color:var(--tv-azul)}
.db-vizinho--proximo{grid-column:2;text-align:right}
.db-vizinho__rotulo{color:var(--tv-azul-forte);font-size:14px;font-weight:700}
.db-vizinho__titulo{font-weight:800;line-height:1.35}
@media(max-width:639.98px){.db-conteudo{font-size:17px}.db-vizinhos{grid-template-columns:1fr}.db-vizinho--proximo{grid-column:auto;text-align:left}.db-artigo-imagem img{border-radius:16px}}

/* ---------- Páginas e 404 ---------- */
.db-pagina{max-width:760px;margin-inline:auto;padding-block:clamp(48px,6vw,88px)}
.db-pagina h1{margin:0;font-size:clamp(32px,4.6vw,52px);font-weight:800;line-height:1.1;letter-spacing:-.035em}
.db-pagina .db-conteudo{padding-top:32px}
