        :root {
            --primary: #e74040;
            --dark: #1a1a1a;
            --gray: #2a2a2a;
        }

        html {
            scroll-behavior: smooth;
        }



        body {
            font-family: 'Arial', sans-serif;
            background: #000;
            color: #fff;
        }

        .logo-img {
            max-height: 100px;
            /* altura máxima */
            width: auto;
            /* mantiene proporción */
            max-width: 100%;
            /* nunca se sale de su columna */
            display: block;
            /* evita espacios raros */
            transition: transform .3s;
        }

        .logo-img:hover {
            transform: scale(1.05);
        }

        header {
            background: var(--dark);
            padding: 1rem 0;
            position: relative;
            top: 0;
            z-index: 1000;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
        }

        .nav-link {
            color: #fff !important;
            font-weight: 500;
            margin: 0 15px;
            transition: color .3s;
            padding-top: 0 !important;
            padding-bottom: 0 !important;
            line-height: 1 !important;
        }

        .nav-link:hover {
            color: var(--primary) !important;
        }

        .social-icons a {
            color: #fff;
            font-size: 1rem;
            margin-left: 20px;
            transition: color .3s;
        }

        .social-icons a:hover {
            color: var(--primary);
        }

        .social-icons {
            display: flex;
            align-items: center;
            gap: 20px;
        }

        .social-icons .nav-link {
            padding: 0 !important;
        }

        .navbar-expand {
            display: flex;
            align-items: center;
            gap: 20px;
        }

        .navbar-expand .nav-link {
            padding: 0 !important;
        }

        .navbar-expand a {
            color: #fff;
            font-size: 1rem;
            margin-left: 20px;
            transition: color .3s;
        }

        /* FILTROS CON BOOTSTRAP + ESTILO PERSONALIZADO */
        .filters {}

        .filter-group {
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            padding: 12px 16px;
            transition: all .3s ease;
            width: 100%;
            box-sizing: border-box;
        }

        .filter-group:hover {
            background: rgba(255, 255, 255, 0.12);
            border-color: var(--primary);
            transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(255, 51, 102, .15);
        }

        .filter-group i {
            color: var(--primary);
            margin-right: 12px;
            font-size: 1.2rem;
            flex-shrink: 0;
        }

        /* Ajustes para que el icono no se mueva y todo sea responsive */
        .filter-group .select-area {
            width: 100%;
            display: flex;
            align-items: center;
        }

        .select-wrapper {
            width: 100%;
            position: relative;
        }

        /* --- Fake select (DIVs como options) --- */
        .fake-select {
            background: transparent;
            color: #fff;
            font-weight: 500;
            border: none;
            padding: 0;
            width: 100%;
            position: relative;
            cursor: pointer;
        }

        .fake-select .selected {
            background: rgba(255, 255, 255, 0.03);
            border-radius: 8px;
            padding: 10px 14px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 10px;
            color: #e6e6e6;
        }

        .fake-select .selected small {
            color: #bdbdbd;
            font-weight: 500;
        }

        .fake-select .selected i {
            color: var(--primary);
            margin-left: 10px;
            font-size: 0.9rem;
        }

        .option-list {
            display: none;
            position: absolute;
            top: calc(100% + 8px);
            left: 0;
            width: 100%;
            background: linear-gradient(180deg, #1a1a1a, #171717);
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
            z-index: 9999;
            max-height: 280px;
            overflow-y: auto;
        }

        .fake-select.open .option-list {
            display: block;
        }

        .option {
            padding: 12px 14px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            color: #fff;
            transition: background .15s ease, color .15s ease;
            user-select: none;
        }

        .option:last-child {
            border-bottom: none;
        }

        .option:hover,
        .option.active {
            background: var(--primary);
            color: #fff;
        }

        /* small scrollbar styling */
        .option-list::-webkit-scrollbar {
            width: 7px;
        }

        .option-list::-webkit-scrollbar-thumb {
            background: rgba(255, 51, 102, 0.15);
            border-radius: 10px;
        }

        /* Preserve original select styles in case JS is disabled (progressive enhancement) */
        .fallback-select {
            display: none;
        }

        /* Small screens: stack filters */
        @media (max-width: 991.98px) {
            .filters .row {
                gap: 16px;
            }
        }

        @media (max-width: 767.98px) {
            header {
                position: relative;
            }

            .filters .row {
                position: relative;
                display: flex;
                flex-direction: column;
            }

            .select-wrapper {
                z-index: 10001 !important;
                position: relative;
            }

            .filter-group {
                padding: 12px;
            }

            .filter-group i {
                margin-right: 10px;
            }

            .option-list {
                position: relative;
                margin-top: 8px;
                box-shadow: none;
                max-height: 220px;
                z-index: 10002 !important;
            }

            .fake-select.open .option-list {
                display: block;
            }

            /* Evitar que el fondo sea interactivo cuando el dropdown está abierto */
            .fake-select.open~* {
                pointer-events: none;
            }
        }

        /* Hero + rest of styles kept as you had them */
        .hero {
            background: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url('img/hero-bg.jpg') center/cover no-repeat;
            min-height: 600px;
            display: flex;
            align-items: center;
            overflow-x: hidden;
        }

        .hero h1 {
            font-size: 5rem;
            font-weight: 900;
            color: var(--primary);
        }

        .featured-card {
            min-width: 350px;
            border-radius: 16px;
            overflow: hidden;
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            transition: transform .3s;
        }

        .featured-card:hover {
            transform: scale(1.03);
        }

        .events-section {
            background: #fff;
            color: #000;
        }

        .cat-btn {
            color: white;
            border-radius: 30px;
            padding: 10px 25px;
            font-weight: bold;
            border: none;
        }

        .cat-btn.active,
        .cat-btn:hover {
            background: var(--primary);
            color: white;
        }

        .event-card {
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            transition: transform .4s;
        }

        .event-card:hover {
            transform: translateY(-15px);
        }

        .event-date {
            background: var(--dark);
            color: white;
            padding: 8px 15px;
            border-radius: 10px;
            font-size: .9rem;
            display: inline-block;
        }

        /* ========== Footer actual  ========== */


        footer {
            background: var(--dark);
            padding: 70px 20px;
            text-align: center;
        }

        .footer-logo {
            font-size: 3.5rem;
            font-weight: bold;
        }

        .footer-logo span {
            color: var(--primary);
        }

        .icono-filtro img {
            width: 22px;
            height: 22px;
            object-fit: contain;
            display: block;
            filter: brightness(0) invert(1);
            opacity: 0.9;
        }

        /* ========== Footer anterior   ========== */


        /* 
        .footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 40px;
  border-top: 1px solid rgba(255,255,255,0.2);
  background-color: #212121;

}

.footer-bottom .copyright {
  color: #ffffff;
  font-size: 14px;
}

.footer-menu {
  list-style: none;
  display: flex;
  gap: 25px;
  margin: 0;
  padding: 0;
}

.footer-menu li a {
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
  transition: color 0.3s ease;
}

.footer-menu li a:hover {
  color: #fff; /* color hover tipo tu gradiente */
        /*}
 /* ========== Footer actual   ========== */
        /* 1. Preparamos el cuerpo de la página */
        html,
        body {
            height: 100%;
            margin: 0;
            display: flex;
            flex-direction: column;
        }

        /* ===== FOOTER GENERAL ===== */

        footer.site-footer {
            margin-top: auto;
            background: #111;
            /* fondo solido para evitar que se vea el contenido detras */
            color: #fff;
            padding: 70px 0 0;
            /* sin padding abajo porque abajo está la barra */
            width: 100%;
            position: relative;
            z-index: 3;
        }

        /* Mantiene el ancho y alineación con el resto del sitio */
        .site-footer .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* ===== TOP FOOTER ===== */
        .footer-top {
            padding-bottom: 55px;
            /* <-- este es el espacio como tu imagen */
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1.2fr 1fr 1fr 1.2fr;
            gap: 40px;
            align-items: start;
        }

        /* Titulos */
        .footer-title {
            font-size: 1.35rem;
            font-weight: 700;
            margin: 0 0 18px;
        }

        /* Texto */
        .footer-text {
            font-size: 0.95rem;
            line-height: 1.8;
            margin: 12px 0 0;
            color: rgba(255, 255, 255, 0.85);
        }


        /* ===== BOTTOM FOOTER (BARRA) ===== */
        .footer-bottom {
            display: flex;
            background: #0A0A0A !important;
            padding: 18px 0;
            /* Se agregó punto y coma */
            width: 100%;
            background: rgba(255, 255, 255, .10);
            margin-top: 40px;
            /* Espacio entre el contenido superior y la barra */
        }

        /* mantiene alineación con el contenedor */
        .footer-bottom .container {
            display: flex;
            align-items: center;
            padding: 18px 20px;
        }

        /* menú de abajo */
        .footer-menu {
            display: flex;
            align-items: center;
            width: 100%;
            list-style: none;
            margin: 0;
            padding: 0;
            gap: 28px;
        }

        /* primer item a la izquierda, el resto a la derecha */
        .footer-menu li:first-child {
            margin-right: auto;
        }

        .footer-menu a {
            color: rgba(255, 255, 255, .75);
            text-decoration: none;
            font-size: 0.9rem;
        }

        .footer-menu a:hover {
            color: #fff;
            text-decoration: underline;
        }

        /* ===== RESPONSIVE ===== */
        @media (max-width: 992px) {
            .footer-grid {
                grid-template-columns: 1fr;
                text-align: left;
            }

            .footer-bottom .container {
                padding: 16px 20px;
            }

            .footer-menu {
                flex-direction: column;
                gap: 10px;
                align-items: flex-start;
            }

            .footer-menu li:first-child {
                margin-right: 0;
                margin-bottom: 6px;
            }
        }





        /* SIDEBAR */
        .sidebar-events {
            width: 100%;
            padding: 16px;
            background: #ffffff;
            border-radius: 16px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        /* CARD EVENTO */
        .event-card {
            position: relative;
            width: 100%;
            height: 250px;
            border-radius: 16px;
            overflow: hidden;
            background-size: cover;
            background-position: center;
            display: flex;
            align-items: flex-end;
            box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
        }

        .event-card::before {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(to top,
                    rgba(0, 0, 0, 0.75) 0%,
                    rgba(0, 0, 0, 0.2) 55%,
                    transparent 100%);
        }

        .event-date {
            position: absolute;
            top: 10px;
            left: 10px;
        }

        .event-date span {
            padding: 5px 10px;
            border-radius: 999px;
            background: #111;
            color: #fff;
            font-size: 11px;
            font-weight: 700;
        }

        .event-info {
            position: relative;
            padding: 14px;
            color: #fff;
            z-index: 1;
        }

        .event-info h4 {
            margin: 0 0 4px;
            font-size: 15px;
            font-weight: 700;
        }

        .event-location {
            font-size: 12px;
            opacity: 0.9;
            margin-bottom: 6px;
        }

        .event-link {
            font-size: 12px;
            font-weight: 600;
            color: #ff3b3b;
            text-decoration: none;
        }

        .experiencias-slider-section {
            background: #fff;
            padding: 60px 0;
        }

        .experiencias-slider {
            width: 100%;
        }

        .experiencia-slide {
            position: relative;
            height: 90vh;
            overflow: hidden;
        }

        .experiencia-bg {
            position: absolute;
            inset: 0;
            background-size: cover;
            background-position: top center;
            filter: brightness(0.65);
        }

        .experiencia-content {
            position: relative;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            max-width: 600px;
            color: white;
        }

        .experiencia-content h3 {
            font-size: 3rem;
            font-weight: 800;
            margin-bottom: 10px;
        }

        .experiencia-content p {
            font-size: 1.1rem;
            opacity: 0.85;
            margin-bottom: 20px;
        }

        .experiencia-content a {
            color: white;
            font-weight: bold;
            text-decoration: none;
            border-bottom: 2px solid white;
            width: fit-content;
        }

        .swiper-button-next,
        .swiper-button-prev {
            color: white;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            background: rgba(0, 0, 0, 0.45);
            backdrop-filter: blur(6px);
            transition: all 0.3s ease;
        }

        .swiper-button-next:hover,
        .swiper-button-prev:hover {
            background: rgba(255, 255, 255, 0.2);
        }

        .swiper-button-next::after,
        .swiper-button-prev::after {
            font-size: 18px;
            font-weight: bold;
        }

        .experiencias-title-bar {
            width: 100%;
            background: #000;
            padding: 50px 0;
            margin-bottom: 40px;
        }

        .experiencias-title {
            margin: 0;
            text-align: center;
            font-size: 4rem;
            font-weight: 900;
            color: #fff;
            letter-spacing: 2px;
            font-family: 'Bebas Neue', sans-serif;
        }

        .evento-oculto {
            display: none;
        }

        .titulo-destacado {
            font-weight: 800;
            color: #ffa500;
            text-shadow: 2px 2px 6px #000;
            line-height: 1.05;
            white-space: normal;
            word-break: keep-all;
            overflow-wrap: normal;
            font-size: 4rem;
            display: inline-block;
            transform-origin: left center;
            width: 100%;
        }

        .sidebar-patrocinadores::-webkit-scrollbar {
            width: 6px;
        }

        .sidebar-patrocinadores::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 10px;
        }

        .sidebar-patrocinadores::-webkit-scrollbar-thumb {
            background: #e74040;
            border-radius: 10px;
        }

        .sidebar-patrocinadores::-webkit-scrollbar-thumb:hover {
            background: #c41a2a;
        }

        /* HISTORIAS SLIDER - Ahora sí permite múltiples slides visibles */
        .historias-slider {
            height: 100%;
            width: 100%;
            padding: 0 20px;
        }

        .historias-slider .swiper-slide {
            height: 100%;
            width: auto;
            align-items: center;
        }

        /* TARJETA HISTORIA - Tamaño controlado y proporción fija */
        .tarjeta-historia-grande {
            width: 100%;
            max-width: 420px;
            height: 100%;
            aspect-ratio: unset;
            border-radius: 32px;
            overflow: hidden;
            position: relative;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
        }

        .tarjeta-historia-grande img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            display: block;
        }

        /* Glow border sigue igual */
        .glow-border {
            position: absolute;
            inset: -18px;
            border-radius: 40px;
            background: linear-gradient(45deg, #ff003c, #ff7a7a, #ff003c);
            background-size: 400% 400%;
            animation: glowPulse 6s ease infinite;
            z-index: -1;
            filter: blur(22px);
            opacity: 0.9;
        }

        /* Paginación */
        .historias-slider .swiper-pagination {
            position: relative;
            margin-top: 20px;
        }

        /* Arreglos para responsividad */
        @media (min-width: 992px) {
            .filters .row>div {
                flex: 0 0 20%;
                max-width: 20%;
            }
        }

        .hero .container {
            max-width: 100%;
            padding-left: 15px;
            padding-right: 15px;
        }

        #lista-eventos {
            background: #212123;
            border-radius: 20px;
            padding: 24px 5% 16px;
            max-height: 500px;
            overflow-y: auto;
            transition: all .3s ease;
            scrollbar-width: thin;
            scrollbar-color: var(--primary) #212123;
        }

        #lista-eventos::-webkit-scrollbar {
            width: 8px;
        }

        #lista-eventos::-webkit-scrollbar-thumb {
            background: var(--primary);
            border-radius: 4px;
        }

        .evento-lista-item {
            align-items: center;
        }

        .modal-content {
            overflow: hidden;
            margin-top: 100px;
        }

        .offcanvas {
            width: 80% !important;
            max-width: 300px;
        }

        @keyframes glowPulse {
            0% {
                background-position: 0% 50%;
            }

            50% {
                background-position: 100% 50%;
            }

            100% {
                background-position: 0% 50%;
            }
        }

        /* ========== MEJORAS DE RESPONSIVIDAD ========== */

        /* Tablets (max-width: 991.98px) */
        @media (max-width: 991.98px) {
            .hero h2 {
                font-size: 5rem !important;
            }

            .tarjeta-historia-grande {
                max-width: 350px;
            }
        }

        /* Móviles (max-width: 767.98px) */
        @media (max-width: 767.98px) {
            .logo-img {
                height: 60px;
            }

            .hero h2 {
                font-size: 3rem !important;
                line-height: 1;
            }

            .experiencia-slide {
                height: 50vh;
                min-height: 350px;
            }

            .experiencia-content h3 {
                font-size: 1.8rem;
            }

            .tarjeta-historia-grande {
                max-width: 300px;
                height: auto;
            }

            footer {
                padding: 40px 15px;
            }

            #buscador {
                width: 100% !important;
                max-width: none;
            }

            .sidebar-events {
                max-height: 300px;
            }
        }

        /* Extra pequeños (max-width: 575.98px) */
        @media (max-width: 575.98px) {
            .hero h2 {
                font-size: 2.5rem !important;
            }

            .tarjeta-historia-grande {
                max-width: 260px;
            }

            .experiencia-slide {
                height: 45vh;
                min-height: 300px;
            }

            .experiencia-content h3 {
                font-size: 1.5rem;
            }

            .event-card,
            .position-relative.rounded-4 {
                height: auto !important;
                min-height: 280px;
            }
        }

        /* ========== RESPONSIVIDAD MEJORADA ========== */

        /* Título Hero responsive */
        .hero-title-responsive {
            font-size: clamp(4rem, 12vw, 12rem) !important;
            white-space: nowrap;
        }

        /* Evitar desbordamiento del título */
        .hero .col-xl-7 {
            overflow: hidden;
        }

        /* Buscador responsive */
        .search-responsive {
            width: clamp(120px, 100%, 180px) !important;
        }

        @media (max-width: 1199.98px) {

            /* Separar título de carrusel cuando colapsan */
            .hero .col-xl-7 {
                margin-bottom: 3rem;
                overflow: visible;
            }

            .hero .col-xl-5 {
                margin-top: 2rem;
            }

            /* Título más grande cuando columnas colapsan (ocupa todo el ancho) */
            .hero-title-responsive {
                font-size: clamp(5rem, 18vw, 14rem) !important;
            }
        }

        @media (max-width: 991.98px) {
            .patrocinadores-sidebar {
                margin-top: 2rem;
            }
        }

        @media (max-width: 767.98px) {

            /* Título grande en móvil */
            h2.hero-title-responsive {
                font-size: clamp(3rem, 14vw, 6rem) !important;
                white-space: normal !important;
                line-height: 1.1 !important;
            }

            #lista-eventos {
                max-height: 380px;
            }

            .search-responsive {
                width: 100% !important;
                margin-top: 10px;
            }

            footer .col-lg-4 {
                margin-bottom: 2rem;
            }

            .footer-form-container {
                max-width: 100% !important;
            }

            /* Separar logo de filtros en móvil */
            header .col-lg-3 {
                text-align: center;
                margin-bottom: 1rem;
            }

            .filters {
                margin-top: 0.5rem;
            }

            .logo-img {
                height: 70px;
            }

            .tarjeta-historia-grande {
                width: 300px !important;
                height: 420px !important;
                max-width: 90vw;
            }
        }

        @media (max-width: 575.98px) {
            .filter-group {
                padding: 10px 12px;
            }

            .icono-filtro img {
                width: 18px;
                height: 18px;
            }

            .evento-lista-item {
                padding: 8px !important;
            }

            .evento-lista-item .col-auto>div {
                width: 70px !important;
                height: 70px !important;
            }

            .evento-lista-item img {
                width: 100% !important;
                height: 100% !important;
                object-fit: cover !important;
            }

            .tarjeta-historia-grande {
                width: 280px !important;
                height: 400px !important;
                max-width: 95vw;
            }

            #lista-eventos {
                max-height: 350px;
            }
        }

        /* ========== MODO BÚSQUEDA ========== */
        body.modo-busqueda {
            background: #000 !important;
            display: block !important;
            height: auto !important;
            min-height: 100vh;
        }

        .modo-busqueda .hero,
        .modo-busqueda #experiencias,
        .modo-busqueda .patrocinadores-sidebar,
        .modo-busqueda .experiencias-title-bar,
        .modo-busqueda #eventos {
            /* ¡ESTA ES LA LÍNEA NUEVA! */
            display: none !important;
        }

        /* Contenedor especial para resultados de búsqueda */
        #resultados-busqueda {
            display: none;
            padding: 40px 0 90px;
            background: white;
            min-height: 70vh;
            position: relative;
            z-index: 1;
        }

        .modo-busqueda #resultados-busqueda {
            display: block;
            min-height: auto;
        }

        .modo-busqueda #resultados-busqueda .container {
            position: relative;
            z-index: 2;
            padding-bottom: 40px;
        }

        .modo-busqueda footer.site-footer {
            clear: both;
            margin-top: 0;
            position: relative;
            z-index: 3;
        }

        /* Título de resultados */
        .titulo-resultados {
            text-align: center;
            font-size: 2.5rem;
            font-weight: 900;
            color: #e74040;
            margin-bottom: 40px;
            font-family: 'Bebas Neue', sans-serif;
        }

        /* Grid para tarjetas en modo búsqueda */
        .grid-resultados {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 30px;
            padding: 0 20px;
        }

        /* Botón para limpiar búsqueda */
        #limpiar-busqueda {
            background: #e74040;
            color: white;
            border: none;
            padding: 10px 25px;
            border-radius: 30px;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s;
            display: block;
            margin: 30px auto;
        }

        #limpiar-busqueda:hover {
            background: #c41a2a;
            transform: scale(1.05);
        }

        /* Tarjetas de resultados */
        .resultado-card {
            transition: transform 0.3s ease;
        }

        .resultado-card:hover {
            transform: translateY(-10px);
        }

        .resultado-card img {
            transition: transform 0.5s ease;
        }

        .resultado-card:hover img {
            transform: scale(1.05);
        }

        /* Para que las tarjetas de resultados se vean bien */
        .resultado-card .position-relative {
            background: #000;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .titulo-arma-tu-plan {
            text-align: center;
            font-family: 'Bebas Neue', sans-serif;
            font-weight: 900;
            color: #e74040;
            line-height: 1;
            width: 100%;
            margin: 0 auto 1.5rem;
            padding: 0;
            white-space: nowrap;
            overflow: visible;
            display: block;

            /* Escala perfectamente en TODOS los dispositivos */
            font-size: clamp(2.5rem, 8vw, 7rem) !important;

            /* Garantiza que esté en su columna */
            position: relative;
            z-index: 1;
        }

        /* En móviles muy pequeños, ajusta pero mantén la frase */
        @media (max-width: 400px) {
            .titulo-arma-tu-plan {
                font-size: clamp(1.8rem, 6vw, 2.5rem) !important;
                white-space: normal;
                line-height: 1.1;
            }
        }


        /* Scroll personalizado para el modal */
        .modal-info-scroll::-webkit-scrollbar {
            width: 6px;
        }

        .modal-info-scroll::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 10px;
        }

        .modal-info-scroll::-webkit-scrollbar-thumb {
            background: #e74040;
            border-radius: 10px;
        }

        .modal-info-scroll::-webkit-scrollbar-thumb:hover {
            background: #c41a2a;
        }

        /* ========== ESTILOS PARA CALENDARIO ========== */
        .calendar-day {
            width: calc(100% / 7);
            aspect-ratio: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            border-radius: 8px;
            transition: all 0.2s ease;
            font-size: 0.9rem;
            margin: 2px 0;
        }

        .calendar-day:hover:not(.disabled-day) {
            background: rgba(255, 255, 255, 0.1);
        }

        .calendar-day.selected {
            background: #e74040 !important;
            color: white !important;
            font-weight: bold;
        }

        .calendar-day.today {
            background: rgba(231, 64, 64, 0.2);
            border: 1px solid #e74040;
        }

        .calendar-day.disabled-day {
            color: #666;
            cursor: not-allowed;
            opacity: 0.5;
        }

        .calendar-day.empty-day {
            visibility: hidden;
        }

        /* Para el modal del calendario */
        #calendarioModal .modal-dialog {
            max-width: 400px;
        }

        #calendarioModal .modal-content {
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
        }

        /* Estilos para modales posicionados a la derecha */
        .modal-dialog-end {
            margin-left: auto;
            margin-right: 0;
        }

        .modal-dialog-end.modal-lg {
            max-width: 45%;
        }

        @media (max-width: 992px) {
            .modal-dialog-end.modal-lg {
                max-width: 55%;
            }
        }

        @media (max-width: 768px) {

            .modal-dialog-end,
            .modal-dialog-end.modal-lg {
                margin-left: 0;
                margin-right: 0;
                max-width: 100%;
            }
        }

        /* Responsive */
        @media (max-width: 576px) {
            #calendarioModal .modal-dialog {
                margin: 10px;
            }

            .calendar-day {
                font-size: 0.85rem;
                padding: 4px;
            }
        }

        /* ========== TOAST NOTIFICATIONS ========== */

        .custom-toast {
            background: #111;
            color: #eee;
            border-radius: 14px;
            padding: 14px 18px;
            min-width: 260px;
            box-shadow: 0 12px 30px rgba(0, 0, 0, .6);
            border: 1px solid #2a2a2a;
            backdrop-filter: blur(6px);
        }

        /* Tipos */
        .toast-success {
            border-left: 4px solid #3ddc97;
        }

        .toast-error {
            border-left: 4px solid #e74040;
        }

        .toast-warning {
            border-left: 4px solid #f5c16c;
        }

        .toast-body {
            font-size: .9rem;
            font-weight: 500;
            letter-spacing: .3px;
        }

        /* Animación suave */
        .toast.show {
            animation: slideIn .4s ease;
        }

        @keyframes slideIn {
            from {
                transform: translateX(40px);
                opacity: 0;
            }

            to {
                transform: translateX(0);
                opacity: 1;
            }
        }

        .filter-group {
            min-width: 25%;
            /* ajústalo a tu diseño */
            flex: 1 1 220px;
        }

        /* Añade esto en tu sección de estilos */
        .pagination .page-link {
            background: #000;
            color: white;
            border: 1px solid #e74040;
            margin: 0 5px;
            border-radius: 8px;
        }

        .pagination .page-link:hover {
            background: #e74040;
            border-color: #e74040;
        }

        .pagination .active .page-link {
            background: #e74040;
            border-color: #e74040;
        }