:root {
    --gisat-brand: #2ba84a;
    --gisat-brand-dark: #1a6b30;
    --gisat-brand-hover-bg: rgba(43, 168, 74, 0.14);
}

/* Cabecera (top-bar + menú): bloque opaco en flujo normal, sin flotar sobre el hero */
#sp-top-bar {
    position: relative;
    z-index: 100;
    background-color: #f5f5f5 !important;
}

#sp-header {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    min-height: var(--header_height, 80px);
    z-index: 100 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    box-shadow: 0 1px 0 #e8e8e8, 0 2px 12px rgba(0, 0, 0, 0.06) !important;
    isolation: isolate;
}

#sp-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #ffffff;
    z-index: -1;
}

#sp-header .container,
#sp-header .container-inner,
#sp-header .row,
#sp-logo,
#sp-logo .sp-column,
#sp-menu,
#sp-menu > .sp-column,
#sp-menu .sp-megamenu-wrapper {
    background-color: #ffffff !important;
}

#sp-header .logo-image,
#sp-header .logo-image-phone {
    height: auto !important;
    max-height: calc(var(--header_height, 80px) - 16px);
    width: auto;
}

body.sticky-header #sp-header,
body.sticky-header #sp-header.header-sticky {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

/* Offcanvas por encima de la cabecera (evita ocultar ítems del menú) */
.offcanvas-overlay {
    z-index: 10050 !important;
}

.offcanvas-menu {
    z-index: 10051 !important;
}

.offcanvas-menu .offcanvas-inner {
    padding-top: calc(var(--header_height, 80px) + 10px);
    max-height: 100vh;
}

/* Slider hero (SP Page Builder): justo debajo del menú, sin solaparse */
.com-sppagebuilder #sp-main-body,
.com-sppagebuilder #sp-main .sp-page-builder {
    position: relative;
    z-index: 1;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.com-sppagebuilder #section-id-1623148440205 {
    position: relative;
    z-index: 1;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.com-sppagebuilder #sppb-sp-slider-1623218012553 {
    position: relative;
}

/* Flechas del slider: no subir bajo la cabecera */
#sppb-addon-1623218012553 .sp-slider .sp-nav-control {
    top: 50% !important;
    transform: translateY(-50%);
}

#sp-menu,
#sp-menu > .sp-column,
#sp-menu .sp-megamenu-wrapper {
    position: static;
}

/* Menú principal — verde marca sobre fondo blanco */
.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gisat-brand) !important;
    padding: 6px 12px !important;
    line-height: 1.4 !important;
    border-radius: 4px;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.sp-megamenu-parent > li:hover > a,
.sp-megamenu-parent > li:hover > span {
    color: var(--gisat-brand-dark) !important;
    background-color: var(--gisat-brand-hover-bg) !important;
}

.sp-megamenu-parent > li.active > a,
.sp-megamenu-parent > li.active:hover > a,
.sp-megamenu-parent > li.current-item > a {
    color: var(--gisat-brand-dark) !important;
    background-color: var(--gisat-brand-hover-bg) !important;
}

/* Submenús */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
    background: #ffffff !important;
    border-top: 3px solid var(--gisat-brand);
    border-radius: 0 0 6px 6px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > span:not(.sp-menu-badge),
.sp-megamenu-parent .sp-mega-group > li > a {
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--gisat-brand-dark) !important;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a,
.sp-megamenu-parent .sp-mega-group > li > a:hover {
    color: var(--gisat-brand) !important;
    background-color: var(--gisat-brand-hover-bg) !important;
}

/* Offcanvas (móvil) */
.offcanvas-menu .offcanvas-inner ul.menu li a,
.offcanvas-menu .offcanvas-inner .nav.menu li a {
    font-family: inherit;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gisat-brand) !important;
    transition: color 0.25s ease;
}

.offcanvas-menu .offcanvas-inner ul.menu li a:hover,
.offcanvas-menu .offcanvas-inner ul.menu li.active > a,
.offcanvas-menu .offcanvas-inner .nav.menu li a:hover,
.offcanvas-menu .offcanvas-inner .nav.menu li.active > a {
    color: var(--gisat-brand-dark) !important;
}

#offcanvas-toggler .burger-icon span {
    background-color: var(--gisat-brand);
}
