/* No hay un Día de Muertos · estilos propios de la pieza.
   Los componentes comunes (cifras, relato, gráficas, metodología, tooltip)
   vienen de ../css/pieza.css: aquí solo lo que es de esta pieza. */

.relato a {
    color: var(--color-amarillo);
}

/* Controles (mapa y explorador): misma apariencia que .campo de secciones.css, más compactos */

.campo-mini {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 0.85rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--texto-suave);
}

.campo-mini select,
.campo-mini input {
    min-width: 14rem;
    max-width: 100%;
    padding: 0.55rem 0.8rem;
    border: 1px solid var(--borde);
    border-radius: 10px;
    background: var(--fondo-tarjeta);
    color: white;
    font-family: "Inter", sans-serif;
    font-size: 0.95rem;
    letter-spacing: normal;
    text-transform: none;
}

.campo-mini select:hover,
.campo-mini input:hover {
    border-color: var(--borde-hover);
}

.campo-mini select:focus-visible,
.campo-mini input:focus-visible {
    outline: 2px solid var(--color-amarillo);
    outline-offset: 1px;
}

.mapa-controles {
    margin-bottom: 0.75rem;
}

.mapa-controles .campo-mini {
    display: inline-flex;
}

.mapa-marco canvas {
    display: block;
    cursor: pointer;
}

.mapa-capa {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

/* Leyendas */

.leyenda-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.leyenda-punto,
.punto-nombre {
    display: inline-block;
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    flex: none;
}

.leyenda-rampa {
    display: inline-block;
    width: 9rem;
    height: 0.7rem;
    border-radius: 3px;
    align-self: center;
}

/* Etiquetas de gráficas */

.lienzo .etiqueta-fila {
    fill: var(--texto-suave);
    font-size: 12.5px;
}

.lienzo .etiqueta-columna {
    fill: var(--texto-suave);
    font-size: 12px;
}

.lienzo .valor {
    fill: var(--texto-suave);
}

/* La tabla de la mesa se desliza dentro de su marco en pantallas angostas */

.desliza {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Explorador */

.explorador {
    margin: 4rem 0 3rem 0;
    padding-top: 2rem;
    border-top: 1px solid var(--borde);
    scroll-margin-top: 1rem;
}

.explorador-intro {
    max-width: 44rem;
    color: var(--texto-suave);
}

.explorador-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    margin: 1.25rem 0 0.75rem 0;
}

.explorador-cuenta {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 0.9rem;
    color: var(--texto-tenue);
}

.explorador-cuerpo {
    display: grid;
    grid-template-columns: minmax(0, 22rem) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.explorador-lista {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 38rem;
    overflow-y: auto;
    border: 1px solid var(--borde);
    border-radius: 12px;
}

.explorador-item {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 0.55rem;
    align-items: center;
    width: 100%;
    padding: 0.6rem 0.8rem;
    border: 0;
    border-bottom: 1px solid var(--borde);
    background: transparent;
    color: white;
    text-align: left;
    font-family: "Inter", sans-serif;
    font-size: 0.95rem;
}

.explorador-item span:last-child {
    grid-column: 2;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 0.85rem;
    color: var(--texto-tenue);
}

.explorador-item:hover,
.explorador-item.activo {
    background: var(--fondo-tarjeta);
}

.explorador-item:focus-visible {
    outline: 2px solid var(--color-amarillo);
    outline-offset: -2px;
}

.ficha {
    min-height: 16rem;
    padding: 1.25rem 1.5rem;
    border: 1px solid var(--borde);
    border-radius: 12px;
    background: var(--fondo-tarjeta);
}

.ficha:focus {
    outline: none;
}

.ficha h3 {
    margin: 0.25rem 0 0.4rem 0;
}

.ficha h4 {
    margin: 1.4rem 0 0.5rem 0;
    font-size: 1rem;
    color: var(--texto-suave);
}

.ficha-vacia,
.ficha-tenue,
.ficha-fuente {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 0.9rem;
    color: var(--texto-tenue);
}

.ficha-fuente a {
    color: var(--color-amarillo);
}

.ficha-kicker {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    font-family: "Roboto Condensed", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.85rem;
    color: var(--texto-suave);
}

.ficha-fiestas {
    padding-left: 1.1rem;
    margin: 0;
}

.ficha-fiestas li {
    margin-bottom: 0.4rem;
}

.ficha-texto {
    margin: 0;
    padding-left: 1rem;
    border-left: 2px solid var(--color-amarillo);
    font-weight: 300;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.88);
}

.ficha-atlas {
    border-left-color: var(--borde-hover);
}

.ficha-menciona {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.9rem;
}

.etiqueta-mini {
    padding: 0.15rem 0.5rem;
    border: 1px solid var(--borde);
    border-radius: 999px;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 0.8rem;
    color: var(--texto-suave);
}

@media (max-width: 767.98px) {
    .explorador-cuerpo {
        grid-template-columns: 1fr;
    }

    .explorador-lista {
        max-height: 18rem;
    }

    .campo-mini,
    .campo-mini select,
    .campo-mini input {
        width: 100%;
        min-width: 0;
    }

    .ficha {
        padding: 1rem;
    }
}
