body.path-frontpage #main-wrapper,
body.transparent-header #main-wrapper {
    padding-top: 0;
}

/* Header transparente en portada */
body.path-frontpage:not(.has-scrolled) .header_fixed:not(:hover),
body.transparent-header:not(.has-scrolled) .header_fixed:not(:hover) {
    background-color: #fff0;
}

/* Logo en blanco cuando header transparente */
body.path-frontpage:not(.has-scrolled) .header_main-logo,
body.transparent-header:not(.has-scrolled) .header_main-logo {
    filter: contrast(0%) brightness(200%);
}

/* Al hacer hover o scroll, logo vuelve a su color original */
body.path-frontpage .header_fixed:hover .header_main-logo,
body.path-frontpage.has-scrolled header .header_main-logo,
body.transparent-header .header_fixed:hover .header_main-logo,
body.transparent-header.has-scrolled header .header_main-logo {
    filter: contrast(100%) brightness(100%);
}

/* Hamburger: siempre por encima del overlay del menú móvil (z-index > 999) */
.header_menu-mobile-component {
    position: relative;
    z-index: 1000;
}

/* Featured column: texto encima de la imagen aunque CKEditor los separe */
.main-menu_dropdown-column.is-featured {
    position: relative;
    min-height: 240px;
}

.main-menu_dropdown-featured-link {
    display: block;
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: var(--border-radius-small);
}

.main-menu_dropdown-featured-link .image-cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.main-menu_dropdown-featured-text-container {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    padding: 15px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 100%);
}

.main-menu_dropdown-featured-text-container,
.main-menu_dropdown-featured-text-container p,
.main-menu_dropdown-featured-text-container a,
.main-menu_dropdown-featured-text-container div {
    color: var(--white) !important;
    text-decoration: none;
}

/* Language dropdown alignment */
.header_lang-dropdown.w-dropdown {
    display: flex;
    align-items: center;
    position: relative;
}

/* Language dropdown: cae hacia abajo */
.header_lang-dropdown-nav {
    top: 100%;
    left: 0;
}

/* Strip Drupal field wrappers inside the right header group */
.header_fixed-right .field,
.header_fixed-right .field__item,
.header_fixed-right p {
    display: contents;
}

@media (min-width: 1280px) {

    /* Main menu dropdowns */
    .main-menu_dropdown:hover>.main-menu_dropdown-nav {
        opacity: 1 !important;
        pointer-events: all;
        max-height: 1500px;
    }

    .main-menu_dropdown:hover>.main-menu_dropdown-toggle .main-menu_dropdown-icon {
        rotate: 180deg;
    }

    .main-menu_dropdown:hover>.main-menu_dropdown-toggle .main-menu_element {
        color: var(--black) !important;
    }

    /* Language dropdown */
    .header_lang-dropdown:hover>.header_lang-dropdown-nav {
        display: block;
    }
}

.header_button-icon {
    padding: 0;
}

.header_button-icon a {
    width: 100%;
    height: 100%;
}

/* Header no transparente: anular efectos is-white para que el texto sea visible */
body:not(.path-frontpage):not(.transparent-header) .header.is-white .main-menu_element {
    color: var(--grey-text) !important;
}

body:not(.path-frontpage):not(.transparent-header) .header.is-white .header_lang-item,
body:not(.path-frontpage):not(.transparent-header) .header.is-white .header_lang-item:hover {
    color: var(--black) !important;
}

body:not(.path-frontpage):not(.transparent-header) .header.is-white .header_button-icon {
    background-color: var(--black) !important;
}

body:not(.path-frontpage):not(.transparent-header) .header.is-white .header_lang-dropdown-icon {
    filter: invert(0) brightness(0) !important;
}

body:not(.path-frontpage):not(.transparent-header) .header.is-white .main-menu_dropdown-icon {
    filter: invert(0) brightness(1) !important;
}

body:not(.path-frontpage):not(.transparent-header) .header.is-white .header_search-logo {
    background-color: var(--black) !important;
}

.region-top-header {
    align-items: center;
}

.region-top-header-form {
    flex-wrap: nowrap;
}

.header_plan {
    text-wrap: nowrap;
}