/* AAFF Consulting · estilos propios de /novedades/ (línea de tiempo de novedades fiscales).
   Se carga después de aaff.css y usa sus tokens (--panel, --line, --brass-text, --warn-*...), así que sigue los dos modos
   (data-palette="nocturna" | "niebla"). No modifica ninguna regla de aaff.css. */

html{scroll-padding-top:96px}

/* texto solo para lectores de pantalla */
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

.page-head .nov-h1{max-width:20ch;font-size:clamp(32px,4.8vw,60px);line-height:1.04}
@media (max-width:420px){.page-head .nov-h1{font-size:32px}}

/* estados de verificación */
.badge{display:inline-flex;align-items:center;gap:6px;max-width:100%;font:500 12px/1.25 var(--f-sans);padding:5px 10px;border-radius:999px;border:1px solid var(--brass);color:var(--brass-text)}
.badge svg{width:14px;height:14px;flex:none}
.badge.b-pend{border-style:dashed;border-color:var(--warn-line);background:var(--warn-bg);color:var(--text)}

.nov-leyenda{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px;font-size:14px;color:var(--muted);max-width:60em}
.nov-leyenda li{display:grid;gap:6px 14px;justify-items:start}
.nov-leyenda .badge{flex:none}
@media (min-width:760px){.nov-leyenda li{grid-template-columns:19.5em minmax(0,1fr);align-items:center}}

/* filtros */
.nov-anios{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0 0 20px;font:500 13px var(--f-mono);color:var(--muted)}
.nov-anios a{color:var(--brass-text);text-underline-offset:3px}
.nov-filtros{display:grid;gap:18px}
.nov-filtros input[type=search]{width:100%;font:400 16px var(--f-sans);color:var(--text);background:var(--void);border:1px solid var(--line-2);border-radius:10px;padding:12px 14px;min-height:46px;-webkit-appearance:none;appearance:none}
.nov-filtros input[type=search]:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-color:var(--brass)}
.nov-filtros input[type=search]::placeholder{color:var(--muted);opacity:1}
.nov-filtros .actions .key{min-height:44px}
.nov-count{font:500 14px/1.4 var(--f-mono);color:var(--text);margin:18px 0 6px}
.nov-vacio{margin:0 0 18px;color:var(--muted)}

/* línea de tiempo por año */
.anio{margin-top:clamp(28px,5vw,56px)}
.nov-count+.nov-vacio+.anio,.nov-count+.anio{margin-top:18px}
.anio-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;font-size:clamp(40px,7vw,76px);font-weight:300;letter-spacing:-.045em;line-height:1;color:var(--stat);margin:0 0 20px}
.anio-n{font:500 12px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nov-list{--rail:clamp(16px,3vw,30px);list-style:none;margin:0 0 0 5px;padding:0 0 0 var(--rail);border-left:1px solid var(--line-2);display:grid;gap:14px}
.nov{position:relative;min-width:0}
.nov::before{content:"";position:absolute;left:calc(-1 * var(--rail) - 6px);top:26px;width:11px;height:11px;border-radius:50%;background:var(--void);border:2px solid var(--brass)}
.nov[data-estado="pendiente"]::before{border-style:dashed;border-color:var(--warn-line)}

/* tarjeta */
.nov-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:clamp(16px,2.6vw,26px);display:grid;gap:12px;min-width:0}
.nov[data-estado="pendiente"] .nov-card{border-style:dashed;border-color:var(--warn-line)}
.nov-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.nov-top time{font:500 13px/1.2 var(--f-mono);letter-spacing:.02em;color:var(--muted)}
.nov-perma{margin-left:auto;font:500 12px var(--f-mono);letter-spacing:.04em;color:var(--muted);text-decoration:none;padding:6px 8px;border-radius:6px}
.nov-perma:hover{color:var(--brass-text);text-decoration:underline;text-underline-offset:3px}
.nov-t{font-size:clamp(19px,2.4vw,24px);line-height:1.2;letter-spacing:-.02em;font-weight:500;overflow-wrap:anywhere}
.nov-verif{margin:0;border:1px solid var(--line-2);border-left:3px solid var(--warn-line);border-radius:12px;background:var(--warn-bg);padding:12px 14px;font-size:14px;line-height:1.55;color:var(--text);overflow-wrap:anywhere}
.nov-meta{margin:0;display:grid;gap:10px}
.nov-meta>div{display:grid;gap:2px;min-width:0}
.nov-meta dt{font:500 11px/1.2 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nov-meta dd{margin:0;font-size:15px;line-height:1.5;color:var(--text);overflow-wrap:anywhere}
.clamp{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nov.is-open .clamp{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
.nov-card:has(details[open]) .clamp{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
.nov-pub{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.nov-pub li{font:500 11px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted)}

/* detalle expandible */
.nov-d summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:11px 16px;border-radius:10px;border:1px solid var(--line-2);background:var(--void);color:var(--text);font:500 14px/1 var(--f-sans);transition:border-color .2s}
.nov-d summary::-webkit-details-marker{display:none}
.nov-d summary::after{content:"+";font:400 18px/1 var(--f-mono);color:var(--brass-text)}
.nov-d[open] summary::after{content:"\2212"}
.nov-d summary:hover{border-color:var(--brass)}
.nov-d .s-cerrar{display:none}
.nov-d[open] .s-cerrar{display:inline}
.nov-d[open] .s-abrir{display:none}
.nov-body{display:grid;gap:20px;margin-top:16px;padding-top:18px;border-top:1px solid var(--line)}
.nov-sec h4{font:500 11px/1.2 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.nov-sec p{margin:0 0 10px;font-size:15.5px;line-height:1.7;color:var(--text);max-width:68ch;overflow-wrap:anywhere}
.nov-sec p:last-child{margin-bottom:0}
.lst{margin:0 0 10px;padding-left:24px;display:grid;gap:8px;font-size:15.5px;line-height:1.7;color:var(--text);max-width:68ch;overflow-wrap:anywhere}
.lst li::marker{color:var(--brass-text);font-weight:600}
.lst-a{list-style:lower-alpha}
.fuentes{margin:0;padding-left:20px;display:grid;gap:8px;font-size:14.5px;line-height:1.55;color:var(--muted);max-width:68ch;overflow-wrap:anywhere}
.fuentes a{color:var(--brass-text);text-underline-offset:3px;overflow-wrap:anywhere}
.fuentes a:hover{text-decoration-thickness:2px}

/* llamadas a la acción */
.nov-cta{margin:0}
.nov-cta--inline{margin:22px 0 0;padding:clamp(18px,3vw,28px);border-radius:20px}
.nov-cta .cta-t{margin:0;font-size:clamp(20px,2.8vw,28px);line-height:1.15;letter-spacing:-.03em;max-width:24ch;color:var(--text)}
.nov-cta .cta-t+p,.nov-cta h2+p{margin-top:8px}
.anio>.nov-cta--inline+.nov-list{margin-top:22px}

@media (max-width:420px){
  .nov-perma{margin-left:0}
  .nov-list{margin-left:3px}
}
@media print{
  .nov-filtros,.nov-count,.nov-cta{display:none!important}
}
