/* ================================================
   Ponto da Notícia - site público
   Arquivo: /assets/css/site.css
   O CSS crítico (topo até o destaque) está inline em /_site/views/css_critico.php.
   ================================================ */

/* ---------- Blocos ---------- */
.bloco{margin-top:40px}
.bloco-tit{margin-bottom:16px;padding-left:12px;border-left:5px solid var(--cor-marca);font-size:22px;font-weight:800;line-height:1.2;letter-spacing:-.01em}
.bloco-tit a:hover{color:var(--cor-marca-texto)}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.com-lateral{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 32px;align-items:start}
.pub-lateral:empty{display:none}
.com-lateral>.lateral{position:sticky;top:calc(var(--cab-baixa) + var(--cab-folga));margin-top:40px}
.lista{margin-top:4px}

/* ---------- Grade: card grande à esquerda, lista à direita ---------- */
.grade{display:grid;grid-template-columns:1.15fr 1fr;column-gap:24px;align-items:start}
.grade>:first-child{grid-row:1/span var(--linhas,4)}
.grade>.cl:nth-child(2),.grade>.rk:nth-child(2) .cl-link{padding-top:0}

/* ---------- Card lista ---------- */
.cl{border-bottom:1px solid var(--linha)}
.cl:last-child{border-bottom:0}
.cl-link{display:grid;grid-template-columns:120px minmax(0,1fr);grid-template-areas:"foto txt";gap:14px;align-items:start;padding:14px 0}
.cl-link.com-hora{grid-template-areas:"foto hora" "foto txt";grid-template-rows:auto 1fr;row-gap:2px}
.cl-foto{grid-area:foto;overflow:hidden;aspect-ratio:4/3;border-radius:6px;background:#dde3ea}
.cl-txt{grid-area:txt;min-width:0}
.cl-hora{grid-area:hora;font-size:14px;font-weight:800;color:var(--cor-marca-texto)}
.cl-tit{font-size:16px;font-weight:700;line-height:1.35;overflow-wrap:break-word}
/* Notícia sem foto: em lista mista, um quadrado com a data na cor da editoria */
.cl-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;background:var(--cr,var(--cor-marca-texto));color:#fff}
.cl-tile-dia{font-size:26px;font-weight:800;letter-spacing:-.02em}
.cl-tile-mes{margin-top:3px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cl-tile-ano{margin-top:3px;font-size:11px;opacity:.85}
/* Lista inteira sem foto: some a coluna da miniatura */
.cl-link.cl-texto{grid-template-columns:minmax(0,1fr);grid-template-areas:"txt"}
.cl-link.cl-texto.com-hora{grid-template-columns:52px minmax(0,1fr);grid-template-areas:"hora txt"}
.cl-link:hover .cl-tit{color:var(--cor-marca-texto)}

/* ---------- Card vertical ---------- */
.cv-link{display:block}
.cv-foto{overflow:hidden;margin-bottom:10px;aspect-ratio:16/10;border-radius:var(--raio);background:#dde3ea}
.cv-tit{margin-top:6px;font-size:17px;font-weight:700;line-height:1.3}
.cv-link:hover .cv-tit{color:var(--cor-marca-texto)}

/* ---------- Últimas ---------- */
.ult-lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ultimas .cl{padding:0 14px;border:0;border-radius:var(--raio);background:var(--fundo-suave)}

/* ---------- Mais lidas (ranking) ---------- */
.rk{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:start}
.rk-num{padding-top:10px;font-size:28px;font-weight:800;line-height:1;color:var(--cor-marca)}
.rk:first-child .rk-num{padding-top:0}
.rk:not(:last-child) .cl{border-bottom:1px solid var(--linha)}

/* ---------- Botões ---------- */
.ver-mais{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:8px;font-weight:700;color:var(--cor-marca-texto)}
.ver-mais:hover{text-decoration:underline}
.so-mobile{display:none}
.btn:hover{filter:brightness(.92)}
.btn-whats{background:#0a7d3b}
.btn-contorno{border-color:rgba(255,255,255,.7);background:none}
.btn-contorno-escuro{border-color:var(--cor-marca-texto);background:none;color:var(--cor-marca-texto)}

/* ---------- Publicidade lateral (a faixa está no CSS crítico) ---------- */
.pub-lateral{display:grid;gap:24px;width:300px}

/* ---------- Faixa do WhatsApp ---------- */
.faixa-whats{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:48px;padding:24px 28px;border-radius:var(--raio);background:#e7f5ec}
.faixa-whats h2{font-size:22px;font-weight:800;line-height:1.2}
.faixa-whats p{margin-top:4px;color:#2e4a3a}

/* ---------- Rodapé ---------- */
.rodape{margin-top:48px;padding-top:40px;background:var(--cor-marca-escura);color:#dbe5f1}
.rod-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:32px}
.placa-logo{display:inline-block;padding:10px 14px;border-radius:10px;background:#fff}
.placa-logo img{width:auto;height:40px}
/* Logo branco direto sobre o azul (sem a placa), quando assets/img/logo-branco.png existe */
.rod-logo{display:inline-block}
.rod-logo img{width:auto;height:48px}
.lema{margin-top:14px;font-weight:700;color:#fff}
.cidades{margin-top:8px;font-size:14px;color:#c9d6e8}
.rod-redes{display:flex;gap:8px;margin-top:14px}
.rod-redes a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff}
.rod-redes a:hover{background:rgba(255,255,255,.24)}
.rod-col summary{display:flex;align-items:center;min-height:44px;font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;list-style:none;cursor:pointer}
.rod-col summary::-webkit-details-marker{display:none}
.rod-col ul a{display:flex;align-items:center;min-height:36px;color:#dbe5f1}
.rod-col ul a:hover{color:#fff;text-decoration:underline}
.rod-botoes{display:grid;gap:10px;margin-top:4px}
.rod-botoes .btn{white-space:nowrap}
.rod-final{margin-top:32px;padding:16px 0;border-top:1px solid rgba(255,255,255,.15);font-size:13px;color:#c9d6e8}
.rod-final a{color:#fff;text-decoration:underline}
.rodape :focus-visible{outline-color:#fff}
@media (min-width:769px){
.rod-col summary{pointer-events:none;cursor:default}
}

/* ---------- Gaveta ---------- */
.gaveta{position:fixed;inset:0;z-index:100}
.gaveta-fundo{position:absolute;inset:0;background:rgba(10,20,35,.55);opacity:0;transition:opacity .2s ease}
.gaveta-painel{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;width:min(340px,86vw);overflow-y:auto;background:#fff;transform:translateX(-100%);transition:transform .2s ease}
.gaveta-painel:focus{outline:0}
.gaveta.aberta .gaveta-fundo{opacity:1}
.gaveta.aberta .gaveta-painel{transform:none}
.gaveta-topo{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 20px;border-bottom:1px solid var(--linha)}
.gaveta-tit{font-size:18px;font-weight:800}
.gaveta-busca{padding:14px 20px 0}
.gaveta-busca .busca-in{display:flex;gap:8px}
.gaveta-busca input{flex:1;min-width:0;height:44px;padding:0 14px;border:2px solid var(--linha);border-radius:8px;font:inherit;font-size:15px;color:inherit}
.gaveta-busca input:focus{border-color:var(--cor-marca);outline:0}
.gaveta-busca button{flex:none;height:44px;padding:0 16px;border:0;border-radius:8px;background:var(--cor-marca-texto);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.gaveta-data{padding:14px 20px 0;font-size:14px;color:var(--texto-suave)}
.gaveta-sub{padding:18px 20px 6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--texto-suave)}
.gaveta-cidades{display:flex;gap:8px;padding:0 20px}
.gaveta-cidades a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:22px;background:var(--cor-marca-texto);color:#fff;font-weight:700}
.gaveta-lista a{display:flex;align-items:center;min-height:48px;padding:0 20px;border-bottom:1px solid var(--linha);font-weight:600}
.gaveta-lista a:hover{background:var(--fundo-suave);color:var(--cor-marca-texto)}
.gaveta-contato{display:grid;gap:10px;padding:20px 20px 28px}
.gaveta-redes{display:flex;gap:4px}
@media (min-width:769px){
.gaveta-painel{right:0;left:auto;transform:translateX(100%)}
}
@media (prefers-reduced-motion:reduce){
.gaveta-fundo,.gaveta-painel{transition:none}
}

/* ---------- Mobile ---------- */
@media (max-width:768px){
.bloco{margin-top:32px}
.bloco-tit{font-size:20px}
.duas,.com-lateral{grid-template-columns:1fr}
.com-lateral>.lateral{display:none}
.grade{grid-template-columns:1fr}
.grade>:first-child{grid-row:auto;margin-bottom:4px}
.grade>.cl:nth-child(2),.grade>.rk:nth-child(2) .cl-link{padding-top:14px}
.cl-link{grid-template-columns:88px minmax(0,1fr)}
.cl-tit{font-size:17px}
.cl-tile-dia{font-size:22px}
.cl-tile-mes{font-size:11px}
.cl-tile-ano{font-size:10px}
.so-mobile{display:flex}
.ver-mais{display:flex;justify-content:center;width:100%;margin-top:12px;border:2px solid var(--cor-marca-texto);border-radius:8px}
.ver-mais:hover{text-decoration:none;background:var(--fundo-suave)}
.ult-lista{grid-template-columns:1fr;gap:0}
.ultimas .cl{padding:0;border-bottom:1px solid var(--linha);border-radius:0;background:none}
.ultimas .cl:last-child{border-bottom:0}
.ultimas .cl-hora{font-size:15px}
.rk{grid-template-columns:34px minmax(0,1fr);gap:6px}
.rk-num{padding-top:14px;font-size:30px}
.rk:first-child .rk-num{padding-top:0}
.rk .cg{margin-bottom:4px}
.faixa-whats{flex-direction:column;align-items:stretch;margin-top:36px;padding:20px}
.faixa-whats h2{font-size:20px}
.rod-grid{grid-template-columns:1fr;gap:0}
.rod-marca{padding-bottom:20px}
.rod-col{border-top:1px solid rgba(255,255,255,.15)}
.rod-col summary{min-height:52px}
.rod-col summary::after{content:"+";margin-left:auto;font-size:22px;font-weight:400}
.rod-col[open] summary::after{content:"−"}
.rod-col ul,.rod-botoes{padding-bottom:16px}
.rod-col ul a{min-height:44px}
}
