/* ===================================================================== */
/* TEMA OSE – ESTILOS PROFESIONALES CON VARIABLES                        */
/* ===================================================================== */

/* ===================================================================== */
/* 0) VARIABLES GLOBALES                                                 */
/* ===================================================================== */

:root {
    /* Colores corporativos */
    --ose-blue-dark: #202E6B;
    --ose-blue-mid:  #2E418F;
    --ose-blue-soft: #13589f;
    --ose-blue-hover:#2788cd;

    /* Colores neutrales */
    --ose-white:     #ffffff;
    --ose-black:     #000000;
    --ose-gray-100:  #f8f9fb;
    --ose-gray-200:  #f5f5f7;
    --ose-gray-300:  #e6e6e6;
    --ose-gray-400:  #dce3ea;
    --ose-gray-500:  #777777;
    --ose-gray-600:  #444444;

    /* Colores de tags */
    --ose-tag-bg:        #13589f;
    --ose-tag-bg-hover:  #2788cd;
    --ose-tag-text:      #ffffff;

    /* Tipografía */
    --ose-font: 'Open Sans', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

    /* Bordes y sombras */
    --ose-radius-sm: 6px;
    --ose-radius-md: 8px;
    --ose-radius-lg: 12px;

    --ose-shadow-sm: 0 2px 4px rgba(0,0,0,.06);
    --ose-shadow-md: 0 4px 10px rgba(0,0,0,.10);
    --ose-shadow-lg: 0 10px 30px rgba(0,0,0,.12);
}


/* ===================================================================== */
/* 1) APLICACIÓN GLOBAL                                                  */
/* ===================================================================== */

html,
body,
.homepage {
    background-color: var(--ose-blue-mid) !important;
}

body {
    font-family: var(--ose-font);
    color: var(--ose-gray-600);
    background: var(--ose-white);
}


/* ===================================================================== */
/* 2) HEADER / MASTHEAD                                                  */
/* ===================================================================== */

.masthead,
header.masthead,
header.navbar.navbar-static-top.masthead {
    background-color: var(--ose-blue-dark) !important;
    background-image: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

header.masthead a,
header.masthead .nav > li > a {
    color: var(--ose-white) !important;
}

header.masthead .nav > li > a:hover {
    color: #e0e0e0 !important;
}

.navbar-toggle .fa-bars {
    color: var(--ose-white) !important;
}

/* Centrado vertical del logo */
.masthead .header-image {
    display: flex;
    align-items: center;
    height: 64px;
}

.header-image .logo img {
    max-height: 48px;
    width: auto;
}


/* ===================================================================== */
/* 3) ELIMINAR FEATURED CKAN                                              */
/* ===================================================================== */

.featured,
.media-overlay,
.homepage .featured,
section.featured.media-overlay {
    display: none !important;
}


/* ===================================================================== */
/* 4) HERO – CABECERA PRINCIPAL                                          */
/* ===================================================================== */

.home-hero-ose-wrapper {
    width: 100%;
    background: var(--ose-blue-mid) !important;
    padding-top: 2.2rem !important;
    padding-bottom: 3.2rem !important;
}

.home-hero-ose {
    background: transparent !important;
    border-radius: 0;
    padding: 0;
    max-width: 960px;
    margin: 0 auto;
    margin-top: 0.2rem !important;
}

.home-hero-text,
.home-hero-text * {
    color: var(--ose-white) !important;
    text-align: center;
}

.home-hero-text h1 {
    font-size: 2rem;
    margin-top: 0 !important;
    margin-bottom: 1.8rem !important;
}

.home-hero-text p {
    margin-top: 0.8rem !important;
    margin-bottom: 1.6rem !important;
}

/* Lista de enlaces del Hero */
.home-hero-links {
    list-style: none;
    padding-left: 0;
    margin: 0 0 1.2rem;
    text-align: center;
}

.home-hero-links li {
    margin: 0;
    padding: 0;
}

.home-hero-links a {
    color: var(--ose-white) !important;
    text-decoration: none;
    font-weight: 600;
}

.home-hero-links a:hover {
    color: #e0e0e0 !important;
    text-decoration: underline;
}


/* ===================================================================== */
/* 5) BUSCADOR PRINCIPAL                                                 */
/* ===================================================================== */

/* Contenedor del módulo de búsqueda */
.home-hero-search {
    margin-top: 1.4rem !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Elimina fondo/bordes internos */
.home-hero-search .module-content,
.home-hero-search form.search-form {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Wrapper input + botón */
.ose-search-wrapper {
    position: relative;
    width: 100%;
    max-width: 880px;
    margin: 0 auto;
}

/* Input del buscador */
.ose-search-input {
    width: 100%;
    height: 48px;
    border: none;
    border-radius: var(--ose-radius-sm);
    padding: 0 55px 0 14px;
    font-size: 15px;
    background: var(--ose-white);
    color: var(--ose-gray-600);
    box-shadow: var(--ose-shadow-md);
}

/* Botón con el ícono de lupa */
.ose-search-button {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    background: transparent;
    border: none;
    cursor: pointer;
}

.ose-search-button i {
    font-size: 20px;
    color: var(--ose-blue-mid);
}

.ose-search-button:hover i {
    color: var(--ose-blue-dark);
}

/* Etiquetas populares: eliminar línea punteada */
.home-hero-search .tags {
    border-top: none !important;
    background: transparent !important;
    margin-top: 8px;
    padding-top: 0;
}


/* ===================================================================== */
/* 6) HERO – TAGS POPULARES                                              */
/* ===================================================================== */

.hero-tags {
    text-align: center;
    margin-top: 0.9rem !important;
}

.hero-tags .tag-title {
    color: var(--ose-white);
    margin-right: 6px;
}

.hero-tag {
    background: var(--ose-tag-bg);
    color: var(--ose-tag-text);
    padding: 4px 12px;
    border-radius: 999px;
    margin: 0 4px;
    font-size: 0.85rem;
    display: inline-block;
}

.hero-tag:hover {
    background: var(--ose-tag-bg-hover);
}


/* ===================================================================== */
/* 7) MAIN SECTION Y TARJETAS                                            */
/* ===================================================================== */

.home-main-section {
    background-color: var(--ose-gray-200);
    padding: 3rem 0 4rem;
}

.ose-home-card {
    background: var(--ose-white);
    border: 1px solid var(--ose-gray-400);
    border-radius: var(--ose-radius-md);
    padding: 20px;
    margin-bottom: 25px;
    box-shadow: var(--ose-shadow-sm);
}

/* Igualar alturas de tarjetas en desktop */
.home-featured-row {
    display: flex;
    align-items: stretch;
}

.home-featured-row > [class*="col-"] {
    display: flex;
}

.home-featured-row .ose-home-card {
    flex: 1;
    display: flex;
    flex-direction: column;
}


/* ===================================================================== */
/* 8) ORGANIZACIONES                                                     */
/* ===================================================================== */

.ose-org-card {
    padding: 1rem 1.2rem;
}

.ose-org-header {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.ose-org-logo {
    width: 55px;
    border-radius: 3px;
    margin-right: 12px;
}

.ose-org-header-text h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
}


/* ===================================================================== */
/* 9) GRUPOS                                                             */
/* ===================================================================== */

.ose-group-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ose-group-item {
    display: flex;
    gap: 15px;
    padding: 14px 0;
    border-bottom: 1px solid var(--ose-gray-300);
}

/* Logos de grupos: tamaño relativo y responsive básico */
.ose-group-img {
    width: 4rem;
    height: auto;
    max-height: 4rem;
    object-fit: contain;
    margin-right: 0.75rem;
    background: transparent !important;
    border: none !important;
}

.ose-group-title {
    font-size: 1em;
    font-weight: 600;
    color: var(--ose-blue-soft);
}

.ose-group-desc {
    font-size: .92em;
    color: var(--ose-gray-600);
}

.ose-group-count {
    color: var(--ose-gray-500);
}


/* ===================================================================== */
/* 10) ESTADÍSTICAS                                                      */
/* ===================================================================== */

.ose-stats-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0 14px;
}

.ose-stats-logo {
    width: 46px !important;
    height: auto;
    object-fit: contain;
}

.ose-stats-header-text .ose-group-title {
    font-size: 1em;
    font-weight: 600;
    color: var(--ose-blue-soft);
    line-height: 1.2;
    margin: 0;
}

.ose-stats-subtitle {
    font-size: 0.85rem;
    color: var(--ose-blue-soft);
}

.ose-stats-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.ose-stat-item {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 1px solid var(--ose-gray-300);
}

.ose-stat-label,
.ose-stat-value {
    color: var(--ose-blue-soft);
    font-weight: 600;
}


/* ===================================================================== */
/* 11) FOOTER OSE INSTITUCIONAL                                          */
/* ===================================================================== */

.ose-footer {
    background: var(--ose-blue-dark);
    color: var(--ose-white);
    padding: 3rem 0;
    font-size: 0.95rem;
}

.ose-footer h2 {
    font-size: 1.1rem;
    font-weight: 700;
}

/* Título de columnas del footer */
.ose-footer-title {
    color: #ffffff;
    font-size: 1.2em;
    font-weight: 600;
    margin-bottom: 12px;
}

/* Logo en el footer */
.ose-footer-logo {
    display: inline-block;
    margin-bottom: 12px;
}

.ose-footer-logo img {
    max-height: 60px;
    height: auto;
    width: auto;
}

/* Links del footer */
.ose-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ose-footer-links li {
    margin-bottom: 8px;
}

.ose-footer-links a {
    color: #ffffff;
    text-decoration: none;
    transition: opacity .2s ease;
}

.ose-footer-links a:hover {
    opacity: 0.75;
}

/* Mail del footer */
.ose-footer-mail {
    color: #ffffff;
    text-decoration: none;
    border-bottom: 1px dotted #fff;
}

.ose-footer-mail:hover {
    opacity: 0.8;
}

/* Redes sociales – estilo minimalista */
.ose-social-list {
    list-style: none;
    padding: 0;
    margin: 15px 0 0 0;
    display: flex;
    gap: 14px;
}

.ose-social-icon {
    width: 40px;
    height: 40px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    font-size: 18px;
    text-decoration: none;
    transition: all .25s ease-in-out;
}

.ose-social-icon:hover {
    background-color: #ffffff;
    color: var(--ose-blue-dark) !important;
}

.ose-social-icon--x svg {
    width: 18px;
    height: 18px;
    fill: #ffffff;
    transition: fill .25s ease-in-out;
}

.ose-social-icon--x:hover svg {
    fill: var(--ose-blue-dark);
}


/* ===================================================================== */
/* 12) RESPONSIVE – OPTIMIZACIÓN MOBILE                                  */
/* ===================================================================== */

@media (max-width: 767px) {

    /* HERO */
    .home-hero-ose-wrapper {
        padding-top: 1.6rem !important;
        padding-bottom: 2.2rem !important;
    }

    .home-hero-text h1 {
        font-size: 1.6rem !important;
        line-height: 1.25;
        margin-bottom: 1.2rem !important;
    }

    .home-hero-text p {
        font-size: 0.95rem;
        padding: 0 1rem;
    }

    .ose-search-wrapper {
        max-width: 100% !important;
        padding: 0 10px !important;
    }

    .ose-search-input {
        height: 44px !important;
        font-size: 14px !important;
    }

    .ose-search-button i {
        font-size: 18px !important;
    }

    .hero-tags {
        margin-top: 0.6rem !important;
        padding: 0 1rem;
        text-align: center;
    }

    .hero-tag {
        margin-bottom: 6px;
        display: inline-block;
    }

    /* SECCIÓN PRINCIPAL + TARJETAS */
    .home-main-section {
        padding: 1.8rem 0 !important;
    }

    .home-featured-row > [class*="col-"] {
        width: 100% !important;
        display: block !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .ose-home-card {
        margin-bottom: 18px !important;
        padding: 16px !important;
        border-radius: 10px !important;
    }

    /* ORGANIZACIONES / GRUPOS */
    .ose-org-header {
        flex-direction: column;
        text-align: center;
    }

    .ose-org-logo {
        margin-right: 0 !important;
        margin-bottom: 8px !important;
        width: 65px !important;
    }

    .ose-group-item {
        flex-direction: column !important;
        text-align: center !important;
        gap: 8px !important;
        padding: 12px 0 !important;
    }

    .ose-group-img {
        margin: 0 auto !important;
        width: 60px !important;
        height: 60px !important;
    }

    .ose-group-title {
        font-size: 1.05rem !important;
    }

    .ose-group-desc {
        font-size: 0.9rem !important;
        padding: 0 0.5rem;
    }

    /* ESTADÍSTICAS */
    .ose-stats-header {
        flex-direction: column !important;
        text-align: center !important;
        gap: 6px !important;
    }

    .ose-stats-logo {
        width: 50px !important;
    }

    .ose-stat-item {
        font-size: 0.92rem !important;
    }

    /* FOOTER */
    .ose-footer {
        padding: 2rem 0 !important;
        text-align: center !important;
    }

    .ose-footer .footer-col {
        margin-bottom: 1.6rem !important;
    }

    .ose-social-list {
        justify-content: center !important;
    }

    /* Footer main column centrado */
    .footer-col--main {
        text-align: center;
    }

    .footer-col--main .ose-footer-logo {
        margin-left: auto;
        margin-right: auto;
    }
}

/* ===================GG20220812(de aca en adelante hay marcha atras)================================================= */
/*  ESTILO OSE – GOV.UK PARA /dataset/                                   */
/*  Tarjetas horizontales con separadores limpios                         */
/* ===================================================================== */


/* --------------------------------------------------------------------- */
/* 1) CONTENEDOR PRINCIPAL                                               */
/* --------------------------------------------------------------------- */

.primary .module-content {
    padding-top: 10px !important;
}

.primary h1 {
    font-size: 1.8rem !important;
    color: var(--ose-blue-dark) !important;
    font-weight: 700 !important;
    margin-bottom: 25px;
}


/* --------------------------------------------------------------------- */
/* 2) ÍTEMS DE DATASETS – ESTILO GOV.UK (muy limpio)                      */
/* --------------------------------------------------------------------- */

.dataset-list {
    margin: 0;
    padding: 0;
}

.dataset-item {
    list-style: none;
    padding: 20px 0 24px 0 !important;
    border-bottom: 1px solid var(--ose-gray-300) !important;
    margin: 0 !important;
}

/* Elimina cajas de CKAN */
.dataset-item .dataset-content {
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
}


/* --------------------------------------------------------------------- */
/* 3) TÍTULO DEL DATASET                                                 */
/* --------------------------------------------------------------------- */

.dataset-heading a {
    color: var(--ose-blue-soft) !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    text-decoration: none;
    line-height: 1.3;
}

.dataset-heading a:hover {
    color: var(--ose-blue-hover) !important;
}

/* --------------------------------------------------------------------- */
/* 4) DESCRIPCIÓN                                                        */
/* --------------------------------------------------------------------- */

.dataset-item > .dataset-content > div {
    color: var(--ose-gray-600);
    margin-top: 6px;
    font-size: 0.98rem;
    max-width: 850px;
    line-height: 1.45;
}


/* --------------------------------------------------------------------- */
/* 5) FORMATS TAGS (CSV, TXT, etc.)                                      */
/* --------------------------------------------------------------------- */

.dataset-resources {
    margin-top: 10px !important;
}

.dataset-resources .label {
    background: var(--ose-blue-dark) !important;
    color: #fff !important;
    font-size: 0.75rem !important;
    border-radius: 12px !important;
    padding: 4px 10px !important;
    font-weight: 600 !important;
}

.dataset-resources .label:hover {
    background: var(--ose-blue-hover) !important;
}


/* --------------------------------------------------------------------- */
/* 6) INPUT DE BÚSQUEDA (armonizado con GOV.UK y con tu home)             */
/* --------------------------------------------------------------------- */

#dataset-search-form .search-input-group .form-control.input-lg {
    height: 46px !important;
    border-radius: var(--ose-radius-sm);
    border: 1px solid var(--ose-gray-300);
    box-shadow: none !important;
}

#dataset-search-form .btn.btn-default.btn-lg {
    background: var(--ose-blue-soft) !important;
    color: #fff !important;
    border-radius: var(--ose-radius-sm);
    border: none !important;
}

#dataset-search-form .btn.btn-default.btn-lg:hover {
    background: var(--ose-blue-hover) !important;
}


/* --------------------------------------------------------------------- */
/* 7) SIDEBAR (Filtros) – GOVERNMENT STYLE                               */
/* --------------------------------------------------------------------- */

.filters .module {
    border: 1px solid var(--ose-gray-300);
    border-radius: var(--ose-radius-md);
    background: #fff;
    box-shadow: var(--ose-shadow-sm);
}

.filters .module-heading {
    background: var(--ose-blue-soft) !important;
    color: #fff !important;
    font-weight: 600;
    padding: 10px 14px !important;
    border-radius: var(--ose-radius-md) var(--ose-radius-md) 0 0 !important;
}

.filters .nav-simple.nav-facet > li > a {
    padding: 8px 12px !important;
    color: var(--ose-gray-700) !important;
    font-weight: 500;
    border-radius: var(--ose-radius-sm);
}

.filters .nav-simple.nav-facet > li > a:hover {
    background: var(--ose-gray-200);
}

.filters .item-count.badge {
    background: var(--ose-blue-soft) !important;
    color: #fff !important;
    font-size: 0.75rem;
    padding: 4px 8px;
    border-radius: 12px;
}

/* --------------------------------------------------------------------- */
/* 8) PAGINACIÓN – SIMPLE, INSTITUCIONAL                                 */
/* --------------------------------------------------------------------- */

.pagination > li > a,
.pagination > li > span {
    border-radius: var(--ose-radius-sm);
    color: var(--ose-blue-soft);
    border-color: var(--ose-gray-300);
}

.pagination > li > a:hover {
    background: var(--ose-blue-hover) !important;
    color: #fff !important;
}

.pagination > li.active > a {
    background: var(--ose-blue-soft) !important;
    border-color: var(--ose-blue-soft) !important;
    color: #fff !important;
}


/* --------------------------------------------------------------------- */
/* 9) RESPONSIVE                                                         */
/* --------------------------------------------------------------------- */

@media (max-width: 767px) {
    .dataset-item {
        padding: 16px 0 20px 0 !important;
    }

    .dataset-heading a {
        font-size: 1.2rem !important;
    }

    .dataset-item > .dataset-content > div {
        font-size: 0.92rem;
    }
}

/* ===================================================================== */
/*  ORGANIZACIONES – LISTA ESTILO GOV.UK                                 */
/* ===================================================================== */

.organization-list .organization-item {
    border-bottom: 1px solid var(--ose-gray-300);
    padding: 22px 0 !important;
    list-style: none;
}

.organization-list .organization-item:last-child {
    border-bottom: none;
}

.organization-item .media-heading a {
    font-size: 1.35rem !important;
    font-weight: 700;
    color: var(--ose-blue-soft) !important;
    text-decoration: none;
}

.organization-item .media-heading a:hover {
    color: var(--ose-blue-hover) !important;
}

.organization-item .media-body p {
    color: var(--ose-gray-600);
    margin-top: 6px;
    font-size: 0.95rem;
    max-width: 850px;
}
/* ===================================================================== */
/*  GRUPOS – LISTA ESTILO GOV.UK                                         */
/* ===================================================================== */

.group-list .group-item {
    border-bottom: 1px solid var(--ose-gray-300);
    padding: 22px 0 !important;
    list-style: none;
}

.group-list .group-item:last-child {
    border-bottom: none;
}

.group-item .media-heading a {
    font-size: 1.35rem !important;
    font-weight: 700;
    color: var(--ose-blue-soft) !important;
    text-decoration: none;
}

.group-item .media-heading a:hover {
    color: var(--ose-blue-hover) !important;
}

.group-item .media-body p {
    color: var(--ose-gray-600);
    margin-top: 6px;
    font-size: 0.95rem;
    max-width: 850px;
}
/* ===================================================================== */
/*  DETALLE /dataset/<nombre> ESTILO GOV.UK                              */
/* ===================================================================== */

/* TÍTULO */
.dataset-title,
.dataset-title a {
    font-size: 2rem !important;
    color: var(--ose-blue-dark) !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    text-decoration: none;
}

.dataset-title a:hover {
    color: var(--ose-blue-hover) !important;
}

/* DESCRIPCIÓN PRINCIPAL */
.dataset-description {
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--ose-gray-700);
    margin-bottom: 24px;
}

/* BLOQUE DE METADATA */
.additional-info table {
    border: none !important;
}

.additional-info table tr {
    border-bottom: 1px solid var(--ose-gray-300) !important;
}

.additional-info table th {
    background: none !important;
    color: var(--ose-blue-soft) !important;
    font-weight: 600 !important;
}

.additional-info table td {
    color: var(--ose-gray-700) !important;
}

/* PESTAÑAS */
.nav-tabs {
    border-bottom: 2px solid var(--ose-gray-300) !important;
}

.nav-tabs > li > a {
    font-weight: 600 !important;
    color: var(--ose-blue-dark) !important;
    padding: 10px 16px !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li > a:hover {
    background: var(--ose-gray-100) !important;
    color: var(--ose-blue-hover) !important;
}

/* RECURSOS (CSV, XLSX, etc.) */
.resource-item {
    border: 1px solid var(--ose-gray-300);
    border-radius: var(--ose-radius-md);
    padding: 14px 18px !important;
    margin-bottom: 14px;
    background: #fff !important;
}

.resource-item .heading {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: var(--ose-blue-soft) !important;
}

.resource-item .btn {
    background: var(--ose-blue-soft) !important;
    border: none !important;
    color: #fff !important;
    border-radius: var(--ose-radius-sm);
}

.resource-item .btn:hover {
    background: var(--ose-blue-hover) !important;
}
/* ===================================================================== */
/*  RESPONSIVE – UNIFICADO PARA TODAS LAS VISTAS                         */
/* ===================================================================== */

@media (max-width: 767px) {
    
    .organization-item,
    .group-item {
        padding: 18px 0 !important;
    }

    .organization-item .media-heading a,
    .group-item .media-heading a {
        font-size: 1.2rem !important;
    }

    .resource-item {
        padding: 12px 14px !important;
    }

    .dataset-title {
        font-size: 1.6rem !important;
    }
}
/* ===================================================== */
/*   LISTAS UNIFICADAS PARA DATASET / ORG / GROUP        */
/* ===================================================== */

.dataset-item,
.organization-item,
.group-item {
    border-bottom: 1px solid var(--ose-gray-300);
    padding: 24px 0 !important;
    list-style: none;
}

.dataset-item:last-child,
.organization-item:last-child,
.group-item:last-child {
    border-bottom: none;
}

/* Títulos */
.dataset-item .dataset-heading a,
.organization-item .media-heading a,
.group-item .media-heading a {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: var(--ose-blue-soft) !important;
    text-decoration: none;
}

.dataset-item .dataset-heading a:hover,
.group-item .media-heading a:hover,
.organization-item .media-heading a:hover {
    color: var(--ose-blue-hover) !important;
}

/* Descripciones */
.dataset-item .dataset-content > div,
.organization-item .media-body p,
.group-item .media-body p {
    color: var(--ose-gray-600);
    font-size: .95rem;
    margin-top: 8px;
    max-width: 900px;
}
/* ===================================================== */
/*   DETALLE DEL DATASET                                 */
/* ===================================================== */

.dataset-title,
.dataset-title a {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: var(--ose-blue-dark) !important;
    margin-bottom: 12px !important;
    text-decoration: none;
}

.dataset-description {
    font-size: 1.05rem;
    line-height: 1.55;
    margin-bottom: 24px;
    color: var(--ose-gray-700);
}

/* Tabs */
.nav-tabs {
    border-bottom: 2px solid var(--ose-gray-300) !important;
}

.nav-tabs > li > a {
    color: var(--ose-blue-dark) !important;
    font-weight: 600;
}

.nav-tabs > li.active > a,
.nav-tabs > li > a:hover {
    background: var(--ose-gray-100) !important;
    color: var(--ose-blue-hover) !important;
}

/* Metadata table */
.additional-info table tr {
    border-bottom: 1px solid var(--ose-gray-300) !important;
}

.additional-info table th {
    font-weight: 600 !important;
    color: var(--ose-blue-soft) !important;
}

/* Recursos */
.resource-item {
    border: 1px solid var(--ose-gray-300);
    background: #fff;
    border-radius: var(--ose-radius-md);
    padding: 16px 20px !important;
    margin-bottom: 16px;
}

.resource-item .heading {
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    color: var(--ose-blue-soft) !important;
}

.resource-item .btn {
    background: var(--ose-blue-soft) !important;
    border-radius: var(--ose-radius-sm);
    border: none !important;
    color: white !important;
}

.resource-item .btn:hover {
    background: var(--ose-blue-hover) !important;
}
/* ===================================================== */
/*   DETALLE DE ORGANIZACIÓN                             */
/* ===================================================== */

.organization-title {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: var(--ose-blue-dark) !important;
    margin-bottom: 18px !important;
}

.organization-description {
    font-size: 1.05rem;
    line-height: 1.55;
    margin-bottom: 24px;
    color: var(--ose-gray-700);
}

/* Lista de datasets dentro */
.organization-datasets .dataset-item {
    padding: 18px 0 !important;
}
/* ===================================================== */
/*   DETALLE DE GRUPO                                    */
/* ===================================================== */

.group-title {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: var(--ose-blue-dark) !important;
    margin-bottom: 18px;
}

.group-description {
    font-size: 1.05rem;
    color: var(--ose-gray-700);
    margin-bottom: 20px;
}

/* datasets dentro del grupo */
.group-datasets .dataset-item {
    padding: 18px 0 !important;
}
/* ===================================================== */
/*   ABOUT / INFO PAGES                                  */
/* ===================================================== */

.page-heading {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: var(--ose-blue-dark);
    margin-bottom: 18px;
}

.page-content p {
    font-size: 1.05rem;
    line-height: 1.65;
    color: var(--ose-gray-700);
    margin-bottom: 14px;
}
/* ===================================================== */
/*   DASHBOARD / PERFIL / ADMIN                          */
/* ===================================================== */

.module-heading {
    font-size: 1.25rem !important;
    color: var(--ose-blue-soft) !important;
    font-weight: 600 !important;
}

.account-masthead a {
    color: var(--ose-blue-soft) !important;
    font-weight: 600;
}

.account-masthead a:hover {
    color: var(--ose-blue-hover) !important;
}
/* ===================================================== */
/*   RESPONSIVE GENERAL                                  */
/* ===================================================== */

@media (max-width: 767px) {

    .dataset-item,
    .organization-item,
    .group-item {
        padding: 16px 0 !important;
    }

    .dataset-title,
    .organization-title,
    .group-title {
        font-size: 1.5rem !important;
    }

    .resource-item {
        padding: 14px !important;
    }
}
/* ===================================================== */
/*   DASHBOARD / PERFIL / ADMIN (SIN account-masthead)   */
/* ===================================================== */

.module-heading {
    font-size: 1.25rem !important;
    color: var(--ose-blue-soft) !important;
    font-weight: 600 !important;
}

/* Títulos de secciones internas del dashboard, admin, perfil */
.hero,
.page-header,
.wrapper > h1,
.user-edit h1 {
    font-size: 1.7rem !important;
    font-weight: 700;
    color: var(--ose-blue-dark) !important;
}

/* Botones dentro del dashboard/admin */
.form-actions .btn-primary,
.btn-primary {
    background: var(--ose-blue-soft) !important;
    border-color: var(--ose-blue-soft) !important;
    color: #fff !important;
}

.form-actions .btn-primary:hover,
.btn-primary:hover {
    background: var(--ose-blue-hover) !important;
}

/* Inputs y selects del admin con look unificado */
.control-group input,
.control-group select,
.control-group textarea {
    border-radius: var(--ose-radius-sm);
}
/* ===================================================== */
/* ACCOUNT MASTHEAD – TEXTO E ÍCONOS EN BLANCO           */
/* ===================================================== */

.account-masthead {
  color: #ffffff;
}

/* Links, textos e íconos */
.account-masthead a,
.account-masthead a .text,
.account-masthead a .username,
.account-masthead i.fa {
  color: #ffffff !important;
}

/* Badge de notificaciones */
.account-masthead .badge {
  background: transparent !important;
  border: 1px solid #ffffff !important;
  color: #ffffff !important;
}

/* Imagen de usuario (opcional, para integrarla mejor) */
.account-masthead .user-image {
  border-radius: 50%;
  border: 1px solid #ffffff;
}

/* Hover: un blanco un poco más suave */
.account-masthead a:hover {
  color: #f5f5f5 !important;
  text-decoration: underline;
}
/* ===================================================== */
/*GG 20250912  FACETS LATERALES - ESTILO ACTIVO                      */
/* ===================================================== */

/* Texto blanco en filtros activos del sidebar */
.filters .nav.nav-simple .nav-item.active > a,
.filters .nav.nav-simple .nav-item.active > a:hover,
.filters .nav.nav-simple .nav-item.active > a:focus {
    color: #ffffff !important;
}

/* Asegurar que las etiquetas internas también queden blancas */
.filters .nav.nav-simple .nav-item.active .item-label,
.filters .nav.nav-simple .nav-item.active .item-count.badge {
    color: #ffffff !important;
}
/* ===================================================== */
/* HERO TAG – desactivar cambios en hover                */
/* ===================================================== */
.hero-tag:hover,
.hero-tag:focus,
.hero-tag:active {
    color: var(--ose-white) !important;
    text-decoration: none !important;
}
/* Aumentar tamaño de los títulos en el listado de conjuntos */
/* Aumentar el tamaño de los títulos de cada dataset en /dataset/ */
/* Aumentar tamaño del título de los datasets en la búsqueda */

/* ===================================================== */
/* LISTA DE CONJUNTOS DE DATOS – TITULO + DESCRIPCION    */
/* Ruta HTML: ul.dataset-list > li.dataset-item          */
/* ===================================================== */

.main .primary .module-content ul.dataset-list li.dataset-item h2.dataset-heading a {
    font-size: 1.25rem !important;  /* ~20px */
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

.main .primary .module-content ul.dataset-list li.dataset-item .dataset-content > div {
    font-size: 1.05rem !important;  /* ~16-17px */
    line-height: 1.5 !important;
}

/* Un poco más de aire entre items */
.main .primary .module-content ul.dataset-list li.dataset-item {
    padding: 0.75rem 0 !important;
    border-bottom: 1px solid #e0e4ec;
}
/* ============================================= */
/* Recursos: evitar que el texto se monte al ícono */
/* ============================================= */

/* Cada item de la lista de recursos */
.resource-list .resource-item {
    padding-left: 3.5em !important;  /* espacio para el icono */
}

/* El enlace de cabecera del recurso como bloque completo */
.resource-list .resource-item .heading {
    display: block;
    margin: 0;                      /* dejamos margen limpio */
}
/* ================================
   GRID RESPONSIVE PARA CATEGORÍAS
   ================================ */


.ose-group-list {
    display: grid;
    grid-template-columns: 1fr;      /* móvil: 1 por fila */
    gap: 24px;
    padding: 0;
    margin: 0;
    list-style: none;
}

/* A partir de 768px (tablet / desktop chico) → 2 columnas fijas */
@media (min-width: 768px) {
  .ose-group-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.ose-group-item {
    background: #fff;
    border-radius: 8px;
    padding: 15px;
    text-align: center;
    box-shadow: 0px 2px 6px rgba(0,0,0,0.1);
    transition: transform .2s;
}

.ose-group-item:hover {
    transform: translateY(-4px);
}

.ose-group-img {
    width: 120px;
    height: auto;
    margin-bottom: 10px;
}

.ose-group-title {
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--ose-blue-mid);
    margin-bottom: 8px;
}

.ose-group-desc {
    font-size: 0.95rem;
    color: #444;
    margin-bottom: 10px;
}

.ose-group-count {
    font-weight: bold;
    color: var(--ose-blue-hover);
}
/* Hace que toda la tarjeta sea clickeable y se vea como botón */
.ose-group-item {
    cursor: pointer;          /* manito */
    transition: transform .15s ease, box-shadow .15s ease;
}

/* Efecto moderno hover */
.ose-group-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

/* Evitar que el <a> interno cambie el color del texto */
.ose-group-item a {
    text-decoration: none !important;
    color: inherit !important;
}
/* ================================
   BLOQUE DE ESTADÍSTICAS — ESTILO ELEGANTE
   ================================ */

.ose-home-stats-card {
    background: #f9fafc;                  /* Fondo suave como en imagen 1 */
    border-radius: 6px;
    padding: 14px 22px !important;         /* Mucho más compacto */
    margin-top: 10px;
    box-shadow: none !important;           /* Sin sombra */
    border: 1px solid #e3e6ef;             /* Borde sutil */
}

/* Título del bloque */
.ose-home-stats-card h3 {
    margin: 0 0 8px 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ose-blue-dark);
}

/* Lista horizontal */
.ose-home-stats-card ul {
    display: flex;
    justify-content: flex-start;
    gap: 28px;
    padding: 0;
    margin: 0;
    list-style: none;                      /* SIN bullets */
}

/* Ítems */
.ose-home-stats-card li a {
    text-decoration: none !important;
    color: #222;
    font-size: 0.95rem;
}

.ose-home-stats-card li strong span {
    color: var(--ose-blue-hover);
    font-weight: 700;
}

/* Hover elegante */
.ose-home-stats-card li:hover strong span {
    text-decoration: underline;
}
/* ==========================================
   ESTILOS PARA EL BLOQUE DE ESTADÍSTICAS
   ========================================== */

.ose-home-stats-card {
    background: #ffffff;
    border: 1px solid #dce1eb;
    border-radius: 6px;
    padding: 14px 24px;
    margin-top: 20px;
    margin-bottom: 10px;
}

/* Título pequeño y discreto */
.ose-home-stats-card h3 {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0 0 10px 0;
    color: #1a2a44;
}

/* Lista horizontal */
.ose-home-stats-card ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 28px;
    padding: 0;
    margin: 0;
    list-style: none;
}

/* Enlaces de estadísticas */
.ose-home-stats-card ul li a {
    font-size: 0.9rem;
    color: #333;
    text-decoration: none !important;
}

/* Números destacados */
.ose-home-stats-card strong span {
    font-weight: 700;
    color: #1f6cd9;
}

/* Hover */
.ose-home-stats-card ul li:hover strong span {
    text-decoration: underline;
}
/* ==========================================
   BLOQUE DE ESTADÍSTICAS — ESTILO LIMPIO
   ========================================== */

.ose-home-stats-card {
    background: #ffffff;
    border: 1px solid #dce1eb;
    border-radius: 6px;
    padding: 14px 24px;
    margin-top: 20px;
}

/* Wrapper interno (reemplaza al viejo .box.stats) */
.ose-stats-wrapper {
    padding: 0;
    margin: 0;
}

/* Título */
.ose-stats-wrapper h3 {
    font-size: 0.95rem;
    font-weight: 600;
    color: #133463;
    margin: 0 0 10px 0;
}

/* Lista en una sola línea */
.ose-stats-list {
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 0;
    margin: 0;
    list-style: none;
}

/* Cada ítem */
.ose-stats-list li {
    display: flex;
    align-items: center;
    white-space: nowrap;   /* evita que salten de línea */
}

/* Enlaces */
.ose-stats-list a {
    text-decoration: none;
    color: #333;
    font-size: 0.9rem;
}

/* Números destacados */
.ose-stats-list strong {
    color: #0066cc;
    font-weight: 700;
    margin-right: 4px;
}

/* Hover */
.ose-stats-list a:hover strong {
    text-decoration: underline;
}
 /*33333333333 GG ATENCION 20251209 */
/* ===== BLOQUE DE ESTADÍSTICAS EN HOME ===== */
.ose-home-stats-card {
    background: #ffffff;
    border: 1px solid #dce1eb;
    border-radius: 6px;
    padding: 10px 24px;
    margin-top: 20px;
}

/* Wrapper interno */
.ose-stats-wrapper {
    width: 100%;
}

/* CONTENEDOR: título + lista */
.ose-stats-header {
    display: flex;
    align-items: baseline;      /* que se alineen por la línea de texto */
    justify-content: flex-start;
    column-gap: 32px;           /* espacio entre título y primer dato */
    row-gap: 4px;
    flex-wrap: wrap;            /* por si en pantallas chicas no entra todo */
    width: 100%;
}

/* Título de estadísticas: usa misma familia que .ose-group-title */
.ose-stats-title {
    font-size: 1em;             /* lo que pediste */
    margin: 0;
    white-space: nowrap;        /* que no se corte en dos líneas */
}

/* Lista de estadísticas a la derecha del título */
.ose-stats-list {
    display: flex;
    align-items: baseline;
    gap: 28px;                  /* separación entre “25…”, “1…”, “6…” */
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Cada ítem */
.ose-stats-list li a {
    display: inline-flex;
    align-items: baseline;
    font-size: 1em;             /* mismo tamaño que el título */
    text-decoration: none;
    color: #003f8c;
}

/* Número en azul y separado del texto */
.ose-stats-list li a strong {
    margin-right: 4px;
    font-weight: 700;
    color: #0066cc;
}

/* Responsive: en pantallas chicas el título queda arriba y la lista debajo */
@media (max-width: 768px) {
    .ose-stats-header {
        flex-direction: column;
        align-items: flex-start;
        column-gap: 0;
        row-gap: 8px;
    }

    .ose-stats-list {
        gap: 16px;
    }
}
/* Forzar tamaño de fuente en el bloque de estadísticas */
.ose-home-stats-card .ose-stats-title,
.ose-home-stats-card .ose-stats-list li a {
    font-size: 1em !important;
}
/* ===== Descripciones en /group (tarjetas de categorías) ===== */
.media-grid .media-item .media-description {
    word-break: normal !important;      /* no cortar palabras a la mitad */
    overflow-wrap: break-word;          /* si una palabra es MUY larga, la rompe al final */
    hyphens: none;                      /* sin guiones automáticos */
}
/* ===== LISTA DE DATASETS (páginas /dataset y /group/xxx) ===== */

/* Título del dataset */
.dataset-list .dataset-item .dataset-heading a {
    font-size: 1.1em;        /* un poquito más grande que el texto base */
    font-weight: 600;
    color: #133463;          /* azul institucional suave (ajustá si usás otro) */
}

/* Descripción del dataset */
.dataset-list .dataset-item .dataset-content > div {
    font-size: 1.0em;        /* apenas más chico que el título, pero más grande que antes */
    line-height: 1.4;        /* más aire entre líneas, mejora legibilidad */
    color: #333333;
}

/* Opcional: en pantallas muy chicas bajamos apenas para que no “reviente” */
@media (max-width: 600px) {
    .dataset-list .dataset-item .dataset-heading a {
        font-size: 1.05em;
    }

    .dataset-list .dataset-item .dataset-content > div {
        font-size: 0.95em;
    }
}
/* Descripción de cada dataset en las listas (/dataset, /group/xxx, etc.) */
.dataset-list .dataset-item .dataset-content > div {
    font-size: 1.05em !important;   /* letra más grande */
    line-height: 1.45;              /* más aire entre líneas */
    color: #333333;

    /* No cortar palabras a la mitad */
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;

    /* Limitar a 3 líneas con "..." */
    display: -webkit-box;
    -webkit-line-clamp: 3;          /* ← 3 líneas antes de cortar */
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* ======================================= */
/*   TIPOGRAFÍA RESPONSIVE OSE (GRUPOS)    */
/* ======================================= */

/* -------- Base: Mobile (por defecto) -------- */
.ose-group-title {
    font-size: 1.3rem !important;
    font-weight: bold !important;
    color: var(--ose-blue-mid) !important;
    margin-bottom: 0.5rem !important;
}

.ose-group-desc {
    font-size: 1.0rem !important;
    line-height: 1.4 !important;
    color: #444 !important;
    margin-bottom: 0.6rem !important;
}

.ose-group-count {
    font-size: 0.95rem !important;
    font-weight: bold !important;
    color: var(--ose-blue-hover) !important;
}

/* Título principal del Hero */
.home-hero-text h1 {
    font-size: 2.0rem !important;
    margin-top: 0 !important;
    margin-bottom: 1.4rem !important;
}

/* -------- Tablet (≥ 768px) -------- */
@media (min-width: 768px) {

    .ose-group-title {
        font-size: 1.5rem !important;
        margin-bottom: 0.6rem !important;
    }

    .ose-group-desc {
        font-size: 1.15rem !important;
        line-height: 1.45 !important;
    }

    .ose-group-count {
        font-size: 1.0rem !important;
    }

    .home-hero-text h1 {
        font-size: 2.3rem !important;
        margin-bottom: 1.6rem !important;
    }
}

/* -------- Desktop grande (≥ 1200px) -------- */
@media (min-width: 1200px) {

    .ose-group-title {
        font-size: 1.6rem !important;   /* valor que te gustaba */
    }

    .ose-group-desc {
        font-size: 1.3rem !important;   /* cercano a 1.4rem pero más controlado */
    }

    .ose-group-count {
        font-size: 1.05rem !important;
    }

    .home-hero-text h1 {
        font-size: 2.5rem !important;   /* valor que te gustaba */
        margin-bottom: 1.8rem !important;
    }
}
/* Permitir hasta 4 líneas en las descripciones de datasets */
.dataset-item .dataset-content div {
    font-size: 1.2rem !important;
    line-height: 1.45 !important;

    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important; /* 4 líneas visibles */
    overflow: hidden !important;

    white-space: normal !important; /* ← NO cortar palabras */
    text-overflow: ellipsis !important; /* ← agregar ... solo si hace falta */

    max-height: 4.5em !important; /* 1.45 * 3 líneas aprox */
}
/* =============================== */
/* FORZAR DESCRIPCIONES EN 4 LÍNEAS */
/* =============================== */

ul.dataset-list li.dataset-item .dataset-content > div {
    font-size: 1.25rem !important;
    line-height: 1.5 !important;

    /* Permitir varias líneas */
    white-space: normal !important;

    /* Quitar restricciones internas de CKAN */
    overflow: hidden !important;

    /* TRUNCAR después de 3 líneas de forma elegante */
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;

    text-overflow: ellipsis !important;
    
    max-height: 4.5em !important; /* 1.5 * 3 líneas */
}
/* ============================================= */
/*  Tarjetas de Categorías (Grupos) – ajuste     */
/* ============================================= */

/* Contenedor de la tarjeta */
.ose-group-item {
    display: flex;
    align-items: center;          /* centra logo + texto verticalmente */
    gap: 1rem;                    /* separación entre logo y texto */
    padding: 0.8rem 1rem;         /* menos padding vertical */
    border-radius: 0.75rem;
    transition:
        box-shadow 0.2s ease-out,
        transform 0.2s ease-out,
        background-color 0.2s ease-out;
}

/* Suavemente más compactas cuando hay muchas tarjetas */
.ose-group-item + .ose-group-item {
    margin-top: 0.6rem;
}

/* Contenedor del logo */
.ose-group-img-link {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5.5rem;          /* ~88px: un poco más bajo que antes */
    width: 5.5rem;           /* hace el contenedor más compacto y uniforme */
}

/* Imagen del logo */
.ose-group-img {
    max-width: 5.5rem;       
    max-height: 5.5rem;
    object-fit: contain;
    transition: transform 0.22s ease-out;
}

/* Hover moderno, en línea con los hero-tags */
.ose-group-item:hover .ose-group-img {
    transform: scale(1.08);  /* zoom leve, más sutil que 1.12–1.15 */
}

/* Ajuste del bloque de info para que no “estire” de más */
.ose-group-info {
    padding: 0;              /* quitamos padding extra vertical */
}

.ose-group-title {
    font-size: 1.05rem;
    margin-bottom: 0.15rem;
}

.ose-group-desc {
    margin-bottom: 0.25rem;
    line-height: 1.3;
}

.ose-group-count {
    font-size: 0.9rem;
    opacity: 0.85;
}
/* ===================================================== */
/* Quitar truncado de texto en dataset list (OSE)        */
/* ===================================================== */

.dataset-item .dataset-content > div {
    display: block !important;               /* elimina el modo caja */
    -webkit-line-clamp: unset !important;    /* elimina limitación */
    -webkit-box-orient: unset !important;
    overflow: visible !important;            /* permite texto completo */
    text-overflow: unset !important;
    max-height: none !important;             /* sin recorte */
    white-space: normal !important;          /* permite varias líneas */
}
/* =============================== */
/*  HERO TAGS – estilo OSE moderno */
/* =============================== */

/* Estado normal */
.hero-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 0.9rem;          /* tamaño cómodo y elegante */
    border-radius: 999px;             /* forma pastilla */
    background-color: #f0f4fb;
    color: var(--ose-blue-soft, #13589f);
    font-size: 0.95rem;
    font-weight: inherit;
    text-decoration: none;
    border: 1px solid rgba(19, 88, 159, 0.18);

    transform-origin: center center;
    transform: translateZ(0);
    transition:
        transform 0.35s ease-out,
        box-shadow 0.35s ease-out,
        background-color 0.35s ease-out,
        color 0.35s ease-out,
        border-color 0.35s ease-out;
}

/* Hover / foco: crecimiento ~30% y “flota” */
.hero-tag:hover,
.hero-tag:focus-visible {
    transform: scale(1.2) translateY(-2px);  /* +30% */
    background-color: var(--ose-blue-soft, #13589f);
    color: #ffffff !important;
    border-color: rgba(19, 88, 159, 0.55);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
    text-decoration: none;
}

/* ========================================================= */
/*  FIX DEFINITIVO: NO cortar textos en títulos ni descripciones */
/* ========================================================= */

/* Título del dataset (h2 > a) */
.main .primary .module-content ul.dataset-list li.dataset-item h2.dataset-heading a {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    display: inline !important;
}

/* Descripción del dataset */
.main .primary .module-content ul.dataset-list li.dataset-item .dataset-content > div,
ul.dataset-list li.dataset-item .dataset-content > div,
.dataset-list .dataset-item .dataset-content > div {
    display: block !important;
    white-space: normal !important;

    /* ELIMINAR cualquier truncado */
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
    text-overflow: unset !important;
    max-height: none !important;

    /* Textos largos sin cortar palabras */
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: none !important;
}
/* ===================================================== */
/* FOOTER – links institucionales: zoom sin cambio color */
/* ===================================================== */

.ose-footer-links li a {
    display: inline-block;                 /* permite transform */
    color: inherit !important;             /* fija color base */
    text-decoration: none !important;

    transition:
        transform 0.18s ease-out;           /* animación suave */
    
    transform-origin: left center;
}

/* Hover: SOLO agrandar */
.ose-footer-links li a:hover {
    transform: scale(1.08);
    color: inherit !important;
    text-decoration: none !important;
}

/* Click (active) */
.ose-footer-links li a:active {
    transform: scale(1.06);                /* micro feedback */
    color: inherit !important;
}

/* Focus teclado */
.ose-footer-links li a:focus,
.ose-footer-links li a:focus-visible {
    transform: scale(1.08);
    color: inherit !important;
    outline: none;
}

/* Visitados: mismo color siempre */
.ose-footer-links li a:visited {
    color: inherit !important;
}
/* ========================================================= */
/* DATASET LIST – NO truncar descripción (gana siempre)       */
/* ========================================================= */

.main .primary .module-content ul.dataset-list li.dataset-item .dataset-content > div,
ul.dataset-list li.dataset-item .dataset-content > div,
.dataset-list .dataset-item .dataset-content > div,
.dataset-item .dataset-content > div,
.dataset-item .dataset-content div {
  display: block !important;
  white-space: normal !important;

  /* mata el clamp */
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;

  /* mata el recorte */
  overflow: visible !important;
  text-overflow: unset !important;
  max-height: none !important;

  /* evita cortes feos */
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}
