/* Recontra Themes 1.1: reinterpretación nativa WordPress de la portada interactiva v5. */
:root { color-scheme: dark; --recontra-rojo: #ff3434; --recontra-amarillo:#ffdf00; }
html { scroll-behavior: auto; }
*, *::before,*::after { box-sizing: border-box; }
body { margin:0; background:#000; color:#fff; font-family:Arial,Helvetica,sans-serif; font-size:1.125rem; line-height:1.65; overflow-wrap:break-word; }
body :is(h1,h2,h3,h4,h5,h6) { color:#fff; font-family:'Arial Black',Arial,Helvetica,sans-serif; font-weight:900; line-height:1.28; overflow-wrap:anywhere; }
body h1 { font-size:clamp(2rem,5vw,3.5rem); }
body h2 { font-size:clamp(1.45rem,3.5vw,2.2rem); }
body h3 { font-size:clamp(1.25rem,3vw,1.6rem); }
body a { color:#fff; font-family:Roboto,Arial,Helvetica,sans-serif; text-decoration:underline; text-underline-offset:.18em; }
body a:hover { text-decoration-thickness:3px; }
body :is(a,button,input,textarea,select,[tabindex]):focus-visible { outline:3px solid var(--recontra-amarillo) !important; outline-offset:4px; }
body button, body input { font:inherit; }
body button { cursor:pointer; }
body img { max-width:100%; height:auto; }
body [hidden] { display:none !important; }
.recontra-sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.recontra-cabecera,.recontra-pie { max-width:none !important; width:100%; text-align:center; color:#fff; }
.recontra-cabecera { padding:12px 18px 26px; background:linear-gradient(to bottom,#c90000 0%,#b60000 38%,#000 100%); }
.recontra-salto { display:table; min-height:44px; padding:9px 14px; font-size:1rem; font-weight:900; text-align:left; border-radius:6px; }
.recontra-logo-enlace { display:inline-flex; align-items:center; justify-content:center; max-width:100%; min-height:50px; margin:6px auto; }
.recontra-logo-enlace img { width:clamp(200px,40vw,360px); max-width:100%; height:auto; object-fit:contain; }
.recontra-lema { margin:4px 0 15px; font-weight:700; font-size:1.05rem; }
.recontra-categorias-nav { max-width:1160px; margin:8px auto; }
.recontra-categorias,.recontra-enlaces-pie { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 12px; padding:0; margin:0; list-style:none; }
.recontra-categorias li,.recontra-enlaces-pie li { margin:0; list-style:none; }
.recontra-categorias a { display:inline-block; padding:7px 12px; border:1px solid #fff; border-radius:7px; min-height:44px; font-weight:700; text-decoration:none; }
.recontra-categorias a:is(:hover,[aria-current="page"]) { background:#b60000; }
.recontra-panel { width:calc(100% - 32px); max-width:1240px !important; margin:20px auto 26px !important; padding:clamp(20px,4vw,54px) !important; border:3px solid #ff3434; border-radius:18px; background:#000; box-shadow:inset 0 0 24px 7px #b60000,0 0 14px #940000; min-height:350px; }
.recontra-panel > * { max-width:100%; }
.recontra-titulo-portada { margin-top:0; }
.recontra-lema-interior { font-weight:700; }
.recontra-archivo-categorias { margin:18px 0; }
.recontra-archivo-categorias .recontra-categorias { justify-content:flex-start; }
.recontra-buscar { margin:25px 0; }
.recontra-buscar label, .recontra-compartir-panel label { display:block; font-weight:900; margin-bottom:8px; }
.recontra-acciones { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.recontra-buscar input,.recontra-compartir-panel input { color:#000; background:#fff; border:2px solid #7e7e7e; border-radius:6px; padding:8px 12px; width:min(100%,480px); max-width:100%; min-height:46px; }
.recontra-boton, a.recontra-boton, button.recontra-boton, .wp-block-button__link { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:44px; padding:9px 14px; border:2px solid #fff; border-radius:7px; background:#d71919; color:#fff !important; font:900 1rem/1.4 Arial,Helvetica,sans-serif; text-decoration:none !important; cursor:pointer; text-align:center; }
.recontra-boton:is(:hover,:active,[aria-pressed="true"]), .wp-block-button__link:hover { background:#a60000; }
.recontra-boton:disabled { cursor:not-allowed; opacity:.65; }
.recontra-tarjetas { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:18px; }
.recontra-tarjeta { min-width:0; padding:20px; background:#080808; border:1px solid #ec3939; border-radius:10px; }
.recontra-tarjeta :is(h1,h2,h3) { margin:0 0 16px; }
.recontra-tarjeta p { margin:0 0 18px; }
.recontra-figura { margin:0 0 18px; }
.recontra-imagen { display:block; width:100%; height:auto; aspect-ratio:16 / 10; object-fit:cover; border-radius:6px; }
.recontra-figura figcaption { font-size:.88rem; line-height:1.4; margin-top:8px; }
.recontra-destacada { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
.recontra-destacada:not(:has(.recontra-figura)) { display:block; }
.recontra-destacada :is(h1,h2,h3) { font-size:clamp(1.6rem,3vw,2.7rem); }
.recontra-anses { grid-column:1 / -1; min-width:0; padding:clamp(18px,3vw,28px); border:2px solid #fff; border-radius:16px; background:#003c8f; }
.recontra-anses h2 { margin:0 0 12px; }
.recontra-anses p { margin:0 0 18px; }
.recontra-anses .recontra-boton { background:#80ddff; color:#000 !important; }
.recontra-anses .recontra-boton:hover { background:#b60000; color:#fff !important; }
.recontra-mas { margin-top:25px; }
.recontra-tarjetas-listado { margin:30px 0; }
.recontra-paginacion ul { display:flex; flex-wrap:wrap; gap:9px; padding:0; list-style:none; }
.recontra-paginacion li { list-style:none; }
.recontra-paginacion a,.recontra-paginacion .current { display:inline-block; border:1px solid #fff; padding:6px 12px; min-width:44px; min-height:44px; }
.recontra-paginacion .current { background:#aa0000; }
.recontra-articulo { width:100%; max-width:900px; margin:auto; }
.recontra-articulo .recontra-titulo-articulo { margin:0 0 12px; }
.recontra-metadatos { color:#ececec; font-size:.95rem; }
.recontra-controles { margin:18px 0 26px; }
.recontra-compartir-panel { margin:14px 0 24px; border:1px solid #ff3434; border-radius:8px; padding:16px; }
.recontra-compartir-panel .recontra-acciones { margin-top:12px; }
.recontra-destacada-articulo img { width:100%; height:auto; object-fit:contain; }
.recontra-cuerpo { overflow-wrap:anywhere; }
.recontra-cuerpo :is(h2,h3,h4) { margin-top:1.4em; }
.recontra-cuerpo :is(p,li,blockquote,figcaption,td,th) { color:#fff; font-family:Arial,Helvetica,sans-serif; }
.recontra-cuerpo :is(iframe,video,audio) { max-width:100%; }
.recontra-cuerpo :is(pre,table,.wp-block-table) { max-width:100%; overflow-x:auto; }
.recontra-cuerpo table { border-collapse:collapse; }
.recontra-cuerpo :is(td,th) { border:1px solid #aaa; padding:10px; }
.recontra-cuerpo blockquote { border-left:4px solid #ff3434; margin-inline:0; padding-left:20px; }
.recontra-cuerpo figure { max-width:100%; }
.recontra-cuerpo figure img { max-width:100%; height:auto; }
.recontra-cuerpo .recontra-articulo { color:#fff; background:transparent; padding:0; max-width:100%; }
.recontra-cuerpo .recontra-articulo :is(h1,h2,h3,p,li,a) { color:#fff; }
.recontra-cuerpo a { text-decoration:underline; }
.recontra-enlaces-notas { margin-top:30px; gap:24px; }
.recontra-pie { padding:34px 18px 20px; background:linear-gradient(to bottom,#000 0%,#a80000 58%,#c90000 100%); }
.recontra-logo-pie img { width:140px; }
.recontra-pie p { margin:10px auto; }
.recontra-derechos { font-weight:900; }
.recontra-enlaces-pie { margin:15px auto; }
.recontra-enlaces-pie a { display:inline-flex; align-items:center; min-height:44px; padding:8px 4px; }
.recontra-legal { max-width:85ch; font-size:.8rem; line-height:1.65; }
@media(max-width:900px) { .recontra-tarjetas { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { body { font-size:1.0625rem; } .recontra-panel { width:calc(100% - 16px); margin:12px auto 20px !important; padding:23px 18px !important; } .recontra-tarjetas,.recontra-destacada { display:grid; grid-template-columns:1fr; } .recontra-acciones > input { flex-basis:100%; } .recontra-cabecera { padding-inline:12px; } }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; transition-duration:0.01ms !important; animation-duration:0.01ms !important; } }
@media(forced-colors:active) { .recontra-panel,.recontra-tarjeta,.recontra-anses { border:2px solid CanvasText; } .recontra-boton,.recontra-categorias a { border-color:ButtonText; } }

/* Los controles que requieren JavaScript no se muestran si este no se ejecuta. */
html:not(.recontra-js) :is(.recontra-boton-escuchar,[data-recontra-leer],[data-recontra-compartir],[data-recontra-volver],[data-recontra-arriba]) { display:none !important; }
.recontra-boton[aria-busy="true"] { outline:2px dashed #ffdf00; }

.recontra-ruta { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-block:16px; }
.recontra-ruta ol { display:flex; flex-wrap:wrap; align-items:center; gap:8px; list-style:none; padding:0; margin:0; }
.recontra-ruta li { overflow-wrap:anywhere; }
.recontra-ruta li + li::before { content:"/"; margin-inline-end:8px; }
.recontra-ruta [aria-current="page"] { font-weight:700; }

.recontra-publicidad { font-size:.875rem; font-weight:700; }
.recontra-publicidad-general { width:min(1100px,calc(100% - 32px)); margin:24px auto; }
.recontra-ultimas-notas { margin-block:32px; }

.recontra-creditos { border:1px solid #fff; border-radius:12px; padding:18px; margin-block:24px; text-align:left; }
.recontra-creditos dt { font-weight:900; margin-top:12px; }
.recontra-creditos dd { margin:4px 0 12px; }

/* Accesibilidad: foco contrastado en superficies claras y oscuras, sin recortes. */
body :is(a,button,input,textarea,select,[tabindex]):focus-visible {
  outline:3px solid #ffdf00 !important;
  outline-offset:3px;
  box-shadow:0 0 0 3px #000 !important;
}
:target, :focus { scroll-margin-block:5rem; }
.recontra-acciones > *, .recontra-ruta > *, .recontra-ruta nav { min-width:0; max-width:100%; }
.recontra-boton, .recontra-categorias a { overflow-wrap:anywhere; }
.recontra-ruta a { display:inline-block; padding:4px; min-height:24px; }
.recontra-controles button { min-width:44px; }
.recontra-error-busqueda { font-weight:700; }
.recontra-descripcion-control { font-size:1rem; }
.recontra-cuerpo pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.recontra-cuerpo .wp-block-table { overflow-x:auto; }
@media(forced-colors:active) {
 body :is(a,button,input,textarea,select,[tabindex]):focus-visible { outline-color:Highlight !important; }
 .recontra-boton[aria-pressed="true"] { border-style:double; border-width:4px; }
}

/* Banda compacta del logo: ocupa una franja propia, con fondo opaco. */
:root { --recontra-admin-alto:0px; --recontra-logo-alto:0px; }
html { scroll-padding-top:calc(var(--recontra-admin-alto) + var(--recontra-logo-alto) + 16px); }
.recontra-logo-hueco { text-align:center; }
.recontra-logo-compacto .recontra-cabecera .recontra-logo-enlace {
 position:fixed; inset-block-start:var(--recontra-admin-alto); inset-inline:0;
 z-index:9990; width:100%; max-width:none; min-height:56px;
 margin:0; padding:8px 20px; justify-content:flex-end;
 background:#000; border-bottom:1px solid #fff;
}
.recontra-logo-compacto .recontra-cabecera .recontra-logo-enlace img { width:160px; max-width:45vw; }
.recontra-logo-compacto :is(:target,:focus) {
 scroll-margin-top:calc(var(--recontra-admin-alto) + var(--recontra-logo-alto) + 16px);
}
@media(max-width:640px) {
 .recontra-logo-compacto .recontra-cabecera .recontra-logo-enlace { padding:6px 12px; min-height:48px; }
 .recontra-logo-compacto .recontra-cabecera .recontra-logo-enlace img { width:120px; }
}
@media(max-height:320px) {
 .recontra-logo-compacto .recontra-cabecera .recontra-logo-enlace { position:static; background:transparent; border:0; }
}
@media print {
 .recontra-logo-compacto .recontra-cabecera .recontra-logo-enlace { position:static; }
}

/* Marca de agua enlazada: solo el logo, sin franja de ancho completo. */
.recontra-logo-compacto .recontra-cabecera .recontra-logo-enlace {
 inset-inline-start:auto; inset-inline-end:12px;
 inset-block-start:calc(var(--recontra-admin-alto) + 8px);
 width:auto; min-height:44px; padding:6px;
 background:transparent; border:0;
}
.recontra-logo-compacto .recontra-cabecera .recontra-logo-enlace img { opacity:.6; }
.recontra-logo-compacto .recontra-cabecera .recontra-logo-enlace:is(:hover,:focus-visible) img { opacity:1; }
.recontra-logo-compacto .recontra-cabecera .recontra-logo-enlace:focus-visible { background:#000; }
@media(max-width:640px) {
 .recontra-logo-compacto .recontra-cabecera .recontra-logo-enlace { min-height:44px; padding:6px; }
}
@media(forced-colors:active) {
 .recontra-logo-compacto .recontra-cabecera .recontra-logo-enlace img { opacity:1; }
}
