@font-face {
    font-family: 'bulolight';
    src: url('../fonts/bulo-light-webfont.woff2') format('woff2'),
         url('../fonts/bulo-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'bulomedium';
    src: url('../fonts/bulo-medium-webfont.woff2') format('woff2'),
         url('../fonts/bulo-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'buloblack';
    src: url('../fonts/bulo-black-webfont.woff2') format('woff2'),
         url('../fonts/bulo-black-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

:root {
    --fb-brand: #00abab;
    --fb-brand-dark: #004f4f;
    --fb-brand-hover-bg: rgba(0, 171, 171, 0.14);
}

h1, h2, h3, h4 {
    font-family: bulomedium;
}

body {
    font-family: bulolight;
    font-size: 18px;
}

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

#sp-header {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    min-height: var(--header_height, 80px);
    z-index: 10001 !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;
}

/* 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-1572884583429 {
    position: relative;
    z-index: 1;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

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

/* Flechas del slider: no subir bajo la cabecera (page-46.css tenía top:-55px) */
#sppb-addon-1572884583442 .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 (contraste legible) */
.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
    font-family: bulomedium, sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fb-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(--fb-brand-dark) !important;
    background-color: var(--fb-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(--fb-brand-dark) !important;
    background-color: var(--fb-brand-hover-bg) !important;
}

/* Submenús: fondo blanco, texto verde oscuro legible */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
    background: #ffffff !important;
    border-top: 3px solid var(--fb-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: bulomedium, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--fb-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(--fb-brand) !important;
    background-color: var(--fb-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: bulomedium, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fb-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(--fb-brand-dark) !important;
}

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