@import"https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400;500;600;700&display=swap";

:root {
    --font-montserrat: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, sans-serif
}

html {
    --container-lg: 32rem;
    --container-3xl: 48rem;
    --container-5xl: 64rem;
    --container-4xl: 56rem;
    --container-7xl: 1140px;
    --letra-xs: .75rem;
    --letra-sm: .875rem;
    --letra-md: 1rem;
    --letra-lg: 1.125rem;
    --letra-2xl: 1.5rem;
    --letra-3xl: 1.875rem;
    --letra-4xl: 2.45rem;
    --letra-5xl: 3rem;
    --reestablecerLetra: 1;
    --letra8: calc(8px * var(--reestablecerLetra));
    --letra9: calc(9px * var(--reestablecerLetra));
    --letra10: calc(10px * var(--reestablecerLetra));
    --letra11: calc(11px * var(--reestablecerLetra));
    --letra12: calc(12px * var(--reestablecerLetra));
    --letra13: calc(13px * var(--reestablecerLetra));
    --letra14: calc(14px * var(--reestablecerLetra));
    --letra15: calc(15px * var(--reestablecerLetra));
    --letra16: calc(16px * var(--reestablecerLetra));
    --letra17: calc(17px * var(--reestablecerLetra));
    --letra18: calc(18px * var(--reestablecerLetra));
    --letra20: calc(20px * var(--reestablecerLetra));
    --letra21: calc(21px * var(--reestablecerLetra));
    --letra22: calc(22px * var(--reestablecerLetra));
    --letra23: calc(23px * var(--reestablecerLetra));
    --letra24: calc(24px * var(--reestablecerLetra));
    --letra25: calc(25px * var(--reestablecerLetra));
    --letra26: calc(26px * var(--reestablecerLetra));
    --letra27: calc(27px * var(--reestablecerLetra));
    --letra28: calc(28px * var(--reestablecerLetra));
    --letra30: calc(30px * var(--reestablecerLetra));
    --letra32: calc(32px * var(--reestablecerLetra));
    --letra33: calc(33px * var(--reestablecerLetra));
    --letra35: calc(35px * var(--reestablecerLetra));
    --letra38: calc(38px * var(--reestablecerLetra));
    --letra36: calc(36px * var(--reestablecerLetra));
    --letra40: calc(40px * var(--reestablecerLetra));
    --letra50: calc(50px * var(--reestablecerLetra));
    --letra58: calc(58px * var(--reestablecerLetra));
    --letra68: calc(68px * var(--reestablecerLetra));
    --letra88: calc(88px * var(--reestablecerLetra));
    --letra142: calc(142px * var(--reestablecerLetra));
    font-style: normal
}

#buscador-root {
    font-family: var(--font-montserrat), system-ui, sans-serif !important
}

html {
    --colorAzul: #00aeef;
    --colorAzul-claro: #2cb4e6;
    --colorAzul-claro-escala2: #E1EDFF31;
    --colorAzul-claro-escala3: #eaf6fd;
    --colorAzul-oscuro: #0081b1;
    --colorAzul-oscuro-escala2: #1F96B2;
    --colorAzul-oscuro-escala3: #101f38;
    --colorVerdeBuscador: #3f858b;
    --colorVerdeBuscador-escala2: #ebf5f2;
    --colorVino: #7a1f1f;
    --colorVino-escala: #8c2a2a;
    --colorBlanco: #FFF;
    --colorBlanco-escala-2: #f1f1f1;
    --colorBlanco-escala-3: #d6dadb;
    --colorBlanco-escala-4: #e2e0e056;
    --colorGris: #b9bdc2;
    --colorGris-escala-2: #292524;
    --colorGris-escala-3: #46423d;
    --colorGris-escala-4: #9ca3af;
    --colorGris-escala-5: #9B9B9B;
    --colorNegro: #000;
    --colorNegro-escala-2: #0f0f0f;
    --colorNegro-escala-3: #0B1526
}

:root {
    --colorBackgroundGeneral: var(--colorBlanco);
    --colorForegroundGeneral: var(--colorNegro-escala-2);
    --colorTituloBuscador: var(--colorAzul-oscuro-escala2);
    --colorAvisoInformativo: var(--colorGris-escala-3);
    --colorFuncionesBarraBusqueda: var(--colorAzul-oscuro-escala2);
    --colorBackgroundBarraBusqueda: var(--colorBlanco);
    --colorSombraBarraBusqueda: color-mix(in srgb, var(--colorAzul-oscuro-escala2) 20%, transparent);
    --colorBordesBarraBusqueda: color-mix(in srgb, var(--colorNegro-escala-2) 20%, transparent);
    --colorBordesBarraBusquedaActiva: var(--colorAzul-oscuro-escala2);
    --colorBackgroundBotonBusquedaActivo: var(--colorAzul-oscuro-escala2);
    --colorSimbolosActivosBarraBusqueda: var(--colorBlanco-escala-2);
    --colorBackgroundEtiquetaTipo: var(--colorVerdeBuscador-escala2);
    --colorEtiquetaTipo: var(--colorVerdeBuscador);
    --colorIconosMetaResultado: var(--colorVerdeBuscador);
    --colorBackgroundResultados: color-mix(in srgb, var(--colorBlanco-escala-2) 70%, transparent);
    --colorBordesResultados: color-mix(in srgb, var(--colorNegro-escala-2) 20%, transparent);
    --colorResultadoHover: color-mix(in srgb, var(--colorGris) 20%, transparent);
    --colorOpcionVentanaResultadoHover: var(--colorAzul-oscuro);
    --colorTituloResultado: var(--colorAzul-oscuro);
    --colorCaracteristicasResultado: var(--colorNegro);
    --colorContenidoResultado: var(--colorGris-escala-3);
    --colorBackgroundSugerenciasBusqueda: color-mix(in srgb, var(--colorBlanco-escala-2) 70%, transparent);
    --colorBordeSugerenciasBusqueda: color-mix(in srgb, var(--colorNegro-escala-2) 20%, transparent);
    --colorHoverSugerenciasBusqueda: color-mix(in srgb, var(--colorNegro-escala-2) 20%, transparent);
    --colorBotonModoIa: var(--colorBlanco);
    --colorBackgroundBotonModoIa: var(--colorAzul-oscuro-escala2);
    --colorBackgroundBotonModoIaHover: var(--colorAzul-oscuro-escala2);
    --colorBotonModoIaHover: var(--colorBlanco);
    --colorBotonActivoModoIa: var(--colorAzul-oscuro-escala2);
    --colorBackgroundTarjetaConsejosBusqueda: var(--colorAzul-claro-escala2);
    --colorItemConsejoBusqueda: var(--colorGris-escala-5);
    --colorBordeFiltro: var(--colorNegro-escala-2);
    --colorSombraFiltro: color-mix(in srgb, var(--colorAzul-oscuro-escala2) 20%, transparent);
    --colorBordeFiltroActivo: var(--colorAzul-oscuro-escala2);
    --colorBackgroundModales: var(--colorBlanco);
    --colorTituloModales: var(--colorAzul-oscuro-escala2);
    --colorBordesModales: color-mix(in srgb, var(--colorNegro-escala-2) 20%, transparent);
    --colorBotonModales: var(--colorAzul-oscuro-escala2);
    --colorBotonActivoModales: var(--colorAzul-claro-escala2);
    --colorBotonSecundarioModales: var(--colorGris-escala-4);
    --colorBotonSecundarioActivoModales: var(--colorNegro-escala-2);
    --colorBotonPaginacion: var(--colorBlanco-escala-3);
    --colorBotonHoverPaginacion: var(--colorGris);
    --colorBackgroundBotonCancelarModales: var(--colorBlanco-escala-2);
    --colorBackgroundFaceta: var(--colorBlanco);
    --colorBackgroundFondoFaceta: color-mix(in srgb, var(--colorGris) 20%, transparent);
    --colorBordesFaceta: color-mix(in srgb, var(--colorNegro-escala-2) 10%, transparent);
    --colorBordesFacetaInterno: color-mix(in srgb, var(--colorAzul-oscuro-escala2) 20%, transparent);
    --colorContadorFaceta: color-mix(in srgb, var(--colorNegro-escala-2) 70%, transparent);
    --colorBackgroundContadorFaceta: color-mix(in srgb, var(--colorGris) 30%, transparent);
    --colorBackgroundFacetaActiva: var(--colorAzul-claro-escala3);
    --colorTituloTarjetaIa: var(--colorAzul-oscuro);
    --colorBackgroundTarjetaIa: var(--colorBlanco-escala-4);
    --colorTextoDisclaimerIa: color-mix(in srgb, var(--colorNegro-escala-2) 40%, transparent);
    --colorBackgroundReferenciaIa: var(--colorAzul-oscuro-escala3);
    --colorReferenciasIa: var(--colorAzul-oscuro-escala3)
}

body {
    background: var(--colorBackgroundGeneral);
    color: var(--colorForegroundGeneral)
}

#buscador-root {
    width: 100%;
    height: 100%
}

.contenedor-body-buscador {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%
}

.contenedor-main {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    width: 100%
}

.contenedor-texto-buscador {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    font-size: var(--letra-5xl);
    max-width: var(--container-7xl);
    width: 100%
}

.titulo-buscador {
    display: none;
    color: var(--colorTituloBuscador);
    font-size: var(--letra-5xl);
    margin-bottom: 0
}

.descripcion-buscador {
    display: none;
    font-size: var(--letra-3xl);
    max-width: var(--container-2xl);
    text-align: center;
    font-weight: lighter;
    margin: 15px 0
}

.contenedor-buscador {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px
}

.panel-resultados-flotante {
    top: 100%;
    margin-top: 40px;
    width: 100%;
    max-width: var(--container-7xl);
    display: flex;
    justify-content: center;
    z-index: 10
}

.contenedor-resultados-modal {
    width: 100%
}

.layout-resultados {
    display: flex;
    gap: 24px
}

.panel-filtros-lateral {
    width: min(30%, 325px);
    position: relative;
    top: 0
}

.contenido-resultados {
    width: 70%
}

.contenedor-loader {
    margin: 60px 0;
    text-align: center
}

.fila-filtros {
    display: flex;
    gap: 16px;
    align-items: flex-end;
    text-align: center
}

@media(max-width:768px) {
    .layout-resultados {
        flex-direction: column
    }

    .panel-filtros-lateral,
    .contenido-resultados {
        width: 100%
    }
}

.contenedor-consejos-busqueda {
    width: 100%;
    max-width: var(--container-7xl)
}

.contenedor-contenido-consejos-busqueda {
    background-color: var(--colorBackgroundTarjetaConsejosBusqueda);
    border-radius: 12px;
    padding: 25px
}

.buscador-formulario {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    align-items: center;
    position: relative;
    width: 100%;
    max-width: var(--container-7xl)
}

@media(min-width:768px) {
    .buscador-formulario {
        flex-direction: row !important
    }
}

.contenedor-boton-modo-jur-ia {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1.875rem
}

.contenedor-boton-modo-jur-ia-mobile {
    display: none !important
}

@media(max-width:556px) {
    .contenedor-boton-modo-jur-ia {
        display: none !important
    }

    .contenedor-boton-modo-jur-ia-mobile {
        display: flex !important;
        margin-bottom: 10px
    }
}

.boton-modo-jur-ia {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    border-radius: 100px;
    border: 1px solid var(--colorBotonModoIa);
    padding: .5em 1em;
    color: var(--colorBotonModoIa);
    transition: background-color .3s ease, color .3s ease, top ease .3s, transform ease .3s;
    text-decoration: none;
    max-height: 75%;
    background-color: var(--colorBackgroundBotonModoIa);
    top: 0;
    position: relative
}

.boton-modo-jur-ia:hover {
    background-color: var(--colorBackgroundBotonModoIaHover);
    color: var(--colorBotonModoIaHover);
    top: -6px
}

.buscador-contenedor:focus-within {
    border-color: var(--colorBordesBarraBusquedaActiva);
    box-shadow: 0 0 0 1px var(--colorBordesBarraBusquedaActiva)
}

.buscador-input {
    flex: 1;
    background: transparent;
    padding: 1.875rem;
    border: none;
    outline: none;
    font-size: var(--letra-lg);
    color: var(--colorNegro-escala-3)
}

.buscador-input::placeholder {
    color: var(--colorGris-escala-2);
    font-weight: lighter;
    font-style: italic;
    opacity: 1
}

.buscador-boton {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 .8rem;
    background: none;
    border: none;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease
}

.buscador-boton-limpiar {
    color: var(--colorFuncionesBarraBusqueda);
	transition: background-color .2s ease, color .2s ease;
}


.buscador-boton-filtros {
    color: var(--colorNegro-escala-2)
}

.buscador-boton-activo {
    color: var(--colorFuncionesBarraBusqueda)
}

.buscador-icono-buscar,
.buscador-icono-filtros {
    transition: transform .2s ease
}

.buscador-boton-buscar:hover .buscador-icono-buscar {
    transform: scale(1.25) rotate(8deg)
}

.buscador-boton:hover .buscador-icono-filtros {
    transform: scale(1.25)
}

.titulo-consejos-busqueda {
    display: flex;
    align-items: center;
    gap: 5px
}

.titulo-consejos-busqueda h2 {
    margin: 0;
    font-weight: 700;
    font-size: var(--letra-3xl)
}

.titulo-consejos-busqueda-imagen img {
    width: 30px;
    height: 30px
}

.panel-resultados {
    width: 100%;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    display: flex;
    flex-direction: column;
    gap: 25px;
    transition: opacity .2s ease, transform .2s ease
}

.panel-resultados-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto
}

.panel-resultados-oculto {
    opacity: 0;
    transform: translateY(.5rem);
    pointer-events: none
}

.panel-resultados-lista {
    display: flex;
    flex-direction: column
}

.lista-consejos-busqueda {
    color: var(--colorItemConsejoBusqueda);
    padding-left: 30px;
    margin: 0;
    font-size: var(--letra-2xl)
}

.lista-consejos-busqueda li::marker {
    font-weight: lighter
}

.panel-resultados-item {
    display: block;
    padding: .75rem 2rem;
    cursor: pointer;
    transition: background-color .2s ease;
    text-decoration: none;
    box-shadow: 0 5px 10px var(--colorSombraBarraBusqueda);
    border-radius: 15px
}

.panel-resultados-item:hover {
    background-color: var(--colorResultadoHover)
}

.panel-resultados-titulo {
    font-size: var(--letra-2xl);
    font-weight: 700;
    color: var(--colorTituloResultado);
    margin: 0
}

.contenedor-etiqueta-tipo {
    background-color: var(--colorBackgroundEtiquetaTipo);
    color: var(--colorEtiquetaTipo);
    border-radius: 8px;
    padding: 2px 8px;
    display: inline-block;
    margin-bottom: 8px
}

.texto-etiqueta-tipo {
    margin: 0
}

.panel-resultados-epigrafe {
    color: var(--colorContenidoResultado);
    margin: 24px 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.panel-resultados-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: var(--letra-sm);
    color: var(--colorCaracteristicasResultado);
    font-weight: 700
}

.contenedor-resultados-meta-entidad,
.contenedor-resultados-meta-anio {
    color: var(--colorIconosMetaResultado);
    display: flex;
    align-items: center;
    gap: 5px
}

.texto-resultado-meta-entidad,
.texto-resultado-meta-anio {
    color: var(--colorGris-escala-3);
    font-weight: 600;
    margin: 0
}

.panel-sugerencias-busqueda {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.panel-sugerencias-visible {
    opacity: 1;
    transform: translateY(0)
}

.panel-sugerencias-oculto {
    opacity: 0;
    transform: translateY(.5rem);
    pointer-events: none
}

.panel-sugerencias-item {
  width: 100%;
  box-sizing: border-box;
}

.panel-sugerencias-item:hover {
    background-color: var(--colorHoverSugerenciasBusqueda)
}

.panel-sugerencias-titulo {
  word-break: break-word;     /* evita desbordes */
}

.panel-sugerencias-resumen-contenedor {
  max-width: 100%;
}

.panel-sugerencias-resumen {
  white-space: normal;        /* 🔥 clave */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;      /* opcional: máximo 2 líneas */
  -webkit-box-orient: vertical;
}

.panel-sugerencias-meta {
    margin: 0;
    color: var(--colorCaracteristicasResultado)
}

.contenedor-tarjeta-mensaje-ia {
    border: 1px var(--colorBordesResultados) solid;
    border-radius: 1rem;
    padding: 15px 1rem;
    background-color: var(--colorBackgroundTarjetaIa);
    font-size: var(--letra-lg)
}

.titulo-tarjeta-mensaje-ia {
    color: var(--colorTituloTarjetaIa);
    font-weight: 700;
    margin: 0 0 5px
}

.disclaimer-tarjeta-mensaje-ia {
    color: var(--colorTextoDisclaimerIa);
    font-weight: 700
}

.mensaje-ia-cerrado {
    display: -webkit-box;
    -webkit-line-clamp: 10;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, black 20%, transparent);
    mask-image: linear-gradient(to bottom, black 20%, transparent)
}

.mensaje-ia {
    white-space: pre-line;
    color: var(--colorContenidoResultado)
}

.boton-desplegar-enlaces-referencias {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: none;
    outline: none;
    background: none
}

.texto-boton-desplegar-enlaces-referencias {
    font-size: var(--letra-lg);
    font-weight: 700
}

.doc-reference {
    background-color: var(--colorBackgroundReferenciaIa);
    outline: none;
    border: none;
    border-radius: 15px;
    color: var(--colorBlanco);
    padding: 2px 10px
}

.referencias-cerrado {
    display: none !important
}

.boton-mostrar-mas-mensaje-ia {
    font-size: var(--letra-lg);
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    border-radius: 20px;
    outline: none;
    border: 1px var(--colorBordesResultados) solid;
    cursor: pointer
}

.contenedor-encabezado-referencia-ia {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.contenedor-enlaces-referencias {
    width: 100%;
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    overflow: hidden
}

.contenedor-referencia-ia {
    flex: 1;
    padding: 1rem;
    border: 1px var(--colorBordesResultados) solid;
    border-radius: 5px;
    color: var(--colorReferenciasIa);
    text-decoration: none
}

.titulo-referencias-ia {
    font-weight: 700;
    font-style: var(--letra-lg);
    margin: 0
}

.contenedor-numero-referencia-ia {
    background-color: var(--colorBackgroundReferenciaIa);
    padding: 5px 12px;
    border-radius: 30px;
    color: var(--colorBlanco);
    font-weight: 700;
    margin-right: 8px
}

.boton-open-contenido-referencias {
    border: none;
    outline: none;
    background: none
}

.contenido-referencia-ia {
    font-size: var(--letra-sm)
}

.link-contenido-referencia-ia {
    font-weight: 700;
    font-size: var(--letra-lg);
    color: var(--colorReferenciasIa)
}

.cargando-mensaje-ia {
    background: linear-gradient(120deg, #9ca3af 40%, #fff, #9ca3af 60%);
    background-size: 200% auto;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    animation: shimmer 1.6s infinite linear
}

@keyframes shimmer {
    to {
        background-position: -200% center
    }
}

@media(prefers-reduced-motion:reduce) {
    .rayo-luz {
        animation: none
    }
}

.es-highlight {
    background: none;
    font-weight: 700
}

.contenedor-ventana-resultados {
    margin-top: .75rem;
    overscroll-behavior: contain
}

.contenedor-header-ventana-resultados {
    display: flex;
    width: min(100%, 950px);
    padding: 10px;
    box-shadow: 0 5px 10px var(--colorSombraBarraBusqueda);
    border-radius: 16px;
    gap: 15px
}

.ventana-resultados-opcion {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--colorGris-escala-4);
    padding: .75rem 1rem;
    font-weight: 700;
    font-size: var(--letra-md);
    cursor: pointer;
    transition: background-color .2s ease;
    text-decoration: none;
    border: none;
    background: none;
    border-radius: 13px
}

.ventana-resultados-opcion-activa,
.ventana-resultados-opcion:hover {
    background: linear-gradient(20deg, var(--colorOpcionVentanaResultadoHover), #00efce47) !important;
    font-weight: bolder !important;
    color: var(--colorBlanco) !important
}

.contenedor-contenido-ventana-resultados {
    display: flex;
    flex-direction: column;
    gap: 15px
}

.contenedor-ver-mas-resultados {
    border: none;
    background: none;
    cursor: pointer;
    margin: 5px 20px
}

.contenedor-resultados-busqueda-ventana {
    display: flex;
    flex-direction: column;
    gap: 15px;
    justify-content: center;
    align-items: center
}

.boton-ver-mas-resultados {
    padding: 7px 18px;
    border-radius: 20px;
    border: 1px solid var(--colorBordesResultados);
    background-color: var(--colorBackgroundBotonVerMasResultados);
    color: var(--colorAzul-oscuro);
    font-weight: 700;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease
}

.boton-ver-mas-resultados:hover {
    background-color: var(--colorOpcionVentanaResultadoHover);
    color: var(--colorBlanco);
    font-weight: 700;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease
}

.contenedor-etiqueta-tipo,
.contenedor-resultados-meta-entidad,
.contenedor-resultados-meta-anio {
    display: none !important
}

.grupo-campo-filtro {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: space-evenly
}

.etiqueta-campo-filtro {
    font-size: var(--letra-lg);
    font-weight: 500;
    text-align: left
}

.contenedor-input-casilla-numero-filtro,
.contenedor-input-casilla-select-filtro,
.contenedor-input-casilla-rango-filtro {
    width: 100%;
    box-shadow: 1px 2px 6px var(--colorSombraFiltro);
    border-radius: 4px;
    transition: border-color .2s ease, box-shadow .2s ease;
    display: flex;
    justify-content: space-between
}

.campo-input-filtro::placeholder {
    color: var(--colorGris-escala-2);
    font-weight: lighter;
    font-style: italic;
    opacity: 1
}

.contenedor-input-casilla-numero-filtro:focus-within,
.contenedor-input-casilla-select-filtro:focus-within,
.contenedor-input-casilla-rango-filtro:focus-within {
    border-color: var(--colorBordeFiltroActivo);
    box-shadow: 0 0 0 1px var(--colorBordeFiltroActivo)
}

.contenedor-input-casilla-select-filtro {
    display: flex;
    align-items: center
}

.input-casilla-numero-filtro {
    width: 87.5%;
    padding: 8px;
    border: none;
    outline: none;
    background: transparent;
    font-size: 14px
}

.campo-input-filtro {
    margin-left: 15px;
    width: 70%
}

.campo-select-filtro {
    width: 25%;
    cursor: pointer;
    appearance: none
}

.campo-input-filtro,
.campo-select-filtro {
    padding: 12px;
    border: none;
    outline: none;
    background: transparent;
    font-size: 1rem;
    flex: 1
}

.input-casilla-numero-filtro::-webkit-outer-spin-button,
.input-casilla-numero-filtro::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.input-casilla-numero-filtro[type=number] {
    -moz-appearance: textfield
}

.boton-limpiar-filtro {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: var(--color-foreground)
}

.boton-limpiar-filtro:hover {
    opacity: .7
}

.contenedor-input-casilla-rango-filtro {
    display: flex;
    align-items: center;
    padding-left: 15px
}

.rango-anios-filtro {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.contenedor-filtro-rango-anios {
    display: flex;
    align-items: center;
    gap: 6px
}

.separador-rango-anios {
    font-size: 14px;
    opacity: .6
}

.campo-input-rango {
    display: flex;
    justify-content: space-evenly;
    border-radius: 4px;
    transition: border-color .2s ease, box-shadow .2s ease;
    margin: 0 !important
}

.campo-input-rango:focus {
    border-color: var(--colorBordeFiltroActivo);
    box-shadow: 0 0 0 1px var(--colorBordeFiltroActivo)
}

.filtros-modal-overlay {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    inset: 0;
    z-index: 50
}

.filtros-modal-fondo {
    position: absolute;
    inset: 0;
    background-color: #00000040;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px)
}

.filtros-modal-contenedor {
    position: relative;
    width: 100%;
    max-width: var(--container-4xl)
}

.filtros-modal-caja {
    background-color: var(--colorBackgroundModales);
    border: 1px solid var(--colorBordesModales);
    border-radius: 1.5rem;
    box-shadow: 0 20px 40px #0000004d
}

.filtros-modal-encabezado {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 1rem 1.5rem 0rem
}

.filtros-modal-titulo {
    margin: 0;
    font-size: var(--letra-2xl);
    color: var(--colorTituloModales);
    font-weight: 700
}

.filtros-modal-boton-cerrar {
    background: none;
    border: none;
    color: var(--colorBotonSecundarioModales);
    cursor: pointer;
    transition: color .2s ease
}

.filtros-modal-boton-cerrar:hover {
    color: var(--colorBotonSecundarioActivoModales)
}

.filtros-modal-contenido {
	margin-top: -3.5rem;
    padding: 3.5rem 3.5rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    max-height: calc(100vh - 200px);
    overflow-y: auto
}

.filtros-modal-pie {
    display: flex;
    justify-content: flex-end;
    gap: .75rem;
    padding: 1rem 3.5rem
}

.filtros-modal-boton-cancelar {
    background-color: var(--colorBackgroundBotonCancelarModales);
    border: none;
    border-radius: 8px;
    padding: 5px 2.5rem;
    font-size: .875rem;
    cursor: pointer;
    transition: color .2s ease
}

.filtros-modal-boton-cancelar:hover {
    color: var(--colorBotonSecundarioActivoModales)
}

.filtros-modal-boton-aplicar {
    background-color: var(--colorBotonModales);
    color: var(--colorBlanco);
    border: none;
    border-radius: .5rem;
    padding: .5rem 5.5rem;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .2s ease;
    font-weight: 700
}

.filtros-modal-boton-aplicar:hover {
    background-color: var(--colorBotonActivoModales);
    color: var(--colorNegro-escala-2)
}

.modal-resultados-contenedor {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px
}

.modal-resultados-panel {
    position: relative;
    width: 100%;
    max-width: var(--container-7xl);
    margin: 0 1rem;
    background-color: var(--colorBackgroundModales);
    border-radius: 1rem;
    display: flex;
    flex-direction: column
}

.modal-resultados-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--colorBordesModales)
}

.contenedor-header-modal-resultados {
    flex: 1;
    display: flex;
    align-items: center;
    flex-direction: column
}

.modal-resultados-titulo {
    font-size: var(--letra-2xl);
    font-weight: 700;
    margin: 15px 0
}

@media(min-width:640px) {
    .modal-resultados-titulo {
        font-size: var(--letra-4xl)
    }
}

.modal-resultados-subtitulo {
    font-size: var(--letra-sm);
    color: color-mix(in srgb, var(--colorNegro-escala-2) 50%, transparent)
}

@media(min-width:640px) {
    .modal-resultados-subtitulo {
        font-size: 1rem
    }
}

.modal-resultados-boton-cerrar {
    color: var(--colorGris);
    cursor: pointer;
    transition: color .2s ease;
    background: none;
    outline: none;
    border: none
}

.modal-resultados-boton-cerrar:hover {
    color: var(--colorNegro-escala-2)
}

.modal-resultados-contenido {
    padding: 1rem 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.modal-resultados-footer {
    padding: .75rem 1.5rem;
    border-top: 1px solid var(--colorBordesModales);
    border-radius: 0px 0px 1rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--colorBackgroundModales)
}

.modal-resultados-boton-paginacion {
    display: flex;
    align-items: center;
    gap: .25rem;
    padding: .25rem .75rem;
    border-radius: .375rem;
    background-color: var(--colorBotonPaginacion);
    cursor: pointer;
    transition: background-color .2s ease;
    outline: none;
    border: none
}

.modal-resultados-boton-paginacion:hover:not(:disabled) {
    background-color: var(--colorBotonHoverPaginacion)
}

.modal-resultados-boton-paginacion:disabled {
    cursor: default;
    opacity: 0
}

.modal-resultados-indicador-pagina {
    font-size: var(--letra-sm)
}

._contenedorModal_ltfgu_1 {
    position: absolute;
    top: 100%;
    margin-top: 15px;
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: var(--letra-sm);
    color: var(--colorAvisoInformativo)
}

.filtros-facetados {
    position: sticky;
    top: 0;
    margin-top: .75rem;
    border-radius: .5rem;
    background-color: var(--colorBackgroundFaceta);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border: 1px solid var(--colorBordesFaceta);
    box-shadow: 0 0 20px #70b7b940
}

.filtros-facetados-header {
    padding: 1.2rem 1rem
}

.filtros-facetados-toggle {
    display: flex;
    align-items: center;
    gap: .8rem;
    width: 100%;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    transition: color .2s ease
}

.filtros-facetados-tipo-boton {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    transition: color .2s ease;
    padding: 10px;
    border-radius: 6px
}

.filtros-facetados-tipo-boton:hover {
    color: var(--colorNegro-escala-2)
}

.faceta-open {
    background-color: var(--colorBackgroundFacetaActiva) !important;
    border-radius: 10px
}

.filtros-facetados-tipo-nombre {
    font-weight: 600
}

.filtros-facetados-contador,
.filtros-facetados-contador-secundario {
    margin-left: auto;
    font-size: .75rem;
    color: var(--colorContadorFaceta);
    background-color: var(--colorBackgroundContadorFaceta);
    border-radius: 25px;
    padding: 2px 5px
}

.filtros-facetados-entidades {
    margin-top: .5rem;
    margin-left: 1rem;
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.filtros-facetados-entidad-boton {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: none;
    border: none;
    font-size: var(--letra-sm);
    cursor: pointer;
    text-align: left;
    transition: color .2s ease
}

.filtros-facetados-entidad-boton:hover {
    color: var(--colorGris-escala-3)
}

.filtros-facetados-anios {
    margin-top: .25rem;
    margin-left: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: .25rem
}

.filtros-facetados-anio {
    background: none;
    border: none;
    font-size: var(--letra-xs);
    text-align: left;
    cursor: pointer;
    transition: color .2s ease
}

.filtros-facetados-anio:hover {
    color: var(--colorGris-escala-3)
}

.filtros-facetados-body-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .25s ease
}

.filtros-facetados-body-wrapper.open {
    grid-template-rows: 1fr
}

.filtros-facetados-body {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity .2s ease, transform .2s ease;
    gap: 12px;
    padding-bottom: 15px
}

.filtros-facetados-body-wrapper.open .filtros-facetados-body {
    opacity: 1;
    transform: translateY(0)
}

.filtros-facetados-tipo {
    opacity: 0;
    transform: translateY(-4px);
    animation: fadeInUp .25s ease forwards
}

.filtros-facetados-body-wrapper.open .filtros-facetados-tipo {
    animation-delay: calc(var(--i) * 40ms)
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.titulo-boton-filtros-facetados-toggle {
    font-weight: 700;
    font-size: var(--letra-md)
}

.separador-filtros-facetados {
    padding: 0 25px;
    cursor: pointer
}

.titulo-separador-filtros-facetados {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600
}

.faceta-open {
    background-color: var(--colorBackgroundFacetaActiva) !important
}

.contenedor-contenido-tipos-filtros-facetados {
    border-bottom: 1px solid var(--colorBordesFaceta);
    color: var(--colorGris-escala-3) !important
}