/* CSS Variables - Define at the top for global availability */
:root {
  --unesco-blue: #0069B4;
  --unesco-blue-dark: #005a9e;
  --unesco-blue-light: #0077d4;
  --unesco-blue-pale: #E8F4F8;
  --text-primary: #212529;
  --text-secondary: #6c757d;
  --text-muted: #8a8a8a;
  --shadow-light: 0 2px 4px rgba(0,0,0,0.1);
  --shadow-medium: 0 4px 8px rgba(0,0,0,0.15);
  --shadow-strong: 0 6px 12px rgba(0,0,0,0.2);
  --border-radius: 0.5rem;
  --transition: all 0.3s ease;
}

/* background before footer */
html {
font-family: sans-serif;
font-size: 16px;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
width: 100%;
overflow-x: hidden;
scroll-behavior: smooth;
scroll-padding-top: 3.5rem;  
}
body {
background: #fff;
font-family: "Inter", sans-serif;
font-size: 16px;
}
header::after{
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 7rem);
    max-width: 83rem;
    height: 1px;
    background-color: #fff;
    transition: opacity .3s;
}

/* Hover effect only for homepage header (when it's transparent) */
.masthead:hover{
    background-color: #0077d4 !important;
    transition: background-color .3s !important;
}

.page-header:hover{
    background-color: #fff !important;
}
/* background logo */
.masthead {
margin-bottom: initial;
padding: 10px 0;
color: #fff !important;
background: rgba(0, 0, 0, 0) !important;
position: absolute !important;
width: 100% !important;
z-index: 1000 !important;
}
/* Estructura básica sin flexbox complicado */
.masthead .logo img {
    height: 70px !important;
    width: auto !important;
    max-width: 400px !important;
    padding: 8px 0;
    display: block !important;
    visibility: visible !important;
}
/* Estructura específica del header personalizado - Two Row Layout */
.masthead .masthead-container {
    padding: 0 15px;
    display: flex;
    flex-direction: column;
}

/* Primera fila: Top menu alineado a la derecha */
.masthead .masthead-top-bar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 5px 0;
    min-height: 35px;
    width: 100%;
    text-align: left;
    position: relative;
    z-index: 1010;
}

.masthead .masthead-nav .masthead-brand {
    flex-shrink: 0;
    margin-right: 30px;
    margin-bottom: 0;
    display: flex;
    align-items: center;
}

/* Top menu en la primera fila */
.masthead .masthead-top-bar .masthead-topmenu {
    display: flex !important;
    align-items: center;
    visibility: visible !important;
    width: 100%;
    justify-content: flex-end;
}

.masthead .masthead-nav .masthead-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 15px;
    flex-shrink: 0;
}

/* Estilos para el topmenu en la primera fila */
.masthead .masthead-top-bar .masthead-topmenu ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    align-items: center;
    background: transparent;
    justify-content: flex-start;
}

.masthead .masthead-top-bar .masthead-topmenu li {
    margin-right: 15px;
    white-space: nowrap;
}

.masthead .masthead-top-bar .masthead-topmenu li:first-child {
    margin-left: 0;
}

.masthead .masthead-top-bar .masthead-topmenu a {
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    padding: 4px 8px;
    font-weight: 500;
    border-radius: 3px;
    transition: background-color 0.2s;
    white-space: nowrap;
}

.masthead .masthead-top-bar .masthead-topmenu a:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Elementos mobile */
.masthead .masthead-lang-mobile {
    display: none;
}

/* Segunda fila: Logo + Navigation + Search */
.masthead .masthead-nav {
    width: 100%;
    margin: 0;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    padding: 8px 0;
    flex-wrap: nowrap;
    min-height: 60px;
    position: relative;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}

/* Force desktop visibility - override any Bootstrap collapse rules */
@media (min-width: 768px) {
    .masthead .masthead-nav {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
    }
    
    .masthead .masthead-nav .navigation,
    .masthead .masthead-nav .site-search {
        display: flex !important;
        visibility: visible !important;
    }
    
    .masthead .masthead-top-bar .masthead-topmenu {
        display: flex !important;
        visibility: visible !important;
    }
}

/* El logo ahora está dentro de masthead-nav */
.masthead .masthead-nav .masthead-brand .logo img {
    height: 64px !important;
    width: auto !important;
    max-width: 350px !important;
    padding: 0;
    margin: 0;
    display: block;
}

/* Alinear logo verticalmente en escritorio */
.masthead .masthead-nav .masthead-brand .logo {
    display: flex;
    align-items: center;
    margin-top: -50px;
}

/* Contenedor principal del header */
.masthead .masthead-nav {
    align-items: center;
}

.masthead .masthead-nav .navigation {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    flex: 1;
    margin-right: 20px;
    visibility: visible !important;
}

.masthead .masthead-nav .navigation .nav {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    margin: 0;
    padding: 0;
}

.masthead .masthead-nav .navigation .nav li {
    list-style: none;
    margin-right: 18px;
    white-space: nowrap;
}

.masthead .masthead-nav .navigation .nav li a {
    color: white;
    text-decoration: none;
    font-size: 13px;
    padding: 6px 10px;
    border-radius: 3px;
    transition: background-color 0.2s;
}

.masthead .masthead-nav .navigation .nav li a:hover,
.masthead .masthead-nav .navigation .nav li.active a {
    background-color: rgba(255, 255, 255, 0.15);
}

.masthead .masthead-nav .site-search {
    margin-left: auto;
    max-width: 280px;
    flex-shrink: 0;
    width: 240px;
    display: block !important;
    visibility: visible !important;
}

.masthead .masthead-nav .site-search .form-control {
    min-width: 180px;
    width: 200px;
    transition: width 0.3s ease;
}

.masthead .masthead-nav .site-search .form-control:focus {
    width: 220px;
}

/* Toggle button para mobile */
.masthead .navbar-toggle,
.masthead .navbar-toggler {
    border: 1px solid rgba(255, 255, 255, 0.6);
    background: transparent;
    color: #fff;
    padding: 6px 10px;
    border-radius: 4px;
    cursor: pointer;
    display: none; /* Hidden by default on desktop */
}

.masthead .navbar-toggle .fa,
.masthead .navbar-toggler .fa {
    font-size: 16px;
}

/* Mobile Navigation Collapse - Updated for two-row structure */
.masthead .masthead-nav.collapse {
    display: none;
}

.masthead .masthead-nav.collapse.in,
.masthead .masthead-nav.collapse.show {
    display: flex !important;
    flex-direction: column;
    width: 100%;
}
/* Navegación simple */
.masthead .section {
    position: relative !important;
}

/* Navegación básica - solo lo esencial */
.masthead .navigation .nav-pills {
    display: flex !important;
    margin: 0;
    flex: 1;
    gap: 5px;
}

.masthead .navigation .nav-pills li a {
    color: #fff !important;
    padding: 8px 12px !important;
    font-weight: 500;
    font-size: 14px;
    border-radius: 3px;
}

.masthead .navbar-collapse {
    display: flex !important;
    visibility: visible !important;
    align-items: center;
}
/* footer */
.site-footer {
margin-bottom: initial;
color: #fff !important;
background: #f1f4f6 !important;
padding: 20px 0;
}
/* search background */
.homepage .module-search .module-content {
border-radius: 3px 3px 0 0;
background-color: transparent !important;
border-bottom: none;
}

/* Make the entire search module container transparent */
.homepage .module-search {
    background-color: transparent !important;
}

/* Make search form and input with WHITE background and clean borders */
.homepage .module-search .search-form {
    background-color: transparent !important;
}

.homepage .module-search .search-input {
    position: relative !important;
    background-color: transparent !important;
    display: flex !important;
    align-items: stretch !important;
}

.homepage .module-search .search-input input {
    flex: 1 !important;
}

.homepage .module-search input[type="text"],
.homepage .module-search .form-control {
    background-color: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid #d5dadd !important;
    color: #212529 !important;
    border-radius: 3px 0 0 3px !important;
    padding: 12px 15px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}

/* Search input placeholder */
.homepage .module-search input::placeholder {
    color: #8a8a8a !important;
}

/* Search button - aligned perfectly with input */
.homepage .module-search .search-input button {
    position: relative !important;
    width: 60px !important;
    min-width: 60px !important;
    align-self: stretch !important;
    background-color: #0069B4 !important;
    background-color: var(--unesco-blue) !important;
    border: 1px solid #0069B4 !important;
    border: 1px solid var(--unesco-blue) !important;
    border-left: none !important;
    color: white !important;
    border-radius: 0 3px 3px 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    transition: background-color 0.2s ease !important;
}

.homepage .module-search .search-input.search-giant {
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
}

.homepage .module-search .search-input.search-giant input[type="text"],
.homepage .module-search .search-input.search-giant .form-control {
    padding-right: 70px !important;
    height: 100% !important;
}

.homepage .module-search .search-input.search-giant button[type="submit"] {
    position: absolute !important;
    inset: 0 0 0 auto !important;
    margin: 0 !important;
    width: 60px !important;
    min-width: 60px !important;
    height: 100% !important;
    border-radius: 0 3px 3px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}


.homepage .module-search .search-input button i,
.homepage .module-search .search-input button .fa,
.homepage .module-search .search-input button .fa-search {
    color: white !important;
    font-size: 16px !important;
}

.homepage .module-search .search-input button:hover {
    background-color: #005a9e !important;
    background-color: var(--unesco-blue-dark) !important;
    border-color: #005a9e !important;
    border-color: var(--unesco-blue-dark) !important;
}

/*search margin */
.homepage .module-search {
    margin-top: 5px;
    margin-bottom: 40px;
}
/* title search data color */
.homepage .module-search .module-content .heading {
    color: #fff !important;
}
/* tag background */
.homepage .module-search .tags {
padding: 5px 10px 10px 10px;
background-color: transparent !important;
border-radius: 0 0 3px 3px;
}

/* Mobile responsive styles */
@media (max-width: 768px){
    /* Logo más pequeño en mobile */
    .masthead .masthead-nav .masthead-brand .logo img {
        height: 44px !important;
        max-width: 250px !important;
    }
    
    /* Mostrar top menu en mobile con layout compacto */
    .masthead .masthead-top-bar {
        display: block !important;
        padding: 5px 0 !important;
    }
    
    /* Restructurar masthead-nav para mobile */
    .masthead .masthead-nav {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        padding: 10px 0;
        flex-wrap: wrap;
        position: relative;
        z-index: 1000;
    }
    
    /* Ocultar navegación principal en mobile por defecto */
    .masthead .masthead-nav .navigation {
        display: none !important;
        width: 100%;
        margin-top: 15px;
        order: 3;
        opacity: 0;
        transform: translateY(-10px);
        transition: all 0.3s ease;
    }
    
    /* Ocultar search en mobile */
    .masthead .masthead-nav .site-search {
        display: none !important;
    }
    
    /* Mostrar toggle button en mobile */
    .masthead .masthead-nav .navbar-toggle,
    .masthead .masthead-nav .navbar-toggler {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        order: 2;
        width: 38px;
        height: 38px;
        padding: 8px;
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255, 255, 255, 0.65);
        border-radius: 6px;
        line-height: 1;
    }

    .masthead .masthead-nav .navbar-toggle .fa,
    .masthead .masthead-nav .navbar-toggler .fa {
        font-size: 16px;
    }
    
    .masthead .masthead-actions {
        display: flex;
        gap: 10px;
        align-items: center;
    }
    
    .masthead .masthead-login-mobile {
        display: flex;
        gap: 8px;
        align-items: center;
    }
    
    .masthead .masthead-login-mobile .btn {
        padding: 6px 10px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
    }
    
    /* Mostrar lang mobile */
    .masthead .masthead-lang-mobile {
        display: block;
    }
    
    /* Cuando se activa el collapse, mostrar navigation */
    .masthead .masthead-nav.show .navigation,
    .masthead .masthead-nav.in .navigation {
        display: flex !important;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        margin-top: 0;
        background-color: #0077d4;
        border-radius: 0 0 8px 8px;
        padding: 20px 15px;
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
        z-index: 9999;
        opacity: 1 !important;
        transform: translateY(0) !important;
        animation: slideDown 0.3s ease;
    }
    
    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    .masthead .masthead-nav.show .navigation .nav,
    .masthead .masthead-nav.in .navigation .nav {
        flex-direction: column;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    
    .masthead .masthead-nav.show .navigation .nav li,
    .masthead .masthead-nav.in .navigation .nav li {
        margin-bottom: 8px;
        margin-right: 0;
        width: 100%;
        text-align: left;
    }
    
    .masthead .masthead-nav.show .navigation .nav li a,
    .masthead .masthead-nav.in .navigation .nav li a {
        display: block;
        width: 100%;
        padding: 15px 20px;
        background-color: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 6px;
        color: white !important;
        text-decoration: none;
        font-size: 15px;
        font-weight: 500;
        transition: all 0.2s ease;
        box-sizing: border-box;
    }
    
    .masthead .masthead-nav.show .navigation .nav li a:hover,
    .masthead .masthead-nav.in .navigation .nav li a:hover {
        background-color: rgba(255, 255, 255, 0.15);
        border-color: rgba(255, 255, 255, 0.2);
        transform: translateY(-1px);
    }
}

/* Eliminado - causaba conflictos */


@media (min-width: 993px){
    .hero {
        /*         background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url("Homepage.jpg_pc.webp") !important; */
        background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url("/Homepage.jpg_pc_1.webp") !important;
        background-color: #fff !important;
        padding-top: 9rem !important;
        background-repeat: no-repeat !important;
        background-size: 100% 100% !important; 
        background-position: center !important;

    }
    
    }
    
    @media (min-width: 576px) and (max-width:992px){
    .hero {
        background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url("/Homepage.jpg_tablet_1.webp") !important;
        background-color: #fff !important;
        padding-top: 9rem !important;
        background-repeat: no-repeat !important;
        background-size: 100% 100% !important; 
        background-position: center !important;
    }
    }
    @media (max-width: 575px){
        .hero {
            background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url("/Homepage.jpg_mobile_1.webp") !important;
            background-color: #fff !important;
            padding-top: 9rem !important;
            background-repeat: no-repeat !important;
            background-size: 100% 100% !important; 
            background-position: center !important;

        }
        
        }



/* Improved responsive behavior for header */

/* Large screens - show everything */
@media (min-width: 1200px) {
    .masthead .site-search {
        display: block !important;
        max-width: 280px;
    }
    
    .masthead .masthead-nav .navigation .nav li {
        margin-right: 20px;
    }
    
    .masthead .masthead-nav .navigation .nav li a {
        font-size: 14px;
        padding: 6px 12px;
    }
}

/* Medium-large screens - reduce search, adjust spacing */
@media (min-width: 992px) and (max-width: 1199px) {
    .masthead .site-search {
        display: block !important;
        max-width: 200px;
    }
    
    .masthead .site-search .form-control {
        width: 160px;
        min-width: 160px;
    }
    
    .masthead .masthead-nav .navigation .nav li {
        margin-right: 15px;
    }
    
    .masthead .masthead-nav .navigation .nav li a {
        font-size: 13px;
        padding: 5px 8px;
    }
}

/* Medium screens - hide search, compact menu */
@media (min-width: 768px) and (max-width: 991px) {
    .masthead .site-search {
        display: none !important;
    }
    
    .masthead .masthead-nav .navigation {
        margin-right: 0;
    }
    
    .masthead .masthead-nav .navigation .nav li {
        margin-right: 10px;
    }
    
    .masthead .masthead-nav .navigation .nav li a {
        font-size: 12px;
        padding: 4px 6px;
    }
    
    /* Hide longer menu items on medium screens if needed */
    .masthead .masthead-top-bar .masthead-topmenu li:first-child {
        display: none;
    }
}

/* Small-medium screens - further compact */
@media (min-width: 600px) and (max-width: 767px) {
    .masthead .masthead-top-bar {
        display: block !important;
        padding: 5px 0 !important;
    }
    
    .masthead .masthead-nav .navigation .nav li {
        margin-right: 8px;
    }
    
    .masthead .masthead-nav .navigation .nav li a {
        font-size: 11px;
        padding: 3px 5px;
    }
    
    /* Hide some less critical nav items */
    .masthead .masthead-nav .navigation .nav li:last-child {
        display: none;
    }
}

/* Critical fix for problematic resolutions like in the image */
@media (min-width: 768px) and (max-width: 850px) {
    .masthead .masthead-nav .navigation .nav li a {
        font-size: 11px !important;
        padding: 3px 4px !important;
    }
    
    .masthead .masthead-nav .navigation .nav li {
        margin-right: 6px !important;
    }
    
    /* Hide "About IHP" link in tight spaces */
    .masthead .masthead-nav .navigation .nav li:last-child {
        display: none !important;
    }
}

/* Very tight spaces - aggressive compacting */
@media (min-width: 768px) and (max-width: 820px) {
    .masthead .masthead-nav .navigation .nav li:nth-last-child(2) {
        display: none !important;
    }
}

/* Emergency fallback for extremely tight spaces */
@media (min-width: 768px) and (max-width: 800px) {
    .masthead .masthead-nav .navigation {
        display: none !important;
    }
    
    .masthead .masthead-nav .navbar-toggle,
    .masthead .masthead-nav .navbar-toggler {
        display: block !important;
    }
    
    .masthead .masthead-nav.show .navigation,
    .masthead .masthead-nav.in .navigation {
        display: flex !important;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(0, 119, 212, 0.95);
        flex-direction: column;
        padding: 15px;
        z-index: 1000;
        border-radius: 0 0 8px 8px;
    }
}

/* Ensure mobile menu can close when toggler is pressed again */
@media (max-width: 768px) {
    body .masthead .masthead-nav:not(.show):not(.in) .navigation {
        display: none !important;
        opacity: 0 !important;
        transform: translateY(-10px) !important;
    }
}

/* Ensure mobile menu can close when toggler is pressed again */
@media (max-width: 768px) {
    body .masthead .masthead-nav:not(.show):not(.in) .navigation {
        display: none !important;
        opacity: 0 !important;
        transform: translateY(-10px) !important;
    }
}
@media (min-width: 769px) {
    .masthead .navbar-collapse {
        display: block !important;
        visibility: visible !important;
    }
    
    .masthead .masthead-lang-mobile {
        display: none;
    }
    
    .masthead .masthead-topmenu {
        display: flex;
    }
    
    .masthead .navbar-toggle,
    .masthead .navbar-toggler {
        display: none !important;
    }
}
  /* The "navigation pills" in the masthead (the links to Datasets,
   *    Organizations, etc) when the user's pointer hovers over them. */
.masthead .navigation .nav-pills li a:hover {
    background-color: transparent !important;
	color: white !important;
    }
 
.masthead .nav > li > a, .masthead .nav > li > a:focus, .masthead .nav > li > a:hover, .masthead .nav > .active > a, .masthead .nav > .active > a:hover, .masthead .nav > .active > a:focus {
    color: #fff !important;
    text-shadow: none;
}

.box {
    background-color: transparent !important;
    border: 0px solid transparent !important;
    border-radius: 5px !important;
    -webkit-box-shadow: 0 0 0 0px rgba(0, 0, 0, 0) !important;
    box-shadow: 0 0 0 0px rgba(0, 0, 0, 0) !important;
}
/* top bar */

.account-masthead {
    min-height: 30px;
    color: #fff !important;
    background: #0069B4 !important;
}
.account-masthead .account ul li {
    display: block;
    float: left;
    border-left: 1px solid #fff !important;
}

/* bottom rectangles*/
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    padding-top: 15px;
    padding-bottom: 15px;
}

.homepage .row {
    position: relative;
    background: transparent !important;
}
.masthead .navigation .nav-pills li a:hover, .masthead .navigation .nav-pills li a:focus, .masthead .navigation .nav-pills li.active a {
    background-color: transparent !important;
	color: #fff !important;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

/* Title pages */
.toolbar .breadcrumb a {
    color: #212529 !important;
}

.lang-select label, .lang-select select, .lang-select .lang-container {
    max-width: 300px !important;
}
/* Old topmenu styles - disabled for single-line layout
.topmenu{
    padding-left: 0;
    margin-bottom: 0;
    font-size:12px;
}
.topmenu ul{
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
.topmenu ul li{
    float:right;
    padding-right: 1rem;
    padding-left: 1rem;
}
*/
.main {
    padding-top: 9rem !important;
    z-index: 0;
}
h1 .page-heading {
    color: #212122 !important;
}
h2 .page-heading {
    color: #212122 !important;
}
.col-md-12 {
    border-top: .0625rem solid #d5dadd !important;
}
p {
    font-size: 1.125rem !important;
    color: #212529 !important;
    line-height: 1.6 !important;
}
.main {
    background: transparent !important;
}
.col-lg-6{
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}
@media only screen and (max-width: 992px){
.paragraph--type--cards-article.carousel-cards .card, .paragraph--type--cards-landing .card {
    min-height: 250px;
}}

.paragraph--type--cards-article.carousel-cards .card, .paragraph--type--cards-landing .card {
    margin-bottom: 2rem;
}
.card-hero {
    display: flex;
    flex-direction: column;
}
@media only screen and (min-width: 576px){
.card-height-fixed {
    min-height: 12.5rem;
    max-height: 26.5rem;
}}
@media only screen and (min-width: 992px){
.col-lg-6 .card-hero .card-img-top {
    width: 45%;
    max-height: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.col-lg-6 .card-hero {
    flex-direction: row-reverse;
    align-items: stretch;
}
.col-lg-6 .card:not(.card-contact) .card-title {
    font-size: 1.75rem;
}
}

.card {
    position: relative;
    overflow: hidden;
}
.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #f1f4f6 !important;
    background-clip: border-box;
    border: 0 solid rgba(33, 33, 33, .125);
    border-radius: .5rem;
}
.card-img-top {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-height: 9rem;
}

.card-img, .card-img-top {
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
}
.card-img, .card-img-top, .card-img-bottom {
    flex-shrink: 0;
    width: 100%;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border-style: none;
}
.is-drupal .card-body {
    margin-bottom: 1.5rem;
}
.card-body {
    flex: 1 1 auto;
    min-height: 1px;
    padding: 1.5rem;
}
.is-drupal .card-title {
    margin-bottom: 1rem;
}
.card-title {
    font-size: 1.125rem;
}
.card-title {
    width: calc(100% - 2rem);
    font-weight: 600;
    line-height: 1.3;
}
.card-text {
    font-size: 1rem;
}

.card-text {
    line-height: 1.3;
}
.field--name-field-paragraphs .field__item {
    position: relative;
}
.btn:not(:disabled):not(.disabled) {
    cursor: pointer;
}
.btn-arrow-right::after {
    content: "arrow_forward";
    font-family: "Material Icons";
    font-feature-settings: "liga" 1;
    font-weight: 400;
    display: inline-block;
    vertical-align: text-bottom;
    margin-left: .875rem;
    font-size: 1.5rem;
    line-height: .7;
}

.paragraph--type--cards-article.carousel-cards .cardsmall, .paragraph--type--cards-landing .cardsmall {
    margin-bottom: 2rem;
}
.cardsmall-hero {
    display: flex;
    flex-direction: column;
}

.cardsmall-thematic {
    height: auto;
    min-height: 19rem;
    display: flex;
    flex-direction: column;
}

.cardsmall-height-fixed {
    height: 100%;
    min-height: 23.5rem;
}

.cardsmall {
    position: relative;
    overflow: hidden;
}
.cardsmall {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #f1f4f6 !important;
    background-clip: border-box;
    border: 0 solid rgba(33, 33, 33, .125);
    border-radius: .5rem;
}
.cardsmall-img-top {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 160px;
}

.cardsmall-img, .cardsmall-img-top {
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
}
.cardsmall-img, .cardsmall-img-top, .cardsmall-img-bottom {
    flex-shrink: 0;
    width: 100%;
}
.cardsmall-img-top2 {
    -o-object-fit: contain;
    object-fit: contain;
    padding-top: 5px;
    width: 100%;
    height: 100%;
    max-height: 12rem;
}

.cardsmall-img2, .cardsmall-img-top2 {
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
}
.cardsmall-img2, .cardsmall-img-top2, .cardsmall-img-bottom2 {
    flex-shrink: 0;
    width: 100%;
}

.is-drupal .cardsmall-body {
    margin-bottom: 1.5rem;
}
.cardsmall-body {
    flex: 1 1 auto;
    min-height: 1px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
}
.is-drupal .cardsmall-title {
    margin-bottom: 1rem;
}
.cardsmall-title {
    width: 100%;
    font-weight: 600;
    line-height: 1.3;
    font-size: 1.125rem;
    margin-bottom: 1rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-height: 2.8rem;
}
.cardsmall-text {
    font-size: 1rem;
    line-height: 1.5;
    flex: 1 1 auto;
    overflow: hidden;
}

.cardsmall-text {
    line-height: 1.3;
}

.cardsmall-text p {
    max-height: none;
    overflow: visible;
    margin-bottom: 1rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

.col-small{
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    min-height: 20rem;
}
@media (min-width: 1200px){
.col-lg-6 {
    width: 100% !important;
}}
.stats{
    display: block !important;
    float: left !important;
    margin: 0 0 0 10px !important;
    background: transparent !important;
    color: #fff !important;
}
.social_network a {
    display: flex;
    align-items: center;
    color: #212121
}

.social_network a span {
    font-size: .875rem;
    font-weight: 500
}

.social_network a span.icon::before {
    color: #7f888f;
    line-height: 2rem;
    font-size: 1rem;
    transition: .3s
}

.social_network a:hover {
    text-decoration: none
}

.social_network a:hover .icon::before,.social_network a:hover .social-sharing-buttons>a::before {
    color: #212121
}
.page-header.module-content {
    background: #fff;
}
.page-header .nav-tabs {
    float: none !important;
}
.dropdown-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: .0625rem solid #d5dadd;
    padding: 1.5rem 0;
    font-size: .875rem;
    color: #212121;
    font-weight: 600;
    cursor: pointer;
}
.dropdown-toggle+ul .nav-link {
    padding: 0;
    font-size: .875rem;
    font-weight: 500;
    color: #212121;
}
.list-unstyled3{
    margin-left: 1rem !important;
    list-style: none;
    padding-left:0 !important;
}
.list-unstyled3 a{
    padding: 0 !important;
    font-size: .875rem !important;
    font-weight: 500 !important;
    color: #212121 !important;  
}
.list-unstyled3 a:hover{
    text-decoration: none !important;
}
.site-footer a{
    color: #212121 !important;
    text-decoration: none !important;
}
.site-footer a:hover{
    text-decoration: none !important;
}
.icon2,.social-sharing-buttons>a,.icon2::before,.social-sharing-buttons>a::before {
    font-family: "unesco" !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: middle;
    font-size: .85em
}
@font-face{
    font-family:"unesco";
    font-style:normal;
    font-weight:normal;
    src:url(/unesco.ttf) format("truetype"),url(/unesco.woff) format("woff"),url(/unesco.svg) format("svg")
}
.icon2-facebook::before {
    content: "";
}
.icon2-threads::before {
    content: "";
}
.social_network a span.icon2::before {
    color: #7f888f;
    line-height: 2rem;
    font-size: 1rem;
    transition: .3s;
}
.social_network a span.icon2 {
    text-align: center;
    font-size: 1rem;
    background-color: #fff;
    width: 2rem;
    border-radius: 1rem;
    margin-right: 1rem;
}
.icon2-twitter::before {
    content: "";
}
.icon2-youtube::before {
    content: "";
}
.icon2-tiktok::before {
    content: "";
}
.icon2-instagram::before {
    content: "";
}
.icon2-whatsapp::before {
    content: "";
}
.icon2-linkedin::before {
    content: "";
}
.btn-terria {
    color: #fff;
    background-color: rgb(81, 154, 194);
    border-color: #000;
}
@media (min-width: 992px) and (max-width:1200px) {
    .container {
        width: 980px !important;
    }
}
@media (min-width: 1200px) {
    .container {
        width: 90vw !important;
        max-width: 1920px !important;
    }
}

.container.full-width {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

@media (min-width: 1200px) {
    .container.full-width {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Search field improvements */
.masthead .site-search input {
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    background: transparent !important;
    color: white !important;
    border-radius: 4px !important;
    padding: 8px 40px 8px 12px !important;
}

.masthead .site-search input::placeholder {
    color: rgba(255, 255, 255, 0.7) !important;
}

.masthead .site-search input:focus {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    outline: none !important;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.3) !important;
}

.masthead .site-search .btn-search {
    border: none !important;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.8) !important;
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    padding: 4px !important;
}

.masthead .site-search .btn-search:hover {
    color: white !important;
}

.masthead .site-search .field {
    position: relative !important;
}
.d-flex {
    display: flex !important;
}
.dataset-content {
    flex: 0 1 80%;
}

.js .image-upload #field-image-upload {
    /* cursor: pointer; */
    /* position: absolute; */
    opacity: 1 !important
    /* opacity: 0; */
}

.resource-upload-field > input[type=radio] {
    display: none;
  }
  .resource-upload-field > div.select-type {
    position: relative;
    display: none;
  }
  .resource-upload-field > input[type=radio]:checked + div.select-type {
    display: block;
  }
  .resource-upload-field label.btn::after {
    content: "";
  }
  .resource-upload-field .btn-remove-url {
    position: absolute;
    margin-right: 0;
    margin-top: 11px;
    top: 1.5rem;
    right: 0.25rem;
    padding: 0 12px;
    border-radius: 100px;
  }
  .resource-upload-field .btn-remove-url .icon-remove {
    margin-right: 0;
  }
  .resource-upload-field input#field-clear-upload {
    display: none;
  }
  .resource-upload-field input#field-clear-upload + div.upload-type {
    display: block;
  }
  .resource-upload-field input#field-clear-upload ~ .upload-type {
    display: none;
  }
  .resource-upload-field input#field-clear-upload:checked + div.upload-type {
    display: none;
  }
  .resource-upload-field input#field-clear-upload:checked ~ .upload-type {
    display: block;
  }
  .checkbox input[type=checkbox] {
    top: 26px !important;
  }
  .field.field--name-field-link.field--type-link.field--label-hidden.field__item {
    margin-top: auto;
    width: 100%;
    text-align: right;
    padding: 5px;
}
a.heading.truncate {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 80%;
    vertical-align: middle;
}

/* Slideshow Styles */
.slideshow-container {
  position: relative;
  width: 100%;
  margin: 5px auto 2rem;
  overflow: hidden;
  border-radius: 0.5rem;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  max-width: 1181px;
}

.slideshow-wrapper {
  position: relative;
  width: 100%;
}

.slide {
  display: none;
  width: 100%;
}

.slide:first-child {
  display: block;
}

.slide-image {
  height: 295px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.slide-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.5rem;
  background: linear-gradient(to top, rgba(0,0,0,0.9), rgba(0,0,0,0.4) 80%, rgba(0,0,0,0));
  color: #fff;
  overflow: hidden;
}

.slide-content h2 {
  font-size: 2.25rem;
  margin-bottom: 0.75rem;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
  color: #fff;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 6rem;
}

.slide-btn {
  background-color: #0069B4 !important;
  border: none !important;
  padding: 0.75rem 1.5rem !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
  transition: all 0.3s ease !important;
}

.slide-btn:hover {
  background-color: #005a9e !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3) !important;
}

.slideshow-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 0;
  background-color: #f1f4f6;
}

.prev-btn, .next-btn {
  background: #0069B4;
  color: white;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  font-size: 18px;
  cursor: pointer;
  margin: 0 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.prev-btn:hover, .next-btn:hover {
  background: #005a9e;
}

.slideshow-dots {
  display: flex;
  justify-content: center;
}

.dot {
  cursor: pointer;
  height: 12px;
  width: 12px;
  margin: 0 5px;
  background-color: #ccc;
  border: none;
  border-radius: 50%;
  transition: background-color 0.3s ease;
}

.dot.active, .dot:hover {
  background-color: #0069B4;
}

/* Updated Section Title Styles */
.section-title {
  position: relative;
  margin-bottom: 1.5rem;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  height: 160px;
  display: flex;
  align-items: center;
  border-bottom: none;
}

.section-title-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  z-index: 1;
}

.section-title-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 105, 180, 0.9) 0%, rgba(0, 105, 180, 0.7) 50%, rgba(0, 105, 180, 0.4) 100%);
  z-index: 2;
}

.section-title-content {
  position: relative;
  z-index: 3;
  padding: 2rem;
  width: 100%;
}

.section-title h2 {
  margin: 0;
  color: #fff;
  font-weight: 600;
  font-size: 2rem;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}

.section-title-description {
  color: #fff !important;
  margin-top: 0.5rem;
  font-size: 1.1rem;
  max-width: 90%;
  text-shadow:
  2px 2px 4px rgba(0, 0, 0, 0.4),
  0 0 1px rgba(0, 0, 0, 0.2);
}

@media (max-width: 768px) {
  .section-title {
    height: 140px;
  }
  
  .section-title h2 {
    font-size: 1.5rem;
  }
  
}

/* Responsive Adjustments for Slideshow */
@media (max-width: 992px) {
  .slide-content h2 {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
    -webkit-line-clamp: 2;
    max-height: 4.5rem;
  }
  
  .slide-btn {
    padding: 0.5rem 1.25rem !important;
    font-size: 0.9rem !important;
  }
}

@media (max-width: 768px) {
  .slide-content {
    padding: 1.25rem;
  }
  
  .slide-content h2 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    -webkit-line-clamp: 2;
    max-height: 4rem;
  }
  
  .slide-image {
    height: 250px;
  }
}

@media (max-width: 576px) {
  .slide-content h2 {
    font-size: 1.25rem;
    -webkit-line-clamp: 2;
    max-height: 3.5rem;
    margin-bottom: 0.5rem;
  }
  
  .slide-btn {
    padding: 0.4rem 1rem !important;
    font-size: 0.85rem !important;
  }
  
  .slide-image {
    height: 220px;
  }
}

/* Improved card styling for IHP IX page */
.cardsmall-thematic {
  height: auto;
  min-height: 19rem;
  display: flex;
  flex-direction: column;
}

.cardsmall-body {
  flex: 1 1 auto;
  min-height: 1px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
}

.cardsmall-title {
  width: 100%;
  font-weight: 600;
  line-height: 1.3;
  font-size: 1.125rem;
  margin-bottom: 1rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 2.8rem;
}

.cardsmall-text {
  font-size: 1rem;
  line-height: 1.5;
  flex: 1 1 auto;
  overflow: hidden;
}

.cardsmall-text p {
  max-height: none;
  overflow: visible;
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

/* Better badge positioning */
.members-badge, .coming-soon-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 10;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  color: white;
}

.members-badge {
  background-color: rgba(0,0,0,0.7);
}

.coming-soon-badge {
  background-color: #e63946;
}

/* Consistent button positioning */
.field--name-field-link.field--type-link.field--label-hidden.field__item {
  margin-top: auto;
  width: 100%;
  text-align: right;
  padding: 5px;
}

/* Fix column spacing */
.col3, .col2 {
  margin-bottom: 1.5rem;
}

/* Ensure Thematic Viewers grid layout works properly */
.module-content .row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.module-content .row .col-md-4 {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
  padding-right: 15px;
  padding-left: 15px;
  margin-bottom: 30px;
}

/* Support for 4-column layout (IHP Education) */
.module-content .row .col-md-3 {
  flex: 0 0 25%;
  max-width: 25%;
  padding-right: 15px;
  padding-left: 15px;
  margin-bottom: 30px;
}

/* Responsive behavior for all grid layouts */
@media (max-width: 991px) {
  .module-content .row .col-md-4 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  
  .module-content .row .col-md-3 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (max-width: 767px) {
  .module-content .row .col-md-4,
  .module-content .row .col-md-3 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Make images consistent size */
.cardsmall-img-top {
  height: 160px;
  object-fit: cover;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .cardsmall-thematic {
    min-height: auto;
  }
  
  .cardsmall-title {
    font-size: 1rem;
    -webkit-line-clamp: 2;
  }
  
  .cardsmall-text p {
    -webkit-line-clamp: 3;
  }
}

/* Fix heading alignment for section titles */
h2.page-heading {
  width: 100%;
  text-align: left;
  clear: both;
  display: block;
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.75rem;
  font-weight: 600;
  color: #212122;
}

/* Fix the container for priority areas section */
.module-content .box > div {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

/* Add proper clearing after the top row of cards */
.module-content .box > div:after {
  content: "";
  display: block;
  clear: both;
  width: 100%;
}

/* Reduce spacing between sections */
.col-md-12.col1 {
    margin-bottom: 1rem;
}

/* Adjust slideshow container margins */
.slideshow-container {
  margin: 5px auto 2rem;
}

/* Reduce section title margins */
.section-title {
  margin-bottom: 1.5rem;
}

/* Adjust spacing for row elements */
.row.row2 {
  margin-top: -1rem;
}

/* Reduce the space between the last card in a section and the next section title */
.col-md-12.col1:not(:first-child) h2.page-heading {
  margin-top: 1rem;
}

/* Tighten up featured dataset section specifically */
.col-md-12.col1 + .col-md-12.col1[style="border-top: 0 !important;"] {
  margin-top: -1rem;
}
/* icons extended*/
.format-label[data-format=shp],
.format-label[data-format*=shp] {
  width: 60px;
  height: 65px;
  background-position: -2320px -220px;
  transform: scale(0.53);
  margin: -14px 0 0 -14px;
}

.format-label[data-format=tiff],
.format-label[data-format*=tiff] {
  width: 60px;
  height: 65px;
  background-position: -2420px -220px;
  transform: scale(0.53);
  margin: -14px 0 0 -14px;
}
.format-label[data-format=tif],
.format-label[data-format*=tif] {
  width: 60px;
  height: 65px;
  background-position: -2420px -220px;
  transform: scale(0.53);
  margin: -14px 0 0 -14px;
}
.format-label[data-format=cog],
.format-label[data-format*=cog] {
  width: 60px;
  height: 65px;
  background-position: -2420px -220px;
  transform: scale(0.53);
  margin: -14px 0 0 -14px;
}
.format-label[data-format=ppt],
.format-label[data-format*=ppt] {
  width: 60px;
  height: 65px;
  background-position: -2520px -220px;
  transform: scale(0.53);
  margin: -14px 0 0 -14px;
}
.format-label[data-format=pptx],
.format-label[data-format*=pptx] {
  width: 60px;
  height: 65px;
  background-position: -2520px -220px;
  transform: scale(0.53);
  margin: -14px 0 0 -14px;
}
.format-label[data-format=mp4],
.format-label[data-format*=mp4] {
  width: 60px;
  height: 65px;
  background-position: -2620px -220px;
  transform: scale(0.53);
  margin: -14px 0 0 -14px;
}

/* ===== FUNCIONALIDAD DE "LEER MÁS" ===== */

/* Mejoras en las tarjetas pequeñas con truncamiento inteligente */
.cardsmall-text-enhanced {
  font-size: 1rem;
  line-height: 1.5;
  flex: 1 1 auto;
  color: var(--text-primary);
  margin-bottom: 1rem;
}

.cardsmall-text-enhanced .text-content {
  position: relative;
}

.cardsmall-text-enhanced .text-preview {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.5rem;
}

.cardsmall-text-enhanced .text-full {
  display: none;
  margin-bottom: 0.5rem;
}

.cardsmall-text-enhanced .text-full.show {
  display: block;
}

.cardsmall-text-enhanced .text-preview.hide {
  display: none;
}

.read-more-btn {
  background: none;
  border: none;
  color: var(--unesco-blue);
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.25rem 0;
  text-decoration: none;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.read-more-btn:hover {
  color: var(--unesco-blue-dark);
  text-decoration: none;
}

.read-more-btn i {
  font-size: 0.8rem;
  transition: transform 0.3s ease;
}

.read-more-btn.expanded i {
  transform: rotate(180deg);
}

/* ===== MEJORAS EN TARJETAS EXISTENTES ===== */

/* Mejoras en tarjetas grandes */
.card-enhanced {
  box-shadow: var(--shadow-light);
  border-radius: var(--border-radius);
  transition: var(--transition);
  overflow: hidden;
  border: 1px solid #f0f0f0;
}

.card-enhanced:hover {
  box-shadow: var(--shadow-medium);
  transform: translateY(-2px);
}

.card-text-enhanced {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text-primary);
  margin-bottom: 1rem;
}

.card-text-enhanced .text-content {
  position: relative;
}

.card-text-enhanced .text-preview {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.5rem;
}

.card-text-enhanced .text-full {
  display: none;
  margin-bottom: 0.5rem;
}

.card-text-enhanced .text-full.show {
  display: block;
}

.card-text-enhanced .text-preview.hide {
  display: none;
}

/* Mejoras en tarjetas pequeñas */
.cardsmall-enhanced {
  box-shadow: var(--shadow-light);
  border-radius: var(--border-radius);
  transition: var(--transition);
  overflow: hidden;
  border: 1px solid #f0f0f0;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.cardsmall-enhanced:hover {
  box-shadow: var(--shadow-medium);
  transform: translateY(-2px);
}

.cardsmall-body-enhanced {
  flex: 1 1 auto;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
}

.cardsmall-title-enhanced {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--text-primary);
  margin-bottom: 0.75rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  max-height: 2.8rem;
}

.cardsmall-title-enhanced a {
  color: var(--text-primary);
  text-decoration: none;
  transition: var(--transition);
}

.cardsmall-title-enhanced a:hover {
  color: var(--unesco-blue);
  text-decoration: none;
}

/* ===== MEJORAS EN BOTONES ===== */

.btn-enhanced {
  border-radius: 25px;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 2px solid transparent;
  cursor: pointer;
}

.btn-primary-enhanced {
  background: linear-gradient(135deg, var(--unesco-blue) 0%, var(--unesco-blue-dark) 100%);
  color: white;
  border-color: var(--unesco-blue);
}

.btn-primary-enhanced:hover {
  background: linear-gradient(135deg, var(--unesco-blue-dark) 0%, var(--unesco-blue) 100%);
  color: white;
  transform: translateY(-1px);
  box-shadow: var(--shadow-medium);
  text-decoration: none;
}

.btn-outline-enhanced {
  background: transparent;
  color: var(--unesco-blue);
  border-color: var(--unesco-blue);
}

.btn-outline-enhanced:hover {
  background: var(--unesco-blue);
  color: white;
  transform: translateY(-1px);
  box-shadow: var(--shadow-light);
  text-decoration: none;
}

/* ===== MEJORAS EN IMÁGENES ===== */

.cardsmall-img-enhanced {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  transition: var(--transition);
}

.cardsmall-enhanced:hover .cardsmall-img-enhanced {
  transform: scale(1.05);
}

.card-img-enhanced {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  transition: var(--transition);
}

.card-enhanced:hover .card-img-enhanced {
  transform: scale(1.05);
}

/* ===== MEJORAS EN ORGANIZACIÓN EXISTENTE ===== */

.cardsmall-img-top2-enhanced {
  width: 100%;
  height: 140px;
  object-fit: contain;
  padding: 10px;
  background: white;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  transition: var(--transition);
}

.cardsmall-enhanced:hover .cardsmall-img-top2-enhanced {
  transform: scale(1.02);
}

/* Clase específica para imágenes de Thematic Viewers */
.cardsmall-img-thematic-enhanced {
  width: 100%;
  height: 140px;
  object-fit: cover;
  padding: 0;
  background: white;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  transition: var(--transition);
}

.cardsmall-enhanced:hover .cardsmall-img-thematic-enhanced {
  transform: scale(1.05);
}

/* ===== MEJORAS EN SECCIÓN DE TÍTULO ===== */

.section-title-enhanced {
  position: relative;
  margin-bottom: 2rem;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 114, 188, 0.12);
  height: 200px;
  display: flex;
  align-items: center;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
}

/* Soporte para preferencias de movimiento reducido */
@media (prefers-reduced-motion: reduce) {
  .section-title-enhanced,
  .section-title-enhanced .section-title-bg,
  .section-title-enhanced .section-title-overlay,
  .section-title-enhanced .section-title-content {
    transition: none;
  }
  
  .section-title-enhanced:hover,
  .section-title-enhanced:focus-within {
    transform: none;
  }
  
  .section-title-enhanced:hover .section-title-bg,
  .section-title-enhanced:hover .section-title-content {
    transform: none;
  }
}

/* Efectos de presión táctil para dispositivos móviles */
@media (hover: none) and (pointer: coarse) {
  .section-title-enhanced:active {
    transform: scale(0.98);
  }
  
  .section-title-enhanced:active .section-title-content {
    transform: scale(0.98);
  }
}

.section-title-enhanced:hover,
.section-title-enhanced:focus-within {
  box-shadow: 0 8px 32px rgba(0, 114, 188, 0.16);
  transform: translateY(-2px);
}

.section-title-enhanced:focus-within {
  outline: 2px solid rgba(255, 255, 255, 0.5);
  outline-offset: 2px;
}

.section-title-enhanced .section-title-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: brightness(0.8);
  transition: transform 0.3s ease;
}

.section-title-enhanced:hover .section-title-bg {
  transform: scale(1.02);
}

.section-title-enhanced .section-title-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(0, 114, 188, 0.9) 0%, rgba(0, 158, 224, 0.8) 100%);
  backdrop-filter: blur(2px);
  transition: opacity 0.3s ease;
}

.section-title-enhanced:hover .section-title-overlay {
  opacity: 0.95;
}

.section-title-enhanced .section-title-content {
  position: relative;
  z-index: 10;
  padding: 2rem 2.5rem;
  color: white;
  text-align: center;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100%;
  transition: transform 0.3s ease;
}

.section-title-enhanced:hover .section-title-content {
  transform: scale(1.02);
}

.section-title-enhanced h2 {
  font-size: 2.5rem !important;
  font-weight: 700 !important;
  margin-bottom: 1rem !important;
  color: #fff !important;
  background: transparent !important;
  background-color: transparent !important;
  text-shadow: 2px 2px 8px rgba(0,0,0,0.4);
  line-height: 1.2;
  letter-spacing: -0.02em;
}

/* Override any inherited h2 styles with maximum specificity for homepage titles */
body .homepage .section-title-enhanced h2,
body .container .section-title-enhanced h2,
body section.module .section-title-enhanced h2,
body .module-content .section-title-enhanced h2,
.homepage .section-title-enhanced h2,
.container .section-title-enhanced h2 {
  color: #fff !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  margin: 0 0 1rem 0 !important;
}

.section-title-enhanced .section-title-description {
  font-size: 1.2rem;
  font-weight: 300;
  opacity: 0.95;
  max-width: 85%;
  margin: 0 auto;
  text-shadow: 1px 1px 4px rgba(0,0,0,0.4);
  line-height: 1.4;
}

/* ===== MEJORAS EN BADGES ===== */

.badge-enhanced {
  padding: 0.4rem 0.8rem;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  box-shadow: var(--shadow-light);
  transition: var(--transition);
}

.badge-members-enhanced {
  background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
  color: white;
}

.badge-coming-soon-enhanced {
  background: linear-gradient(135deg, #e63946 0%, #dc3545 100%);
  color: white;
}

.badge-enhanced:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-medium);
}

/* ===== MEJORAS EN LAYOUT Y ESPACIADO ===== */

/* Mejor espaciado entre elementos */
.col-enhanced {
  margin-bottom: 2rem;
}

/* Mejor alineación de contenido */
.content-wrapper-enhanced {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.content-body-enhanced {
  flex: 1 1 auto;
}

.content-footer-enhanced {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid #f0f0f0;
}

/* ===== MEJORAS EN HOVER EFFECTS ===== */

.hover-lift {
  transition: var(--transition);
}

.hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-medium);
}

.hover-scale {
  transition: var(--transition);
}

.hover-scale:hover {
  transform: scale(1.02);
}

/* ===== MEJORAS EN TIPOGRAFÍA ===== */

.text-truncate-enhanced {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-truncate-lines-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}

.text-truncate-lines-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}

.text-truncate-lines-4 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}

/* ===== MEJORAS EN RESPONSIVIDAD ===== */

@media (max-width: 768px) {
  .section-title-enhanced {
    height: 180px;
  }
  
  .section-title-enhanced h2 {
    font-size: 2rem;
  }
  
  .section-title-enhanced .section-title-description {
    font-size: 1.1rem;
  }
  
  .section-title-enhanced .section-title-content {
    padding: 1.5rem 2rem;
  }
  
  .cardsmall-title-enhanced {
    font-size: 1rem;
  }
  
  .cardsmall-img-enhanced,
  .cardsmall-img-top2-enhanced {
    height: 120px;
  }
  
  .card-img-enhanced {
    height: 160px;
  }
  
  .read-more-btn {
    font-size: 0.85rem;
  }
}

@media (max-width: 576px) {
  .section-title-enhanced {
    height: 160px;
  }
  
  .section-title-enhanced h2 {
    font-size: 1.8rem;
  }
  
  .section-title-enhanced .section-title-description {
    font-size: 1rem;
  }
  
  .cardsmall-body-enhanced {
    padding: 1rem;
  }
  
  .cardsmall-title-enhanced {
    font-size: 0.95rem;
  }
  
  .cardsmall-img-enhanced,
  .cardsmall-img-top2-enhanced {
    height: 100px;
  }
  
  .card-img-enhanced {
    height: 140px;
  }
  
  .btn-enhanced {
    padding: 0.6rem 1.2rem;
    font-size: 0.9rem;
  }
}

/* ===== MEJORAS EN ANIMACIONES ===== */

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in {
  animation: fadeIn 0.5s ease-out;
}

@keyframes slideDown {
  from {
    max-height: 0;
    opacity: 0;
  }
  to {
    max-height: 200px;
    opacity: 1;
  }
}

.slide-down {
  animation: slideDown 0.3s ease-out;
}

/* ===== MEJORAS EN ACCESIBILIDAD ===== */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.focus-visible {
  outline: 2px solid var(--unesco-blue);
  outline-offset: 2px;
}

/* ===== MEJORAS EN CONSISTENCIA DE COLORES ===== */

.text-primary-enhanced {
  color: var(--text-primary) !important;
}

.text-secondary-enhanced {
  color: var(--text-secondary) !important;
}

.text-muted-enhanced {
  color: var(--text-muted) !important;
}

.text-unesco-blue {
  color: var(--unesco-blue) !important;
}

.bg-unesco-blue {
  background-color: var(--unesco-blue) !important;
}

.bg-unesco-blue-pale {
  background-color: var(--unesco-blue-pale) !important;
}

/* ===== MEJORAS EN LOADER Y ESTADOS ===== */

.loading-spinner {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid var(--unesco-blue);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ===== MEJORAS ESPECÍFICAS PARA CONTENIDO LARGO ===== */

.content-expandable {
  position: relative;
  overflow: hidden;
  transition: var(--transition);
}

.content-expandable.collapsed {
  max-height: 120px;
}

.content-expandable.expanded {
  max-height: none;
}

.content-fade-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40px;
  background: linear-gradient(to bottom, transparent, #f1f4f6);
  pointer-events: none;
  transition: var(--transition);
}

.content-expandable.expanded .content-fade-overlay {
  opacity: 0;
}

/* ===== CKAN TAG AND LABEL STYLES (CKAN 2.10 Compatible with SchemingDCAT) ===== */

/* Force tag/label styling with high specificity - CKAN 2.10 Override */
body .tag, 
body .label, 
body .badge-label,
.dataset-item .tag,
.dataset-item .label,
.dataset-item .badge-label,
.dataset-resources .tag,
.dataset-resources .label,
.dataset-resources .badge-label,
ul.dataset-resources li .tag,
ul.dataset-resources li .label,
ul.dataset-resources li .badge-label {
  display: inline-block !important;
  padding: 3px 8px !important;
  margin: 2px 4px 2px 0 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 14px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  vertical-align: baseline !important;
  border-radius: 3px !important;
  background-color: #999999 !important;
  transition: all 0.2s ease !important;
  border: none !important;
  text-transform: uppercase !important;
}

body .tag:hover, 
body .label:hover, 
body .badge-label:hover,
.dataset-item .tag:hover,
.dataset-item .label:hover,
.dataset-item .badge-label:hover,
.dataset-resources .tag:hover,
.dataset-resources .label:hover,
.dataset-resources .badge-label:hover {
  text-decoration: none !important;
  background-color: #777777 !important;
  color: #ffffff !important;
}

/* SchemingDCAT specific badges */
.badge {
  display: inline-block;
  padding: 3px 8px;
  margin: 2px 4px 2px 0;
  font-size: 11px;
  font-weight: 500;
  line-height: 14px;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 3px;
  color: #ffffff;
  transition: all 0.2s ease;
}

.badge-info {
  background-color: #5bc0de;
}

.badge-info:hover {
  background-color: #46b8da;
}

.badge-danger {
  background-color: #d9534f;
}

.badge-danger:hover {
  background-color: #c9302c;
}

.badge.bg-secondary {
  background-color: #6c757d !important;
}

.badge.bg-secondary:hover {
  background-color: #5a6268 !important;
}

/* Tag list container */
.tag-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tag-list li {
  display: inline-block;
  margin: 0 5px 5px 0;
}

.tag-list .tag {
  background-color: var(--unesco-blue);
  color: white;
  text-decoration: none;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
  display: inline-block;
  transition: all 0.3s ease;
}

.tag-list .tag:hover {
  background-color: var(--unesco-blue-dark);
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Different label colors/types */
.label-default {
  background-color: #999999;
}

.label-primary {
  background-color: var(--unesco-blue);
}

.label-success {
  background-color: #5cb85c;
}

.label-info {
  background-color: #5bc0de;
}

.label-warning {
  background-color: #f0ad4e;
}

.label-danger {
  background-color: #d9534f;
}

/* Format labels for resources - Compatible with schemingdcat */
.resource-item .format-label,
.dataset-resources .label,
.dataset-resources .badge-label {
  background-color: #aaa;
  color: #fff;
  display: inline-block;
  font-size: 9px;
  font-weight: 600;
  line-height: 1;
  margin-left: auto;
  padding: 2px 8px 3px;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 -1px rgba(0, 0, 0, 0.2);
  border-radius: 2px;
}

/* Override schemingdcat format styles to work with existing format icons */
.dataset-resources .label[data-format],
.dataset-resources .badge-label[data-format] {
  margin-left: 0;
  margin-right: 4px;
}

/* CSV tags - High specificity for CKAN 2.10 override */
body .format-label[data-format=csv],
body .format-label[data-format*=csv],
body .label[data-format=csv],
body .label[data-format*=csv],
body .badge-label[data-format=csv],
body .badge-label[data-format*=csv],
body a.label[data-format=csv],
body a.label[data-format*=csv],
body a.badge-label[data-format=csv],
body a.badge-label[data-format*=csv],
.dataset-resources .format-label[data-format=csv],
.dataset-resources .format-label[data-format*=csv],
.dataset-resources .label[data-format=csv],
.dataset-resources .label[data-format*=csv],
.dataset-resources .badge-label[data-format=csv],
.dataset-resources .badge-label[data-format*=csv],
.dataset-resources a.label[data-format=csv],
.dataset-resources a.label[data-format*=csv],
.dataset-resources a.badge-label[data-format=csv],
.dataset-resources a.badge-label[data-format*=csv],
.dataset-item .label[data-format=csv],
.dataset-item .label[data-format*=csv],
.dataset-item .badge-label[data-format=csv],
.dataset-item .badge-label[data-format*=csv],
.dataset-item a.label[data-format=csv],
.dataset-item a.label[data-format*=csv],
.dataset-item a.badge-label[data-format=csv],
.dataset-item a.badge-label[data-format*=csv] {
  background-color: #5cb85c !important;
  color: #fff !important;
}

/* JSON tags */
body .format-label[data-format=json],
body .format-label[data-format*=json],
body .label[data-format=json],
body .label[data-format*=json],
body .badge-label[data-format=json],
body .badge-label[data-format*=json],
body a.label[data-format=json],
body a.label[data-format*=json],
body a.badge-label[data-format=json],
body a.badge-label[data-format*=json],
.dataset-resources .format-label[data-format=json],
.dataset-resources .format-label[data-format*=json],
.dataset-resources .label[data-format=json],
.dataset-resources .label[data-format*=json],
.dataset-resources .badge-label[data-format=json],
.dataset-resources .badge-label[data-format*=json],
.dataset-resources a.label[data-format=json],
.dataset-resources a.label[data-format*=json],
.dataset-resources a.badge-label[data-format=json],
.dataset-resources a.badge-label[data-format*=json],
.dataset-item .label[data-format=json],
.dataset-item .label[data-format*=json],
.dataset-item .badge-label[data-format=json],
.dataset-item .badge-label[data-format*=json],
.dataset-item a.label[data-format=json],
.dataset-item a.label[data-format*=json],
.dataset-item a.badge-label[data-format=json],
.dataset-item a.badge-label[data-format*=json] {
  background-color: #f0ad4e !important;
  color: #fff !important;
}

/* XML tags */
body .format-label[data-format=xml],
body .format-label[data-format*=xml],
body .label[data-format=xml],
body .label[data-format*=xml],
body .badge-label[data-format=xml],
body .badge-label[data-format*=xml],
body a.label[data-format=xml],
body a.label[data-format*=xml],
body a.badge-label[data-format=xml],
body a.badge-label[data-format*=xml],
.dataset-resources .format-label[data-format=xml],
.dataset-resources .format-label[data-format*=xml],
.dataset-resources .label[data-format=xml],
.dataset-resources .label[data-format*=xml],
.dataset-resources .badge-label[data-format=xml],
.dataset-resources .badge-label[data-format*=xml],
.dataset-resources a.label[data-format=xml],
.dataset-resources a.label[data-format*=xml],
.dataset-resources a.badge-label[data-format=xml],
.dataset-resources a.badge-label[data-format*=xml] {
  background-color: #8a6d3b !important;
}

/* PDF tags */
body .format-label[data-format=pdf],
body .format-label[data-format*=pdf],
body .label[data-format=pdf],
body .label[data-format*=pdf],
body .badge-label[data-format=pdf],
body .badge-label[data-format*=pdf],
body a.label[data-format=pdf],
body a.label[data-format*=pdf],
body a.badge-label[data-format=pdf],
body a.badge-label[data-format*=pdf],
.dataset-resources .format-label[data-format=pdf],
.dataset-resources .format-label[data-format*=pdf],
.dataset-resources .label[data-format=pdf],
.dataset-resources .label[data-format*=pdf],
.dataset-resources .badge-label[data-format=pdf],
.dataset-resources .badge-label[data-format*=pdf],
.dataset-resources a.label[data-format=pdf],
.dataset-resources a.label[data-format*=pdf],
.dataset-resources a.badge-label[data-format=pdf],
.dataset-resources a.badge-label[data-format*=pdf] {
  background-color: #a94442 !important;
}

/* XLS/XLSX tags */
body .format-label[data-format=xls],
body .format-label[data-format*=xls],
body .format-label[data-format=xlsx],
body .format-label[data-format*=xlsx],
body .label[data-format=xls],
body .label[data-format*=xls],
body .label[data-format=xlsx],
body .label[data-format*=xlsx],
body .badge-label[data-format=xls],
body .badge-label[data-format*=xls],
body .badge-label[data-format=xlsx],
body .badge-label[data-format*=xlsx],
body a.label[data-format=xls],
body a.label[data-format*=xls],
body a.label[data-format=xlsx],
body a.label[data-format*=xlsx],
body a.badge-label[data-format=xls],
body a.badge-label[data-format*=xls],
body a.badge-label[data-format=xlsx],
body a.badge-label[data-format*=xlsx],
.dataset-resources .format-label[data-format=xls],
.dataset-resources .format-label[data-format*=xls],
.dataset-resources .format-label[data-format=xlsx],
.dataset-resources .format-label[data-format*=xlsx],
.dataset-resources .label[data-format=xls],
.dataset-resources .label[data-format*=xls],
.dataset-resources .label[data-format=xlsx],
.dataset-resources .label[data-format*=xlsx],
.dataset-resources .badge-label[data-format=xls],
.dataset-resources .badge-label[data-format*=xls],
.dataset-resources .badge-label[data-format=xlsx],
.dataset-resources .badge-label[data-format*=xlsx],
.dataset-resources a.label[data-format=xls],
.dataset-resources a.label[data-format*=xls],
.dataset-resources a.label[data-format=xlsx],
.dataset-resources a.label[data-format*=xlsx],
.dataset-resources a.badge-label[data-format=xls],
.dataset-resources a.badge-label[data-format*=xls],
.dataset-resources a.badge-label[data-format=xlsx],
.dataset-resources a.badge-label[data-format*=xlsx] {
  background-color: #269abc !important;
}

/* ZIP tags */
body .format-label[data-format=zip],
body .format-label[data-format*=zip],
body .label[data-format=zip],
body .label[data-format*=zip],
body .badge-label[data-format=zip],
body .badge-label[data-format*=zip],
body a.label[data-format=zip],
body a.label[data-format*=zip],
body a.badge-label[data-format=zip],
body a.badge-label[data-format*=zip],
.dataset-resources .format-label[data-format=zip],
.dataset-resources .format-label[data-format*=zip],
.dataset-resources .label[data-format=zip],
.dataset-resources .label[data-format*=zip],
.dataset-resources .badge-label[data-format=zip],
.dataset-resources .badge-label[data-format*=zip],
.dataset-resources a.label[data-format=zip],
.dataset-resources a.label[data-format*=zip],
.dataset-resources a.badge-label[data-format=zip],
.dataset-resources a.badge-label[data-format*=zip] {
  background-color: #5a5a5a !important;
}

/* API tags */
body .format-label[data-format=api],
body .format-label[data-format*=api],
body .label[data-format=api],
body .label[data-format*=api],
body .badge-label[data-format=api],
body .badge-label[data-format*=api],
body a.label[data-format=api],
body a.label[data-format*=api],
body a.badge-label[data-format=api],
body a.badge-label[data-format*=api],
.dataset-resources .format-label[data-format=api],
.dataset-resources .format-label[data-format*=api],
.dataset-resources .label[data-format=api],
.dataset-resources .label[data-format*=api],
.dataset-resources .badge-label[data-format=api],
.dataset-resources .badge-label[data-format*=api],
.dataset-resources a.label[data-format=api],
.dataset-resources a.label[data-format*=api],
.dataset-resources a.badge-label[data-format=api],
.dataset-resources a.badge-label[data-format*=api] {
  background-color: #f57c00 !important;
}

/* Additional format tags from schemingdcat extension - CKAN 2.10 Override */
body .format-label[data-format=shp],
body .format-label[data-format*=shp],
body .label[data-format=shp],
body .label[data-format*=shp],
body .badge-label[data-format=shp],
body .badge-label[data-format*=shp],
body a.label[data-format=shp],
body a.label[data-format*=shp],
body a.badge-label[data-format=shp],
body a.badge-label[data-format*=shp],
.dataset-resources .label[data-format=shp],
.dataset-resources .label[data-format*=shp],
.dataset-resources .badge-label[data-format=shp],
.dataset-resources .badge-label[data-format*=shp],
.dataset-resources a.label[data-format=shp],
.dataset-resources a.label[data-format*=shp],
.dataset-resources a.badge-label[data-format=shp],
.dataset-resources a.badge-label[data-format*=shp],
.dataset-item .label[data-format=shp],
.dataset-item .label[data-format*=shp],
.dataset-item .badge-label[data-format=shp],
.dataset-item .badge-label[data-format*=shp],
.dataset-item a.label[data-format=shp],
.dataset-item a.label[data-format*=shp],
.dataset-item a.badge-label[data-format=shp],
.dataset-item a.badge-label[data-format*=shp] {
  background-color: #36849a !important;
  color: #fff !important;
}

body .format-label[data-format=tiff],
body .format-label[data-format*=tiff],
body .format-label[data-format=tif],
body .format-label[data-format*=tif],
body .label[data-format=tiff],
body .label[data-format*=tiff],
body .label[data-format=tif],
body .label[data-format*=tif],
body .badge-label[data-format=tiff],
body .badge-label[data-format*=tiff],
body .badge-label[data-format=tif],
body .badge-label[data-format*=tif],
body a.label[data-format=tiff],
body a.label[data-format*=tiff],
body a.label[data-format=tif],
body a.label[data-format*=tif],
body a.badge-label[data-format=tiff],
body a.badge-label[data-format*=tiff],
body a.badge-label[data-format=tif],
body a.badge-label[data-format*=tif],
.dataset-resources .label[data-format=tiff],
.dataset-resources .label[data-format*=tiff],
.dataset-resources .label[data-format=tif],
.dataset-resources .label[data-format*=tif],
.dataset-resources .badge-label[data-format=tiff],
.dataset-resources .badge-label[data-format*=tiff],
.dataset-resources .badge-label[data-format=tif],
.dataset-resources .badge-label[data-format*=tif],
.dataset-resources a.label[data-format=tiff],
.dataset-resources a.label[data-format*=tiff],
.dataset-resources a.label[data-format=tif],
.dataset-resources a.label[data-format*=tif],
.dataset-resources a.badge-label[data-format=tiff],
.dataset-resources a.badge-label[data-format*=tiff],
.dataset-resources a.badge-label[data-format=tif],
.dataset-resources a.badge-label[data-format*=tif] {
  background-color: #ff5364 !important;
}

body .format-label[data-format=png],
body .format-label[data-format*=png],
body .label[data-format=png],
body .label[data-format*=png],
body .badge-label[data-format=png],
body .badge-label[data-format*=png],
body a.label[data-format=png],
body a.label[data-format*=png],
body a.badge-label[data-format=png],
body a.badge-label[data-format*=png],
.dataset-resources .label[data-format=png],
.dataset-resources .label[data-format*=png],
.dataset-resources .badge-label[data-format=png],
.dataset-resources .badge-label[data-format*=png],
.dataset-resources a.label[data-format=png],
.dataset-resources a.label[data-format*=png],
.dataset-resources a.badge-label[data-format=png],
.dataset-resources a.badge-label[data-format*=png] {
  background-color: #659c35 !important;
}

body .format-label[data-format=geojson],
body .format-label[data-format*=geojson],
body .label[data-format=geojson],
body .label[data-format*=geojson],
body .badge-label[data-format=geojson],
body .badge-label[data-format*=geojson],
body a.label[data-format=geojson],
body a.label[data-format*=geojson],
body a.badge-label[data-format=geojson],
body a.badge-label[data-format*=geojson],
.dataset-resources .label[data-format=geojson],
.dataset-resources .label[data-format*=geojson],
.dataset-resources .badge-label[data-format=geojson],
.dataset-resources .badge-label[data-format*=geojson],
.dataset-resources a.label[data-format=geojson],
.dataset-resources a.label[data-format*=geojson],
.dataset-resources a.badge-label[data-format=geojson],
.dataset-resources a.badge-label[data-format*=geojson] {
  background-color: #eeaf4b !important;
}

/* Fallback for any format tags that might not have specific styling */
body a.label[data-format],
body a.badge-label[data-format],
.dataset-resources a.label[data-format],
.dataset-resources a.badge-label[data-format],
.dataset-item a.label[data-format],
.dataset-item a.badge-label[data-format] {
  background-color: #999999 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 3px 8px !important;
  border-radius: 3px !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  display: inline-block !important;
  margin: 2px 4px 2px 0 !important;
}

body a.label[data-format]:hover,
body a.badge-label[data-format]:hover,
.dataset-resources a.label[data-format]:hover,
.dataset-resources a.badge-label[data-format]:hover,
.dataset-item a.label[data-format]:hover,
.dataset-item a.badge-label[data-format]:hover {
  background-color: #777777 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Ultra-specific overrides for dataset list items */
ul.dataset-list li.dataset-item a.label.badge-label,
.dataset-list .dataset-item a.label.badge-label {
  background-color: #999999 !important;
  color: #fff !important;
}

/* Ultra-specific CSV in dataset lists */
ul.dataset-list li.dataset-item a.label.badge-label[data-format="csv"],
ul.dataset-list li.dataset-item a.label.badge-label[data-format*="csv"],
.dataset-list .dataset-item a.label.badge-label[data-format="csv"],
.dataset-list .dataset-item a.label.badge-label[data-format*="csv"] {
  background-color: #5cb85c !important;
  color: #fff !important;
}

/* Ultra-specific JSON in dataset lists */
ul.dataset-list li.dataset-item a.label.badge-label[data-format="json"],
ul.dataset-list li.dataset-item a.label.badge-label[data-format*="json"],
.dataset-list .dataset-item a.label.badge-label[data-format="json"],
.dataset-list .dataset-item a.label.badge-label[data-format*="json"] {
  background-color: #f0ad4e !important;
  color: #fff !important;
}

/* Ultra-specific SHP in dataset lists */
ul.dataset-list li.dataset-item a.label.badge-label[data-format="shp"],
ul.dataset-list li.dataset-item a.label.badge-label[data-format*="shp"],
.dataset-list .dataset-item a.label.badge-label[data-format="shp"],
.dataset-list .dataset-item a.label.badge-label[data-format*="shp"] {
  background-color: #36849a !important;
  color: #fff !important;
}

/* Popular tags styling */
.popular-tags {
  margin: 15px 0;
}

.popular-tags .tag {
  margin: 3px 6px 3px 0;
  padding: 5px 10px;
  font-size: 13px;
  background-color: #f8f9fa;
  color: var(--text-primary);
  border: 1px solid #e9ecef;
  border-radius: 15px;
}

.popular-tags .tag:hover {
  background-color: var(--unesco-blue-pale);
  border-color: var(--unesco-blue);
  color: var(--unesco-blue-dark);
}

/* Tags in search results */
.dataset-tags {
  margin-top: 8px;
}

.dataset-tags .tag {
  background-color: #f0f0f0;
  color: #666;
  font-size: 11px;
  padding: 3px 8px;
  margin-right: 5px;
  border-radius: 10px;
}

.dataset-tags .tag:hover {
  background-color: var(--unesco-blue);
  color: white;
}

/* Tags in facet lists */
.facet-list .nav-item .tag {
  float: right;
  background-color: #e9ecef;
  color: #6c757d;
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 8px;
}

/* ===== FACET ICONS - CKAN 2.10 + SCHEMINGDCAT COMPATIBILITY ===== */

/* Base facet icon styles - high specificity for CKAN 2.10 */
img.facet-icon,
.facet-icon {
  width: 1.3em !important;
  height: 1.3em !important;
  min-width: 1.3em !important;
  min-height: 1.3em !important;
  margin-right: 5px !important;
  display: inline-block !important;
  border-radius: 50% !important;
  vertical-align: middle !important;
  opacity: 1 !important;
  visibility: visible !important;
  flex-shrink: 0 !important;
}

/* Facet list in filters sidebar - CKAN 2.10 structure */
.filters .module .nav img.facet-icon,
.filters .module nav img.facet-icon,
.filters .nav-facet img.facet-icon,
.filters ul.nav img.facet-icon,
.secondary .module .nav img.facet-icon,
.secondary .filters img.facet-icon,
.facet-list .nav-item a img.facet-icon,
.filters .nav-item a img.facet-icon,
.nav-facet a img.facet-icon,
nav.nav-facet li a img.facet-icon,
ul.nav-facet li a img.facet-icon,
.module-content .nav-facet li a img.facet-icon,
.module-content nav.nav-facet a img.facet-icon {
  width: 1.3em !important;
  height: 1.3em !important;
  min-width: 1.3em !important;
  min-height: 1.3em !important;
  max-width: 20px !important;
  max-height: 20px !important;
  margin-right: 5px !important;
  display: inline-block !important;
  border-radius: 50% !important;
  vertical-align: middle !important;
  opacity: 1 !important;
  visibility: visible !important;
  flex-shrink: 0 !important;
  object-fit: contain !important;
}

/* Ensure facet links have proper flex layout for icons */
.filters .nav-item a,
.nav-facet li a,
nav.nav-facet a,
.module-content .nav-facet a {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}

/* Item label in facet */
.filters .nav-item a .item-label,
.nav-facet li a .item-label,
nav.nav-facet a .item-label {
  flex: 1 1 auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Badge count in facet */
.filters .nav-item a .badge,
.nav-facet li a .badge,
nav.nav-facet a .badge,
.filters .nav-item a .item-count,
.nav-facet li a .item-count {
  flex-shrink: 0 !important;
  margin-left: 5px !important;
}

/* Separator in facet (hidden) */
.filters .nav-item a .separator,
.nav-facet li a .separator {
  display: none !important;
}

/* Fix for nav-facet structure in CKAN 2.10 */
nav.nav-facet,
.nav-facet {
  display: block !important;
}

nav.nav-facet ul,
.nav-facet ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

nav.nav-facet li,
.nav-facet li {
  margin-bottom: 2px !important;
}

/* Active state for facets */
.nav-facet li.active a,
.nav-facet .nav-item.active a,
.filters .nav-item.active a {
  background-color: rgba(0, 105, 180, 0.1) !important;
  border-radius: 4px !important;
}

/* Hover state for facets */
.nav-facet li a:hover,
.nav-facet .nav-item a:hover,
.filters .nav-item a:hover {
  background-color: rgba(0, 105, 180, 0.05) !important;
  text-decoration: none !important;
  border-radius: 4px !important;
}

/* Tags in home page search section */
.homepage .module-search .tags .tag {
  background-color: var(--unesco-blue);
  color: white;
  padding: 4px 12px;
  border-radius: 12px;
  margin: 5px 10px 5px 0;
  font-size: 12px;
  font-weight: 500;
}

.homepage .module-search .tags .tag:hover {
  background-color: var(--unesco-blue-dark);
  text-decoration: none;
}

/* Responsive adjustments for tags */
@media (max-width: 768px) {
  .tag, .label {
    font-size: 10px;
    padding: 2px 6px;
  }
  
  .tag-list .tag {
    font-size: 11px;
    padding: 3px 8px;
  }
  
  .format-label {
    font-size: 8px;
    padding: 2px 6px;
  }
}

/* ===== DATASET PAGE STYLING FIXES FOR CKAN 2.10 + SCHEMINGDCAT ===== */

/* Fix metadata section styling */
.additional-info {
  margin-top: 30px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  overflow: visible !important;
}

.additional-info header {
  background: linear-gradient(135deg, var(--unesco-blue) 0%, var(--unesco-blue-dark) 100%);
  padding: 20px 25px;
  margin-bottom: 0;
}

.additional-info header h2 {
  color: white !important;
  margin: 0 !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.additional-info header h2 .btn-group {
  margin-left: 15px;
}

/* Fix metadata tables */
.additional-info .table {
  margin-bottom: 0 !important;
  background-color: #fff !important;
  border: none !important;
}

.additional-info .table-bordered {
  border: 1px solid #e9ecef !important;
  margin-bottom: 20px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

.additional-info .table-bordered:last-child {
  margin-bottom: 0 !important;
}

/* Fix table headers */
.additional-info .thead-normal_table td {
  background-color: #f8f9fa !important;
  color: #495057 !important;
  font-weight: 600 !important;
  padding: 15px 20px !important;
  border-bottom: 2px solid #dee2e6 !important;
  font-size: 16px !important;
  text-align: left !important;
}

/* Fix table rows */
.additional-info .table tbody tr {
  border-bottom: 1px solid #f8f9fa !important;
}

.additional-info .table tbody tr:last-child {
  border-bottom: none !important;
}

.additional-info .table tbody tr:hover {
  background-color: #f8f9fa !important;
}

/* Fix dataset labels and details */
.additional-info .dataset-label {
  background-color: #fff !important;
  color: #495057 !important;
  font-weight: 600 !important;
  padding: 15px 20px !important;
  border-right: 1px solid #f0f0f0 !important;
  width: 30% !important;
  vertical-align: top !important;
  font-size: 14px !important;
}

.additional-info .dataset-details {
  background-color: #fff !important;
  color: #212529 !important;
  padding: 15px 20px !important;
  vertical-align: top !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.additional-info .dataset-details a {
  color: var(--unesco-blue) !important;
  text-decoration: none !important;
}

.additional-info .dataset-details a:hover {
  color: var(--unesco-blue-dark) !important;
  text-decoration: underline !important;
}

/* Fix DOI label styling */
.dataset-private.label.label-inverse {
  background-color: #6c757d !important;
  color: white !important;
  padding: 4px 8px !important;
  border-radius: 3px !important;
  font-size: 11px !important;
  margin-left: 10px !important;
  display: inline-block !important;
}

/* Fix collapsible table rows (schemingdcat) */
.additional-info table[data-module="schemingdcat-table-collapsible-rows"] tr.toggle-more {
  display: none !important;
}

.additional-info table.table-toggle-more tr.toggle-more {
  display: none !important;
}

.additional-info table.table-toggle-less tr.toggle-more {
  display: table-row !important;
}

.additional-info .toggle-show-more {
  background-color: #f8f9fa !important;
  text-align: center !important;
  padding: 10px !important;
  border-top: 1px solid #dee2e6 !important;
  cursor: pointer !important;
}

.additional-info .toggle-show-more:hover {
  background-color: #e9ecef !important;
}

.additional-info .toggle-show-more a {
  color: var(--unesco-blue) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.additional-info .toggle-show-more a:hover {
  color: var(--unesco-blue-dark) !important;
  text-decoration: underline !important;
}

/* Fix dataset badges */
.dataset-badges {
  margin-bottom: 20px;
}

.dataset-badges .badge {
  background-color: #6c757d !important;
  color: white !important;
  padding: 8px 12px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  margin-right: 14px !important;
  display: inline-block !important;
}

.dataset-badges .dataset-private.badge {
  background-color: #dc3545 !important;
  margin-left: 6px !important;
  margin-top: 20px !important;
}

.dataset-badges .dataset-draft.badge {
  background-color: #ffc107 !important;
  color: #212529 !important;
}

.dataset-badges .dataset-delete.badge {
  background-color: #dc3545 !important;
}

/* Fix package notes */
.notes.embedded-content.package_notes {
  background: #f8f9fa;
  border-left: 4px solid var(--unesco-blue);
  padding: 20px;
  margin: 20px 0;
  border-radius: 0 6px 6px 0;
}

.notes.embedded-content.package_notes p {
  margin-bottom: 10px;
  color: #495057 !important;
  line-height: 1.6 !important;
}

.notes.embedded-content.package_notes p:last-child {
  margin-bottom: 0;
}

/* Fix resource list styling */
.resource-list {
  margin-top: 20px;
}

.resource-item {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  margin-bottom: 12px;
  padding: 14px 16px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.resource-item:hover {
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.resource-item .heading {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #495057 !important;
  margin-bottom: 10px !important;
}

.resource-item .heading a {
  color: var(--unesco-blue) !important;
  text-decoration: none !important;
}

.resource-item .heading a:hover {
  color: var(--unesco-blue-dark) !important;
  text-decoration: underline !important;
}

/* Responsive fixes for dataset page */
@media (max-width: 768px) {
  .additional-info .dataset-label,
  .additional-info .dataset-details {
    display: block !important;
    width: 100% !important;
    border-right: none !important;
  }
  
  .additional-info .dataset-label {
    background-color: #f8f9fa !important;
    border-bottom: 1px solid #dee2e6 !important;
    padding: 12px 15px 8px 15px !important;
    font-weight: 700 !important;
  }
  
  .additional-info .dataset-details {
    padding: 8px 15px 12px 15px !important;
    border-bottom: 1px solid #f0f0f0 !important;
  }
  
  .additional-info header h2 {
    font-size: 20px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  
  .additional-info header h2 .btn-group {
    margin-left: 0 !important;
    margin-top: 10px !important;
  }
}

/* ===== ADDITIONAL DATASET PAGE IMPROVEMENTS ===== */

/* Fix page title and dataset title */
.dataset-heading {
  font-size: 28px !important;
  font-weight: 600 !important;
  color: #212529 !important;
  margin: 20px 0 !important;
  line-height: 1.3 !important;
}

.dataset-heading a {
  color: #212529 !important;
  text-decoration: none !important;
}

.dataset-heading a:hover {
  color: var(--unesco-blue) !important;
  text-decoration: none !important;
}

/* Fix starred dataset icon */
.dataset-featured-icon {
  color: #ffc107 !important;
  margin-left: 10px !important;
  font-size: 20px !important;
}

/* Fix page layout */
.wrapper {
  background: #f8f9fa !important;
  min-height: 100vh !important;
}

.primary {
  background: transparent !important;
  padding: 20px 0 !important;
}

/* Fix sidebar styling */
.secondary {
  background: transparent !important;
  padding: 20px 0 !important;
}

.module {
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
  margin-bottom: 20px !important;
  overflow: hidden !important;
}

.module-content {
  padding: 20px !important;
}

.module-heading {
  background: #f8f9fa !important;
  color: #495057 !important;
  font-weight: 600 !important;
  padding: 15px 20px !important;
  margin: 0 !important;
  border-bottom: 1px solid #dee2e6 !important;
  font-size: 16px !important;
}

/* Fix social media section */
.module .social_network {
  padding: 0 !important;
}

.module .social_network a {
  display: flex !important;
  align-items: center !important;
  padding: 10px 0 !important;
  color: #495057 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
  transition: all 0.3s ease !important;
}

.module .social_network a:last-child {
  border-bottom: none !important;
}

.module .social_network a:hover {
  background-color: #f8f9fa !important;
  color: var(--unesco-blue) !important;
}

.module .social_network a .icon2 {
  margin-right: 10px !important;
  background-color: #e9ecef !important;
  color: #6c757d !important;
}

.module .social_network a:hover .icon2 {
  background-color: var(--unesco-blue) !important;
  color: white !important;
}

/* Fix URIRef section */
.module .permanav {
  padding: 15px 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.module .permanav:last-child {
  border-bottom: none !important;
}

.module .permanav input[type="text"],
.module .permanav input[type="url"] {
  background: #fff !important;
  color: #212529 !important;
  width: 100% !important;
}

.permalink-label {
  background-color: #f8f9fa !important;
  margin: 0 !important;
  padding: 10px 15px !important;
  border-radius: 4px !important;
  transition: all 0.3s ease !important;
}

.permalink-label:hover {
  background-color: #e9ecef !important;
}

.permalink-input {
  background: #fff !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 4px !important;
  padding: 8px 12px !important;
  color: #212529 !important;
  width: 100% !important;
  font-family: monospace !important;
  font-size: 12px !important;
}

/* Fix followers section */
.followers {
  text-align: center !important;
  padding: 20px 0 !important;
}

.followers .num {
  font-size: 36px !important;
  font-weight: 700 !important;
  color: var(--unesco-blue) !important;
  display: block !important;
  margin-bottom: 5px !important;
}

.followers .action {
  font-size: 14px !important;
  color: #6c757d !important;
}

.btn.btn-success {
  background-color: #28a745 !important;
  border-color: #28a745 !important;
  color: white !important;
  padding: 10px 20px !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}

.btn.btn-success:hover {
  background-color: #218838 !important;
  border-color: #1e7e34 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important;
}

/* Fix breadcrumb navigation */
.toolbar .breadcrumb {
  background: transparent !important;
  border: none !important;
  padding: 10px 0 !important;
  margin: 0 !important;
}

.toolbar .breadcrumb li {
  color: #6c757d !important;
}

.toolbar .breadcrumb li.active {
  color: #495057 !important;
  font-weight: 600 !important;
}

/* Fix page actions (buttons) */
.page-header .content_action {
  margin-top: 0 !important;
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

.page-header .content_action .btn {
  margin-top: 2px !important;
}

/* Fix action buttons */
.btn-primary {
  background-color: var(--unesco-blue) !important;
  border-color: var(--unesco-blue) !important;
  color: white !important;
  padding: 10px 20px !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}

.btn-primary:hover {
  background-color: var(--unesco-blue-dark) !important;
  border-color: var(--unesco-blue-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important;
}

/* Mobile responsive fixes for dataset page */
@media (max-width: 768px) {
  .dataset-heading {
    font-size: 24px !important;
    margin: 15px 0 !important;
  }
  
  .page-header .content_action {
    justify-content: flex-start !important;
    margin-top: 15px !important;
  }
  
  .module-content {
    padding: 15px !important;
  }
  
  .module-heading {
    padding: 12px 15px !important;
    font-size: 15px !important;
  }
}

/* Minor spacing improvements for dataset page */
.dataset-item {
  margin-bottom: 15px !important;
}

.filters .module-content {
  padding: 12px !important;
}

.filters .nav.nav-simple li a {
  padding: 6px 0 !important;
  font-size: 13px !important;
}

/* ===== CKAN 2.10 SPECIFIC STYLES ===== */

/* Dataset search page - Filters sidebar */
.secondary .module.module-narrow {
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
  margin-bottom: 15px !important;
  overflow: visible !important;
}

.secondary .module.module-narrow .module-heading {
  background: #f8f9fa !important;
  border-bottom: 1px solid #e9ecef !important;
  padding: 14px 15px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #495057 !important;
}

/* Nav facet in CKAN 2.10 */
.secondary .module-content nav.nav-facet,
.secondary .module-content .nav-facet {
  margin: 0 !important;
  padding: 0 !important;
}

.secondary .module-content nav.nav-facet ul,
.secondary .module-content .nav-facet ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.secondary .module-content nav.nav-facet li,
.secondary .module-content .nav-facet li,
.secondary .module-content .nav-facet .nav-item {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #f5f5f5 !important;
}

.secondary .module-content nav.nav-facet li:last-child,
.secondary .module-content .nav-facet li:last-child,
.secondary .module-content .nav-facet .nav-item:last-child {
  border-bottom: none !important;
}

.secondary .module-content nav.nav-facet li a,
.secondary .module-content .nav-facet li a,
.secondary .module-content .nav-facet .nav-item a {
  display: flex !important;
  align-items: center !important;
  padding: 8px 5px !important;
  color: #495057 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  border-radius: 4px !important;
  margin: 2px 0 !important;
}

.secondary .module-content nav.nav-facet li a:hover,
.secondary .module-content .nav-facet li a:hover,
.secondary .module-content .nav-facet .nav-item a:hover {
  background-color: rgba(0, 105, 180, 0.08) !important;
  color: #0069B4 !important;
  color: var(--unesco-blue) !important;
}

.secondary .module-content nav.nav-facet li.active a,
.secondary .module-content .nav-facet li.active a,
.secondary .module-content .nav-facet .nav-item.active a {
  background-color: rgba(0, 105, 180, 0.12) !important;
  color: #0069B4 !important;
  color: var(--unesco-blue) !important;
  font-weight: 600 !important;
}

/* Facet icon in nav-facet */
.secondary .module-content nav.nav-facet li a img.facet-icon,
.secondary .module-content .nav-facet li a img.facet-icon,
.secondary .module-content .nav-facet .nav-item a img.facet-icon {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin-right: 8px !important;
  display: inline-block !important;
  border-radius: 50% !important;
  vertical-align: middle !important;
  opacity: 1 !important;
  visibility: visible !important;
  flex-shrink: 0 !important;
  object-fit: contain !important;
}

/* Item label in facet */
.secondary .module-content nav.nav-facet li a .item-label,
.secondary .module-content .nav-facet li a .item-label,
.secondary .module-content .nav-facet .nav-item a .item-label {
  flex: 1 1 auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
}

/* Badge/count in facet */
.secondary .module-content nav.nav-facet li a .badge,
.secondary .module-content .nav-facet li a .badge,
.secondary .module-content .nav-facet .nav-item a .badge,
.secondary .module-content nav.nav-facet li a .item-count,
.secondary .module-content .nav-facet li a .item-count,
.secondary .module-content .nav-facet .nav-item a .item-count {
  flex-shrink: 0 !important;
  margin-left: auto !important;
  padding: 2px 8px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  background-color: #e9ecef !important;
  color: #495057 !important;
  border-radius: 10px !important;
}

.secondary .module-content nav.nav-facet li.active a .badge,
.secondary .module-content .nav-facet li.active a .badge,
.secondary .module-content .nav-facet .nav-item.active a .badge {
  background-color: #0069B4 !important;
  background-color: var(--unesco-blue) !important;
  color: white !important;
}

/* Show more/less link in facets */
.secondary .module-footer,
.module-footer {
  padding: 10px 15px !important;
  border-top: 1px solid #e9ecef !important;
  background-color: #fafafa !important;
}

.secondary .module-footer a,
.module-footer a.read-more {
  color: #0069B4 !important;
  color: var(--unesco-blue) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

.secondary .module-footer a:hover,
.module-footer a.read-more:hover {
  text-decoration: underline !important;
}

/* Dataset list improvements for CKAN 2.10 */
.dataset-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.dataset-list .dataset-item {
  background: #fff !important;
  border: 1px solid #e9ecef !important;
  border-radius: 8px !important;
  margin-bottom: 15px !important;
  padding: 20px !important;
  transition: all 0.2s ease !important;
}

.dataset-list .dataset-item:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
  border-color: #dee2e6 !important;
}

.dataset-list .dataset-item .dataset-heading {
  margin-bottom: 10px !important;
}

.dataset-list .dataset-item .dataset-heading a {
  color: #0069B4 !important;
  color: var(--unesco-blue) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.dataset-list .dataset-item .dataset-heading a:hover {
  text-decoration: underline !important;
}

/* Dataset resources badges */
.dataset-list .dataset-item .dataset-resources {
  margin-top: 10px !important;
}

.dataset-list .dataset-item .dataset-resources ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}

.dataset-list .dataset-item .dataset-resources li {
  display: inline-block !important;
}

/* Search form in dataset page */
.search-form .search-input {
  position: relative !important;
}

.search-form .search-input input[type="text"],
.search-form .search-input .form-control {
  border-radius: 4px !important;
  border: 1px solid #ced4da !important;
  padding-right: 45px !important;
}

.search-form .search-input button[type="submit"] {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  height: 100% !important;
  width: 40px !important;
  background-color: #0069B4 !important;
  background-color: var(--unesco-blue) !important;
  border: none !important;
  border-radius: 0 4px 4px 0 !important;
  color: white !important;
  cursor: pointer !important;
}

.search-form .search-input button[type="submit"]:hover {
  background-color: #005a9e !important;
  background-color: var(--unesco-blue-dark) !important;
}

/* Order by dropdown */
.search-form .control-order-by select,
.search-form .order-by select {
  border-radius: 4px !important;
  border: 1px solid #ced4da !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
}

/* Fix for sorting buttons from schemingdcat */
.filters .module .sorting {
  border: 1px solid #e9ecef !important;
  background-color: #f8f9fa !important;
  border-radius: 4px !important;
}

.filters .module .sorting:hover {
  border-color: #0069B4 !important;
  border-color: var(--unesco-blue) !important;
  background-color: rgba(0, 105, 180, 0.05) !important;
}

/* ===== DATASET PAGE STYLES - CKAN 2.10 COMPATIBILITY ===== */

/* Main content area for dataset search */
.primary .module-content {
  padding: 0 !important;
}

/* Dataset search results header */
.search-form {
  background: #fff !important;
  padding: 20px !important;
  border-radius: 8px !important;
  margin-bottom: 20px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

.search-form .control-group {
  margin-bottom: 15px !important;
}

.search-form .search-input-group,
.search-form .input-group {
  display: flex !important;
  align-items: stretch !important;
}

.search-form .search-input-group input,
.search-form .input-group input,
.search-form input[name="q"] {
  flex: 1 !important;
  border-radius: 4px 0 0 4px !important;
  border: 1px solid #ced4da !important;
  border-right: none !important;
  padding: 10px 15px !important;
  font-size: 14px !important;
}

.search-form .search-input-group button,
.search-form .input-group button,
.search-form .input-group .btn {
  border-radius: 0 4px 4px 0 !important;
  background-color: #0069B4 !important;
  background-color: var(--unesco-blue) !important;
  border: 1px solid #0069B4 !important;
  border: 1px solid var(--unesco-blue) !important;
  color: white !important;
  padding: 10px 20px !important;
  cursor: pointer !important;
}

.search-form .search-input-group button:hover,
.search-form .input-group button:hover,
.search-form .input-group .btn:hover {
  background-color: #005a9e !important;
  background-color: var(--unesco-blue-dark) !important;
}

/* Search results count */
.search-form h2,
.search-form .search-heading {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #495057 !important;
  margin-bottom: 15px !important;
}

/* Order by / Sort controls */
.search-form .form-select,
.search-form select,
.form-select.control-order-by {
  border: 1px solid #ced4da !important;
  border-radius: 4px !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
  background-color: #fff !important;
  min-width: 150px !important;
}

/* Dataset list container */
ul.dataset-list,
.dataset-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Individual dataset item - Card style */
ul.dataset-list li.dataset-item,
.dataset-list .dataset-item,
li.dataset-item {
  background: #fff !important;
  border: 1px solid #e9ecef !important;
  border-radius: 8px !important;
  margin-bottom: 15px !important;
  padding: 20px !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

ul.dataset-list li.dataset-item:hover,
.dataset-list .dataset-item:hover,
li.dataset-item:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
  border-color: #dee2e6 !important;
  transform: translateY(-2px) !important;
}

/* Dataset heading/title */
.dataset-item .dataset-heading,
.dataset-item h2.dataset-heading,
.dataset-item h3.dataset-heading {
  margin: 0 0 10px 0 !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
}

.dataset-item .dataset-heading a {
  color: #0069B4 !important;
  color: var(--unesco-blue) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.dataset-item .dataset-heading a:hover {
  color: #005a9e !important;
  color: var(--unesco-blue-dark) !important;
  text-decoration: underline !important;
}

/* Dataset private badge */
.dataset-item .dataset-private {
  display: inline-block !important;
  background-color: #dc3545 !important;
  color: white !important;
  padding: 2px 8px !important;
  border-radius: 3px !important;
  font-size: 11px !important;
  margin-left: 10px !important;
  vertical-align: middle !important;
}

/* Dataset content/notes */
.dataset-item .dataset-content,
.dataset-item .notes {
  color: #6c757d !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-bottom: 15px !important;
  max-height: 4.8em !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Dataset resources section */
.dataset-item .dataset-resources,
.dataset-item ul.dataset-resources {
  margin-top: auto !important;
  padding-top: 10px !important;
  border-top: 1px solid #f0f0f0 !important;
}

.dataset-item .dataset-resources ul,
.dataset-item ul.dataset-resources {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.dataset-item .dataset-resources li {
  display: inline-block !important;
  margin: 0 !important;
}

/* Resource format badges */
.dataset-item .dataset-resources .label,
.dataset-item .dataset-resources .badge,
.dataset-item .dataset-resources a.label,
.dataset-item .dataset-resources a.badge-label {
  display: inline-block !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  color: white !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.dataset-item .dataset-resources .label:hover,
.dataset-item .dataset-resources a.label:hover,
.dataset-item .dataset-resources a.badge-label:hover {
  opacity: 0.85 !important;
  transform: translateY(-1px) !important;
}

/* Organization info in dataset item */
.dataset-item .dataset-organization {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 10px !important;
  font-size: 13px !important;
  color: #6c757d !important;
}

.dataset-item .dataset-organization img {
  width: 24px !important;
  height: 24px !important;
  border-radius: 4px !important;
  margin-right: 8px !important;
  object-fit: contain !important;
}

/* Metadata info in dataset item */
.dataset-item .automatic-local-datetime,
.dataset-item .dataset-metadata {
  font-size: 12px !important;
  color: #868e96 !important;
  margin-top: 10px !important;
}

/* Pagination styles */
.pagination-wrapper,
.pagination {
  display: flex !important;
  justify-content: center !important;
  margin: 30px 0 !important;
}

.pagination li {
  list-style: none !important;
}

.pagination li a,
.pagination li span {
  display: inline-block !important;
  padding: 8px 14px !important;
  margin: 0 3px !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 4px !important;
  color: #495057 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.pagination li a:hover {
  background-color: #e9ecef !important;
  border-color: #ced4da !important;
}

.pagination li.active a,
.pagination li.active span {
  background-color: #0069B4 !important;
  background-color: var(--unesco-blue) !important;
  border-color: #0069B4 !important;
  border-color: var(--unesco-blue) !important;
  color: white !important;
}

.pagination li.disabled a,
.pagination li.disabled span {
  color: #adb5bd !important;
  pointer-events: none !important;
  background-color: #f8f9fa !important;
}

/* Empty results message */
.empty-results,
.no-results {
  text-align: center !important;
  padding: 40px 20px !important;
  color: #6c757d !important;
}

.empty-results h2,
.no-results h2 {
  color: #495057 !important;
  margin-bottom: 10px !important;
}

/* Search facets active filters */
.filtered .filter-list {
  background: #e8f4fc !important;
  border: 1px solid #bee5eb !important;
  border-radius: 4px !important;
  padding: 10px 15px !important;
  margin-bottom: 15px !important;
}

.filtered .filter-list .nav-item {
  display: inline-block !important;
  margin: 3px 5px 3px 0 !important;
}

.filtered .filter-list .nav-item a {
  display: inline-flex !important;
  align-items: center !important;
  background: #0069B4 !important;
  background: var(--unesco-blue) !important;
  color: white !important;
  padding: 4px 10px !important;
  border-radius: 15px !important;
  font-size: 12px !important;
  text-decoration: none !important;
}

.filtered .filter-list .nav-item a:hover {
  background: #005a9e !important;
  background: var(--unesco-blue-dark) !important;
}

.filtered .filter-list .nav-item a .icon-remove,
.filtered .filter-list .nav-item a .fa-times {
  margin-left: 6px !important;
}

/* Responsive adjustments for dataset list */
@media (max-width: 768px) {
  ul.dataset-list li.dataset-item,
  .dataset-list .dataset-item,
  li.dataset-item {
    padding: 15px !important;
  }
  
  .dataset-item .dataset-heading,
  .dataset-item h2.dataset-heading,
  .dataset-item h3.dataset-heading {
    font-size: 16px !important;
  }
  
  .dataset-item .dataset-content,
  .dataset-item .notes {
    font-size: 13px !important;
    max-height: none !important;
  }
  
  .search-form {
    padding: 15px !important;
  }
  
  .search-form .search-input-group,
  .search-form .input-group {
    flex-direction: column !important;
  }
  
  .search-form .search-input-group input,
  .search-form .input-group input {
    border-radius: 4px !important;
    border-right: 1px solid #ced4da !important;
    margin-bottom: 10px !important;
  }
  
  .search-form .search-input-group button,
  .search-form .input-group button {
    border-radius: 4px !important;
    width: 100% !important;
  }
}

/* ===== DATASET DETAIL PAGE STYLES ===== */

/* Dataset title on detail page */
.page-heading.dataset-heading {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #212529 !important;
  margin-bottom: 20px !important;
  line-height: 1.3 !important;
}

/* Resource list on dataset detail page */
ul.resource-list,
.resource-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Resource item - 3 column grid: icon | content | button */
ul.resource-list li.resource-item,
.resource-list .resource-item {
  background: #fff !important;
  border: 1px solid #e9ecef !important;
  border-radius: 8px !important;
  margin-bottom: 8px !important;
  padding: 12px 16px !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  grid-template-rows: auto auto !important;
  gap: 6px 12px !important;
  align-items: start !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
}

ul.resource-list li.resource-item:hover,
.resource-list .resource-item:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
  border-color: #dee2e6 !important;
}

/* Resource title row - contains format-label and heading - Column 1, Row 1 */
.resource-item .resource-title-row {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Format label inside resource-title-row */
.resource-item .resource-title-row .format-label {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  align-self: start !important;

  /* Sprite-based icon */
  display: inline-block !important;
  width: 48px !important;
  height: 52px !important;
  min-width: 48px !important;
  background-image: url("/base/images/sprite-resource-icons.png") !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
  color: transparent !important;
  text-indent: -9999px !important;
  border: none !important;
  transform: none !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

/* Fix for non-sprite icons (images) */
.resource-item .resource-title-row .format-label:has(img) {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  transform: none !important;
  margin: 0 !important;
  background: none !important;
  display: flex !important;
  align-items: center !important;
}

.resource-item .resource-title-row .format-label img,
.resource-item .format-label img {
  max-width: 40px !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
}

/* Title - Col 2, Row 1 */
.resource-item .resource-title-row .heading,
.resource-item .resource-title-row a.heading {
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  padding-top: 2px !important;
  align-self: center !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #333 !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}

.resource-item .resource-title-row .heading:hover {
  color: #005090 !important;
  text-decoration: underline !important;
}

/* Heading link inside resource-title-row */
.resource-item .resource-title-row .heading,
.resource-item .resource-title-row a.heading {
  flex: 1 1 auto !important;
  display: block !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  color: #0069B4 !important;
  color: var(--unesco-blue) !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

/* Global sprite hookup for format labels (fallback) */
body .format-label,
.resource-item .format-label,
.dataset-resources .format-label,
.dataset-item .dataset-resources .format-label {
  background-image: url("/base/images/sprite-resource-icons.png") !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
  color: transparent !important;
  text-indent: -9999px !important;
  border: none !important;
  overflow: hidden !important;
}

.resource-item .resource-title-row .heading:hover {
  text-decoration: underline !important;
}

/* Fallback: direct heading (older structure) */
.resource-item > a.heading,
.resource-item > .heading {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: block !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  color: #0069B4 !important;
  color: var(--unesco-blue) !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.resource-item .heading a {
  color: #0069B4 !important;
  color: var(--unesco-blue) !important;
  text-decoration: none !important;
}

.resource-item .heading a:hover,
.resource-item > a.heading:hover {
  text-decoration: underline !important;
}

/* Hide format label inside heading link - shown in resource-title-row separately */
.resource-item > a.heading .format-label,
.resource-item > a.heading .label {
  display: none !important;
}

/* Description - Column 2, Row 2 */
.resource-item .description-wrapper {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.resource-item p.description,
.resource-item .description {
  margin: 0 !important;
  font-size: 13px !important;
  color: #666 !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

.resource-item .description-full {
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  color: #555 !important;
}

.resource-item .resource-read-more {
  padding: 0 !important;
  margin: 0 !important;
  align-self: flex-start !important;
  font-weight: 600 !important;
  color: var(--unesco-blue) !important;
  text-decoration: none !important;
}

.resource-item .resource-read-more:hover {
  text-decoration: underline !important;
}

/* Button group - Column 3, spans both rows */
.resource-item .btn-group,
.resource-item .dropdown.btn-group {
  grid-column: 3 !important;
  grid-row: 1 / 3 !important;
  align-self: center !important;
  justify-self: end !important;
  position: relative !important;
  display: inline-flex !important;
  flex-direction: row !important;
  z-index: 10 !important;
}

/* Fix dropdown menu positioning - Override ckan210-fixes.css with higher specificity */
body .resource-item .dropdown-menu,
body .resource-item .btn-group .dropdown-menu,
body ul.resource-list li.resource-item .dropdown-menu,
body .resource-list .resource-item .dropdown-menu,
body li.resource-item .dropdown-menu,
.resource-item .dropdown-menu {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: auto !important;
  right: 0 !important;
  z-index: 1000 !important;
  min-width: 160px !important;
  max-width: 280px !important;
  background-color: #fff !important;
  border: 1px solid #e9ecef !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  overflow: visible !important;
  margin: 0 !important;
  transform: none !important;
  transition: none !important;
}

/* Ensure dropdown shows when open */
body .resource-item .dropdown.open .dropdown-menu,
body .resource-item .btn-group.open .dropdown-menu,
body .resource-item .dropdown-menu.show,
body .resource-item .btn-group .dropdown-menu.show,
.resource-item .dropdown.open .dropdown-menu,
.resource-item .btn-group.open .dropdown-menu,
.resource-item .dropdown-menu.show {
  display: block !important;
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Additional info tables on dataset page */
.additional-info {
  margin-top: 30px !important;
}

.additional-info .module-heading,
.additional-info header {
  background: linear-gradient(135deg, #0069B4 0%, #005a9e 100%) !important;
  background: linear-gradient(135deg, var(--unesco-blue) 0%, var(--unesco-blue-dark) 100%) !important;
  color: white !important;
  padding: 15px 20px !important;
  border-radius: 8px 8px 0 0 !important;
  margin: 0 !important;
}

.additional-info .module-heading h2,
.additional-info header h2 {
  color: white !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

.additional-info table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #fff !important;
}

.additional-info table th,
.additional-info table .dataset-label {
  background: #f8f9fa !important;
  font-weight: 600 !important;
  padding: 12px 15px !important;
  border: 1px solid #e9ecef !important;
  width: 30% !important;
  color: #495057 !important;
  font-size: 14px !important;
}

.additional-info table td,
.additional-info table .dataset-details {
  padding: 12px 15px !important;
  border: 1px solid #e9ecef !important;
  color: #212529 !important;
  font-size: 14px !important;
}

.additional-info table a {
  color: #0069B4 !important;
  color: var(--unesco-blue) !important;
}

/* Activity stream */
.activity-stream {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.activity-stream li {
  padding: 15px 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  display: flex !important;
  align-items: flex-start !important;
}

.activity-stream li:last-child {
  border-bottom: none !important;
}

.activity-stream .gravatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  margin-right: 15px !important;
  flex-shrink: 0 !important;
}

.activity-stream .inner {
  flex: 1 !important;
}

.activity-stream .actor {
  font-weight: 600 !important;
  color: #0069B4 !important;
  color: var(--unesco-blue) !important;
}

.activity-stream .date {
  font-size: 12px !important;
  color: #868e96 !important;
}

/* ===== CRITICAL FIXES FOR CKAN 2.10 DATASET PAGE ===== */

/* Dataset search page - Search input with button */
.primary .search-form .search-input,
.primary .search-form .search-giant,
.search-form .search-input,
.search-form .search-giant {
  position: relative !important;
  display: flex !important;
  align-items: stretch !important;
}

.primary .search-form .search-input input,
.primary .search-form .search-giant input,
.search-form .search-input input[type="text"],
.search-form .search-giant input[type="text"],
.search-form input#field-giant-search,
.search-form input[name="q"] {
  flex: 1 !important;
  width: 100% !important;
  padding: 12px 50px 12px 15px !important;
  border: 1px solid #ced4da !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  background-color: #fff !important;
}

.primary .search-form .search-input button,
.primary .search-form .search-giant button,
.search-form .search-input button[type="submit"],
.search-form .search-giant button[type="submit"],
.search-form button[type="submit"] {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  height: 100% !important;
  width: 50px !important;
  min-width: 50px !important;
  background-color: #0069B4 !important;
  border: none !important;
  border-radius: 0 4px 4px 0 !important;
  color: white !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 10 !important;
}

.primary .search-form .search-input button:hover,
.primary .search-form .search-giant button:hover,
.search-form .search-input button[type="submit"]:hover,
.search-form .search-giant button[type="submit"]:hover,
.search-form button[type="submit"]:hover {
  background-color: #005a9e !important;
}

.search-form .search-input.search-giant button {
    margin-top: 0.01rem !important;
}

.primary .search-form .search-input button i,
.primary .search-form .search-giant button i,
.search-form .search-input button i,
.search-form .search-giant button i,
.search-form button[type="submit"] i,
.search-form button[type="submit"] .fa,
.search-form button[type="submit"] .fa-search {
  color: white !important;
  font-size: 16px !important;
}

/* ===== FACET ICONS FIX - CRITICAL FOR CKAN 2.10 ===== */

/* Force display of facet icons with maximum specificity */
.secondary img.facet-icon,
.filters img.facet-icon,
.module img.facet-icon,
.module-content img.facet-icon,
nav img.facet-icon,
ul img.facet-icon,
li img.facet-icon,
a img.facet-icon,
img.facet-icon {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  margin-right: 8px !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  vertical-align: middle !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
  object-fit: contain !important;
}

/* Ensure parent containers don't hide the icons */
.filters .module-content,
.secondary .module-content,
.filters .nav-facet,
.secondary .nav-facet,
.filters nav,
.secondary nav {
  overflow: visible !important;
}

/* Fix nav-facet list items for icon display */
.filters .nav-facet li,
.secondary .nav-facet li,
.filters nav.nav-facet li,
.secondary nav.nav-facet li,
nav.nav-facet li {
  display: block !important;
  overflow: visible !important;
}

.filters .nav-facet li a,
.secondary .nav-facet li a,
.filters nav.nav-facet li a,
.secondary nav.nav-facet li a,
nav.nav-facet li a {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
  padding: 6px 8px !important;
  color: #495057 !important;
  text-decoration: none !important;
  border-radius: 4px !important;
  transition: background-color 0.2s ease !important;
}

.filters .nav-facet li a:hover,
.secondary .nav-facet li a:hover,
nav.nav-facet li a:hover {
  background-color: rgba(0, 105, 180, 0.08) !important;
  color: #0069B4 !important;
}

.filters .nav-facet li.active a,
.secondary .nav-facet li.active a,
nav.nav-facet li.active a {
  background-color: rgba(0, 105, 180, 0.12) !important;
  color: #0069B4 !important;
  font-weight: 600 !important;
}

/* Item label text */
.filters .nav-facet li a .item-label,
.secondary .nav-facet li a .item-label,
nav.nav-facet li a .item-label {
  flex: 1 1 auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  margin-right: 5px !important;
}

/* Badge/count */
.filters .nav-facet li a .badge,
.secondary .nav-facet li a .badge,
nav.nav-facet li a .badge,
.filters .nav-facet li a .item-count,
.secondary .nav-facet li a .item-count,
nav.nav-facet li a .item-count {
  flex-shrink: 0 !important;
  margin-left: auto !important;
  padding: 2px 8px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  background-color: #6c757d !important;
  color: white !important;
  border-radius: 10px !important;
  min-width: 20px !important;
  text-align: center !important;
}

/* Separator - hide it */
.filters .nav-facet li a .separator,
.secondary .nav-facet li a .separator,
nav.nav-facet li a .separator {
  display: none !important;
}

/* Module heading for filters */
.filters .module-heading,
.secondary .module-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background-color: #f8f9fa !important;
  padding: 12px 15px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #495057 !important;
  border-bottom: 1px solid #e9ecef !important;
}

/* Sorting buttons in filter headings */
.filters .module-heading .sorting,
.filters .module .sorting {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
}

/* Search config OR/AND buttons */
.filters .container__filter__type__search_and__or {
  display: flex !important;
  gap: 5px !important;
  margin-bottom: 10px !important;
}

.filters .container__filter__type__search_and__or .btn {
  padding: 6px 15px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
}

.filters .container__filter__type__search_and__or .btn.active,
.filters .container__filter__type__search_and__or .btn-primary {
  background-color: #0069B4 !important;
  border-color: #0069B4 !important;
  color: white !important;
}

.filters .container__filter__type__search_and__or .btn:not(.active):not(.btn-primary) {
  background-color: #f8f9fa !important;
  border-color: #ced4da !important;
  color: #495057 !important;
}

/* Fix for h1 search results heading */
.primary h1.h1-search,
h1.h1-search {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #212529 !important;
  margin-bottom: 20px !important;
}

/* Dataset list - ensure proper card styling */
.dataset-list,
ul.dataset-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.dataset-list > li,
ul.dataset-list > li,
.dataset-list .dataset-item,
ul.dataset-list .dataset-item,
li.dataset-item {
  background: #fff !important;
  border: 1px solid #e9ecef !important;
  border-radius: 8px !important;
  margin-bottom: 15px !important;
  padding: 20px !important;
  transition: all 0.2s ease !important;
  list-style: none !important;
}

.dataset-list > li:hover,
ul.dataset-list > li:hover,
li.dataset-item:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
  border-color: #dee2e6 !important;
}

/* Dataset title link */
.dataset-item h2 a,
.dataset-item h3 a,
.dataset-item .dataset-heading a,
.dataset-heading a {
  color: #0069B4 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 18px !important;
}

.dataset-item h2 a:hover,
.dataset-item h3 a:hover,
.dataset-item .dataset-heading a:hover,
.dataset-heading a:hover {
  color: #005a9e !important;
  text-decoration: underline !important;
}

/* Dataset notes/description */
.dataset-item p,
.dataset-item .notes,
.dataset-item .dataset-content {
  color: #6c757d !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 10px 0 !important;
}

/* Resource format labels in dataset list */
.dataset-item .dataset-resources,
.dataset-item ul.dataset-resources {
  margin-top: 15px !important;
  padding-top: 10px !important;
  border-top: 1px solid #f0f0f0 !important;
}

.dataset-item .dataset-resources li {
  display: inline-block !important;
  margin-right: 5px !important;
  margin-bottom: 5px !important;
  list-style: none !important;
}

.dataset-item .dataset-resources a.label,
.dataset-item .dataset-resources .label,
.dataset-item .dataset-resources .badge-label {
  display: inline-block !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  color: white !important;
  text-decoration: none !important;
  background-color: #6c757d !important;
}

/* Format-specific colors */
.dataset-item .dataset-resources a.label[data-format="csv"],
.dataset-item .dataset-resources a.label[data-format*="csv"],
.dataset-item .dataset-resources .label[data-format="csv"],
.dataset-item .dataset-resources .label[data-format*="csv"] {
  background-color: #28a745 !important;
}

.dataset-item .dataset-resources a.label[data-format="json"],
.dataset-item .dataset-resources a.label[data-format*="json"],
.dataset-item .dataset-resources .label[data-format="json"],
.dataset-item .dataset-resources .label[data-format*="json"] {
  background-color: #ffc107 !important;
  color: #212529 !important;
}

.dataset-item .dataset-resources a.label[data-format="pdf"],
.dataset-item .dataset-resources a.label[data-format*="pdf"],
.dataset-item .dataset-resources .label[data-format="pdf"],
.dataset-item .dataset-resources .label[data-format*="pdf"] {
  background-color: #dc3545 !important;
}

.dataset-item .dataset-resources a.label[data-format="xls"],
.dataset-item .dataset-resources a.label[data-format*="xls"],
.dataset-item .dataset-resources .label[data-format="xls"],
.dataset-item .dataset-resources .label[data-format*="xls"] {
  background-color: #17a2b8 !important;
}

.dataset-item .dataset-resources a.label[data-format="shp"],
.dataset-item .dataset-resources a.label[data-format*="shp"],
.dataset-item .dataset-resources .label[data-format="shp"],
.dataset-item .dataset-resources .label[data-format*="shp"] {
  background-color: #36849a !important;
}

/* ===== CRITICAL OVERRIDES FOR DATASET SIDEBAR ICONS ===== */
/* Override all possible conflicting styles with maximum specificity */

/* Dataset sidebar facet icons - Force visibility with maximum specificity */
body .secondary img.facet-icon,
body .secondary .module img.facet-icon,
body .secondary .module-content img.facet-icon,
body .secondary .nav-facet img.facet-icon,
body .secondary nav.nav-facet li a img.facet-icon,
body .filters img.facet-icon,
body .filters .module img.facet-icon,
body .filters .module-content img.facet-icon,
body .filters .nav-facet img.facet-icon,
body nav.nav-facet li a img.facet-icon,
body ul.nav-facet li a img.facet-icon,
body .module-content .nav-facet li a img.facet-icon,
.secondary img.facet-icon,
.secondary .module img.facet-icon,
.secondary .module-content img.facet-icon,
.secondary .nav-facet img.facet-icon,
.secondary nav.nav-facet li a img.facet-icon,
.filters img.facet-icon,
.filters .module img.facet-icon,
.filters .module-content img.facet-icon,
.filters .nav-facet img.facet-icon,
nav.nav-facet li a img.facet-icon,
ul.nav-facet li a img.facet-icon,
.module-content .nav-facet li a img.facet-icon,
img.facet-icon {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  margin-right: 8px !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  vertical-align: middle !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
  object-fit: contain !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  position: relative !important;
  z-index: 1 !important;
}

/* DROPDOWN FIXES WITH ABSOLUTE MAXIMUM SPECIFICITY */
/* Override all possible dropdown conflicts */
html body .resource-item .dropdown-menu,
html body .resource-item .btn-group .dropdown-menu,
html body ul.resource-list li.resource-item .dropdown-menu,
html body .resource-list .resource-item .dropdown-menu,
html body li.resource-item .dropdown-menu,
html body .dataset-resources .resource-item .dropdown-menu,
body .resource-item .dropdown-menu,
body .resource-item .btn-group .dropdown-menu,
body ul.resource-list li.resource-item .dropdown-menu,
body .resource-list .resource-item .dropdown-menu,
body li.resource-item .dropdown-menu {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: auto !important;
  right: 0 !important;
  bottom: auto !important;
  z-index: 9999 !important;
  min-width: 180px !important;
  max-width: 300px !important;
  background-color: #ffffff !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 6px !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 6px 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: nowrap !important;
  transform: none !important;
  transition: none !important;
}

/* Ensure dropdown appears when active/open */
html body .resource-item .dropdown.open .dropdown-menu,
html body .resource-item .btn-group.open .dropdown-menu,
html body .resource-item .dropdown-menu.show,
html body .resource-item .btn-group .dropdown-menu.show,
body .resource-item .dropdown.open .dropdown-menu,
body .resource-item .btn-group.open .dropdown-menu,
body .resource-item .dropdown-menu.show,
body .resource-item .btn-group .dropdown-menu.show {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  z-index: 9999 !important;
}

/* Spatial query map container */
.spatial-query-map,
#dataset-map-container,
.dataset-map {
  border-radius: 8px !important;
  overflow: hidden !important;
  margin-bottom: 15px !important;
}

/* Add dataset button */
.btn.btn-primary[href*="new"],
a.btn.btn-primary[href*="dataset/new"] {
  background-color: #0069B4 !important;
  border-color: #0069B4 !important;
  color: white !important;
  padding: 10px 18px !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(0, 105, 180, 0.25) !important;
  margin-top: 20px !important;
}

.btn.btn-primary[href*="new"]:hover,
a.btn.btn-primary[href*="dataset/new"]:hover {
  background-color: #005a9e !important;
  border-color: #005a9e !important;
}

/* Layout spacing for primary action bar on listing pages */
.page_primary_action,
.page_primary_action .btn-group,
.page_primary_action .btn {
  margin-bottom: 10px !important;
}

.page_primary_action {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* ===== METADATA TABLE DESIGN IMPROVEMENTS - CLEAN FORMAT ===== */

/* Modern metadata section header */
.additional-info header,
.additional-info .module-heading,
body .additional-info header,
body .additional-info .module-heading {
  background: transparent !important;
  border: none !important;
  padding: 0 0 15px 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border-bottom: 1px solid #e9ecef !important;
}

.additional-info header h2,
.additional-info header h2.inline,
body .additional-info header h2,
body .additional-info header h2.inline {
  color: #212529 !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

/* Clean metadata container - like right side */
.additional-info,
body .additional-info {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 30px 0 !important;
  overflow: visible !important;
  border: none !important;
  padding: 0 !important;
}

/* Section headers within metadata */
.additional-info h3,
.additional-info .section-header,
body .additional-info h3,
body .additional-info .section-header {
  color: #212529 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  margin: 25px 0 15px 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #e9ecef !important;
  padding-bottom: 8px !important;
}

/* Clean table styling within bordered container */
.additional-info .table,
.additional-info table,
body .additional-info .table,
body .additional-info table {
  margin: 0 !important;
  background: transparent !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  width: 100% !important;
  border: none !important;
}

/* Minimal row styling */
.additional-info .table tbody tr,
.additional-info table tbody tr,
body .additional-info .table tbody tr,
body .additional-info table tbody tr {
  border: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
  background: transparent !important;
  transition: none !important;
}

.additional-info .table tbody tr:hover,
.additional-info table tbody tr:hover,
body .additional-info .table tbody tr:hover,
body .additional-info table tbody tr:hover {
  background-color: transparent !important;
}

/* Clean cell styling */
.additional-info .table td,
.additional-info table td,
.additional-info .dataset-label,
.additional-info .dataset-details,
body .additional-info .table td,
body .additional-info table td,
body .additional-info .dataset-label,
body .additional-info .dataset-details {
  padding: 12px 15px !important;
  vertical-align: top !important;
  border: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
  background: transparent !important;
}

.additional-info .dataset-label,
body .additional-info .dataset-label {
  background: transparent !important;
  font-weight: 600 !important;
  color: #6c757d !important;
  width: 35% !important;
  border-right: none !important;
  font-size: 14px !important;
}

.additional-info .dataset-details,
body .additional-info .dataset-details {
  background: transparent !important;
  color: #212529 !important;
  width: 65% !important;
  font-size: 14px !important;
}

/* Create a container for Basic Information with clear boundaries */
.additional-info .table:first-of-type,
body .additional-info .table:first-of-type {
  border: 1px solid #e9ecef !important;
  border-radius: 6px 6px 0 0 !important;
  border-bottom: none !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
}

/* Show More button connects seamlessly with the table above */
.additional-info .toggle-show-more,
body .additional-info .toggle-show-more {
  background: #f8f9fa !important;
  border: 1px solid #e9ecef !important;
  border-top: none !important;
  padding: 12px 20px !important;
  text-align: center !important;
  margin: 0 0 30px 0 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-weight: 500 !important;
  color: #007bff !important;
  border-radius: 0 0 6px 6px !important;
  position: relative !important;
  font-size: 14px !important;
  width: 100% !important;
  display: block !important;
  box-shadow: none !important;
}

.additional-info .toggle-show-more:hover,
body .additional-info .toggle-show-more:hover {
  background: #e9ecef !important;
  color: #0056b3 !important;
  text-decoration: none !important;
}

.additional-info .toggle-show-more:not(tr)::before,
body .additional-info .toggle-show-more:not(tr)::before {
  content: "▼ " !important;
  font-size: 12px !important;
  margin-right: 6px !important;
  transition: transform 0.2s ease !important;
  display: inline !important;
}

.additional-info .toggle-show-more.collapsed:not(tr)::before,
body .additional-info .toggle-show-more.collapsed:not(tr)::before {
  transform: rotate(-90deg) !important;
  content: "▶ " !important;
}

/* Hide arrow for table rows with toggle-show-more class */
.additional-info tr.toggle-show-more::before,
.additional-info tr.toggle-show::before,
body .additional-info tr.toggle-show-more::before,
body .additional-info tr.toggle-show::before {
  display: none !important;
  content: none !important;
}

/* Clear separation between metadata sections */
.additional-info h3:not(:first-child),
.additional-info .section-header:not(:first-child),
body .additional-info h3:not(:first-child),
body .additional-info .section-header:not(:first-child) {
  margin-top: 20px !important;
  padding-top: 15px !important;
  border-top: 1px solid #e9ecef !important;
}

/* Consistent button styling for Download vs Explore */
.download-links .btn,
.download-links .btn-group .btn,
body .download-links .btn,
body .download-links .btn-group .btn {
  background: linear-gradient(135deg, #0069B4 0%, #005a9e 100%) !important;
  border: 1px solid #005a9e !important;
  color: white !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.download-links .btn:hover,
.download-links .btn-group .btn:hover,
body .download-links .btn:hover,
body .download-links .btn-group .btn:hover {
  background: linear-gradient(135deg, #005a9e 0%, #004d87 100%) !important;
  border-color: #004d87 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
}

/* Ensure consistent button icon styling */
.download-links .btn i,
.download-links .btn-group .btn i,
body .download-links .btn i,
body .download-links .btn-group .btn i {
  color: white !important;
  font-size: 14px !important;
  margin-right: 0 !important;
}

/* ===== RESPONSIVE TOP MENU ===== */

/* Base styles for responsive top menu */
.masthead-top-bar {
  background-color: transparent !important;
  padding: 8px 0 !important;
  border-bottom: none !important;
}

.topmenu-main {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.topmenu-main li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.topmenu-main a {
  color: white !important;
  text-decoration: none !important;
  padding: 6px 12px !important;
  border-radius: 4px !important;
  transition: background-color 0.2s ease !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.topmenu-main a:hover {
  background-color: rgba(255, 255, 255, 0.15) !important;
  text-decoration: none !important;
}

/* Login specific styling */
.topmenu-login a {
  background-color: rgba(255, 255, 255, 0.1) !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.topmenu-login a:hover {
  background-color: rgba(255, 255, 255, 0.25) !important;
}

.mobile-icon {
  display: none !important;
  font-size: 14px !important;
}

/* Mobile dropdown menu */
.topmenu-toggle {
  position: relative !important;
}

.topmenu-dropdown {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  background-color: #0077d4 !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
  padding: 8px 0 !important;
  margin: 4px 0 0 0 !important;
  min-width: 200px !important;
  z-index: 10000 !important;
}

.topmenu-dropdown li {
  margin: 0 !important;
  padding: 0 !important;
}

.topmenu-dropdown a {
  display: block !important;
  padding: 8px 16px !important;
  white-space: nowrap !important;
  border-radius: 0 !important;
}

.topmenu-dropdown a:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

.topmenu-dropdown-toggle.active + .topmenu-dropdown {
  display: block !important;
}

/* Responsive visibility classes */
.desktop-only { display: block !important; }
.tablet-only { display: none !important; }
.mobile-only { display: none !important; }
.desktop-tablet-only { display: block !important; }

/* Tablet styles (768px - 992px) */
@media (max-width: 992px) and (min-width: 769px) {
  .desktop-only { display: none !important; }
  .tablet-only { display: block !important; }
  .mobile-only { display: none !important; }
  
  .topmenu-main {
    gap: 12px !important;
  }
  
  .topmenu-main a {
    padding: 6px 10px !important;
    font-size: 12px !important;
  }
}

/* Mobile styles (≤768px) */
@media (max-width: 768px) {
  .desktop-only { display: none !important; }
  .tablet-only { display: none !important; }
  .mobile-only { display: block !important; }
  .desktop-tablet-only { display: none !important; }
  
  .topmenu-main {
    gap: 8px !important;
    justify-content: space-between !important;
  }
  
  .topmenu-unesco {
    order: 1 !important;
  }
  
  .topmenu-login {
    order: 2 !important;
  }
  
  .topmenu-lang {
    order: 3 !important;
    display: none !important;
  }
  
  .topmenu-toggle {
    order: 4 !important;
  }
  
  .mobile-icon {
    display: inline !important;
  }
  
  .login-text {
    display: none !important;
  }
  
  .topmenu-main a {
    padding: 8px !important;
    font-size: 12px !important;
  }
  
  .topmenu-login a {
    padding: 8px 12px !important;
  }
  
  /* Make dropdown toggle more prominent */
  .topmenu-dropdown-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    padding: 8px !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.65) !important;
    border-radius: 6px !important;
    line-height: 1 !important;
  }

  .topmenu-dropdown-toggle .fa {
    font-size: 16px !important;
  }
}

/* Extra small mobile (≤480px) */
@media (max-width: 480px) {
  .topmenu-main {
    gap: 6px !important;
  }
  
  .topmenu-main a {
    padding: 6px 8px !important;
    font-size: 11px !important;
  }
  
  .topmenu-login a {
    padding: 6px 10px !important;
  }
}

.stages li.last {
     top: -1px;
}
.box, .wrapper {
    background-color: #fff !important; 
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
@media (min-width: 768px) {
    .wrapper:before {
        border-right: 0 !important;
    }
}
.btn-default {
  margin-top: 10px !important;
}