#filtroEventos {
    margin-top: 2rem;
    max-width: 88rem;
 }
 
 /* ESTILOS PARA DESKTOP (≥992px) */
 .filter-desktop-container {
     background-color: var(--color-cardeventos);
     padding: 0.8rem 1.1rem;
     border-radius: 3.25rem;
     display: flex;
     align-items: center;
     box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
     margin-bottom: 0.9375rem;
     width: 100%;
     flex-wrap: nowrap;
     justify-content: space-between;
 }
 
 .filter-desktop-title {
     color: var(--color-filtroeventos);
     display: flex;
     align-items: center;
     gap: 0.25rem;
     font-size: 24px;
     font-family: outfit;
     font-style: medium;
     white-space: nowrap;
     flex: 0 0 auto;
     margin-right: 0rem;
 }
 .filtro-eventos-icon path {
    fill: var(--color-filtroeventos);
}
 .filter-desktop-controls {
     display: flex;
     align-items: center;
     justify-content: space-between;
     flex: auto;
     min-width: 0;
     flex-wrap: wrap;
 }
 
 .select-desktop-wrapper {
     position: relative;
     width: 6rem;
     min-width: 6rem;
     flex: 1 1 auto;
     margin: 0.25rem 0.3rem;
 }
 
 .clear-desktop-selection {
     position: absolute;
     left: 0.3125rem;
     top: 46%;
     transform: translateY(-50%);
     cursor: pointer;
     display: none;
     padding: 0.3125rem;
     z-index: 2;
 }
 
 /* Select personalizado */
 .custom-desktop-select,
 .custom-tablet-select {
     appearance: none !important;
     -webkit-appearance: none !important;
     -moz-appearance: none !important;
     background-image: none !important;
     width: 100%;
     padding: 0.5rem 1.5rem;
     border: 2px solid var(--color-text-blackandwhite) !important; /* Cambiado a blanco */
     border-radius: 1.5625rem !important;
     cursor: pointer;
     background-color: var(--color-cardeventos) !important;
     color: var(--color-text-blackandwhite) !important; /* Cambiado a blanco */
     transition: all 0.3s ease;
     text-overflow: ellipsis;
     overflow: hidden;
     white-space: nowrap;
     padding-right: 40px !important;
     padding-left: 35px !important;
 }
 
 .custom-desktop-select option,
 .custom-tablet-select option {
     color: var(--color-text-blackandwhite);
     background-color: var(--color-cardeventos);
 }
 .custom-desktop-select::placeholder,
 .custom-tablet-select::placeholder {
     color: var(--color-text-blackandwhite); 
 }
 .custom-desktop-select:focus,
 .custom-tablet-select:focus {
     border-color:var(--color-filtroeventos);
     box-shadow: none;
     outline: none;
     background-color: rgb(255, 255, 255);
 }
 
 .custom-desktop-select.selected,
 .custom-tablet-select.selected {
     border-color: var(--color-filtroeventos) !important;
     background-color: rgba(219, 8, 20, 0.1) !important;
     color:var(--color-filtroeventos) !important;
 }
 
 /* Contenedor del select para posicionar el ícono */
 .select-wrapper {
     position: relative;
     display: inline-block;
     width: 100%;
 }
 
 /* Estilos para los íconos */
 .select-icon {
     position: absolute;
     right: 15px;
     top: 50%;
     transform: translateY(-50%);
     pointer-events: none;
     z-index: 1;
 }
 
 .select-icon.tema-icon svg {
     width: 11px;
     height: 6px;
 }
 
 .select-icon.categoria-icon svg {
     width: 11px;
     height: 6px;
 }
 
 .select-icon.fecha-icon svg,
 .select-icon.popularidad-icon svg {
     width: 11px;
     height: 12px;
 }
 
 /* Buscadores */
 .search-desktop-container,
 .search-tablet-container,
 .search-mobile-container {
     background-color: var(--color-cardeventos);
     border-radius: 2rem;
     padding: 0.625rem 0.875rem;
     box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
     margin-top: 1rem;
     max-width: 100%;
     display: none;
 }
 
 .search-desktop-container.visible,
 .search-tablet-container.visible,
 .search-mobile-container.visible {
     display: block;
     animation: fadeIn 0.3s ease;
 }
 
 @keyframes fadeIn {
     from {
         opacity: 0;
         transform: translateY(-10px);
     }
     to {
         opacity: 1;
         transform: translateY(0);
     }
 }
 
 .input-group-desktop,
 .input-group-tablet,
 .input-group-mobile {
     display: flex;
     gap: 0.75rem;
     align-items: center;
 }
 
 .position-desktop-relative,
 .position-tablet-relative,
 .position-mobile-relative {
     position: relative;
     flex: 1;
     display: flex;
     align-items: center;
 }
 
 /* Estilos para inputs de desktop y tablet */
 .search-desktop-input, .search-tablet-input {
     font-size: 0.9rem;
     width: 100%;
     height: 2.75rem;
     background-color: var(--color-cardeventos) !important;
     color: var(--color-text-blackandwhite) !important;
     transition: 0.3s;
     border: 2px solid var(--color-text-blackandwhite) !important;
     border-radius: 1.5625rem !important;
     padding: 0.625rem 45px 0.625rem 1rem !important;
 }
 
 /* Para el placeholder del input */
 .search-desktop-input::placeholder,
 .search-tablet-input::placeholder {
     color: var(--color-text-blackandwhite) !important;
     opacity: 0.7; /* Cambiado a 0.7 para mayor contraste */
 }
 
 /* Para Firefox */
 .search-desktop-input::-moz-placeholder,
 .search-tablet-input::-moz-placeholder {
     color: var(--color-text-blackandwhite);
 }
 
 /* Para webkit browsers */
 .search-desktop-input::-webkit-input-placeholder,
 .search-tablet-input::-webkit-input-placeholder {
     color: var(--color-text-blackandwhite);
 }
 
 /* Estilos específicos para input móvil */
 .search-mobile-input {
     border: 2px solid var(--color-text-blackandwhite) !important;
     border-radius: 1.25rem !important;
     padding: 0.5rem 0.75rem !important;
     padding-right: 35px !important;
     font-size: 0.85rem;
     width: 100%;
     height: 2.25rem !important;
     transition: all 0.3s ease;
     background-color: var(--color-cardeventos) !important; /* Añadido el background con la variable */
     color: var(--color-text-blackandwhite) !important;
 }
 
 /* Estados focus para desktop/tablet */
 .search-desktop-input:focus,
 .search-tablet-input:focus {
     box-shadow: none;
     border-color: var(--color-filtroeventos);
     outline: none;
 }
 
 /* Estado focus para móvil */
 .search-mobile-input:focus {
     box-shadow: none;
     border-color:var(--color-filtroeventos);
     outline: none;
 }
 
 /* Estilos para el contenedor del ícono de búsqueda */
 .search-desktop-icon-container,
 .search-tablet-icon-container,
 .search-mobile-icon-container {
     position: absolute;
     right: 15px;
     top: 50%;
     transform: translateY(-50%);
     pointer-events: none;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 20px;
     height: 20px;
 }
 
 /* Ajustar el tamaño del SVG dentro del contenedor */
 .search-desktop-icon-container svg,
 .search-tablet-icon-container svg,
 .search-mobile-icon-container svg {
     width: 100%;
     height: 100%;
     max-width: 16px;
     max-height: 16px;
 }
 
 /* Ajustes para la transición del botón */
 .search-desktop-button,
 .search-tablet-button {
     transition: all 0.2s ease-in-out;
     background-color:var(--color-filtroeventos) !important;
     color: white !important;
     border-radius: 1.5625rem !important;
     padding: 0.625rem 1.75rem !important;
     font-size: 0.9rem;
     min-width: 7.5rem;
     height: 2.75rem;
     border: none !important;
 }
 
 /* Estilo específico para el botón móvil - MÁS PEQUEÑO */
 .search-mobile-button {
     transition: all 0.2s ease-in-out;
     background-color: var(--color-filtroeventos) !important;
     color: white !important;
     border-radius: 1.25rem !important;
     font-size: 0.85rem !important;
     padding: 0.5rem 0.75rem !important;
     min-width: 4.3rem !important;
     max-width: 5rem !important;
     width: auto !important;
     height: 2.25rem !important;
     border: none !important;
 }
 
 /* Estilo hover combinado para todos los botones de búsqueda */
 .search-desktop-button:hover,
 .search-tablet-button:hover,
 .search-mobile-button:hover {
     background-color:var(--color-filtroeventos) !important;
     opacity: 0.9;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
 }
 
 /* Asegurar que el buscador móvil esté siempre visible */
 .search-mobile-container {
     display: block !important;
     margin-top: 15px;
     margin-bottom: 15px;
     opacity: 1 !important;
 }
 
 /* Ajustar el grupo de input móvil para que el botón más pequeño se alinee correctamente */
 .input-group-mobile {
     display: flex;
     gap: 0.75rem;
     align-items: center;
 }
 /* Para el ícono de flecha */
 .arrow-mobile-icon path {
     fill: var(--color-text-blackandwhite) !important;
 }
 .select-icon.tema-icon svg path,
 .select-icon.categoria-icon svg path,
 .select-icon.popularidad-icon svg path,
 .select-icon.fecha-icon svg path {
     fill: var(--color-text-blackandwhite) !important;
 }
 /* Para todos los íconos cuando están seleccionados */
 .select-icon.tema-icon .icon-selected path,
 .select-icon.categoria-icon .icon-selected path,
 .select-icon.popularidad-icon .icon-selected path,
 .select-icon.fecha-icon .icon-selected path {
     fill: var(--color-filtroeventos) !important;
 }
 /* Estilos para el input móvil y su placeholder */
 .search-mobile-input::placeholder {
     color: var(--color-text-blackandwhite) !important;
     opacity: 1;
 }
 /* ESTILOS PARA TABLET */
 .filter-tablet-container {
     background-color: var(--color-cardeventos) !important;
     padding: 0.75rem 1.5rem;
     border-radius: 2.5rem;
     display: flex;
     align-items: center;
     gap: 0.4rem;
     box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
     margin-bottom: 0.75rem;
     width: 100%;
     flex-wrap: nowrap;
 }
 
 .filter-tablet-title {
     color: var(--color-filtroeventos);
     display: flex;
     align-items: center;
     gap: 0.25rem;
     font-size: 22px;
     font-family: outfit;
     font-style: medium;
     font-weight: 500;
     white-space: nowrap;
     flex: 0 0 auto;
     padding-right: 0.5rem;
 }
 
 .filter-tablet-controls {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    justify-content: space-around;
    flex: 1 1 auto;    
    min-width: 0;
    flex-wrap: wrap;
}
 
 .select-tablet-wrapper {
     position: relative;
     width: 8rem;
     min-width: 3rem;
     flex: 0 1 auto;
     margin: 0.25rem 0;
     overflow: visible;
 }
 
 .clear-tablet-selection {
     position: absolute;
     left: 12px;
     top: 50%;
     transform: translateY(-50%);
     cursor: pointer;
     display: none;
     padding: 0.25rem;
     z-index: 2;
 }
 
 /* ESTILOS PARA MÓVIL */
 .filter-mobile-button-container {
     margin-bottom: 0.75rem;
 }
 
 .filter-mobile-toggle-button {
     background-color: white;
     border: none;
     border-radius: 2rem;
     padding: 0.625rem 1rem;
     width: 100%;
     text-align: left;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 }
 
 .filter-mobile-button-text {
     color:var(--color-filtroeventos);
     font-family: Outfit;
     font-size: 22px;
     font-style: normal;
     font-weight: 500;
     margin-left: 0.5rem;
     display: flex;
 }
 
 .filters-mobile-panel {
     background-color: var(--color-cardeventos) !important;
     border-radius: 1rem;
     margin-bottom: 0.75rem;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
     overflow: hidden;
 }
 
 .filters-mobile-container {
     padding: 0.625rem;
     color: var(--color-text-blackandwhite)  !important;
 }
 
 .filter-mobile-section {
     border-bottom: 1px solid #e0e0e0;
 }
 
 .filter-mobile-section:last-child {
     border-bottom: none;
 }
 
 .filter-mobile-header {
     padding: 0.75rem 0.5rem;
     cursor: pointer;
 }
 
 .filter-mobile-title-text {
    font-family: Outfit;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px;
     color: var(--color-text-blackandwhite) !important;
 }
 
 .filter-mobile-content {
     display: none;
     padding: 0.5rem;
     background-color: var(--color-cardeventos) !important;
 }
 .filter-mobile-toggle-button {
     background-color: var(--color-cardeventos) !important;
     border: none;
     border-radius: 2rem;
     padding: 0.625rem 1rem;
     width: 100%;
     text-align: left;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 }
 .list-mobile-unstyled {
     list-style: none;
     padding: 0;
     margin: 0;
 }
 
 .list-mobile-unstyled li {
     padding: 0.625rem 0.5rem;
     cursor: pointer;
     font-size: 0.875rem;
     border-radius: 0.5rem;
     transition: background-color 0.2s ease;
 }
 
 .list-mobile-unstyled li:hover {
     background-color: rgba(131, 35, 105, 0.05);
 }
 
 .list-mobile-unstyled li.selected {
     background-color: rgba(131, 35, 105, 0.1);
     color: var(--color-filtroeventos);
     font-weight: 500;
 }
 
 .arrow-mobile-icon {
     transition: transform 0.3s ease;
 }
 
 .filter-mobile-header[aria-expanded="true"] .arrow-mobile-icon {
     transform: rotate(180deg);
 }
 
 /* Estados focus para quitar difuminado */
 .search-desktop-input:focus-visible,
 .search-tablet-input:focus-visible,
 .search-mobile-input:focus-visible,
 .custom-desktop-select:focus-visible,
 .custom-tablet-select:focus-visible {
     outline: none;
 }
 
 /* Para Firefox específicamente */
 .custom-desktop-select::-ms-expand,
 .custom-tablet-select::-ms-expand {
     display: none;
 }
 
 /* Rotación del ícono cuando el select está abierto */
 select:focus + .select-icon svg {
     transform: rotate(180deg);
 }
 
 .select-icon svg {
     transition: transform 0.3s ease;
 }
 
 /* Ajustes específicos para cada tipo de ícono */
 .select-icon.tema-icon {
     right: 12px;
 }
 
 .select-icon.categoria-icon {
     right: 12px;
 }
 
 .select-icon.popularidad-icon,
 .select-icon.fecha-icon {
     right: 15px;
 }
 
 /* Ajustar comportamiento de las flechas */
 .select-desktop-wrapper select.selected ~ .arrow-icon,
 .select-tablet-wrapper select.selected ~ .arrow-icon {
     transform: rotate(180deg) !important;
 }
 
 /* Ajustes específicos para los botones de búsqueda */
 .search-desktop-button:hover,
 .search-tablet-button:hover,
 .search-mobile-button:hover {
     background-color: var(--color-filtroeventos) !important;
     opacity: 0.9;
 }
 
 /* Estados adicionales para los selects */
 .custom-desktop-select:disabled,
 .custom-tablet-select:disabled {
     background-color: #f5f5f5;
     cursor: not-allowed;
     opacity: 0.7;
 }
 
 /* Ajustes para la accesibilidad */
 .select-icon:focus-visible {
     outline: 2px solid var(--color-filtroeventos);
     outline-offset: 2px;
     border-radius: 4px;
 }
 
 /* Ajustes para el rendimiento */
 .select-icon svg,
 .search-desktop-icon-container svg,
 .search-tablet-icon-container svg,
 .search-mobile-icon-container svg {
     will-change: transform;
 }
 
 /* Ajustes para cross-browser */
 .custom-desktop-select,
 .custom-tablet-select {
     text-align-last: left;
     -moz-text-align-last: left;
 }
 
 /* Ajustes para el espaciado */
 .select-wrapper:not(:last-child) {
     margin-right: 0.5rem;
 }
 
 /* Ajustes para el foco del botón */
 .search-desktop-button:focus-visible,
 .search-tablet-button:focus-visible,
 .search-mobile-button:focus-visible {
     outline: 2px solid var(--color-filtroeventos);
     outline-offset: 2px;
 }
 
 /* Estilos base del botón circular */
 .circle-button-desktop,
 .circle-button-tablet {
     width: 38px;
     height: 38px;
     border-radius: 50%;
     border: 2px solid var(--color-filtroeventos);
     background-color: transparent;
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
     cursor: pointer;
     transition: all 0.3s ease;
 }
 
 /* Posicionamiento de los íconos */
 .search-icon-inactive,
 .search-icon-active {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     width: 14px;
     height: 14px;
 }
 
 /* Estado inicial */
 .search-icon-inactive {
     display: block;
 }
 
 .search-icon-active {
     display: none;
 }
  /* Estilos para los íconos SVG */
.select-icon.popularidad-icon svg path,
.select-icon.fecha-icon svg path {
    stroke: var(--color-text-blackandwhite) !important;
}
 /* Estado activo */
 .circle-button-desktop.active,
 .circle-button-tablet.active {
     background-color: var(--color-filtroeventos);
 }
 
 .circle-button-desktop.active .search-icon-inactive,
 .circle-button-tablet.active .search-icon-inactive {
     display: none !important;
 }
 
 .circle-button-desktop.active .search-icon-active,
 .circle-button-tablet.active .search-icon-active {
     display: block !important;
 }
 
 .filter-mobile-title-text .selected-value {
     color:var(--color-filtroeventos);
     margin-left: 5px;
     font-weight: 500;
 }
 
 .filter-mobile-header[aria-expanded="true"] .filter-mobile-title-text .selected-value {
     display: none;
 }