/* ==== noticias.css · só em body[data-css~="noticias"] ==== */
:where(body[data-css~="noticias"]) /* =====================================================================
   rendaacessivel.pt · noticias.css (só a página-índice das Novidades)
   Assenta no base.css: nenhuma cor, :where(body[data-css~="noticias"]) tamanho ou raio novo; só a disposição
   de primeira página de jornal (ESPEC 5.8). font-size só com var(--t-*).
   ===================================================================== */

/* ---------- 1. Cabeçalho do dia (a única data da página) ---------- */
.jornal-topo{ padding-block:var(--abre) var(--e-5); }
:where(body[data-css~="noticias"]) .jornal-topo h1 .t-rotulo{ display:block; margin-bottom:var(--e-2); font-family:var(--letra); letter-spacing:0; }
:where(body[data-css~="noticias"]) .dia-data{ display:block; }
:where(body[data-css~="noticias"]) .sem-quebra{ white-space:nowrap; }
:where(body[data-css~="noticias"]) .jornal-regua{ height:5px; border:0; margin:var(--e-5) 0 0; border-top:1px solid var(--tinta); border-bottom:2px solid var(--tinta); }
:where(body[data-css~="noticias"]) .contagens{ display:flex; flex-wrap:wrap; gap:var(--e-2) var(--e-5); margin-top:var(--e-4); font-size:var(--t-apoio); color:var(--tinta-2); }
:where(body[data-css~="noticias"]) .contagens li{ display:inline-flex; align-items:center; gap:8px; }
:where(body[data-css~="noticias"]) .contagens b{ color:var(--tinta); font-weight:700; }
:where(body[data-css~="noticias"]) .contagens .ponto{ width:10px; height:10px; border-radius:50%; flex:none; background:var(--oliva); }
:where(body[data-css~="noticias"]) .contagens .ponto.breve{ background:var(--telha); }
:where(body[data-css~="noticias"]) .contagens .ponto.sorteio{ background:var(--madeira-esc); }

/* ---------- 2. Manchete ---------- */
:where(body[data-css~="noticias"]) .manchete{ display:grid; gap:var(--e-5); padding-bottom:var(--e-6); }
:where(body[data-css~="noticias"]) .manchete-texto{ display:grid; gap:var(--e-3); align-content:start; }
:where(body[data-css~="noticias"]) .manchete-texto h2{ font-size:var(--t-1); line-height:1.08; text-wrap:balance; }
:where(body[data-css~="noticias"]) .manchete-lead{ font-size:var(--t-corpo); color:var(--tinta-2); max-width:34rem; }
:where(body[data-css~="noticias"]) .manchete-accao{ margin-top:var(--e-2); }
:where(body[data-css~="noticias"]) .manchete-accao .bt{ width:100%; }
:where(body[data-css~="noticias"]) .manchete-meta{ font-size:var(--t-apoio); color:var(--tinta-2); }
:where(body[data-css~="noticias"]) .manchete-foto{ display:grid; gap:var(--e-2); }
:where(body[data-css~="noticias"]) .manchete-foto .foto{ aspect-ratio:16/9; border-radius:var(--r-cartao); overflow:hidden; background:var(--cal-2); }
:where(body[data-css~="noticias"]) .manchete-foto img{ width:100%; height:100%; object-fit:cover; }

/* ---------- 3. Fita «Também fecha esta semana»: só o que não é a manchete ---------- */
:where(body[data-css~="noticias"]) .fita{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--e-1) var(--e-4); align-items:center; min-height:var(--alvo); background:var(--branco); border:1px solid var(--linha); border-left:4px solid var(--telha); border-radius:var(--r-cartao); padding:var(--e-4) 20px; color:var(--tinta); text-decoration:none; }
:where(body[data-css~="noticias"]) .fita:hover b{ color:var(--telha-esc); }
:where(body[data-css~="noticias"]) .fita-tit{ grid-column:1 / -1; display:flex; align-items:center; gap:8px; font-size:var(--t-apoio); font-weight:700; color:var(--tinta-2); }
:where(body[data-css~="noticias"]) .fita-tit .i{ width:20px; height:20px; color:var(--telha-esc); }
:where(body[data-css~="noticias"]) .fita-corpo{ display:grid; gap:2px; min-width:0; }
:where(body[data-css~="noticias"]) .fita b{ font-family:var(--serifa); font-size:var(--t-3); font-weight:500; line-height:1.2; }
:where(body[data-css~="noticias"]) .fita-corpo span{ font-size:var(--t-apoio); color:var(--tinta-2); }
:where(body[data-css~="noticias"]) .fita .dia{ text-align:right; font-weight:700; color:var(--telha-esc); font-size:var(--t-apoio); font-style:normal; white-space:nowrap; }

/* ---------- 4. As duas colunas ---------- */
:where(body[data-css~="noticias"]) .colunas{ display:grid; gap:var(--e-8); }
:where(body[data-css~="noticias"]) .col-tit{ display:grid; justify-items:start; gap:var(--e-2); margin-bottom:var(--e-4); }
:where(body[data-css~="noticias"]) .col-tit p{ color:var(--tinta-2); font-size:var(--t-apoio); }
:where(body[data-css~="noticias"]) .atalhos{ display:flex; flex-wrap:wrap; column-gap:var(--e-5); margin:calc(-1 * var(--e-2)) 0 var(--e-3); }
:where(body[data-css~="noticias"]) .nota-insc{ display:flex; flex-wrap:wrap; align-items:center; column-gap:var(--e-2); margin-top:var(--e-4); font-size:var(--t-apoio); line-height:1.5; color:var(--tinta-2); }
:where(body[data-css~="noticias"]) .nota-insc .lig{ text-underline-offset:3px; }

:where(body[data-css~="noticias"]) /* «Podes concorrer agora»: uma linha por concurso, :where(body[data-css~="noticias"]) a data à esquerda como numa agenda */
.agora{ list-style:none; margin:0; padding:0; border-top:1px solid var(--linha); }
:where(body[data-css~="noticias"]) .agora li{ position:relative; display:grid; grid-template-columns:76px minmax(0,1fr); gap:var(--e-4); padding-block:var(--e-4); border-bottom:1px solid var(--linha); }
:where(body[data-css~="noticias"]) .agora li:hover h3 a{ color:var(--telha-esc); }
:where(body[data-css~="noticias"]) .agora h3{ font-size:var(--t-3); }
:where(body[data-css~="noticias"]) .agora h3 a{ color:var(--tinta); text-decoration:none; }
:where(body[data-css~="noticias"]) .agora h3 a::after{ content:""; position:absolute; inset:0; }
:where(body[data-css~="noticias"]) .agora h3 a:focus-visible{ outline:0; box-shadow:none; }
:where(body[data-css~="noticias"]) .agora li:has(h3 a:focus-visible){ outline:3px solid var(--tinta); outline-offset:2px; border-radius:4px; }
:where(body[data-css~="noticias"]) .prazo{ display:grid; align-self:start; align-content:start; justify-items:center; gap:0; padding:var(--e-2) 0; border-radius:var(--r-campo); background:var(--oliva-clara); color:var(--oliva); text-align:center; line-height:1.1; }
:where(body[data-css~="noticias"]) .prazo small{ font-size:var(--t-rotulo); font-weight:600; }
:where(body[data-css~="noticias"]) .prazo b{ font-family:var(--serifa); font-size:var(--t-3); font-weight:520; letter-spacing:-.02em; }
:where(body[data-css~="noticias"]) .prazo.breve{ background:var(--telha-clara); color:var(--telha-esc); box-shadow:inset 0 0 0 1.5px var(--telha); }
:where(body[data-css~="noticias"]) .agora-corpo{ display:grid; gap:2px; min-width:0; }
:where(body[data-css~="noticias"]) .agora-casas{ font-size:var(--t-apoio); color:var(--tinta-2); }
:where(body[data-css~="noticias"]) .agora-renda{ font-family:var(--serifa); font-size:var(--t-corpo); font-weight:560; color:var(--tinta); margin-top:2px; }
:where(body[data-css~="noticias"]) .agora-pe{ font-size:var(--t-apoio); color:var(--tinta-2); margin-top:var(--e-1); }
:where(body[data-css~="noticias"]) .agora-pe .balcao{ color:var(--telha-esc); font-weight:600; }

/* «Já concorreste?»: a agenda dos sorteios */
:where(body[data-css~="noticias"]) .semana{ display:grid; gap:var(--e-5); }
:where(body[data-css~="noticias"]) .nada-a-fazer{ display:flex; line-height:1.5; gap:var(--e-3); align-items:flex-start; padding:var(--e-4) 20px; background:var(--madeira-clara); border-radius:var(--r-campo); font-size:var(--t-apoio); color:var(--tinta); }
:where(body[data-css~="noticias"]) .nada-a-fazer .i{ width:22px; height:22px; color:var(--madeira-esc); margin-top:1px; flex:none; }
:where(body[data-css~="noticias"]) .nada-a-fazer > div{ display:grid; gap:var(--e-2); justify-items:start; }
:where(body[data-css~="noticias"]) .nada-a-fazer .nada-nota{ color:var(--tinta-2); }
:where(body[data-css~="noticias"]) .nada-a-fazer .bt-contorno{ margin-top:var(--e-2); min-height:var(--alvo); font-size:var(--t-apoio); }
:where(body[data-css~="noticias"]) .nada-a-fazer .bt-contorno .i{ width:18px; height:18px; margin:0; color:currentColor; }
:where(body[data-css~="noticias"]) .quais summary{ display:inline-flex; align-items:center; min-height:var(--alvo); cursor:pointer; font-weight:600; color:var(--telha-esc); text-decoration:underline; text-decoration-color:var(--madeira); text-decoration-thickness:2px; text-underline-offset:4px; }
:where(body[data-css~="noticias"]) .quais p{ color:var(--tinta-2); padding-bottom:var(--e-2); }
:where(body[data-css~="noticias"]) .agenda-dia li > span{ display:block; }
:where(body[data-css~="noticias"]) .agenda-mais .lig{ min-height:0; padding-block:0; display:inline; text-underline-offset:3px; }
:where(body[data-css~="noticias"]) .agenda{ list-style:none; margin:0; padding:0; display:grid; gap:var(--e-4); }
:where(body[data-css~="noticias"]) .agenda-dia{ background:var(--branco); border:1px solid var(--linha); border-radius:var(--r-cartao); padding:var(--e-4) 20px; }
:where(body[data-css~="noticias"]) .agenda-dia h3{ font-size:var(--t-3); margin-bottom:var(--e-2); }
:where(body[data-css~="noticias"]) .agenda-dia ul{ list-style:none; margin:0; padding:0; }
:where(body[data-css~="noticias"]) .agenda-dia li{ display:grid; grid-template-columns:4.2rem 1fr; gap:var(--e-3); padding-block:var(--e-2); border-top:1px solid var(--linha); font-size:var(--t-apoio); }
:where(body[data-css~="noticias"]) .agenda-dia li:first-child{ border-top:0; }
:where(body[data-css~="noticias"]) .agenda-dia time{ font-weight:700; color:var(--madeira-esc); }
:where(body[data-css~="noticias"]) .agenda-dia .res{ color:var(--tinta-2); }
:where(body[data-css~="noticias"]) .agenda-mais{ font-size:var(--t-apoio); color:var(--tinta-2); }

:where(body[data-css~="noticias"]) /* «Quanta gente concorreu»: barras de candidaturas por casa, :where(body[data-css~="noticias"]) com a média do ano */
.barras{ list-style:none; margin:0; padding:0; display:grid; gap:var(--e-4); }
:where(body[data-css~="noticias"]) .barras li{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px var(--e-3); align-items:baseline; font-size:var(--t-apoio); }
:where(body[data-css~="noticias"]) .barras .terra{ font-weight:600; color:var(--tinta); }
:where(body[data-css~="noticias"]) .barras .terra small{ font-size:var(--t-rotulo); font-weight:400; color:var(--tinta-2); margin-left:8px; white-space:nowrap; }
:where(body[data-css~="noticias"]) .barras .n{ font-family:var(--serifa); font-size:var(--t-corpo); font-weight:560; color:var(--tinta); white-space:nowrap; }
:where(body[data-css~="noticias"]) .barras .n small{ font-family:var(--letra); font-size:var(--t-rotulo); font-weight:400; color:var(--tinta-2); margin-left:4px; }
:where(body[data-css~="noticias"]) .barras .trilho{ grid-column:1 / -1; position:relative; height:10px; border-radius:var(--r-pilula); background:var(--cal-2); }
:where(body[data-css~="noticias"]) .barras .trilho i{ position:absolute; left:0; top:0; bottom:0; border-radius:var(--r-pilula); background:var(--madeira); }
:where(body[data-css~="noticias"]) .barras .trilho::after{ content:""; position:absolute; top:-4px; bottom:-4px; left:var(--media); width:1.5px; background:var(--tinta-2); }
:where(body[data-css~="noticias"]) .barras-legenda{ display:flex; align-items:flex-start; gap:10px; font-size:var(--t-apoio); color:var(--tinta-2); margin-bottom:var(--e-4); }
:where(body[data-css~="noticias"]) .barras-legenda b{ color:var(--tinta); }
:where(body[data-css~="noticias"]) .barras-legenda i{ width:1.5px; height:18px; margin-top:3px; background:var(--tinta-2); flex:none; }
:where(body[data-css~="noticias"]) .barras-mais{ margin-top:var(--e-2); }
:where(body[data-css~="noticias"]) .barras-mais summary{ display:inline-flex; align-items:center; min-height:var(--alvo); cursor:pointer; font-weight:600; color:var(--telha-esc); text-decoration:underline; text-decoration-color:var(--madeira); text-decoration-thickness:2px; text-underline-offset:4px; }
:where(body[data-css~="noticias"]) .barras-mais[open] summary{ display:none; }
:where(body[data-css~="noticias"]) .barras-mais .barras{ margin-top:var(--e-4); }
:where(body[data-css~="noticias"]) .numeros{ display:grid; grid-template-columns:1fr 1fr; gap:var(--e-4); padding-block:var(--e-4); border-block:1px solid var(--linha); margin-bottom:var(--e-4); }
:where(body[data-css~="noticias"]) .numeros div{ display:grid; gap:2px; }
:where(body[data-css~="noticias"]) .numeros b{ font-family:var(--serifa); font-size:var(--t-2); font-weight:500; line-height:1; }
:where(body[data-css~="noticias"]) .numeros span{ font-size:var(--t-apoio); color:var(--tinta-2); }

:where(body[data-css~="noticias"]) /* ---------- 5. Em preparação: breves, :where(body[data-css~="noticias"]) sem imagem ---------- */
.breves{ list-style:none; margin:0; padding:0; display:grid; gap:0; border-top:1px solid var(--linha); }
:where(body[data-css~="noticias"]) .breves li{ display:grid; gap:var(--e-2); padding-block:var(--e-5); border-bottom:1px solid var(--linha); }
:where(body[data-css~="noticias"]) .breves h3{ font-size:var(--t-3); }
:where(body[data-css~="noticias"]) .breves p{ color:var(--tinta-2); font-size:var(--t-apoio); }
:where(body[data-css~="noticias"]) .breves .fonte{ font-size:var(--t-rotulo); color:var(--tinta-3); }
:where(body[data-css~="noticias"]) .breves .lig{ justify-self:start; font-size:var(--t-apoio); }
:where(body[data-css~="noticias"]) .preparacao{ display:grid; gap:var(--e-6); }

/* ---------- 6. As notícias do mês à vista; os meses anteriores recolhidos; a partilha ao lado ---------- */
:where(body[data-css~="noticias"]) .fim{ display:grid; gap:var(--e-7); }
:where(body[data-css~="noticias"]) .arquivo ol{ list-style:none; margin:0; padding:0; border-bottom:1px solid var(--linha); }
:where(body[data-css~="noticias"]) .arquivo li a{ display:grid; grid-template-columns:3.6rem minmax(0,1fr); gap:var(--e-3); align-items:baseline; padding-block:var(--e-3); border-top:1px solid var(--linha); color:var(--tinta); text-decoration:none; font-size:var(--t-apoio); line-height:1.4; min-height:var(--alvo); }
:where(body[data-css~="noticias"]) .arquivo li a > span{ display:grid; gap:2px; justify-items:start; }
:where(body[data-css~="noticias"]) .arquivo li a:hover > span{ color:var(--telha-esc); }
:where(body[data-css~="noticias"]) .arquivo time{ color:var(--tinta-2); font-weight:600; }
:where(body[data-css~="noticias"]) .arquivo .mes{ margin-top:var(--e-4); }
:where(body[data-css~="noticias"]) .arquivo .mes ol{ border-bottom:0; padding-bottom:var(--e-3); }
:where(body[data-css~="noticias"]) .partilhar-fim{ display:grid; gap:var(--e-3); align-content:start; max-width:var(--larg-texto); }
:where(body[data-css~="noticias"]) .partilhar-fim .col-tit{ margin-bottom:0; }
:where(body[data-css~="noticias"]) .partilhar-fim .partilha-previa{ margin-top:0; }

/* ---------- 7. A partir de 640 px ---------- */
@media (min-width:640px){
  :where(body[data-css~="noticias"]) .manchete-accao .bt{ width:auto; }
  :where(body[data-css~="noticias"]) .agora li{ grid-template-columns:88px minmax(0,1fr); gap:var(--e-5); }
  :where(body[data-css~="noticias"]) .breves{ grid-template-columns:1fr 1fr; column-gap:var(--e-6); }}

/* ---------- 8. A partir de 1024 px: a primeira página em colunas ---------- */
@media (min-width:1024px){
  :where(body[data-css~="noticias"]) .jornal-topo{ padding-block:var(--abre) var(--e-6); }
  :where(body[data-css~="noticias"]) .jornal-topo .linha-flex{ justify-content:space-between; align-items:end; }
  :where(body[data-css~="noticias"]) .manchete{ grid-template-columns:7fr 5fr; gap:var(--e-7); align-items:center; padding-bottom:var(--e-7); }
  :where(body[data-css~="noticias"]) .manchete-foto{ order:-1; }
  :where(body[data-css~="noticias"]) .manchete-foto .foto{ aspect-ratio:3/2; }
  :where(body[data-css~="noticias"]) .fita{ grid-template-columns:auto minmax(0,1fr) auto; column-gap:var(--e-6); padding:var(--e-3) var(--e-5); }
  :where(body[data-css~="noticias"]) .fita-tit{ grid-column:auto; }
  :where(body[data-css~="noticias"]) .fita-corpo{ grid-auto-flow:column; justify-content:start; align-items:baseline; column-gap:var(--e-4); }
  :where(body[data-css~="noticias"]) .colunas{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:var(--e-8); align-items:start; }
  :where(body[data-css~="noticias"]) .preparacao{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:var(--e-8); align-items:start; }
  :where(body[data-css~="noticias"]) .preparacao .breves{ grid-template-columns:1fr; }
  :where(body[data-css~="noticias"]) .fim{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:var(--e-8); align-items:start; }}

/* ---------- 9. O que o gerador precisa e a maqueta não tinha (p_noticias.py, 27/09) ---------- */
/* manchete sem fotografia: o número é a imagem (nunca fotografia de outra casa) */
:where(body[data-css~="noticias"]) .manchete-foto .sem-foto{ display:grid; place-items:center; background:var(--cal-2); }
:where(body[data-css~="noticias"]) .manchete-foto .sem-foto .t-num{ display:grid; justify-items:center; color:var(--tinta); line-height:1; }
:where(body[data-css~="noticias"]) .manchete-foto .sem-foto .t-num small{ font-family:var(--letra); font-size:var(--t-apoio); color:var(--tinta-2); margin-top:var(--e-2); }
:where(body[data-css~="noticias"]) /* sem sorteios à vista, :where(body[data-css~="noticias"]) a coluna dos abertos ocupa a linha */
.colunas.colunas-1{ grid-template-columns:minmax(0,1fr); }
/* o Vigia numa coluna estreita: o email e o botão empilham (o botão com o preço não cabe ao lado) */
:where(body[data-css~="noticias"]) .preparacao .aviso-linha,:where(body[data-css~="noticias"]) .nt-duas .aviso-linha{ grid-template-columns:minmax(0,1fr); }
:where(body[data-css~="noticias"]) .preparacao .aviso-linha .bt,:where(body[data-css~="noticias"]) .nt-duas .aviso-linha .bt{ width:100%; }
/* o .aviso-preco do base põe o parágrafo INTEIRO a t-2 (o mesmo remendo do inicio.css e do concelho.css; pedido ao integrador) */
:where(body[data-css~="noticias"]) .aviso .antes-do-botao.aviso-preco{ font-family:var(--letra); font-size:var(--t-apoio); line-height:1.5; margin-top:var(--e-3); }
:where(body[data-css~="noticias"]) .aviso .antes-do-botao.aviso-preco b{ font-family:var(--serifa); font-size:var(--t-3); font-weight:500; margin-right:4px; }
/* a lista das notícias: o botão «Ver mais notícias» que o núcleo acrescenta */
:where(body[data-css~="noticias"]) .arquivo .ver-mais{ margin-top:var(--e-4); }
/* a agenda dos sorteios também vive dentro de uma notícia (Sorteio, Fechou) */
:where(body[data-css~="noticias"]) .nt-artigo .agenda{ max-width:var(--larg-texto); }
:where(body[data-css~="noticias"]) /* a pílula do formato na lista do índice, :where(body[data-css~="noticias"]) como na notícia */
.arquivo .antetitulo{ line-height:1.1; }
:where(body[data-css~="noticias"]) .arquivo .ant-abriu{ background:var(--oliva-clara); padding:3px 10px; border-radius:var(--r-pilula); }
:where(body[data-css~="noticias"]) .arquivo .ant-breve{ background:var(--telha-clara); padding:3px 10px; border-radius:var(--r-pilula); }
:where(body[data-css~="noticias"]) .arquivo .ant-fechou,:where(body[data-css~="noticias"]) .arquivo .ant-actual{ background:var(--cal-2); padding:3px 10px; border-radius:var(--r-pilula); }
:where(body[data-css~="noticias"]) .arquivo .ant-sorteio{ background:var(--madeira-clara); padding:3px 10px; border-radius:var(--r-pilula); }

/* ---------- 10. Revisão de 27/09 (p_noticias.py) ---------- */
:where(body[data-css~="noticias"]) /* «Em preparação» numa linha por anúncio: o título leva à notícia, :where(body[data-css~="noticias"]) a fase por baixo */
.breves h3 a{ color:var(--tinta); text-decoration-color:var(--madeira); }
/* a 375 px o cabeçalho passava 3 px da margem (scrollWidth 378): a marca era flex:none e empurrava o Menu.
   O mesmo remendo das legais e do posso; o lugar certo é o _base.css (pedido em PEDIDOS.md) */
@media (max-width:400px){
  :where(body[data-css~="noticias"]) .topo .caixa{ gap:6px; }
  :where(body[data-css~="noticias"]) .marca{ flex:0 1 auto; min-width:0; gap:8px; }
  :where(body[data-css~="noticias"]) .marca > span{ min-width:0; }
  :where(body[data-css~="noticias"]) .marca-desc{ overflow:hidden; text-overflow:ellipsis; }
  :where(body[data-css~="noticias"]) .menu-bt{ flex:none; margin-right:0; }}

@media print{
  :where(body[data-css~="noticias"]) .manchete-foto,:where(body[data-css~="noticias"]) .partilhar-fim,:where(body[data-css~="noticias"]) .arquivo .mes,:where(body[data-css~="noticias"]) .atalhos{ display:none !important; }}