/* ================================================= */
/* 4. FIX: ELIMINAR ESPACIO BLANCO EXTRA SUPERIOR */
/* ================================================= */

/* 1. Quita el relleno estándar de Astra en el contenedor principal */
.ast-plain-container .site-content,
.site-content .ast-container,
.site-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* 2. Asegura que el bloque principal #primary suba hasta arriba */
#primary {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* 3. (Opcional) Si la primera sección es un H1, que no tenga margen extra arriba */
#primary h1:first-child,
.entry-content>*:first-child {
    margin-top: 0 !important;
}

/* ================================================= */
/* 5. MENÚ DE NAVEGACIÓN PRINCIPAL (Astra) */
/* ================================================= */

.main-navigation a,
.main-header-menu a {
    font-size: 1.25rem !important;
    /* Más grande */
    font-weight: 700 !important;
    /* Más negrita */
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 10px 15px !important;
    transition: all 0.3s ease;
}

/* MARCADOR DE PÁGINA ACTIVA */
.main-header-menu .current-menu-item>a,
.main-header-menu .current_page_item>a {
    color: #004AAD !important;
    /* Azul Zerain */
    position: relative;
}

.main-header-menu .current-menu-item>a::after,
.main-header-menu .current_page_item>a::after {
    content: '';
    position: absolute;
    bottom: 5px;
    left: 15px;
    right: 15px;
    height: 4px;
    background-color: #004AAD;
    /* Línea Naranja debajo del activo */
    border-radius: 2px;
}

/* MENÚ MÓVIL (Astra Default) - Ajuste de tamaño */
@media (max-width: 921px) {

    .main-navigation a,
    .main-header-menu a,
    .ast-mobile-popup-content .ast-mobile-menu-items .menu-item .menu-link {
        font-size: 1rem !important;
        /* Tamaño normal en móvil */
        padding: 10px 20px !important;
        border-bottom: 1px solid #eee;
    }

    .main-header-menu .current-menu-item>a::after {
        display: none;
        /* Quitar subrayado en móvil */
    }
}

.main-header-menu a:hover {
    color: #004AAD !important;
    /* Cambio a naranja al pasar el ratón */
}

/* ================================================= */
/* 6. CABECERA FIJA (Fixed Header) */
/* ================================================= */

#masthead {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 99999 !important;
    background-color: #ffffff;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

body {
    padding-top: 135px !important;
}

@media (max-width: 921px) {
    body {
        padding-top: 0 !important;
    }

    #masthead {
        position: relative !important;
    }
}

/* Ajuste para que el contenido no se oculte tras la cabecera en anclajes */
:target {
    scroll-margin-top: 160px;
}

/* Ajuste para que el contenido no se oculte tras la cabecera en anclajes */
:target {
    scroll-margin-top: 160px;
}

/* =========================================
   7. OPTIMIZACIÓN MÓVIL (Compacto)
   ======================================== */
@media (max-width: 921px) {

    /* 1. Títulos más pequeños */
    h1,
    .entry-title {
        font-size: 1.8rem !important;
        margin-bottom: 10px !important;
        line-height: 1.2 !important;
    }

    h2 {
        font-size: 1.5rem !important;
        margin-bottom: 10px !important;
        line-height: 1.2 !important;
    }

    h3 {
        font-size: 1.3rem !important;
        margin-bottom: 8px !important;
    }

    p {
        font-size: 0.95rem !important;
        line-height: 1.5 !important;
        margin-bottom: 15px !important;
    }

    /* 2. Secciones más compactas (Menos aire) */
    .ast-plain-container .site-content .entry-content .wp-block-uagb-section,
    .elementor-section,
    section,
    .site-content {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* 3. Formulario de Contacto Compacto */
    .wpforms-container {
        padding: 0 !important;
        margin: 10px 0 !important;
    }

    .wpforms-field {
        margin-bottom: 8px !important;
        /* Mínimo hueco entre campos */
        padding: 0 !important;
    }

    div.wpforms-container-full .wpforms-form .wpforms-field-label {
        margin-bottom: 2px !important;
        /* Etiqueta pegada al campo */
        font-size: 0.9rem !important;
        padding-top: 0 !important;
    }

    div.wpforms-container-full .wpforms-form input[type=text],
    div.wpforms-container-full .wpforms-form input[type=email],
    div.wpforms-container-full .wpforms-form textarea {
        padding: 6px 10px !important;
        /* Input más fino */
        height: auto !important;
        font-size: 16px !important;
        /* Evitar zoom en iOS */
        min-height: 35px !important;
    }

    div.wpforms-container-full .wpforms-form textarea {
        height: 80px !important;
        /* Textarea menos alto */
    }

    /* 4. Reducir huecos generales */
    .wp-block-columns {
        gap: 15px !important;
        margin-bottom: 15px !important;
    }

    /* Fleet header más pequeño */
    .fleet-header h1 {
        font-size: 1.8rem !important;
    }
}

/* ================================================= */
/* 7. OVERRIDE COOKIES (Complianz GDPR) */
/* ================================================= */
.cmplz-btn,
.cmplz-btn.cmplz-accept,
.cmplz-btn.cmplz-save,
button.cmplz-btn.cmplz-accept-all {
    background-color: #004AAD !important;
    border-color: #004AAD !important;
    color: #ffffff !important;
}

.cmplz-btn:hover,
.cmplz-btn.cmplz-accept:hover,
.cmplz-btn.cmplz-save:hover,
button.cmplz-btn.cmplz-accept-all:hover {
    background-color: #003380 !important;
    border-color: #003380 !important;
}

.cmplz-status.cmplz-accepted,
.cmplz-status.cmplz-active {
    background-color: #004AAD !important;
}

/* Slider inactivo y toggle de categorías */
:root {
    --cmplz_slider_inactive_color: #004AAD !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-icon.cmplz-open {
    filter: brightness(0) saturate(100%) invert(20%) sepia(90%) Olympic Blue;
    /* Truco de filtro para volver azul el PNG */
    filter: hue-rotate(190deg) brightness(0.5);
    /* Ajuste manual si el anterior no es exacto */
    filter: invert(19%) sepia(85%) saturate(3474%) hue-rotate(205deg) brightness(97%) contrast(101%) !important;
}

.cmplz-label:before {
    background-color: #004AAD !important;
}

/* Icono de la pestaña 'Gestionar consentimiento' */
.cmplz-manage-consent .cmplz-icon {
    filter: invert(19%) sepia(85%) saturate(3474%) hue-rotate(205deg) brightness(97%) contrast(101%) !important;
}

#cmplz-manage-consent .cmplz-manage-consent:before {
    filter: invert(19%) sepia(85%) saturate(3474%) hue-rotate(205deg) brightness(97%) contrast(101%) !important;
}

/* 8. ELIMINAR BOTÓN 'VOLVER ARRIBA' (SCROLL TO TOP) */
#ast-scroll-top,
.ast-scroll-top,
.ast-scroll-to-top,
#scroll-to-top,
.scroll-to-top,
.back-to-top,
#back-to-top,
.to-top-button {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}