/*
Theme Name: Relave Circular
Theme URI: https://relavecircular.com
Author: Proyecto Valorización de Relaves Abandonados en Coquimbo
Author URI: https://relavecircular.com
Description: Tema para el sitio del proyecto "Valorización de Relaves Abandonados en Coquimbo" (BIP 40075890-0), ejecutado por la Universidad Central de Chile y financiado por el Gobierno Regional de Coquimbo. Incluye tipos de contenido para publicaciones y equipo, un área de widgets en la portada para el tablero de avance del plugin Gestión de Proyectos (con un widget propio que lo presenta por etapas) y una franja institucional conforme a las normas gráficas de difusión.
Version: 1.4.1
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: relave-circular
Tags: custom-menu, custom-logo, featured-images, editor-style, wide-blocks, block-styles, threaded-comments, translation-ready
*/

/* -------------------------------------------------------------------------
   1. Tokens
   Paleta azul-verde de economía circular; superficies translúcidas; ángulos rectos.
   Los nombres --rc-hormigon, --rc-grafito, --rc-verdigris, --rc-relave y --rc-arena
   se conservan por compatibilidad con las plantillas y el Personalizador.
   ------------------------------------------------------------------------- */
:root {
  --rc-hormigon:        #F5F8F9;   /* fondo de página: blanco frío */
  --rc-superficie:      #FFFFFF;   /* base de paneles (se usa con transparencia) */
  --rc-grafito:         #0F2A3A;   /* tinta: azul profundo */
  --rc-grafito-2:       #2A4658;
  --rc-tinta-suave:     #5B7283;
  --rc-verdigris:       #147C86;   /* acento interactivo: azul-verde */
  --rc-verdigris-osc:   #0E5A62;
  --rc-verdigris-claro: #E1F0F1;
  --rc-relave:          #1A5F9E;   /* ciclo: azul (inicio del degradado) */
  --rc-arena:           #1E9E7A;   /* ciclo: verde (fin del degradado) */
  --rc-linea:           rgba(15, 42, 58, 0.14);
  --rc-linea-suave:     rgba(15, 42, 58, 0.08);

  --rc-vidrio:          rgba(255, 255, 255, 0.62);
  --rc-vidrio-borde:    rgba(15, 42, 58, 0.12);
  --rc-vidrio-blur:     14px;
  --rc-ciclo:           linear-gradient(90deg, var(--rc-relave) 0%, var(--rc-verdigris) 50%, var(--rc-arena) 100%);

  --rc-estado-ambar:    #D19A1F;   /* avisos a editores */

  --rc-font-titulo: 'Instrument Sans', 'Helvetica Neue', Arial, system-ui, sans-serif;
  --rc-font-texto:  'Instrument Sans', 'Helvetica Neue', Arial, system-ui, sans-serif;

  --rc-texto-base: 1.0625rem;
  --rc-lh-texto: 1.6;

  --rc-ancho: 1160px;
  --rc-ancho-prosa: 66ch;
  --rc-gutter: clamp(1.25rem, 4vw, 2.5rem);
  --rc-seccion: clamp(4rem, 9vw, 7rem);

  --rc-radio: 0;
  --rc-transicion: 160ms ease;
}

/* -------------------------------------------------------------------------
   2. Base
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
body {
  margin: 0;
  background: var(--rc-hormigon);
  color: var(--rc-grafito);
  font-family: var(--rc-font-texto);
  font-size: var(--rc-texto-base);
  line-height: var(--rc-lh-texto);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "ss01" 1;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--rc-verdigris-osc); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { color: var(--rc-verdigris); }
:focus-visible { outline: 2px solid var(--rc-verdigris); outline-offset: 3px; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--rc-font-titulo);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.022em;
  margin: 0 0 0.5em;
  color: var(--rc-grafito);
}
h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); letter-spacing: -0.03em; }
h2 { font-size: clamp(1.6rem, 3vw, 2.125rem); }
h3 { font-size: clamp(1.15rem, 1.8vw, 1.35rem); }
h4 { font-size: 1.1rem; }
p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }
ul, ol { padding-left: 1.25em; }
blockquote { margin: 1.5em 0; padding: 0.25em 0 0.25em 1.25em; border-left: 2px solid var(--rc-verdigris); color: var(--rc-grafito-2); }
hr { border: 0; border-top: 1px solid var(--rc-linea); margin: 2.5rem 0; }
table { border-collapse: collapse; width: 100%; font-size: 0.95em; font-variant-numeric: tabular-nums; }
th, td { text-align: left; padding: 0.6em 0.75em; border-bottom: 1px solid var(--rc-linea); vertical-align: top; }
th { font-weight: 600; }
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.92em; }
pre { background: rgba(15, 42, 58, 0.05); padding: 1em; overflow: auto; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: absolute; left: -999px; top: 0; z-index: 100; background: var(--rc-grafito); color: #fff; padding: 0.5em 1em; }
.skip-link:focus { left: 1rem; top: 1rem; }

.rc-contenedor { width: min(100% - 2 * var(--rc-gutter), var(--rc-ancho)); margin-inline: auto; }
.rc-prosa { max-width: var(--rc-ancho-prosa); }
.rc-seccion { padding-block: var(--rc-seccion); }
.rc-seccion + .rc-seccion { padding-top: 0; }
.rc-seccion__cabecera { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 2.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--rc-linea); }
.rc-seccion__cabecera h2 { margin: 0; }
.rc-seccion__cabecera .rc-enlace-mas { font-size: 0.92rem; font-weight: 500; text-decoration: none; color: var(--rc-verdigris-osc); border-bottom: 1px solid currentColor; }

/* Panel de vidrio: la superficie translúcida del tema. */
.rc-vidrio, .rc-ficha, .rc-frente, .rc-caja-dato {
  background: var(--rc-vidrio);
  border: 1px solid var(--rc-vidrio-borde);
  -webkit-backdrop-filter: blur(var(--rc-vidrio-blur)) saturate(1.2);
  backdrop-filter: blur(var(--rc-vidrio-blur)) saturate(1.2);
}

/* Botones */
.rc-boton, .wp-block-button__link, button, input[type="submit"] {
  display: inline-block;
  font-family: var(--rc-font-titulo);
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1;
  padding: 0.9em 1.4em;
  background: var(--rc-verdigris);
  color: #fff;
  border: 1px solid var(--rc-verdigris);
  border-radius: 0;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--rc-transicion), color var(--rc-transicion), border-color var(--rc-transicion);
}
.rc-boton:hover, .wp-block-button__link:hover, button:hover, input[type="submit"]:hover { background: var(--rc-verdigris-osc); border-color: var(--rc-verdigris-osc); color: #fff; }
.rc-boton--secundario { background: rgba(255, 255, 255, 0.45); color: var(--rc-grafito); border-color: var(--rc-grafito); }
.rc-boton--secundario:hover { background: var(--rc-grafito); color: #fff; border-color: var(--rc-grafito); }

/* -------------------------------------------------------------------------
   3. Cabecera y navegación (fija y translúcida)
   ------------------------------------------------------------------------- */
.rc-cabecera {
  position: sticky; top: 0; z-index: 20;
  background: rgba(245, 248, 249, 0.78);
  -webkit-backdrop-filter: blur(var(--rc-vidrio-blur)) saturate(1.2);
  backdrop-filter: blur(var(--rc-vidrio-blur)) saturate(1.2);
  border-bottom: 1px solid var(--rc-linea-suave);
}
.rc-cabecera__interior { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 0.9rem; }
.rc-marca { display: flex; align-items: center; gap: 0.85rem; text-decoration: none; color: var(--rc-grafito); }
.rc-marca img { max-height: 44px; width: auto; }
.rc-marca__texto { display: flex; flex-direction: column; line-height: 1.15; }
.rc-marca__nombre { font-weight: 600; font-size: 1.1rem; letter-spacing: -0.02em; }
.rc-marca__bip { font-size: 0.78rem; color: var(--rc-tinta-suave); font-variant-numeric: tabular-nums; }

.rc-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.75rem; }
.rc-nav li { position: relative; }
.rc-nav a { font-weight: 500; font-size: 0.93rem; text-decoration: none; color: var(--rc-grafito-2); padding: 0.35em 0; border-bottom: 1px solid transparent; }
.rc-nav a:hover, .rc-nav .current-menu-item > a, .rc-nav .current_page_item > a, .rc-nav .current-menu-ancestor > a { color: var(--rc-grafito); border-bottom-color: var(--rc-verdigris); }
.rc-nav .sub-menu { display: none; position: absolute; left: 0; top: 100%; min-width: 14rem; background: rgba(255, 255, 255, 0.9); -webkit-backdrop-filter: blur(var(--rc-vidrio-blur)); backdrop-filter: blur(var(--rc-vidrio-blur)); border: 1px solid var(--rc-vidrio-borde); padding: 0.5rem 0; margin: 0; flex-direction: column; gap: 0; z-index: 30; }
.rc-nav li:hover > .sub-menu, .rc-nav li:focus-within > .sub-menu { display: flex; }
.rc-nav .sub-menu a { display: block; padding: 0.45em 1rem; border-bottom: 0; }
.rc-nav .sub-menu a:hover { background: var(--rc-verdigris-claro); }

.rc-nav-toggle { display: none; background: transparent; color: var(--rc-grafito); border: 1px solid var(--rc-grafito); padding: 0.55em 0.85em; }
.rc-nav-toggle:hover { background: var(--rc-grafito); color: #fff; }

@media (max-width: 860px) {
  .rc-nav-toggle { display: inline-block; }
  .rc-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: rgba(245, 248, 249, 0.96); -webkit-backdrop-filter: blur(var(--rc-vidrio-blur)); backdrop-filter: blur(var(--rc-vidrio-blur)); border-bottom: 1px solid var(--rc-linea); padding: 1rem var(--rc-gutter) 1.5rem; }
  .rc-nav.is-open { display: block; }
  .rc-nav ul { flex-direction: column; gap: 0.25rem; }
  .rc-nav a { display: block; padding: 0.6em 0; border-bottom: 1px solid var(--rc-linea-suave); }
  .rc-nav li { position: static; }
  .rc-nav .sub-menu { display: flex; position: static; border: 0; background: transparent; padding: 0 0 0 1rem; min-width: 0; }
  .rc-nav .sub-menu a { padding: 0.5em 0; border-bottom: 1px solid var(--rc-linea-suave); }
}

/* -------------------------------------------------------------------------
   4. Portada: héroe y ficha
   El campo de color azul-verde bajo el héroe es lo que las superficies translúcidas dejan ver.
   ------------------------------------------------------------------------- */
.rc-heroe {
  position: relative;
  padding-block: clamp(3.5rem, 8vw, 6.5rem) 0;
  background:
    radial-gradient(55% 70% at 88% 18%, rgba(26, 95, 158, 0.16), transparent 62%),
    radial-gradient(45% 60% at 18% 95%, rgba(30, 158, 122, 0.16), transparent 60%);
}
.rc-heroe__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.rc-heroe h1 { font-size: clamp(2.6rem, 6vw, 4.5rem); font-weight: 600; letter-spacing: -0.035em; line-height: 1.0; margin-bottom: 1.4rem; max-width: 14ch; }
.rc-heroe__bajada { font-size: clamp(1.1rem, 1.5vw, 1.25rem); max-width: 52ch; color: var(--rc-grafito-2); margin-bottom: 2rem; line-height: 1.55; }
.rc-heroe__acciones { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.rc-ficha { padding: 1.5rem 1.6rem 1.35rem; border-top: 2px solid var(--rc-verdigris); }
.rc-ficha h2 { font-size: 0.95rem; margin-bottom: 1rem; letter-spacing: -0.01em; }
.rc-ficha dl { margin: 0; display: grid; grid-template-columns: max-content 1fr; column-gap: 1.25rem; row-gap: 0.6rem; font-size: 0.93rem; }
.rc-ficha dt { color: var(--rc-tinta-suave); font-size: 0.82rem; font-weight: 500; padding-top: 0.15em; }
.rc-ficha dd { margin: 0; }

.rc-heroe__lateral { display: grid; gap: 1rem; }
.rc-heroe__imagen { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

@media (max-width: 860px) { .rc-heroe__grid { grid-template-columns: 1fr; } }

/* Imagen de portada a sangre: velo azul profundo y texto en blanco. */
.rc-heroe--fondo { --rc-velo: 0.55; background-size: cover; background-position: center; color: #fff; padding-bottom: clamp(3.5rem, 8vw, 6.5rem); }
.rc-heroe--fondo::before { content: ""; position: absolute; inset: 0; background: rgba(15, 42, 58, var(--rc-velo)); }
.rc-heroe--fondo > * { position: relative; }
.rc-heroe--fondo h1, .rc-heroe--fondo .rc-heroe__bajada { color: #fff; }
.rc-heroe--fondo .rc-boton--secundario { color: #fff; border-color: rgba(255, 255, 255, 0.8); background: rgba(255, 255, 255, 0.12); }
.rc-heroe--fondo .rc-boton--secundario:hover { background: #fff; color: var(--rc-grafito); }
.rc-heroe--fondo .rc-ficha { background: rgba(255, 255, 255, 0.86); color: var(--rc-grafito); }
.rc-heroe--fondo .rc-estratos { margin-top: clamp(3.5rem, 8vw, 6.5rem); margin-bottom: calc(-1 * clamp(3.5rem, 8vw, 6.5rem)); }

/* Línea del ciclo: degradado azul-verde, única pieza decorativa del tema. */
.rc-estratos { margin-top: clamp(3.5rem, 8vw, 6rem); height: 6px; background: var(--rc-ciclo); display: block; }
.rc-estratos span { display: none; }
.rc-estratos--pie { margin: 0; height: 4px; }

/* -------------------------------------------------------------------------
   5. Objetivos
   ------------------------------------------------------------------------- */
.rc-objetivos__general { font-size: clamp(1.15rem, 1.8vw, 1.4rem); line-height: 1.45; max-width: 58ch; margin-bottom: 3rem; padding-left: 1.25rem; border-left: 2px solid var(--rc-verdigris); letter-spacing: -0.01em; }
.rc-objetivos__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 2.25rem 2.5rem; counter-reset: objetivo; }
.rc-objetivos__lista li { counter-increment: objetivo; padding-top: 1rem; border-top: 1px solid var(--rc-linea); }
.rc-objetivos__lista li::before { content: counter(objetivo, decimal-leading-zero); display: block; font-weight: 600; font-size: 0.85rem; letter-spacing: 0.02em; color: var(--rc-verdigris); margin-bottom: 0.9rem; font-variant-numeric: tabular-nums; }
.rc-objetivos__lista h3 { font-size: 1.12rem; margin-bottom: 0.45rem; }
.rc-objetivos__lista p { font-size: 0.96rem; color: var(--rc-grafito-2); }

/* -------------------------------------------------------------------------
   6. Avance del proyecto: área de widgets de la portada
   (código corto del plugin Gestión de Proyectos o widget "Avance por etapas").
   ------------------------------------------------------------------------- */
.rc-seccion.rc-avance { background: linear-gradient(180deg, rgba(26, 95, 158, 0.05) 0%, rgba(30, 158, 122, 0.07) 100%); padding-top: var(--rc-seccion); }
.rc-avance__widget + .rc-avance__widget { margin-top: 3rem; }
.rc-avance__widget > h2, .rc-avance__widget > .widget-title { margin-bottom: 2.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--rc-linea); }
.rc-avance__widget .rc-seccion__cabecera > h2 { margin: 0; padding: 0; border: 0; }
.rc-avance__widget > p:last-child { margin-bottom: 0; }
.rc-aviso-editor { margin: 0 0 2rem; padding: 0.75rem 1rem; border-left: 3px solid var(--rc-estado-ambar); background: rgba(209, 154, 31, 0.08); font-size: 0.9rem; color: var(--rc-grafito-2); }
.rc-aviso-editor--area { margin: 0; }
.rc-aviso-editor a { margin-left: 0.35em; }

/* Widget "Avance por etapas": tarjeta por frente, barra e hitos destacados. */
.rc-frentes { display: grid; gap: 1.25rem; }
.rc-frente { padding: 1.5rem 1.7rem 1.6rem; border-left: 3px solid var(--rc-relave); }
.rc-frente--cerrado { border-left-color: var(--rc-arena); }
.rc-frente--proximo { border-left-color: var(--rc-linea); }
.rc-frente--proximo .rc-frente__cabecera h3 { color: var(--rc-grafito-2); }
.rc-frente__cabecera { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.5rem 1.5rem; margin-bottom: 0.5rem; }
.rc-frente__cabecera h3 { margin: 0; }
.rc-frente__resumen { font-size: 0.88rem; font-weight: 500; color: var(--rc-tinta-suave); font-variant-numeric: tabular-nums; }
.rc-frente__descripcion { font-size: 0.95rem; color: var(--rc-grafito-2); max-width: 70ch; }

.rc-barra { --rc-avance: 0%; position: relative; height: 6px; background: rgba(15, 42, 58, 0.10); margin: 1rem 0 1.2rem; }
.rc-barra::before { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--rc-avance); background: var(--rc-ciclo); transition: width 900ms cubic-bezier(.2, .7, .2, 1); }
.rc-barra--animar::before { width: 0; }
.rc-barra.is-visible::before { width: var(--rc-avance); }

.rc-hitos { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.rc-hito { display: grid; grid-template-columns: 7.5rem 1fr auto; gap: 0.75rem 1rem; align-items: baseline; font-size: 0.95rem; padding: 0.65rem 0; border-top: 1px solid var(--rc-linea-suave); }
.rc-hito time { font-size: 0.85rem; color: var(--rc-tinta-suave); white-space: nowrap; font-variant-numeric: tabular-nums; }
.rc-hito__avance { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rc-estado { width: 0.6rem; height: 0.6rem; background: var(--rc-linea); flex: none; box-sizing: border-box; }
.rc-estado--completado { background: var(--rc-arena); }
.rc-estado--curso { background: var(--rc-verdigris); }
.rc-estado--proximo { background: transparent; border: 1px solid var(--rc-tinta-suave); }
@media (max-width: 600px) { .rc-hito { grid-template-columns: 1fr auto; } .rc-hito time { grid-column: 1 / -1; } }
.rc-leyenda { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-top: 1.5rem; font-size: 0.85rem; color: var(--rc-tinta-suave); }
.rc-leyenda span { display: inline-flex; align-items: center; gap: 0.45rem; }

/* Tablero del plugin dentro del área (bloque Shortcode): toma los tokens del tema y las superficies translúcidas. */
.rc-avance .gdp-dash {
  --gdp-dash-primary-c: var(--rc-verdigris);
  --gdp-dash-secondary-c: var(--rc-grafito);
  --gdp-dash-accent-c: var(--rc-arena);
  --gdp-dash-line: var(--rc-linea);
  --gdp-dash-soft: rgba(15, 42, 58, 0.035);
  --gdp-dash-muted: var(--rc-tinta-suave);
  --gdp-dash-bg: var(--rc-superficie);
  max-width: none;
  margin: 0;
  font-family: var(--rc-font-texto);
}
.rc-avance .gdp-dash__title, .rc-avance .gdp-dash__cta-title { font-family: var(--rc-font-titulo); font-weight: 600; letter-spacing: -0.02em; }
.rc-avance .gdp-dash__hero { border-top: 0; padding-top: 0; }
.rc-avance .gdp-dash__indicator, .rc-avance .gdp-dash__stage, .rc-avance .gdp-dash__card {
  background: var(--rc-vidrio);
  border: 1px solid var(--rc-vidrio-borde);
  -webkit-backdrop-filter: blur(var(--rc-vidrio-blur)) saturate(1.2);
  backdrop-filter: blur(var(--rc-vidrio-blur)) saturate(1.2);
}
.rc-avance .gdp-dash__indicator { border-top: 3px solid var(--rc-relave); }
.rc-avance .gdp-dash__stage { padding: 1rem 1.1rem 1.1rem; border-top: 3px solid var(--rc-linea); }
.rc-avance .gdp-dash__stage--done { border-top-color: var(--rc-arena); }
.rc-avance .gdp-dash__stage--active { border-top-color: var(--rc-relave); }
.rc-avance .gdp-dash__bar span, .rc-avance .gdp-dash__stage--active .gdp-dash__bar span { background: var(--rc-ciclo); }
.rc-avance .gdp-dash__meter-value { stroke: var(--rc-relave); }
.rc-avance .gdp-dash__meter--secondary .gdp-dash__meter-value { stroke: var(--rc-arena); }
.rc-avance .gdp-dash__cta { background: var(--rc-grafito); }
.rc-avance .gdp-dash__button { background: #fff; color: var(--rc-grafito); border-color: #fff; border-radius: var(--rc-radio); }
.rc-avance .gdp-dash__button:hover, .rc-avance .gdp-dash__button:focus { background: var(--rc-verdigris); color: #fff; border-color: var(--rc-verdigris); }
.rc-avance .gdp-dash__updated { color: var(--rc-tinta-suave); }

/* -------------------------------------------------------------------------
   7. Publicaciones, equipo, instituciones
   ------------------------------------------------------------------------- */
.rc-publicaciones { list-style: none; margin: 0; padding: 0; }
.rc-publicacion { display: grid; grid-template-columns: 9rem 1fr; gap: 0.5rem 1.5rem; padding: 1.2rem 0; border-top: 1px solid var(--rc-linea-suave); }
.rc-publicacion:last-child { border-bottom: 1px solid var(--rc-linea-suave); }
.rc-publicacion__meta { font-size: 0.85rem; color: var(--rc-tinta-suave); display: flex; flex-direction: column; gap: 0.2rem; }
.rc-publicacion__tipo { color: var(--rc-verdigris-osc); font-weight: 600; }
.rc-publicacion h3 { font-size: 1.08rem; margin-bottom: 0.3rem; }
.rc-publicacion h3 a { text-decoration: none; color: inherit; }
.rc-publicacion h3 a:hover { color: var(--rc-verdigris); }
.rc-publicacion p { font-size: 0.95rem; color: var(--rc-grafito-2); }
.rc-publicacion__enlace { font-size: 0.9rem; font-weight: 500; }
@media (max-width: 600px) { .rc-publicacion { grid-template-columns: 1fr; } }

.rc-equipo { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 2rem 2rem; }
.rc-integrante { display: grid; gap: 0.5rem; }
.rc-integrante__foto { aspect-ratio: 4 / 5; background: rgba(15, 42, 58, 0.06); overflow: hidden; }
.rc-integrante__foto img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); }
.rc-integrante h3 { font-size: 1.02rem; margin: 0.5rem 0 0; }
.rc-integrante h3 a { text-decoration: none; color: inherit; }
.rc-integrante__cargo { font-size: 0.92rem; color: var(--rc-grafito-2); }
.rc-integrante__institucion { font-size: 0.82rem; color: var(--rc-tinta-suave); }

.rc-instituciones { background: rgba(15, 42, 58, 0.035); border-top: 1px solid var(--rc-linea-suave); }
.rc-seccion.rc-instituciones { padding-top: var(--rc-seccion); }
.rc-instituciones__lista { --rc-logos-alinear: center; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 2rem 2.5rem; align-items: var(--rc-logos-alinear); }
.rc-institucion { --rc-logo-alto: 64px; display: grid; gap: 0.6rem; justify-items: start; }
.rc-institucion__rol { font-size: 0.78rem; color: var(--rc-tinta-suave); }
.rc-institucion img { height: auto; max-height: var(--rc-logo-alto); width: auto; max-width: 100%; object-fit: contain; }
.rc-institucion a { display: inline-block; line-height: 0; }
.rc-institucion__nombre { font-weight: 600; font-size: 0.95rem; letter-spacing: -0.01em; }
.rc-instituciones__leyenda { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--rc-linea-suave); font-size: 0.9rem; color: var(--rc-grafito-2); max-width: 80ch; }

/* Banda fotográfica a todo el ancho. */
.rc-banda { margin: 0; background-size: cover; background-position: center; position: relative; min-height: 34vh; display: flex; align-items: flex-end; }
.rc-banda--baja { min-height: 24vh; }
.rc-banda--alta { min-height: 56vh; }
.rc-banda figcaption { width: 100%; background: linear-gradient(to top, rgba(15, 42, 58, 0.75), rgba(15, 42, 58, 0)); color: #fff; padding: 2.5rem 0 1rem; font-size: 0.9rem; }

/* -------------------------------------------------------------------------
   8. Pie de página
   ------------------------------------------------------------------------- */
.rc-pie { background: var(--rc-grafito); color: rgba(255, 255, 255, 0.78); }
.rc-pie a { color: #fff; }
.rc-pie__interior { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2.5rem 3rem; padding-block: 3.5rem 2.75rem; }
.rc-pie h2 { font-size: 0.95rem; color: #fff; margin-bottom: 0.85rem; letter-spacing: -0.01em; }
.rc-pie p { font-size: 0.92rem; }
.rc-pie ul { list-style: none; margin: 0; padding: 0; }
.rc-pie li { padding: 0.25em 0; font-size: 0.92rem; }
.rc-pie__legal { border-top: 1px solid rgba(255, 255, 255, 0.12); padding-block: 1.25rem; font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 2rem; }
@media (max-width: 760px) { .rc-pie__interior { grid-template-columns: 1fr; } }

/* -------------------------------------------------------------------------
   9. Páginas interiores, entradas y archivos
   ------------------------------------------------------------------------- */
.rc-pagina__cabecera { padding-block: clamp(3rem, 7vw, 5rem) 0; background: radial-gradient(50% 80% at 90% 0%, rgba(26, 95, 158, 0.10), transparent 60%); }
.rc-pagina__cabecera h1 { max-width: 20ch; }
.rc-pagina__cabecera .rc-entradilla { font-size: 1.12rem; color: var(--rc-grafito-2); max-width: 60ch; line-height: 1.5; }
.rc-pagina__meta { font-size: 0.88rem; color: var(--rc-tinta-suave); display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-top: 0.85rem; }
.rc-pagina__cuerpo { padding-block: 2.75rem var(--rc-seccion); }
.rc-pagina__cuerpo > .rc-contenido { max-width: var(--rc-ancho-prosa); }
.rc-pagina__cuerpo .rc-contenido > .alignwide { max-width: min(100%, 980px); margin-left: 0; }
.rc-pagina__cuerpo .rc-contenido > .alignfull { max-width: none; }
.rc-contenido h2 { margin-top: 2em; }
.rc-contenido h3 { margin-top: 1.6em; }
.rc-contenido figure { margin: 1.5em 0; }
.rc-contenido figcaption { font-size: 0.86rem; color: var(--rc-tinta-suave); margin-top: 0.5em; }

.rc-destacada { margin: 0 0 2rem; max-width: 980px; }
.rc-retrato { margin: 0 0 2rem; max-width: 240px; }
.rc-retrato img { filter: grayscale(1) contrast(1.05); }

.rc-listado { display: grid; gap: 0; }
.rc-entrada { padding: 1.6rem 0; border-top: 1px solid var(--rc-linea-suave); display: grid; grid-template-columns: 9rem 1fr; gap: 0.5rem 1.5rem; }
.rc-entrada:last-child { border-bottom: 1px solid var(--rc-linea-suave); }
.rc-entrada time { font-size: 0.85rem; color: var(--rc-tinta-suave); font-variant-numeric: tabular-nums; }
.rc-entrada h2 { font-size: 1.3rem; margin-bottom: 0.4rem; }
.rc-entrada h2 a { text-decoration: none; color: inherit; }
.rc-entrada h2 a:hover { color: var(--rc-verdigris); }
.rc-entrada__extracto { font-size: 0.97rem; color: var(--rc-grafito-2); max-width: 66ch; }
@media (max-width: 600px) { .rc-entrada { grid-template-columns: 1fr; } }

.rc-paginacion { margin-top: 2.5rem; }
.rc-paginacion .nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rc-paginacion .page-numbers { padding: 0.5em 0.85em; border: 1px solid var(--rc-linea); text-decoration: none; color: var(--rc-grafito); font-size: 0.92rem; }
.rc-paginacion .page-numbers.current { background: var(--rc-grafito); color: #fff; border-color: var(--rc-grafito); }

.rc-busqueda { display: flex; gap: 0.5rem; max-width: 34rem; }
.rc-busqueda input[type="search"] { flex: 1; font: inherit; padding: 0.7em 0.9em; border: 1px solid var(--rc-linea); background: rgba(255, 255, 255, 0.7); border-radius: 0; }

.rc-comentarios { max-width: var(--rc-ancho-prosa); margin-top: 3rem; }
.rc-comentarios input[type="text"], .rc-comentarios input[type="email"], .rc-comentarios input[type="url"], .rc-comentarios textarea { width: 100%; font: inherit; padding: 0.6em 0.8em; border: 1px solid var(--rc-linea); background: rgba(255, 255, 255, 0.7); border-radius: 0; }

/* -------------------------------------------------------------------------
   10. Bloques del editor
   ------------------------------------------------------------------------- */
.wp-block-quote { border-left: 2px solid var(--rc-verdigris); }
.wp-block-separator { border-color: var(--rc-linea); }
.wp-block-image img { border-radius: 0; }
.wp-block-button__link { border-radius: 0 !important; }
.has-verdigris-color { color: var(--rc-verdigris); }
.has-verdigris-background-color { background-color: var(--rc-verdigris); color: #fff; }
.has-azul-color { color: var(--rc-relave); }
.has-azul-background-color { background-color: var(--rc-relave); color: #fff; }
.has-verde-color { color: var(--rc-arena); }
.has-verde-background-color { background-color: var(--rc-arena); color: #fff; }
.has-grafito-color { color: var(--rc-grafito); }
.has-grafito-background-color { background-color: var(--rc-grafito); color: #fff; }
.has-superficie-background-color { background-color: rgba(15, 42, 58, 0.05); }
.rc-caja-dato { border-left: 3px solid var(--rc-relave); padding: 1rem 1.25rem; }
