﻿html { /* =========================
   BASE
========================= */

    html {
        position: relative;
        min-height: 100%;
        font-size: 14px;
    }

    @media (min-width:768px) {
        html {
            font-size: 16px;
        }
    }

    body {
        background-color: #ffffff;
        margin-bottom: 60px;
    }
    /* =========================
   BOOTSTRAP AJUSTES
========================= */

    .btn:focus,
    .btn:active:focus,
    .btn-link.nav-link:focus,
    .form-control:focus,
    .form-check-input:focus {
        box-shadow: 0 0 0 .1rem white, 0 0 0 .25rem #258cfb;
    }

    .form-floating > .form-control::placeholder,
    .form-floating > .form-control-plaintext::placeholder {
        color: var(--bs-secondary-color);
        text-align: end;
    }

    .form-floating > .form-control:focus::placeholder,
    .form-floating > .form-control-plaintext:focus::placeholder {
        text-align: start;
    }
    /* =========================
   NAVBAR / FOOTER
========================= */

    .navbar-dark.bg-dark {
        background-color: #0B2545 !important;
    }

    footer.bg-light {
        background-color: #F4F6F8 !important;
    }
    /* =========================
   CARDS
========================= */

    .card-hover {
        transition: transform .2s ease, box-shadow .2s ease;
    }

        .card-hover:hover {
            transform: translateY(-6px);
            box-shadow: 0 10px 20px rgba(0,0,0,.15);
        }
    /* =========================
   HERO
========================= */

    .hero-institucional {
        background: linear-gradient(135deg,#0B2545,#133B5C);
    }

    .hero-europa {
        background: linear-gradient(135deg,#0b1f3a,#0f2f5c);
        color: #fff;
        padding: 4rem 0 3rem;
    }

    .hero-europa--gira1929 {
        border-bottom: 1px solid rgba(255,255,255,.12);
        box-shadow: inset 0 -40px 80px rgba(0,0,0,.22);
    }

    .hero-europa__eyebrow {
        text-transform: uppercase;
        letter-spacing: .08em;
        font-size: .8rem;
        opacity: .7;
        margin-bottom: .5rem;
    }

        .hero-europa .subtitle {
            opacity: .9;
            margin-top: .5rem;
        }

    .europa-kpis {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
        gap: .75rem;
        margin-top: 1.5rem;
    }

    .europa-kpis__item {
        background: rgba(255,255,255,.08);
        border: 1px solid rgba(255,255,255,.2);
        border-radius: 12px;
        padding: .75rem;
        backdrop-filter: blur(2px);
    }

        .europa-kpis__item span {
            display: block;
            font-size: .78rem;
            opacity: .8;
            text-transform: uppercase;
            letter-spacing: .06em;
        }

        .europa-kpis__item strong {
            font-size: 1.35rem;
            line-height: 1.1;
        }
    /* =========================
   EUROPA CONTENT
========================= */

    .europa-content {
        padding: 2.5rem 0;
    }

    .intro,
    .analysis {
        background: #0f1f35;
        color: #e6edf7;
        padding: 1.5rem;
        border-radius: 14px;
        box-shadow: 0 10px 24px rgba(0,0,0,.25);
    }

    .intro--story {
        display: grid;
        gap: 1.25rem;
        align-items: start;
    }

    .intro--story__gallery {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .75rem;
    }

    .europa-timeline__title {
        border-left: 4px solid #1e5aa8;
        padding-left: .8rem;
    }

    .analysis--highlight {
        margin-top: 1.5rem;
    }

    .analysis__closing {
        border-top: 1px solid rgba(255,255,255,.14);
        padding-top: .9rem;
        color: #d8e7ff;
    }

    .europa-experience {
        background: linear-gradient(135deg,#112845,#1a3f71);
        color: #eaf2ff;
        border: 1px solid rgba(255,255,255,.12);
    }

    .gira-index__hero {
        background: linear-gradient(135deg,#0f2747,#153a68 70%, #1d4f8f);
        color: #f5f8ff;
        border-radius: 16px;
        padding: 1.5rem;
        box-shadow: 0 14px 30px rgba(11,37,69,.2);
    }

    .gira-index__eyebrow {
        text-transform: uppercase;
        letter-spacing: .08em;
        font-size: .78rem;
        opacity: .8;
    }

    .gira-index__meta {
        display: flex;
        flex-wrap: wrap;
        gap: .6rem;
    }

        .gira-index__meta span {
            border: 1px solid rgba(255,255,255,.25);
            border-radius: 999px;
            padding: .35rem .75rem;
            background: rgba(255,255,255,.08);
            font-size: .86rem;
        }

    .gira-index__actions {
        display: flex;
        flex-wrap: wrap;
        gap: .75rem;
    }

    .gira-index__featured {
        display: grid;
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: .8rem;
    }

    .gira-index__stages {
        display: grid;
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: .9rem;
    }


    .gira-index__museo {
        display: grid;
        grid-template-columns: 1.5fr 1fr;
        gap: 1rem;
    }

    .gira-index__museo-map,
    .gira-index__museo-nav {
        border-radius: 14px;
        border: 1px solid #d8e4f2;
        background: #fff;
        padding: 1rem;
        box-shadow: 0 10px 22px rgba(15,23,42,.06);
    }

    .gira-index__route-map {
        width: 100%;
        height: auto;
        border-radius: 12px;
        display: block;
    }

    .gira-index__chips {
        display: flex;
        flex-wrap: wrap;
        gap: .5rem;
    }

    .gira-chip {
        display: inline-block;
        border-radius: 999px;
        padding: .35rem .75rem;
        border: 1px solid #1e5aa8;
        background: #1e5aa8;
        color: #fff;
        text-decoration: none;
        font-size: .82rem;
        font-weight: 600;
        transition: transform .2s ease, box-shadow .2s ease;
    }

        .gira-chip:hover,
        .gira-chip:focus-visible {
            color: #fff;
            transform: translateY(-1px);
            box-shadow: 0 6px 14px rgba(30,90,168,.28);
        }

    .gira-chip--soft {
        background: #fff;
        color: #0f2f5c;
        border-color: #b9cee8;
    }

        .gira-chip--soft:hover,
        .gira-chip--soft:focus-visible {
            color: #0f2f5c;
            box-shadow: 0 6px 14px rgba(15,47,92,.12);
        }

    .gira-index__stage-card {
        border: 1px solid #d9e2ec;
        border-left: 4px solid #1e5aa8;
        border-radius: 12px;
        padding: 1rem;
        background: #fff;
        box-shadow: 0 8px 20px rgba(15,23,42,.06);
    }

        .gira-index__stage-card h3 {
            font-size: 1.04rem;
            margin-bottom: .5rem;
            color: #0f2f5c;
        }

    @media (max-width: 991.98px) {
        .gira-index__featured,
        .gira-index__stages,
        .gira-index__museo {
            grid-template-columns: 1fr;
        }
    }

    .timeline-filters {
        display: flex;
        flex-wrap: wrap;
        gap: .5rem;
    }

        .timeline-filters .btn.active {
            box-shadow: 0 0 0 2px rgba(255,255,255,.35) inset;
        }

    .timeline-hidden {
        display: none !important;
    }
    /* =========================
   TIMELINE SIMPLE (GIRA)
========================= */

    .timeline-simple {
        position: relative;
        margin: 40px auto;
        padding-left: 60px;
        max-width: 900px;
    }

        .timeline-simple::before {
            content: "";
            position: absolute;
            left: 20px;
            top: 0;
            bottom: 0;
            width: 4px;
            background: #1e5aa8;
            border-radius: 2px;
        }


    .timeline-item.visible {
        opacity: 1;
        transform: translateY(0);
    }

    .timeline-item .date {
        position: absolute;
        left: -6px;
        transform: translateX(-100%);
        top: 6px;
        font-weight: 600;
        font-size: 14px;
        color: #9bb7ff;
        white-space: nowrap;
    }
    /* =========================
   CARD PARTIDO
========================= */

    .card.match {
        background: linear-gradient(135deg,#0b1e33,#123b6d);
        color: #fff;
        padding: 16px 20px;
        border-radius: 12px;
        box-shadow: 0 10px 24px rgba(0,0,0,.18);
        transition: transform .2s ease, box-shadow .2s ease;
    }

        .card.match:hover {
            transform: translateY(-3px);
            box-shadow: 0 16px 28px rgba(0,0,0,.35);
        }

        .card.match.win {
            border-left: 5px solid #22c55e;
        }

        .card.match.draw {
            border-left: 5px solid #f59e0b;
        }

        .card.match.loss {
            border-left: 5px solid #ef4444;
        }
    /* =========================
   RESULTADOS
========================= */

    .dot {
        display: inline-block;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        margin-right: 6px;
        vertical-align: middle;
    }

        .dot.win {
            background: #9fe3b2;
        }

        .dot.draw {
            background: #fde68a;
        }

        .dot.loss {
            background: #f7b2b2;
        }

    .row-win {
        background: #f1fbf5;
    }

    .row-draw {
        background: #fffbeb;
    }

    .row-loss {
        background: #fff1f1;
    }

    .asterisk {
        cursor: help;
        color: #6b7280;
        font-weight: 700;
        margin-left: 4px;
    }
    /* =========================
   CTA
========================= */

    .cta-gira {
        max-width: 960px;
    }

    .cta-card {
        background: linear-gradient(135deg,#0b1f3a,#0f2f5c);
        color: #e6edf7;
        border: 1px solid rgba(255,255,255,0.08);
    }

        .cta-card h3 {
            font-weight: 700;
            letter-spacing: .5px;
        }

        .cta-card p {
            opacity: .9;
            max-width: 720px;
            margin: 0 auto 1.5rem;
        }

        .cta-card .btn {
            background: #1e5aa8;
            border: none;
            box-shadow: 0 8px 20px rgba(0,0,0,.25);
        }

            .cta-card .btn:hover {
                background: #2a6fce;
                transform: translateY(-2px);
            }
    /* =========================
   HISTORIA
========================= */

    .historia-nota h1 {
        color: #0b2545;
    }

    .historia-nota h3 {
        color: #1e5aa8;
    }

    .historia-nota p {
        font-size: 1.05rem;
        line-height: 1.7;
    }

    .historia-nota blockquote {
        background: #f4f6f8;
        border-left: 6px solid #1e5aa8;
        font-style: italic;
    }
    /* =========================
   SEDE SOCIAL
========================= */

    .uniform-img {
        height: 250px;
        object-fit: cover;
    }

    .img-clickable {
        cursor: zoom-in;
    }
    /* =========================
   VIDEO
========================= */

    .video-card {
        cursor: pointer;
        transition: transform .3s ease;
    }

        .video-card:hover {
            transform: scale(1.03);
        }

    .play-button {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        font-size: 60px;
        color: white;
        background: rgba(0,0,0,.6);
        width: 90px;
        height: 90px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    /* =========================
   GALERÍA
========================= */

    .gallery-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit,minmax(350px,1fr));
        gap: 25px;
    }

    .gallery-card {
        background: #111;
        padding: 15px;
        border-radius: 12px;
        transition: transform .3s ease;
    }

        .gallery-card:hover {
            transform: translateY(-5px);
        }

    .gallery-img {
        width: 100%;
        border-radius: 10px;
    }

    .gallery-caption {
        font-size: .95rem;
        color: #ccc;
        margin-top: 8px;
    }
    /* =========================
   TIMELINE SPORTIVO BARRACAS
   ========================= */

    .timeline {
        position: relative;
        margin: 60px 0;
        padding: 40px 0;
    }
        /* Línea central */
        .timeline::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 0;
            width: 100%;
            height: 4px;
            background: #8b0000;
        }
    /* Item */
    /* Punto */
    .timeline-item::before {
        content: '';
        position: absolute;
        top: calc(50% - 7px);
        left: 50%;
        transform: translateX(-50%);
        width: 14px;
        height: 14px;
        background: #8b0000;
        border-radius: 50%;
    }
    /* Caja */
    .timeline-content {
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 8px;
        padding: 15px;
        width: 80%;
        margin: auto;
    }
    /* arriba */
    .timeline-item.primera .timeline-content,
    .timeline-item.tercera .timeline-content,
    .timeline-item.quinta .timeline-content {
        margin-bottom: 80px;
    }
    /* abajo */
    .timeline-item.segunda .timeline-content,
    .timeline-item.cuarta .timeline-content,
    .timeline-item.desafiliado .timeline-content,
    .timeline-item.neutral .timeline-content {
        margin-top: 80px;
    }
    /* títulos */
    .timeline-content h4 {
        color: #8b0000;
        font-weight: bold;
    }

    .timeline-content h5 {
        font-size: 16px;
    }
    /* limpiar floats */
    .timeline::after {
        content: "";
        display: block;
        clear: both;
    }
    /* =========================
   MOBILE
   ========================= */

    @media (max-width: 768px) {

        .timeline::before {
            left: 20px;
            top: 0;
            width: 4px;
            height: 100%;
        }



        .timeline-item::before {
            top: 10px;
            left: 20px;
        }

        .timeline-content {
            margin: 0 !important;
        }
    }

    .timeline {
        position: relative;
        max-width: 1000px;
        margin: auto;
        padding: 40px 0;
    }

        .timeline::after {
            content: '';
            position: absolute;
            width: 4px;
            background: #ddd;
            top: 0;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
        }
    /* ITEM */

    .timeline-item {
        padding: 20px 40px;
        position: relative;
        width: 50%;
    }
        /* izquierda */

        .timeline-item:nth-child(odd) {
            left: 0;
            text-align: right;
        }
        /* derecha */

        .timeline-item:nth-child(even) {
            left: 50%;
        }
        /* circulo */

        .timeline-item::after {
            content: '';
            position: absolute;
            width: 18px;
            height: 18px;
            background: white;
            border: 3px solid #999;
            top: 30px;
            border-radius: 50%;
            z-index: 1;
        }

        .timeline-item:nth-child(odd)::after {
            right: -9px;
        }

        .timeline-item:nth-child(even)::after {
            left: -9px;
        }
    /* =========================
TIMELINE HISTORICA FINAL
========================= */

    .timeline {
        position: relative;
        max-width: 1200px;
        margin: auto;
        padding: 60px 0;
    }
        /* línea central azul */

        .timeline::after {
            content: '';
            position: absolute;
            width: 4px;
            background: #1e5aa8;
            top: 0;
            bottom: 0;
            left: 50%;
            margin-left: -2px;
        }
    /* item */

    .timeline-item {
        padding: 20px 40px;
        position: relative;
        width: 50%;
        opacity: 0;
        transform: translateY(40px);
        transition: all .7s ease;
    }
        /* animación scroll */

        .timeline-item.visible {
            opacity: 1;
            transform: translateY(0);
        }
        /* punto en la línea */

        .timeline-item::after {
            content: '';
            position: absolute;
            width: 20px;
            height: 20px;
            background: white;
            border: 4px solid #1e5aa8;
            top: 30px;
            border-radius: 50%;
            z-index: 2;
        }
        /* izquierda */

        .timeline-item:nth-child(odd) {
            left: 0;
        }

            .timeline-item:nth-child(odd)::after {
                right: -10px;
            }
        /* derecha */

        .timeline-item:nth-child(even) {
            left: 50%;
        }

            .timeline-item:nth-child(even)::after {
                left: -10px;
            }
    /* tarjeta */

    .timeline-content {
        background: white;
        padding: 25px;
        border-radius: 12px;
        box-shadow: 0 6px 20px rgba(0,0,0,.15);
        transition: transform .25s ease;
    }

        .timeline-content:hover {
            transform: translateY(-5px);
        }

        .timeline-content h4 {
            font-weight: 700;
            color: #0B2545;
        }

        .timeline-content h5 {
            color: #1e5aa8;
            margin-bottom: 10px;
        }
    /* imagen timeline */

    .timeline-img {
        width: 100%;
        border-radius: 8px;
        margin-top: 12px;
    }
    /* responsive */

    @media screen and (max-width: 768px) {

        .timeline::after {
            left: 20px;
        }

        .timeline-item {
            width: 100%;
            padding-left: 60px;
            padding-right: 20px;
        }

            .timeline-item:nth-child(even),
            .timeline-item:nth-child(odd) {
                left: 0;
            }

            .timeline-item::after {
                left: 12px;
            }
    }
    /* =========================
TIMELINE HISTORICA FINAL
========================= */

    .timeline {
        position: relative;
        max-width: 1200px;
        margin: auto;
        padding: 60px 0;
    }
        /* línea central azul */

        .timeline::after {
            content: '';
            position: absolute;
            width: 4px;
            background: #1e5aa8;
            top: 0;
            bottom: 0;
            left: 50%;
            margin-left: -2px;
        }
    /* item */

    .timeline-item {
        padding: 20px 40px;
        position: relative;
        width: 50%;
        opacity: 0;
        transform: translateY(40px);
        transition: all .7s ease;
    }
        /* animación scroll */

        .timeline-item.visible {
            opacity: 1;
            transform: translateY(0);
        }
        /* punto en la línea */

        .timeline-item::after {
            content: '';
            position: absolute;
            width: 20px;
            height: 20px;
            background: white;
            border: 4px solid #1e5aa8;
            top: 30px;
            border-radius: 50%;
            z-index: 2;
        }
        /* izquierda */

        .timeline-item:nth-child(odd) {
            left: 0;
        }

            .timeline-item:nth-child(odd)::after {
                right: -10px;
            }
        /* derecha */

        .timeline-item:nth-child(even) {
            left: 50%;
        }

            .timeline-item:nth-child(even)::after {
                left: -10px;
            }
    /* tarjeta */

    .timeline-content {
        background: white;
        padding: 25px;
        border-radius: 12px;
        box-shadow: 0 6px 20px rgba(0,0,0,.15);
        transition: transform .25s ease;
    }

        .timeline-content:hover {
            transform: translateY(-5px);
        }

        .timeline-content h4 {
            font-weight: 700;
            color: #0B2545;
        }

        .timeline-content h5 {
            color: #1e5aa8;
            margin-bottom: 10px;
        }
    /* imagen timeline */

    .timeline-img {
        width: 100%;
        border-radius: 8px;
        margin-top: 12px;
    }
    /* responsive */

    @media screen and (max-width: 768px) {

        .timeline::after {
            left: 20px;
        }

        .timeline-item {
            width: 100%;
            padding-left: 60px;
            padding-right: 20px;
        }

            .timeline-item:nth-child(even),
            .timeline-item:nth-child(odd) {
                left: 0;
            }

            .timeline-item::after {
                left: 12px;
            }
    }
    /* =========================
TIMELINE HISTORICA FINAL
========================= */

    .timeline {
        position: relative;
        max-width: 1200px;
        margin: auto;
        padding: 60px 0;
    }
        /* línea central azul */

        .timeline::after {
            content: '';
            position: absolute;
            width: 4px;
            background: #1e5aa8;
            top: 0;
            bottom: 0;
            left: 50%;
            margin-left: -2px;
        }
    /* item */

    .timeline-item {
        padding: 20px 40px;
        position: relative;
        width: 50%;
        opacity: 0;
        transform: translateY(40px);
        transition: all .7s ease;
    }
        /* animación scroll */

        .timeline-item.visible {
            opacity: 1;
            transform: translateY(0);
        }
        /* punto en la línea */

        .timeline-item::after {
            content: '';
            position: absolute;
            width: 20px;
            height: 20px;
            background: white;
            border: 4px solid #1e5aa8;
            top: 30px;
            border-radius: 50%;
            z-index: 2;
        }
        /* izquierda */

        .timeline-item:nth-child(odd) {
            left: 0;
        }

            .timeline-item:nth-child(odd)::after {
                right: -10px;
            }
        /* derecha */

        .timeline-item:nth-child(even) {
            left: 50%;
        }

            .timeline-item:nth-child(even)::after {
                left: -10px;
            }
    /* tarjeta */

    .timeline-content {
        background: white;
        padding: 25px;
        border-radius: 12px;
        box-shadow: 0 6px 20px rgba(0,0,0,.15);
        transition: transform .25s ease;
    }

        .timeline-content:hover {
            transform: translateY(-5px);
        }

        .timeline-content h4 {
            font-weight: 700;
            color: #0B2545;
        }

        .timeline-content h5 {
            color: #1e5aa8;
            margin-bottom: 10px;
        }
    /* imagen timeline */

    .timeline-img {
        width: 100%;
        border-radius: 8px;
        margin-top: 12px;
    }
    /* responsive */

    @media screen and (max-width: 768px) {

        .timeline::after {
            left: 20px;
        }

        .timeline-item {
            width: 100%;
            padding-left: 60px;
            padding-right: 20px;
        }

            .timeline-item:nth-child(even),
            .timeline-item:nth-child(odd) {
                left: 0;
            }

            .timeline-item::after {
                left: 12px;
            }
    }
    /* =========================
GALERIA / VISOR DE IMAGEN
========================= */

    .gallery-modal {
        display: none;
        position: fixed;
        z-index: 9999;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.85);
        /* centra perfecto */
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .gallery-modal img {
            max-width: 90%;
            max-height: 90%;
            border-radius: 10px;
            box-shadow: 0 10px 40px rgba(0,0,0,.6);
        }

        .gallery-modal.active {
            display: flex;
        }
    /* =========================
Gira Europea // Imagenes
========================= */
    /* Fotos dentro del timeline */

    .timeline-photo {
        width: 100%;
        max-height: 320px;
        object-fit: cover;
        border-radius: 6px;
        cursor: pointer;
        transition: transform .25s ease, box-shadow .25s ease;
    }

        .timeline-photo:hover {
            transform: scale(1.03);
            box-shadow: 0 8px 18px rgba(0,0,0,.25);
        }
    /* contenedor de fotos */

    .timeline-gallery {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(140px,1fr));
        gap: 8px;
        margin-top: 10px;
    }

    @media (max-width: 767.98px) {
        .intro--story__gallery {
            grid-template-columns: 1fr;
        }
    }
    /* =========================
   SOCIAL SHARE
========================= */
    .social-share {
        margin-top: 1rem;
    }

    .social-share__hint {
    max-width: 42rem;
    margin: 0 auto .85rem;
    color: #475569;
}

.social-share__buttons--primary .social-share__btn {
    min-width: 190px;
    font-weight: 600;
}

.social-share__btn--copy:hover,
.social-share__btn--copy:focus-visible {
    background: #0f172a;
    color: #fff;
    border-color: #0f172a;
}

.social-share__more {
    margin-top: .85rem;
}

.social-share__more summary {
    cursor: pointer;
    color: #475569;
    font-weight: 600;
    list-style: none;
}

.social-share__more summary::-webkit-details-marker {
    display: none;
}

.social-share__more summary::after {
    content: ' +';
}

.social-share__more[open] summary::after {
    content: ' –';
}

.social-share__buttons {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: .65rem;
    }

    .social-share__btn {
        border: 1px solid #d2d8de;
        background: #fff;
        color: #0f172a;
        border-radius: 999px;
        padding: .45rem .8rem;
        display: inline-flex;
        align-items: center;
        gap: .45rem;
        font-size: .86rem;
        font-weight: 600;
        line-height: 1;
        transition: all .2s ease;
    }

        .social-share__btn svg {
            width: 16px;
            height: 16px;
            fill: currentColor;
        }

        .social-share__btn:hover,
        .social-share__btn:focus-visible {
            transform: translateY(-1px);
            box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
        }

    .social-share__btn--x:hover,
    .social-share__btn--x:focus-visible {
        background: #111827;
        color: #fff;
        border-color: #111827;
    }

    .social-share__btn--facebook:hover,
    .social-share__btn--facebook:focus-visible {
        background: #1877f2;
        color: #fff;
        border-color: #1877f2;
    }

    .social-share__btn--whatsapp:hover,
    .social-share__btn--whatsapp:focus-visible {
        background: #25d366;
        color: #fff;
        border-color: #25d366;
    }

    .social-share__btn--instagram:hover,
    .social-share__btn--instagram:focus-visible {
        background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af);
        color: #fff;
        border-color: transparent;
    }

    .social-share__btn--tiktok:hover,
    .social-share__btn--tiktok:focus-visible {
        background: #010101;
        color: #fff;
        border-color: #010101;
    }




    .media-share-host {
        position: relative;
    }

    .media-share-trigger {
        position: absolute;
        right: .75rem;
        bottom: .75rem;
        z-index: 2;
        border: 0;
        border-radius: 999px;
        padding: .45rem .75rem;
        background: rgba(15, 23, 42, .82);
        color: #fff;
        font-size: .78rem;
        font-weight: 700;
        box-shadow: 0 10px 25px rgba(15, 23, 42, .28);
    }

    .media-share-trigger:hover,
    .media-share-trigger:focus-visible {
        background: #0f172a;
    }



    .media-share-trigger--inline {
        position: static;
        display: inline-flex;
        margin-top: .65rem;
        margin-left: auto;
        background: #0f172a;
        color: #fff;
    }

    .shareable-image {
        cursor: context-menu;
        -webkit-touch-callout: none;
    }

    .image-share-sheet {
        position: fixed;
        inset: 0;
        display: none;
        z-index: 1080;
    }

    .image-share-sheet.is-open {
        display: block;
    }

    .image-share-sheet__backdrop {
        position: absolute;
        inset: 0;
        background: rgba(15, 23, 42, .55);
    }

    .image-share-sheet__panel {
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
        width: min(100%, 34rem);
        border-radius: 1.25rem 1.25rem 0 0;
        background: #fff;
        padding: 1rem 1rem 1.25rem;
        box-shadow: 0 -18px 48px rgba(15, 23, 42, .25);
    }

    .image-share-sheet__grabber {
        width: 54px;
        height: 5px;
        border-radius: 999px;
        background: #cbd5e1;
        margin: 0 auto .85rem;
    }

    .image-share-sheet__title {
        font-weight: 700;
        color: #0f172a;
        text-align: center;
        margin-bottom: .35rem;
    }

    .image-share-sheet__hint,
    .image-share-sheet__feedback {
        text-align: center;
        color: #475569;
        font-size: .88rem;
    }

    .image-share-sheet__hint {
        margin-bottom: .9rem;
    }

    .image-share-sheet__buttons {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: .65rem;
    }

    .image-share-sheet__feedback {
        min-height: 1.25rem;
        margin: .85rem 0 0;
    }

    .image-share-sheet__close {
        margin: .8rem auto 0;
        display: inline-flex;
        justify-content: center;
        width: 100%;
        border: 0;
        background: transparent;
        color: #0f172a;
        font-weight: 700;
        padding: .6rem;
    }

    body.image-share-sheet-open {
        overflow: hidden;
    }

    .social-share__feedback {
        min-height: 1.25rem;
        margin-top: .55rem;
        margin-bottom: 0;
        font-size: .78rem;
        color: #475569;
    }
    /* =========================
   DIRIGENCIA - LINEA DE TIEMPO
========================= */
    .dirigencia-hero {
        background: linear-gradient(135deg, #0b2545 0%, #1e5aa8 70%, #c1121f 100%);
        color: #fff;
        box-shadow: 0 8px 24px rgba(11, 37, 69, .22);
    }

    .timeline-dirigencia {
        position: relative;
        margin-left: 16px;
        padding-left: 26px;
    }

        .timeline-dirigencia::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 4px;
            border-radius: 999px;
            background: linear-gradient(180deg, #1e5aa8 0%, #0b2545 60%, #c1121f 100%);
        }

    .timeline-dirigencia__item {
        position: relative;
        background: #fff;
        border: 1px solid #d9e2ec;
        border-left: 4px solid #1e5aa8;
        border-radius: 12px;
        padding: 16px 18px;
        margin-bottom: 14px;
        box-shadow: 0 5px 14px rgba(11, 37, 69, .08);
    }

        .timeline-dirigencia__item::before {
            content: "";
            position: absolute;
            left: -34px;
            top: 20px;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: #c1121f;
            border: 3px solid #fff;
            box-shadow: 0 0 0 2px #1e5aa8;
        }

        .timeline-dirigencia__item h4 {
            margin-bottom: 8px;
            color: #0b2545;
            font-weight: 700;
        }

        .timeline-dirigencia__item p {
            margin-bottom: 6px;
        }

    .dirigencia-raw {
        background: #f8fafc;
        color: #0f172a;
        border: 1px solid #d9e2ec;
        border-radius: 10px;
        padding: 16px;
        white-space: pre-wrap;
        font-family: "Courier New", Courier, monospace;
        font-size: .92rem;
    }


    .dirigencia-nota {
        border-left: 4px solid #c1121f;
        background: #fff;
        color: #0b2545;
        padding: 14px 16px;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(11, 37, 69, .08);
    }

    .dirigencia-evidencia-btn {
        margin-top: 8px;
        border-color: #1e5aa8;
        color: #1e5aa8;
    }

        .dirigencia-evidencia-btn:hover,
        .dirigencia-evidencia-btn:focus-visible {
            background: #1e5aa8;
            color: #fff;
            border-color: #1e5aa8;
        }

    .dirigencia-evidencia-img {
        width: 100%;
        max-height: 70vh;
        object-fit: contain;
        background: #f8fafc;
    }
    /* =========================
   DIRIGENCIA - LINEA DE TIEMPO
========================= */
    .dirigencia-hero {
        background: linear-gradient(135deg, #0b2545 0%, #1e5aa8 70%, #c1121f 100%);
        color: #fff;
        box-shadow: 0 8px 24px rgba(11, 37, 69, .22);
    }

    .timeline-dirigencia {
        position: relative;
        margin-left: 16px;
        padding-left: 26px;
    }

        .timeline-dirigencia::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 4px;
            border-radius: 999px;
            background: linear-gradient(180deg, #1e5aa8 0%, #0b2545 60%, #c1121f 100%);
        }

    .timeline-dirigencia__item {
        position: relative;
        background: #fff;
        border: 1px solid #d9e2ec;
        border-left: 4px solid #1e5aa8;
        border-radius: 12px;
        padding: 16px 18px;
        margin-bottom: 14px;
        box-shadow: 0 5px 14px rgba(11, 37, 69, .08);
    }

        .timeline-dirigencia__item::before {
            content: "";
            position: absolute;
            left: -34px;
            top: 20px;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: #c1121f;
            border: 3px solid #fff;
            box-shadow: 0 0 0 2px #1e5aa8;
        }

        .timeline-dirigencia__item h4 {
            margin-bottom: 8px;
            color: #0b2545;
            font-weight: 700;
        }

        .timeline-dirigencia__item p {
            margin-bottom: 6px;
        }

    .dirigencia-raw {
        background: #f8fafc;
        color: #0f172a;
        border: 1px solid #d9e2ec;
        border-radius: 10px;
        padding: 16px;
        white-space: pre-wrap;
        font-family: "Courier New", Courier, monospace;
        font-size: .92rem;
    }


    .dirigencia-nota {
        border-left: 4px solid #c1121f;
        background: #fff;
        color: #0b2545;
        padding: 14px 16px;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(11, 37, 69, .08);
    }

    .dirigencia-evidencia-btn {
        margin-top: 8px;
        border-color: #1e5aa8;
        color: #1e5aa8;
    }

        .dirigencia-evidencia-btn:hover,
        .dirigencia-evidencia-btn:focus-visible {
            background: #1e5aa8;
            color: #fff;
            border-color: #1e5aa8;
        }

    .dirigencia-evidencia-galeria {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 14px;
        margin-top: 10px;
    }

    .dirigencia-evidencia-card {
        margin: 0;
        background: #fff;
        border: 1px solid #d9e2ec;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 4px 12px rgba(11, 37, 69, .08);
    }

    .dirigencia-evidencia-img {
        width: 100%;
        max-height: 320px;
        object-fit: cover;
        background: #f8fafc;
    }

    .dirigencia-evidencia-caption {
        margin: 0;
        padding: 10px 12px;
        color: #0b2545;
        font-size: .9rem;
        line-height: 1.35;
    }

    .social-feed-card {
        border: 1px solid #d9e2ec;
    }

    .social-feed-text {
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

/* Detalles conflictivos/dramáticos en la línea de tiempo */
.timeline-item.detalle .timeline-content {
    border: 1px solid #c23b22;
    border-left: 5px solid #c23b22;
    background: linear-gradient(145deg, #fff5f3, #ffffff);
}

.timeline-item.detalle::after {
    border-color: #c23b22;
    background: #fff5f3;
}

.timeline-detail-tag {
    display: inline-block;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #fff;
    background: #c23b22;
    border-radius: 999px;
    padding: 2px 10px;
    margin-bottom: 8px;
}

.timeline-intro {
    max-width: 780px;
    margin: 0 auto;
}

.timeline-record-chip {
    display: inline-flex;
    background: #e2e8f0;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: .85rem;
    font-weight: 600;
    margin-bottom: 0;
    color: #0f172a;
}

.decade-view {
    display: grid;
    gap: 16px;
}

.decade-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 4px 10px;
    scrollbar-width: thin;
}

.decade-tab {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #0f172a;
    border-radius: 999px;
    padding: 8px 14px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: all .2s ease;
}

.decade-tab:hover {
    border-color: #1e5aa8;
    color: #1e5aa8;
}

.decade-tab.active {
    background: linear-gradient(120deg, #0b2545, #1e5aa8);
    border-color: #1e5aa8;
    color: #fff;
    box-shadow: 0 6px 14px rgba(30, 90, 168, .3);
}

.decade-summary-panel {
    background: linear-gradient(140deg, #0f172a, #1d4f91);
    color: #e2e8f0;
    border-radius: 14px;
    padding: 16px 18px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .25);
}

.decade-summary-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 8px;
}

.decade-summary-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.decade-summary-metrics span {
    background: rgba(226, 232, 240, .14);
    border: 1px solid rgba(226, 232, 240, .2);
    border-radius: 999px;
    padding: 5px 10px;
    font-size: .86rem;
}

.decade-events-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.decade-events-grid .timeline-item {
    width: 100%;
    left: auto !important;
    padding: 0;
    text-align: left;
    opacity: 0;
    transform: translateY(24px);
}

.decade-events-grid .timeline-item.visible {
    opacity: 1;
    transform: translateY(0);
}

.decade-events-grid .timeline-item::after,
.decade-events-grid .timeline-item::before {
    display: none;
}

.decade-events-grid .timeline-content {
    height: 100%;
    border-radius: 14px;
    border: 1px solid #d9e2ec;
    box-shadow: 0 8px 20px rgba(11, 37, 69, .08);
}

.timeline-item-sharing .timeline-content {
    box-shadow: 0 0 0 2px rgba(30, 90, 168, .28), 0 10px 24px rgba(11, 37, 69, .22);
}

@media (max-width: 767.98px) {
    .decade-summary-panel {
        padding: 14px;
    }

    .decade-summary-title {
        font-size: 1.05rem;
    }
}
