/* ==========================================================================
   Criterio.Capital cc.8 — Sección /resultados/ (seccion-resultados.hbs)
   Se carga SOLO en esa plantilla (contentFor "cc_head").
   Diseño: maquetas aprobadas opcion2_tarjetas + opcion3_listado_trimestre.
   Paleta: navy #122036 · dorado #CDA862 · crema #F0ECE2 · enlace #7A5E28
   Sin JavaScript: <details> nativo y :has() solo para ocultar bloques vacíos.
   ========================================================================== */

.cc-res {
    --cc-navy: #122036;
    --cc-gold: #cda862;
    --cc-gold-dark: #7a5e28;
    --cc-cream: #f0ece2;
    --cc-cream-2: #fbf8f1;
    --cc-muted: #4f5868;   /* 7,2:1 sobre blanco */
    --cc-line: #e0d9c8;
    --cc-serif: "IBM Plex Serif", "EB Garamond", Georgia, "Times New Roman", serif;
    color: var(--cc-navy);
    font-size: 17px;
    line-height: 1.6;
}

.cc-res-wrap {
    max-width: 1168px;
    margin: 0 auto;
    padding: clamp(28px, 4vw, 44px) 24px 56px;
}

.cc-res h1, .cc-res h2, .cc-res h3 {
    font-family: var(--cc-serif);
    color: var(--cc-navy);
    line-height: 1.25;
    letter-spacing: 0;
}

.cc-res a { color: var(--cc-gold-dark); }
.cc-res a:hover { opacity: 1; color: var(--cc-navy); }
.cc-res a:focus-visible, .cc-res summary:focus-visible {
    outline: 3px solid var(--cc-gold);
    outline-offset: 3px;
    border-radius: 4px;
}

/* Cabecera */
.cc-res-head { max-width: 720px; }
.cc-res-kicker {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--cc-gold-dark);
}
.cc-res-title { margin: 6px 0 8px; font-size: clamp(30px, 4vw, 40px); font-weight: 600; }
.cc-res-desc { margin: 0; color: #3d4659; font-size: 18px; }

.cc-res-leer {
    margin: 22px 0 0;
    max-width: 860px;
    padding: 10px 16px;
    border-left: 3px solid var(--cc-gold);
    background: var(--cc-cream-2);
    font-size: 15px;
    color: #3d4659;
}
.cc-res-leer b { color: var(--cc-navy); }

/* Bloques */
.cc-res-blk { margin-top: 34px; }
.cc-res-blk h2 { margin: 0 0 12px; font-size: 21px; font-weight: 600; }
.cc-res-cuenta { margin: 0 0 10px; font-size: 14px; color: var(--cc-muted); }
.cc-res-nada {
    margin: 0;
    padding: 12px 16px;
    background: var(--cc-cream-2);
    border-radius: 8px;
    font-size: 15px;
}

/* Calendario: el estilo de la rejilla viaja en el propio HTML de la página
   «calendario-resultados»; aquí solo se neutralizan márgenes heredados. */
.cc-res-cal-body > :first-child { margin-top: 0; }
.cc-res-cal-body p { margin-bottom: 0; }

/* Buscador + chips */
.cc-res-herr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 34px;
    padding: 14px;
    border: 1px solid var(--cc-line);
    border-radius: 10px;
    background: #fff;
}
.cc-res .cc-res-busc {
    flex: 1 1 280px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border: 1px solid #c9c2b0;
    border-radius: 8px;
    background: #fff;
    color: var(--cc-muted);
    font-size: 15px;
    text-decoration: none;
    cursor: pointer;
}
.cc-res .cc-res-busc:hover { border-color: var(--cc-navy); color: var(--cc-navy); }
.cc-res-busc svg { flex: none; }
.cc-res-chips { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
/* Sin ninguna etiqueta de sector con fichas, no se muestra la fila (solo quedaría «Todos»). */
.cc-res-chips:not(:has(.cc-res-chip-sector)) { display: none; }
.cc-res .cc-res-chip {
    padding: 5px 12px;
    border: 1px solid #d6cfbd;
    border-radius: 999px;
    background: #fff;
    color: var(--cc-navy);
    font-size: 13.5px;
    text-decoration: none;
    white-space: nowrap;
}
.cc-res .cc-res-chip:hover { border-color: var(--cc-navy); }
.cc-res .cc-res-chip.is-on { background: var(--cc-navy); border-color: var(--cc-navy); color: var(--cc-cream); }

/* Tarjetas del último trimestre */
.cc-res-rej { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cc-res-tj {
    display: flex;
    flex-direction: column;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid var(--cc-line);
    border-top: 3px solid var(--cc-gold);
    border-radius: 10px;
}
.cc-res-tj-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.cc-res-tj-t { margin: 0; font-size: 21px; font-weight: 600; }
.cc-res .cc-res-tj-t a { color: var(--cc-navy); text-decoration: none; }
.cc-res .cc-res-tj-t a:hover { text-decoration: underline; text-underline-offset: 3px; }
.cc-res-q {
    flex: none;
    padding: 2px 8px;
    border: 1px solid var(--cc-gold);
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--cc-gold-dark);
    white-space: nowrap;
}
.cc-res-cifras {
    margin: 12px 0 14px;
    padding-top: 10px;
    border-top: 1px solid #f0ebdf;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
}
.cc-res-pie {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: var(--cc-muted);
}
.cc-res-ver { font-weight: 600; white-space: nowrap; }

/* Archivo por trimestre (<details> plegados) */
.cc-res-archivo:not(:has(details)) { display: none; }
.cc-res-tri {
    margin: 14px 0;
    border: 1px solid var(--cc-line);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}
.cc-res-tri summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: var(--cc-cream);
    font-family: var(--cc-serif);
    font-size: 20px;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}
.cc-res-tri summary::-webkit-details-marker { display: none; }
.cc-res-tri summary::before { content: "▸"; font-size: 15px; color: var(--cc-gold-dark); margin-right: -4px; }
.cc-res-tri[open] summary::before { content: "▾"; }
.cc-res-tri-n { flex: 1; }
.cc-res-tri-c { font-family: var(--gh-font-body, var(--font-sans)); font-size: 13.5px; font-weight: 500; color: var(--cc-muted); }
.cc-res-otras summary { background: #faf8f3; }
.cc-res-lst { list-style: none; margin: 0; padding: 0 18px; }
.cc-res-lst li {
    display: grid;
    grid-template-columns: 240px 1fr auto;
    gap: 16px;
    align-items: baseline;
    margin: 0;
    padding: 12px 0;
    border-top: 1px solid #efe9db;
    font-size: 15px;
}
.cc-res-lst li:first-child { border-top: 0; }
.cc-res .cc-res-lst-n a { color: var(--cc-navy); text-decoration: none; }
.cc-res-lst-f { display: block; font-size: 13px; color: var(--cc-muted); }
.cc-res-lst-c { color: #24304a; }

.cc-res-leyenda { margin-top: 12px; font-size: 13px; color: var(--cc-muted); }
.cc-res-aviso {
    margin-top: 36px;
    padding: 14px 18px;
    background: var(--cc-cream);
    border-radius: 8px;
    font-size: 15px;
}

/* Sección sin fichas (mismo aviso que el resto de secciones; clases cc-tag-empty-* de criterio-nav.css) */
.cc-res-vacia {
    margin-top: 34px;
    padding: clamp(24px, 4vw, 40px);
    color: var(--cc-navy);
    background: var(--cc-cream);
    border-left: 4px solid var(--cc-gold);
    border-radius: 6px;
}

@media (max-width: 980px) {
    .cc-res-rej { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
    .cc-res-lst { padding: 0 14px; }
    .cc-res-lst li { grid-template-columns: 1fr; gap: 4px; }
    .cc-res-lst-c { font-size: 14px; }
    .cc-res-tri summary { font-size: 18px; padding: 12px 14px; }
}
@media (max-width: 600px) {
    .cc-res-wrap { padding: 24px 16px 40px; }
    .cc-res-desc { font-size: 16px; }
    .cc-res-rej { grid-template-columns: 1fr; }
    .cc-res-herr { padding: 10px; }
    .cc-res-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
}

/* El botón del aviso vacío conserva sus colores (la regla .cc-res a no debe pisarlos) */
.cc-res .cc-tag-empty-button { color: var(--cc-cream); }
.cc-res .cc-tag-empty-button:hover { color: var(--cc-navy); }
.cc-res .cc-tag-empty-back { color: var(--cc-gold-dark); }
