/* ==========================================================
   CONCELLO DE LOBIOS — WEB V2 CONSOLIDADA
   Base: CSS vivo recuperado de WordPress el 22/08/2026.
   Header horizontal de escritorio: producción confirmada 29/08/2026.
   Elementor clásico: Secciones + Columnas + Sección interior.
   ========================================================== */

/* ==========================================================
   LMCO / NORA — ELEMENTOR CLÁSICO
   SECCIONES + COLUMNAS
   Página HERO: ID 3252
   ========================================================== */


/* ==========================================================
   RESET BÁSICO DEL COMPONENTE
   ========================================================== */

.nk-header *,
.nk-menu-panel *,
.nk-burger-btn *,
.nk-hero * {
    box-sizing: border-box;
}


/* ==========================================================
   CABECERA GLOBAL
   La cabecera SIEMPRE queda superpuesta.
   En páginas interiores compensamos con padding en #content.
   ========================================================== */

.elementor-location-header {
    position: absolute !important;
    top: 0;
    left: 0;

    width: 100% !important;

    background: transparent !important;

    z-index: 10000;
}

.nk-header {
    position: relative;

    z-index: 10000;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
}

/* La clase puede seguir puesta en la misma sección.
   No cambia la geometría; solo asegura transparencia. */
.nk-header-global {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    z-index: 10000;
}

.nk-header > .elementor-container,
.nk-header-global > .elementor-container {
    width: 100% !important;
    max-width: none !important;
}

.nk-header-global > .elementor-container,
.nk-header-global .elementor-column,
.nk-header-global .elementor-widget-wrap {
    background: transparent !important;
}

/* La página 3252 contiene el HERO y no necesita compensación. */
body:not(.page-id-3252) #content {
    padding-top: 110px;
}


/* ==========================================================
   BURGER
   IMPORTANTE: no usar nk-burger-widget.
   El propio botón queda fijado al viewport.
   ========================================================== */

.nk-burger-btn {
    position: fixed;

    top: 27px;
    right: 40px;

    z-index: 10003;

    display: flex;

    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 4px;

    width: 59px;
    height: 59px;
    min-width: 59px;

    margin: 0;
    padding: 0;

    border: none;
    outline: none;
    border-radius: 50%;

    background: #F4F1E8;

    box-shadow: none;

    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;

    transition: background 0.4s ease;
}

.nk-burger-btn .nk-bar {
    display: block;

    width: 24px;
    height: 2px;

    flex: 0 0 2px;

    margin: 0;
    padding: 0;

    border: 0;

    background: #111111;

    transform-origin: center center;

    transition:
        transform 0.3s ease,
        background-color 0.3s ease;
}

/* ==========================================================
   HOVER BURGER
   Solo en dispositivos con ratón real
   ========================================================== */

@media (hover: hover) and (pointer: fine) {

    .nk-burger-btn:hover {
        background: #0B0B0B;
    }

    .nk-burger-btn:hover .nk-bar {
        background: #F4F1E8;
    }

}
/* ==========================================================
   BURGER EN DISPOSITIVOS TÁCTILES
   Evita que el hover quede "pegado"
   ========================================================== */

@media (hover: none), (pointer: coarse) {

    .nk-burger-btn:not(.open) {
        background: #F4F1E8 !important;
    }

    .nk-burger-btn:not(.open) .nk-bar {
        background: #111111 !important;
    }

}

.nk-burger-btn.open {
    background: #0B0B0B;
}

.nk-burger-btn.open .nk-bar {
    background: #F4F1E8;
}

.nk-burger-btn.open .nk-bar:first-child {
    transform: rotate(45deg) translate(2px, 2px);
}

.nk-burger-btn.open .nk-bar:last-child {
    transform: rotate(-45deg) translate(2px, -2px);
}

.nk-burger-btn:focus-visible {
    outline: 2px solid #75C5DE;
    outline-offset: 3px;
}


/* ==========================================================
   PANEL DEL MENÚ — ESCRITORIO
   ========================================================== */

.nk-menu-panel {
    position: fixed !important;

    top: calc(-100vh - 30px) !important;
    right: 7px !important;
    left: auto !important;

    z-index: 10002;

    width: 420px !important;
    min-width: 420px !important;
    max-width: 420px !important;
    height: auto !important;

    margin: 0 !important;
    padding: 60px !important;

    border: 0 !important;
    border-radius: 20px !important;

    background: rgba(17, 17, 17, 0.95) !important;

    backdrop-filter: blur(26px);
    -webkit-backdrop-filter: blur(26px);

    opacity: 0;

    pointer-events: none;

    max-height: calc(100vh - 14px);
    overflow-x: hidden;
    overflow-y: auto;

    transform: none !important;

    transition:
        top 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        opacity 0.4s ease !important;
}

.nk-menu-panel > .elementor-container {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.nk-menu-panel .nk-menu-column {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.nk-menu-panel .nk-menu-column > .elementor-widget-wrap {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.nk-menu-panel.open {
    top: 7px !important;

    opacity: 1;

    pointer-events: auto;
}


/* ==========================================================
   ENLACES PRINCIPALES DEL MENÚ
   ========================================================== */

.nk-menu-link {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
}

.nk-menu-link .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.nk-menu-link .elementor-heading-title {
    margin: 0 !important;
    padding: 0 !important;

    color: #F4F1E8 !important;

    font-family: "Inter", sans-serif !important;

    font-size: 30px !important;
    font-weight: 500 !important;

    line-height: 130% !important;
    letter-spacing: normal !important;

    text-decoration: none !important;
}

.nk-menu-link .elementor-heading-title a {
    color: #F4F1E8 !important;

    text-decoration: none !important;

    transition: opacity 0.3s ease;
}

.nk-menu-link .elementor-heading-title a:hover {
    color: #F4F1E8 !important;

    opacity: 0.7;
}


/* ==========================================================
   CONTACTO DEL MENÚ — RESERVA DE COMPATIBILIDAD / FUTURO
   No existe markup activo a fecha 22/08/2026, pero estas reglas
   se conservan deliberadamente para una posible reimplantación.
   ========================================================== */

.nk-menu-contact {
    display: block;

    margin-top: 24px;
}

.nk-menu-email {
    color: #9A9590 !important;

    font-family: "Inter", sans-serif !important;

    font-size: 20px;
    font-weight: 400;

    line-height: normal;

    text-decoration: none !important;

    transition: color 0.3s ease;
}

.nk-menu-email:hover {
    color: #F4F1E8 !important;
}


/* ==========================================================
   REDES DEL MENÚ — RESERVA DE COMPATIBILIDAD / FUTURO
   No existe markup activo a fecha 22/08/2026.
   ========================================================== */

.nk-menu-socials {
    display: flex;

    flex-wrap: wrap;

    gap: 24px;

    margin-top: 20px;
}

.nk-menu-socials a {
    color: #9A9590 !important;

    font-family: "Inter", sans-serif !important;

    font-size: 14px;
    font-weight: 400;

    line-height: normal;

    text-decoration: underline !important;
    text-underline-offset: 2px;

    transition: color 0.3s ease;
}

.nk-menu-socials a:hover {
    color: #F4F1E8 !important;
}


/* ==========================================================
   CTA DEL MENÚ
   ========================================================== */

.nk-menu-cta-wrapper {
    margin-top: 32px;
}

.nk-menu-cta-btn {
    position: relative;

    overflow: hidden;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 6px;

    border: none;
    border-radius: 9999px;

    background: none;

    cursor: pointer;

    text-decoration: none !important;
}

.nk-menu-cta-bg {
    position: absolute;

    top: 5px;
    bottom: 5px;
    left: 8px;

    z-index: 0;

    width: calc(100% - 8px - 8px - 38px - 8px);

    border-radius: 9999px;

    background: #FFFFFF;

    transition:
        width 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.nk-menu-cta-text {
    position: relative;

    z-index: 1;

    padding: 8px 40px;

    color: #111111;

    font-family: "Inter", sans-serif;

    font-size: 14px;
    font-weight: 500;

    white-space: nowrap;
}

.nk-menu-cta-circle {
    position: relative;

    z-index: 1;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    flex: 0 0 38px;

    border-radius: 50%;

    background: #75C5DE;

    transition: transform 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {

    .nk-menu-cta-btn:hover .nk-menu-cta-bg {
        width: calc(100% - 12px);
    }

    .nk-menu-cta-btn:hover .nk-menu-cta-circle {
        transform: translateX(-4px);
    }

}


/* ==========================================================
   MENÚ + CABECERA — MÓVIL
   ========================================================== */

@media (max-width: 767px) {

    body:not(.page-id-3252) #content {
        padding-top: 90px;
    }

    .nk-burger-btn {
        top: 16px;
        right: 20px;
    }

    .nk-menu-panel {
        top: calc(-100vh - 30px) !important;
        max-height: calc(100vh - 16px);

        left: 8px !important;
        right: 8px !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;

        padding: 90px 32px 32px 32px !important;

        box-sizing: border-box !important;

        border-radius: 20px !important;
    }

    .nk-menu-panel.open {
        top: 8px !important;
    }

    .nk-menu-link .elementor-heading-title {
        font-size: 24px !important;
    }

    .nk-menu-email {
        font-size: 18px;
    }
}


/* ==========================================================
   ACCESIBILIDAD MENÚ
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .nk-menu-panel,
    .nk-burger-btn,
    .nk-bar,
    .nk-menu-link a,
    .nk-menu-email,
    .nk-menu-socials a,
    .nk-menu-cta-bg,
    .nk-menu-cta-circle {
        transition: none !important;
    }
}


/* ==========================================================
   HERO
   ========================================================== */

.nk-hero {
    position: relative !important;

    width: 100% !important;

    min-height: 100vh;

    margin: 0 !important;
    padding: 0 !important;

    background: #E4E4E4 !important;

    overflow: hidden;
}

.nk-hero > .elementor-container {
    width: 100% !important;
    max-width: none !important;

    min-height: inherit;

    margin: 0 !important;
    padding: 0 !important;
}

.nk-hero-column {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.nk-hero-column > .elementor-widget-wrap {
    position: relative;

    min-height: 100vh;

    margin: 0 !important;
    padding: 0 !important;
}

/* =========================================================
   BOTONES HERO — ICONOS
   ========================================================= */

.nk-hero-button-icon {
    display: block;

    width: 16px;
    height: 16px;

    flex: 0 0 16px;

    fill: currentColor;
}

/* ==========================================================
   SPLASH
   ========================================================== */

.nk-splash {
    position: fixed;

    inset: 0;

    z-index: 999999;

    width: 100vw;
    height: 100vh;

    pointer-events: none;

    overflow: hidden;

    animation: nkSplashHide 0.3s ease forwards;
    animation-delay: 1.35s;
}

.nk-splash-row {
    display: flex;

    width: 100%;
    height: 50%;
}

.nk-splash-box {
    display: block;

    width: 20%;
    height: 100%;

    background: #75C5DE;
}

.nk-splash-row-top .nk-splash-box {
    animation:
        nkSplashTop 1s
        cubic-bezier(0.96, -0.02, 0.38, 1.01)
        forwards;
}

.nk-splash-row-bottom .nk-splash-box {
    animation:
        nkSplashBottom 1s
        cubic-bezier(0.96, -0.02, 0.38, 1.01)
        forwards;
}

.nk-splash-box:nth-child(1) {
    animation-delay: 0s;
}

.nk-splash-box:nth-child(2) {
    animation-delay: 0.05s;
}

.nk-splash-box:nth-child(3) {
    animation-delay: 0.10s;
}

.nk-splash-box:nth-child(4) {
    animation-delay: 0.15s;
}

.nk-splash-box:nth-child(5) {
    animation-delay: 0.20s;
}

@keyframes nkSplashTop {
    from {
        transform: translateY(0%);
    }

    to {
        transform: translateY(-100%);
    }
}

@keyframes nkSplashBottom {
    from {
        transform: translateY(0%);
    }

    to {
        transform: translateY(100%);
    }
}

@keyframes nkSplashHide {
    to {
        opacity: 0;
        visibility: hidden;
    }
}


/* ==========================================================
   IMÁGENES HERO
   ========================================================== */

.nk-hero-base-img {
    position: absolute !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    z-index: 5;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden;
}

.nk-hero-base-img .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.nk-hero-base-img img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;
}



/* ==========================================================
   ENTRADA DE LA IMAGEN BASE
   ========================================================== */

@keyframes nkHeroImageIn {

    from {
        opacity: 0;

        transform:
            scale(1.5)
            rotate(3deg);
    }

    to {
        opacity: 1;

        transform:
            scale(1)
            rotate(0deg);
    }
}

.nk-hero-image-animate {
    opacity: 0;

    animation:
        nkHeroImageIn
        1.2s
        cubic-bezier(0.25, 0.46, 0.45, 0.94)
        forwards;

    animation-delay: 1s;
}


/* ==========================================================
   VISUALS
   ========================================================== */

.nk-hero-big-text {
    position: absolute !important;

    left: 0;
    right: 0;
    bottom: 20px;

    z-index: 8;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 20px !important;

    pointer-events: none;

    text-align: center;

    transform: translateY(330px);

    animation:
        nkCreatorSlideUp
        1s
        cubic-bezier(0.16, 1, 0.3, 1)
        forwards;

    animation-delay: 1.5s;
}


.nk-hero-big-text .elementor-widget-container {
    width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}


.nk-hero-big-text .elementor-heading-title {
    display: block;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    color: rgba(255, 255, 255, 0.78) !important;

    font-family: "Inter", sans-serif !important;

    font-size: clamp(60px, 23vw, 360px) !important;

    font-weight: 500 !important;

    line-height: 90% !important;

    letter-spacing: -0.04em !important;

    white-space: nowrap;

    text-align: center;
}


@keyframes nkCreatorSlideUp {

    from {
        transform: translateY(330px);
    }

    to {
        transform: translateY(0);
    }

}
/* =========================================================
   CONCELLO DE — MISMO ESTILO QUE LOBIOS
   ========================================================= */

.nk-hero-big-text .elementor-heading-title {
    position: relative !important;
    overflow: visible !important;
}


/* Texto superior */

.nk-hero-big-text .elementor-heading-title::before {
    content: "CONCELLO DE";

    position: absolute;

    left: 50%;
    bottom: 84%;

    transform: translateX(-50%);

    display: block;

    /* CONCELLO DE conserva el tono anterior de producción */
    color: #f4f1e8a6 !important;

    font-family: inherit;
    font-weight: inherit;

    font-size: 0.33em;

    line-height: 90%;
    letter-spacing: -0.04em;

    white-space: nowrap;

    text-align: center;

    pointer-events: none;
}
/* ==========================================================
   CONTENIDO DEL HERO — SECCIÓN INTERIOR CLÁSICA
   ========================================================== */

.nk-hero-content {
    position: absolute !important;

    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    z-index: 9;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    pointer-events: none;
}

.nk-hero-content > .elementor-container {
    position: relative;

    width: 100% !important;
    max-width: 1600px !important;

    height: 100% !important;
    min-height: 100% !important;

    margin: 0 auto !important;

    padding: 160px 40px 100px 40px !important;
}

.nk-hero-content .nk-hero-content-inner {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    pointer-events: auto;
}

.nk-hero-content
.nk-hero-content-inner
> .elementor-widget-wrap {
    display: flex !important;

    flex-direction: column !important;
    flex-wrap: nowrap !important;

    align-items: flex-start !important;
    justify-content: flex-start !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.nk-hero-content
.nk-hero-content-inner
> .elementor-widget-wrap
> .elementor-element {
    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    width: auto !important;
    max-width: 100%;

    flex: 0 0 auto;

    align-self: flex-start;
}


/* ==========================================================
   HEADLINE PRINCIPAL
   ========================================================== */

.nk-hero-headline {
    position: relative !important;

    max-width: 447px;

    margin: 0 !important;
    padding: 0 !important;

    color: #111111;

    font-family: "Inter", sans-serif;

    font-size: 28px;
    font-weight: 500;

    line-height: 120%;
    letter-spacing: -0.02em;
}


/* ==========================================================
   REVELADO DE PALABRAS
   ========================================================== */

.nk-word-reveal {
    display: inline-block;

    margin-right: 0.3em;

    opacity: 0;

    animation:
        nkWordReveal
        0.4s
        ease
        forwards;
}

@keyframes nkWordReveal {

    from {
        opacity: 0;

        transform: translateY(10px);

        filter: blur(10px);
    }

    to {
        opacity: 1;

        transform: translateY(0);

        filter: blur(0);
    }
}


/* ==========================================================
   TEXTOS SECUNDARIOS DEL HERO
   ========================================================== */

.nk-hero-subtext {
    width: auto !important;
    max-width: 447px !important;

    margin: 8px 0 0 0 !important;
    padding: 0 !important;

    align-self: flex-start !important;
}

.nk-hero-subtext > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.nk-hero-subtext p {
    margin: 0 !important;
    padding: 0 !important;

    color: #111111;

    font-family: "Inter", sans-serif !important;

    font-size: 26px !important;
    font-weight: 500;

    line-height: 120%;
    letter-spacing: -0.02em;
}


/* ==========================================================
   HERO — ESCRITORIO
   ========================================================== */

@media (min-width: 768px) {

    .nk-hero {
        height: 100vh !important;
        min-height: 100vh !important;
    }
}


/* ==========================================================
   HERO — MÓVIL
   ========================================================== */

@media (max-width: 767px) {

    .nk-hero-headline {
        max-width: 447px;

        font-size: 22px;
    }

    .nk-hero-subtext p {
        font-size: 20px !important;
    }

}


/* ==========================================================
   REDUCIR MOVIMIENTO
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .nk-splash {
        animation:
            nkSplashHide
            0.01s
            linear
            forwards;
    }

    .nk-splash-box {
        animation: none !important;
    }

    .nk-hero-image-animate,
    .nk-word-reveal,
    .nk-hero-big-text {
        animation: none !important;

        opacity: 1 !important;

        transform: none !important;

        filter: none !important;
    }
}
/* =========================================================
   FOOTER MINIMAL
   ========================================================= */

.nk-footer {
    width: 100% !important;

    margin: 0 !important;

    padding:
        32px
        40px
        36px
        40px !important;

    background: #E4E4E4;

    border-top: 1px solid rgba(17, 17, 17, 0.12);
}


/* Quitar límites de Elementor */

.nk-footer > .elementor-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ENLACES */

.nk-footer-links {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 28px;

    margin: 0;
    padding: 0;

    width: 100%;
}


.nk-footer-links a {
    color: #111111;

    font-family: "Inter", sans-serif;

    font-size: 13px;

    font-weight: 400;

    line-height: 1.2;

    text-decoration: none;

    opacity: 0.62;

    transition:
        opacity 0.25s ease;
}


.nk-footer-links a:hover {
    opacity: 1;
}


/* =========================================================
   FOOTER MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .nk-footer {
        padding:
            24px
            20px
            28px
            20px !important;
    }

    .nk-footer-links {
        display: flex;
        flex-direction: row;

        align-items: center;
        justify-content: center;
        gap: 14px;

        flex-wrap: nowrap;

        margin: 0;
        padding: 0;
    }

    .nk-footer-links a {
        font-size: 12px;
        white-space: nowrap;
    }

}


/* ==========================================================
   HERO MÓVIL — TODO VISIBLE EN PRIMERA PANTALLA
   ========================================================== */

@media (max-width: 767px) {

    /* Hero = exactamente una pantalla */
    .nk-hero {
        height: 100vh !important;
        height: 100svh !important;

        min-height: 100vh !important;
        min-height: 100svh !important;

        overflow: hidden !important;
    }


    .nk-hero > .elementor-container,
    .nk-hero-column,
    .nk-hero-column > .elementor-widget-wrap {
        height: 100% !important;
        min-height: 100% !important;
    }


    /*
     * El contenido NO aumenta la altura del hero.
     * Flota por encima de las imágenes.
     */
    .nk-hero-content {
        position: absolute !important;

        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;

        width: 100% !important;
        height: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    .nk-hero-content > .elementor-container {
        width: 100% !important;
        height: 100% !important;

        padding:
            110px
            16px
            24px
            16px !important;
    }


    /* VISUALS queda dentro de la primera pantalla */

    .nk-hero-big-text {
        left: 0 !important;
        right: 0 !important;

        bottom: max(
            16px,
            env(safe-area-inset-bottom, 0px)
        ) !important;

        padding:
            0
            12px !important;
    }


    .nk-hero-big-text .elementor-heading-title {
        font-size: 20vw !important;

        line-height: 90% !important;

        white-space: nowrap;
    }

}
/* ==========================================================
   IMÁGENES RESPONSIVE DEL HERO
   Solo se muestra la imagen base correspondiente al dispositivo.
   ========================================================== */

/* Escritorio */
.nk-hero-desktop {
    display: block !important;
}

.nk-hero-mobile {
    display: none !important;
}

/* Móvil */
@media (max-width: 767px) {

    .nk-hero-desktop {
        display: none !important;
    }

    .nk-hero-mobile {
        display: block !important;
    }
}

/* ==========================================================
   CONTENIDO DESPUÉS DEL HERO
   La sección entra parcialmente sobre el hero todavía sticky.
   Su fondo pasa de transparente a crema para conservar durante
   la entrada el fondo fotográfico ya desenfocado.
   ========================================================== */

.nk-after-hero {
    position: relative;

    z-index: 10;

    width: 100%;

    /*
     * La sección recorre una pantalla completa mientras el hero
     * permanece sticky. En escritorio usamos 90px de padding superior
     * para dejar aire bajo el menú fijo; en móvil se mantienen 60px.
     */
    margin: -100vh 0 0 0 !important;

    background:
        linear-gradient(
            to bottom,
            rgba(244, 241, 232, 0) 0,
            rgba(244, 241, 232, 0.14) 10vh,
            rgba(244, 241, 232, 0.58) 24vh,
 /*           #F4F1E8 42vh */
            #FFFFFF 42vh
        );

    padding: 90px 40px 100px;
}

@media (max-width: 767px) {

    .nk-after-hero {
        margin-top: -100svh !important;
        padding-top: 60px;

        background:
            linear-gradient(
                to bottom,
                rgba(244, 241, 232, 0) 0,
                rgba(244, 241, 232, 0.16) 8svh,
                rgba(244, 241, 232, 0.62) 20svh,
 /*           #F4F1E8 42vh */
               #FFFFFF 42vh
            );
    }
}

/* =========================================================
   BOTONES HERO — INSTITUCIONAL / MINIMAL
   TODOS IGUALES
   ========================================================= */

.nk-hero-buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;

    align-items: center;
    justify-content: flex-start;

    gap: 10px;

    width: auto;

    margin: 20px 0 0 0;
    padding: 0;
}


/* =========================================================
   BOTONES
   ========================================================= */

.nk-hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 42px;

    padding: 11px 18px;

    color: #111111;

    background: #FFFFFF;

    border: 1px solid rgba(17, 17, 17, 0.22);
    border-radius: 6px;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 500;

    line-height: 1;
    letter-spacing: -0.01em;

    white-space: nowrap;

    text-decoration: none !important;

    cursor: pointer;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.15s ease;
}


/* =========================================================
   HOVER — SOLO RATÓN
   ========================================================= */

@media (hover: hover) and (pointer: fine) {

    .nk-hero-button:hover {
        color: #111111;

        background: #F4F1E8;

        border-color: #111111;
    }

}


/* =========================================================
   PULSACIÓN
   ========================================================= */

.nk-hero-button:active {
    transform: translateY(1px);
}


/* =========================================================
   ACCESIBILIDAD TECLADO
   ========================================================= */

.nk-hero-button:focus-visible {
    outline: 2px solid #75C5DE;
    outline-offset: 3px;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .nk-hero-buttons {
        gap: 8px;

        margin-top: 18px;
    }

    .nk-hero-button {
        min-height: 40px;

        padding: 10px 14px;

        font-size: 13px;
    }

}
/* ==========================================================
   MENÚ — ITEMS CON SUBMENÚ
   ========================================================== */

.nk-menu-item {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
}


/* ==========================================================
   BOTÓN PRINCIPAL DEL SUBMENÚ
   Visualmente equivalente a .nk-menu-link
   ========================================================== */

.nk-menu-submenu-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    margin: 0;
    padding: 0;

    border: 0 !important;
    outline: 0;

    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;

    color: #F4F1E8 !important;

    font-family: "Inter", sans-serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;

    line-height: 130% !important;
    letter-spacing: normal !important;

    text-align: left;
    text-decoration: none !important;

    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;
}


/* Evita estilos globales de Elementor/tema sobre button */

.nk-menu-submenu-toggle:hover,
.nk-menu-submenu-toggle:focus,
.nk-menu-submenu-toggle:active {
    background: transparent !important;
    background-color: transparent !important;

    color: #F4F1E8 !important;

    border-color: transparent !important;
    box-shadow: none !important;
}


/* ==========================================================
   TEXTO DEL ITEM PRINCIPAL
   Mismo hover que .nk-menu-link
   ========================================================== */

.nk-menu-submenu-toggle > span:first-child {
    color: #F4F1E8 !important;

    opacity: 1;

    transition: opacity 0.3s ease;
}


@media (hover: hover) and (pointer: fine) {

    .nk-menu-submenu-toggle:hover > span:first-child {
        color: #F4F1E8 !important;

        opacity: 0.7;
    }

}


/* ==========================================================
   ICONO + / -
   ========================================================== */

.nk-menu-submenu-icon {
    position: relative;

    display: block;

    width: 20px;
    height: 20px;

    flex: 0 0 20px;

    margin-left: 20px;

    opacity: 1;
}

.nk-menu-submenu-icon::before,
.nk-menu-submenu-icon::after {
    content: "";

    position: absolute;

    top: 50%;
    left: 50%;

    width: 14px;
    height: 2px;

    border-radius: 2px;

    background: #F4F1E8;

    transform: translate(-50%, -50%);

    transition:
        transform 0.3s ease,
        opacity 0.3s ease;
}


/* Línea vertical del + */

.nk-menu-submenu-icon::after {
    transform:
        translate(-50%, -50%)
        rotate(90deg);
}


/* ==========================================================
   ITEM ABIERTO
   + pasa a ser -
   ========================================================== */

.nk-menu-has-submenu.open
.nk-menu-submenu-icon::after {
    transform:
        translate(-50%, -50%)
        rotate(0deg);

    opacity: 0;
}


/* ==========================================================
   SUBMENÚ
   ========================================================== */

.nk-menu-submenu {
    display: grid;

    grid-template-rows: 0fr;

    opacity: 0;

    transition:
        grid-template-rows 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        opacity 0.3s ease;
}


.nk-menu-has-submenu.open
.nk-menu-submenu {
    grid-template-rows: 1fr;

    opacity: 1;
}


.nk-menu-submenu-inner {
    min-height: 0;

    overflow: hidden;

    display: flex;
    flex-direction: column;

    gap: 8px;

    padding-left: 2px;
}


/* Espaciado solo cuando está abierto */

.nk-menu-has-submenu.open
.nk-menu-submenu-inner {
    padding-top: 6px;
    padding-bottom: 14px;
}


/* ==========================================================
   ENLACES DEL SUBMENÚ
   ========================================================== */

.nk-menu-submenu a {
    display: block;

    color: #9A9590 !important;

    font-family: "Inter", sans-serif !important;
    font-size: 16px;
    font-weight: 400;

    line-height: 140%;

    text-decoration: none !important;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}


@media (hover: hover) and (pointer: fine) {

    .nk-menu-submenu a:hover {
        color: #F4F1E8 !important;

        transform: translateX(5px);
    }

}


/* ==========================================================
   ACCESIBILIDAD — FOCO DE TECLADO
   ========================================================== */

.nk-menu-submenu-toggle:focus-visible,
.nk-menu-submenu a:focus-visible {
    outline: 2px solid #75C5DE !important;
    outline-offset: 3px;
}


/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width: 767px) {

    .nk-menu-submenu-toggle {
        font-size: 24px !important;
    }

    .nk-menu-submenu a {
        font-size: 16px;
    }

}


/* ==========================================================
   REDUCIR MOVIMIENTO
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .nk-menu-submenu,
    .nk-menu-submenu-toggle > span:first-child,
    .nk-menu-submenu-icon::before,
    .nk-menu-submenu-icon::after,
    .nk-menu-submenu a {
        transition: none !important;
    }

}

/* PÁGINAS GENERALES */
/* ==========================================================
   PÁGINAS INTERIORES — SECCIÓN BASE GLOBAL

   Elementor clásico:
   SECCIÓN [nk-page-section]
   └── COLUMNA
       └── contenido libre
   ========================================================== */


/* ==========================================================
   SECCIÓN EXTERIOR
   ========================================================== */

.nk-page-section {
    position: relative;

    width: 100% !important;

    margin:
        -110px
        0
        0
        0 !important;

    padding:
        190px
        0
        100px
        0 !important;

    background: #F4F1E8;

    overflow: hidden;

    box-sizing: border-box;
}


/* Todo dentro del componente usa border-box */

.nk-page-section *,
.nk-page-section *::before,
.nk-page-section *::after {
    box-sizing: border-box;
}


/* ==========================================================
   MOTIVO DECORATIVO SUPERIOR
   ========================================================== */

.nk-page-section::before {
    content: "CONCELLO DE LOBIOS";

    position: absolute;

    top: 15px;
    left: 50%;

    z-index: 0;

    transform: translateX(-50%);

    display: block;

    width: max-content;

    color: rgba(17, 17, 17, 0.055);

    font-family: "Inter", sans-serif;
    font-size: clamp(72px, 10vw, 180px);
    font-weight: 500;

    line-height: 0.9;

    letter-spacing: -0.07em;

    white-space: nowrap;

    pointer-events: none;
    user-select: none;
}


/* ==========================================================
   CONTENEDOR INTERIOR
   Mismo máximo de 1600px usado en el hero
   ========================================================== */

.nk-page-section > .elementor-container {
    position: relative;

    z-index: 1;

    width: 100% !important;
    max-width: 1600px !important;

    margin:
        0
        auto !important;

    padding:
        0
        40px !important;
}


/* ==========================================================
   COLUMNAS
   ========================================================== */

.nk-page-section .elementor-column {
    min-width: 0;
}


.nk-page-section .elementor-widget-wrap {
    align-content: flex-start;
}


/* ==========================================================
   ESPACIADO GENERAL ENTRE WIDGETS
   ========================================================== */

.nk-page-section
.elementor-widget:not(:last-child) {
    margin-bottom: 26px;
}


/* Encabezados seguidos de contenido algo más compactos */

.nk-page-section
.elementor-widget-heading:not(:last-child) {
    margin-bottom: 18px;
}


/* ==========================================================
   TIPOGRAFÍA BASE
   ========================================================== */

.nk-page-section {
    color: #111111;

    font-family: "Inter", sans-serif;
}


.nk-page-section p,
.nk-page-section li {
    color: #111111;

    font-family: "Inter", sans-serif;

    font-size: 17px;
    font-weight: 400;

    line-height: 1.65;
}


/* Párrafos */

.nk-page-section p {
    margin-top: 0;
    margin-bottom: 1.2em;
}


.nk-page-section p:last-child {
    margin-bottom: 0;
}


/* ==========================================================
   ENCABEZADOS
   ========================================================== */

.nk-page-section h1,
.nk-page-section h2,
.nk-page-section h3,
.nk-page-section h4,
.nk-page-section h5,
.nk-page-section h6 {
    margin-top: 0;

    color: #111111;

    font-family: "Inter", sans-serif;

    letter-spacing: -0.035em;
}


.nk-page-section h1 {
    font-size: clamp(52px, 6vw, 92px);
    font-weight: 500;

    line-height: 0.98;
}


.nk-page-section h2 {
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 500;

    line-height: 1.05;
}


.nk-page-section h3 {
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 500;

    line-height: 1.15;
}


.nk-page-section h4 {
    font-size: 20px;
    font-weight: 500;

    line-height: 1.25;
}


/* ==========================================================
   ENLACES DE TEXTO
   No afecta a botones de Elementor
   ========================================================== */

.nk-page-section
a:not(.elementor-button) {
    color: #111111;

    text-decoration-line: underline;
    text-decoration-color: #75C5DE;
    text-decoration-thickness: 1.5px;

    text-underline-offset: 4px;

    transition:
        color 0.25s ease,
        opacity 0.25s ease;
}


@media (hover: hover) and (pointer: fine) {

    .nk-page-section
    a:not(.elementor-button):hover {
        color: #4A9DB8;
    }

}


/* ==========================================================
   LISTAS
   ========================================================== */

.nk-page-section ul,
.nk-page-section ol {
    margin:
        0
        0
        1.5em
        0;

    padding-left: 1.4em;
}


.nk-page-section li {
    margin-bottom: 0.45em;
}


.nk-page-section li:last-child {
    margin-bottom: 0;
}


/* Marcador de listas */

.nk-page-section li::marker {
    color: #75C5DE;
}


/* ==========================================================
   BOTONES ELEMENTOR
   ========================================================== */

.nk-page-section .elementor-button {
    padding:
        12px
        20px;

    border:
        1px
        solid
        #111111;

    border-radius: 999px;

    background: #111111;

    color: #F4F1E8 !important;

    font-family: "Inter", sans-serif;

    font-size: 14px;
    font-weight: 500;

    line-height: 1;

    box-shadow: none;

    transition:
        background-color 0.25s ease,
        color 0.25s ease;
}


@media (hover: hover) and (pointer: fine) {

    .nk-page-section .elementor-button:hover {
        background: transparent;

        color: #111111 !important;
    }

}


/* ==========================================================
   DIVISORES
   ========================================================== */

.nk-page-section
.elementor-divider-separator {
    border-color:
        rgba(17, 17, 17, 0.16) !important;
}


/* ==========================================================
   IMÁGENES DE CONTENIDO
   ========================================================== */

.nk-page-section
.elementor-widget-image img {
    display: block;

    width: 100%;

    height: auto;

    border-radius: 16px;
}


/* ==========================================================
   BLOCKQUOTE
   ========================================================== */

.nk-page-section blockquote {
    margin:
        40px
        0;

    padding:
        8px
        0
        8px
        24px;

    border-left:
        3px
        solid
        #75C5DE;

    font-size: 22px;

    line-height: 1.45;
}


/* ==========================================================
   SELECCIÓN DE TEXTO
   ========================================================== */

.nk-page-section ::selection {
    background: #75C5DE;

    color: #111111;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1024px) {

    .nk-page-section {
        padding-bottom: 80px !important;
    }


    .nk-page-section > .elementor-container {
        padding:
            0
            28px !important;
    }

}


/* ==========================================================
   MÓVIL
   #content usa 90px en lugar de 110px
   ========================================================== */

@media (max-width: 767px) {

    .nk-page-section {
        margin-top:
            -90px !important;

        padding:
            145px
            0
            64px
            0 !important;
    }


    .nk-page-section::before {
        top: 20px;
        left: 50%;

        width: calc(100% - 40px);

        transform: translateX(-50%);

        font-size: clamp(28px, 8.5vw, 42px);
        line-height: 0.9;
        letter-spacing: -0.07em;

        text-align: center;
        white-space: nowrap;
    }


    .nk-page-section > .elementor-container {
        padding:
            0
            20px !important;
    }


    .nk-page-section
    .elementor-widget:not(:last-child) {
        margin-bottom: 22px;
    }


    .nk-page-section
    .elementor-widget-heading:not(:last-child) {
        margin-bottom: 14px;
    }


    .nk-page-section p,
    .nk-page-section li {
        font-size: 16px;

        line-height: 1.6;
    }


    .nk-page-section h1 {
        font-size: clamp(44px, 13vw, 58px);
    }


    .nk-page-section h2 {
        font-size: clamp(30px, 9vw, 40px);
    }


    .nk-page-section h3 {
        font-size: 24px;
    }


    .nk-page-section blockquote {
        margin:
            30px
            0;

        padding-left: 18px;

        font-size: 19px;
    }

}


/* ==========================================================
   REDUCIR MOVIMIENTO
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .nk-page-section a,
    .nk-page-section .elementor-button {
        transition: none !important;
    }

}

/* ==========================================================
   PÁGINAS INTERIORES — VARIANTES
   ----------------------------------------------------------
   Base:
       nk-page-section

   Fotografía:
       nk-page-section nk-page-section-image

   Landing azul:
       nk-page-section nk-page-section-blue
   ========================================================== */


/* ==========================================================
   VARIANTE — IMAGEN
   ========================================================== */

.nk-page-section-image {
    background: #F4F1E8 !important;
}


/*
 * En la variante fotográfica reutilizamos ::before.
 *
 * En la versión normal contiene:
 *
 * CONCELLO DE LOBIOS
 *
 * Aquí pasa a convertirse en la franja fotográfica.
 */

.nk-page-section-image::before {
    content: "";

    position: absolute;

    top: 0;
    right: 0;
    bottom: auto;
    left: 0;

    z-index: 0;

    width: 100%;
    height: 190px;

    transform: none;

    /*
     * Primera capa:
     * suaviza la fotografía y la funde con el fondo crema.
     *
     * Segunda capa:
     * imagen asignada mediante --nk-page-image.
     */
    background-image:
        linear-gradient(
            to bottom,
            rgba(244, 241, 232, 0.28) 0%,
            rgba(244, 241, 232, 0.16) 55%,
            #F4F1E8 100%
        ),
        var(--nk-page-image, none);

    background-position:
        center center,
        center center;

    background-size:
        cover,
        cover;

    background-repeat:
        no-repeat,
        no-repeat;

    pointer-events: none;
}


/*
 * El container debe quedar siempre por encima
 * de la decoración.
 */

.nk-page-section-image > .elementor-container {
    position: relative;

    z-index: 1;
}


/* ==========================================================
   VARIANTE — AZUL
   ========================================================== */

.nk-page-section-blue {
    background: #75C5DE !important;

    color: #111111;
}


/*
 * Conservamos el watermark, pero ligeramente
 * más visible sobre azul.
 */

.nk-page-section-blue::before {
    color: rgba(17, 17, 17, 0.10);
}


/* ==========================================================
   AZUL — TIPOGRAFÍA
   ========================================================== */

.nk-page-section-blue h1,
.nk-page-section-blue h2,
.nk-page-section-blue h3,
.nk-page-section-blue h4,
.nk-page-section-blue h5,
.nk-page-section-blue h6,
.nk-page-section-blue p,
.nk-page-section-blue li {
    color: #111111;
}


/* ==========================================================
   AZUL — ENLACES
   ========================================================== */

.nk-page-section-blue
a:not(.elementor-button) {
    color: #111111;

    text-decoration-color:
        rgba(17, 17, 17, 0.45);
}


@media (hover: hover) and (pointer: fine) {

    .nk-page-section-blue
    a:not(.elementor-button):hover {
        color: #111111;

        opacity: 0.65;
    }

}


/* ==========================================================
   AZUL — LISTAS
   ========================================================== */

.nk-page-section-blue li::marker {
    color: #111111;
}


/* ==========================================================
   AZUL — DIVISORES
   ========================================================== */

.nk-page-section-blue
.elementor-divider-separator {
    border-color:
        rgba(17, 17, 17, 0.22) !important;
}


/* ==========================================================
   AZUL — BLOCKQUOTE
   ========================================================== */

.nk-page-section-blue blockquote {
    border-left-color:
        rgba(17, 17, 17, 0.65);
}


/* ==========================================================
   AZUL — SELECCIÓN
   ========================================================== */

.nk-page-section-blue ::selection {
    background: #F4F1E8;

    color: #111111;
}


/* ==========================================================
   MÓVIL — VARIANTE IMAGEN
   ========================================================== */

@media (max-width: 767px) {

    /*
     * En móvil el contenido empieza a 145px,
     * por eso la fotografía termina exactamente ahí.
     */
    .nk-page-section-image::before {
        height: 145px;
    }

}
/* ==========================================================
   HERO — CARTELES TEMPORALES
   ========================================================== */

.nk-hero-posters-widget > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}


.nk-hero-posters {
    display: flex;

    margin: 0;
    padding: 0;
}


.nk-hero-poster {
    display: block;

    flex: 0 0 auto;

    margin: 0;
    padding: 0;

    border: 0;

    background: transparent;

    line-height: 0;

    text-decoration: none !important;

    overflow: hidden;
}


.nk-hero-poster img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0;
    padding: 0;

    border: 0;

    object-fit: contain;
}


/* ==========================================================
   ESCRITORIO
   ----------------------------------------------------------
   El widget completo sale del flujo.

   Su referencia es el widget-wrap de nk-hero-content-inner,
   cuyo comienzo coincide con el primer elemento de la
   izquierda.
   ========================================================== */

@media (min-width: 768px) {

    .nk-hero-content
    .nk-hero-content-inner
    > .elementor-widget-wrap {
        position: relative !important;
    }


    .nk-hero-content
    .nk-hero-content-inner
    > .elementor-widget-wrap
    > .nk-hero-posters-widget {

        position: absolute !important;

        top: 0 !important;
        right: 0 !important;

        bottom: auto !important;
        left: auto !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        align-self: auto !important;

        z-index: 3;
    }


    .nk-hero-posters {
        flex-direction: row;
        flex-wrap: nowrap;

        align-items: flex-start;
        justify-content: flex-end;

        gap: 12px;
    }


    .nk-hero-poster {
        width: clamp(190px, 12vw, 235px);
    }

}


/* ==========================================================
   HOVER — SOLO SI EL CARTEL ES ENLACE
   ========================================================== */

@media (hover: hover) and (pointer: fine) {

    a.nk-hero-poster img {
        transition:
            transform 0.3s ease,
            opacity 0.3s ease;
    }


    a.nk-hero-poster:hover img {
        transform: scale(1.025);

        opacity: 0.92;
    }

}


/* ==========================================================
   FOCO TECLADO
   ========================================================== */

a.nk-hero-poster:focus-visible {
    outline: 2px solid #75C5DE;
    outline-offset: 4px;
}


/* ==========================================================
   MÓVIL
   ----------------------------------------------------------
   Vuelve al flujo normal de Elementor.
   Queda debajo de los botones, exactamente como antes.
   ========================================================== */

@media (max-width: 767px) {

    .nk-hero-posters-widget {
        margin-top: 14px !important;
    }


    .nk-hero-posters {
        flex-direction: column;

        align-items: flex-start;
        justify-content: flex-start;

        gap: 10px;
    }


    .nk-hero-poster {
        width: clamp(80px, 25vw, 110px);
    }

}


/* ==========================================================
   REDUCIR MOVIMIENTO
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    a.nk-hero-poster img {
        transition: none !important;
    }


    a.nk-hero-poster:hover img {
        transform: none !important;
    }

}
/* ==========================================================
   HEADER V2 · NAVEGACIÓN HORIZONTAL EDITORIAL
   Base producción 29/08/2026 · candidato staging 30/08/2026
   - Desktop >=768px: barra totalmente transparente y conjunto
     de navegación enmarcado por un borde de 1px.
   - Móvil <=767px: conserva burger/panel y mueve burger a izquierda.
   - No altera la altura ni la geometría del hero.
   ========================================================== */

@media (min-width: 768px) {

    /* El burger no participa en escritorio. El mismo panel existente
       se reutiliza como navegación horizontal para no duplicar menús. */
    .nk-burger-btn {
        display: none !important;
    }

    .nk-menu-panel,
    .nk-menu-panel.open {
        /* Desktop: navegación persistente durante todo el scroll.
           Se usa fixed (equivalente visual a sticky en esta cabecera
           superpuesta) para no introducir 50px en el flujo del hero. */
        position: fixed !important;

        top: 0 !important;
        right: 0 !important;
        left: 0 !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 50px !important;

        margin: 0 !important;
        padding: 0 32px !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: transparent !important;

        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;

        opacity: 1 !important;
        pointer-events: auto !important;

        max-height: none !important;
        overflow: visible !important;

        transform: none !important;
        transition: none !important;
    }

    .nk-menu-panel > .elementor-container {
        width: 100% !important;
        max-width: 1600px !important;
        height: 100% !important;

        margin: 0 auto !important;
        padding: 0 !important;
    }

    .nk-menu-panel .nk-menu-column {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .nk-menu-panel .nk-menu-column > .elementor-widget-wrap {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        align-items: center !important;
        justify-content: center !important;

        gap: clamp(18px, 1.6vw, 30px) !important;

        width: fit-content !important;
        max-width: 100% !important;
        height: 46px !important;

        margin: 15px auto 0 !important;
        padding: 3px 8px !important;

        border: 1px solid rgba(17, 17, 17, 0.08);
        border-radius: 9999px;

        /* Referencia 30/08/2026: cápsula blanca opaca. */
        background: #FFFFFF !important;

        overflow: visible !important;
    }

    .nk-menu-panel .nk-menu-column > .elementor-widget-wrap > .elementor-element {
        width: auto !important;
        max-width: none !important;
        flex: 0 0 auto !important;

        margin: 0 !important;
    }

    /* Primer nivel */
    .nk-menu-link,
    .nk-menu-item {
        position: relative;

        margin: 0 !important;
        padding: 0 !important;
    }

    .nk-menu-link .elementor-heading-title,
    .nk-menu-submenu-toggle {
        color: #111111 !important;

        font-family: "Inter", sans-serif !important;
        font-size: clamp(11.5px, 0.82vw, 13px) !important;
        font-weight: 500 !important;

        line-height: 1.2 !important;
        letter-spacing: -0.01em !important;

        white-space: nowrap;
    }

    .nk-menu-link .elementor-heading-title a,
    .nk-menu-submenu-toggle,
    .nk-menu-submenu-toggle > span:first-child {
        color: #111111 !important;
    }

    /* Escritorio: navegación completa en mayúsculas sin alterar
       el texto fuente ni el comportamiento móvil. */
    .nk-menu-link .elementor-heading-title,
    .nk-menu-submenu-toggle,
    .nk-menu-submenu a,
    .nk-menu-cta-text {
        text-transform: uppercase;
    }

    .nk-menu-link .elementor-heading-title a,
    .nk-menu-submenu-toggle {
        position: relative;

        display: inline-flex;
        align-items: center;

        min-height: 34px;
        padding: 0;

        opacity: 1;

        transition:
            opacity 0.2s ease,
            transform 0.2s ease;
    }

    /* Subrayado editorial claro: nace desde el centro. */
    .nk-menu-link .elementor-heading-title a::after,
    .nk-menu-submenu-toggle::after {
        content: "";

        position: absolute;

        left: 50%;
        bottom: 0;

        width: 100%;
        height: 2px;

        background: #111111;

        transform: translateX(-50%) scaleX(0);
        transform-origin: center;

        transition: transform 0.24s ease;

        pointer-events: none;
    }

    @media (hover: hover) and (pointer: fine) {
        .nk-menu-link .elementor-heading-title a:hover,
        .nk-menu-submenu-toggle:hover {
            color: #111111 !important;
            opacity: 1;
            transform: translateY(-1px);
        }

        .nk-menu-link .elementor-heading-title a:hover::after,
        .nk-menu-submenu-toggle:hover::after {
            transform: translateX(-50%) scaleX(1);
        }
    }

    /* Estado activo / página actual cuando el markup lo exponga. */
    .nk-menu-link .elementor-heading-title a[aria-current="page"]::after,
    .nk-menu-link.current-menu-item .elementor-heading-title a::after,
    .nk-menu-link.current_page_item .elementor-heading-title a::after,
    .nk-menu-has-submenu.open .nk-menu-submenu-toggle::after {
        transform: translateX(-50%) scaleX(1);
    }

    .nk-menu-submenu-toggle {
        justify-content: flex-start;
        gap: 7px;

        width: auto;
    }

    .nk-menu-submenu-toggle > span:first-child {
        opacity: 1;
    }

    /* En escritorio, el texto del item con submenú permanece claro
       también en hover/focus/active. */
    .nk-menu-submenu-toggle:hover > span:first-child,
    .nk-menu-submenu-toggle:focus > span:first-child,
    .nk-menu-submenu-toggle:active > span:first-child {
        color: #111111 !important;
        opacity: 1;
    }

    .nk-menu-submenu-icon {
        width: 12px;
        height: 12px;
        flex: 0 0 12px;

        margin-left: 0;
    }

    .nk-menu-submenu-icon::before,
    .nk-menu-submenu-icon::after {
        width: 9px;
        height: 1px;

        background: #111111;
    }

    /* Segundo nivel: dropdown del mismo acordeón existente. */
    .nk-menu-submenu,
    .nk-menu-has-submenu.open .nk-menu-submenu {
        position: absolute;

        top: calc(100% + 8px);
        left: -18px;

        z-index: 10004;

        display: block;
        grid-template-rows: none;

        width: max-content;
        min-width: 226px;
        max-width: min(330px, calc(100vw - 32px));

        margin: 0;
        padding: 9px 0;

        border: 1px solid rgba(244, 241, 232, 0.12);
        border-top: 2px solid #75C5DE;
        border-radius: 3px;

        background: rgba(11, 11, 11, 0.92);

        backdrop-filter: blur(26px);
        -webkit-backdrop-filter: blur(26px);

        box-shadow: none;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transform: translateY(-6px);

        transition:
            opacity 0.2s ease,
            transform 0.2s ease,
            visibility 0.2s ease;
    }

    .nk-menu-has-submenu.open .nk-menu-submenu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        transform: translateY(0);
    }

    .nk-menu-submenu-inner,
    .nk-menu-has-submenu.open .nk-menu-submenu-inner {
        display: flex;
        flex-direction: column;
        gap: 0;

        min-height: 0;

        padding: 0;

        overflow: visible;
    }

    .nk-menu-submenu a {
        display: block;

        padding: 10px 18px;

        color: #F4F1E8 !important;

        font-size: 14px;
        line-height: 1.35;

        white-space: normal;
    }

    @media (hover: hover) and (pointer: fine) {
        .nk-menu-submenu a:hover {
            color: #75C5DE !important;
            opacity: 1;
            transform: translateX(3px);
        }
    }

    /* CTA existente: se adapta al ritmo horizontal si está presente. */
    .nk-menu-cta-wrapper {
        margin: 0 0 0 2px;
    }

    /* El CTA no puede perderse sobre la cápsula blanca.
       Se usa gris neutro solo en escritorio; móvil conserva
       exactamente el estado validado anterior. */
    .nk-menu-cta-bg {
        background: #E4E4E4;
    }

    .nk-menu-cta-text {
        padding: 4px 14px;
        font-size: 12px;
    }

    .nk-menu-cta-circle {
        width: 26px;
        height: 26px;
        flex-basis: 26px;
    }

    .nk-menu-cta-bg {
        width: calc(100% - 8px - 8px - 26px - 8px);
    }

    /* Foco visible específico del modo horizontal. */
    .nk-menu-link .elementor-heading-title a:focus-visible,
    .nk-menu-submenu-toggle:focus-visible,
    .nk-menu-submenu a:focus-visible {
        outline: 2px solid #75C5DE !important;
        outline-offset: 3px;
    }
}

@media (max-width: 767px) {

    /* El burger móvil pasa a la izquierda. El resto del panel conserva
       la geometría y comportamiento WEB V2 existente. */
    .nk-burger-btn {
        left: 20px;
        right: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nk-menu-link .elementor-heading-title a,
    .nk-menu-link .elementor-heading-title a::after,
    .nk-menu-submenu-toggle,
    .nk-menu-submenu-toggle::after,
    .nk-menu-submenu,
    .nk-menu-has-submenu.open .nk-menu-submenu {
        transition: none !important;
    }
}

/* ==========================================================
   HEADER V2 · MARCA PNG DEL MENÚ · CANDIDATO STAGING 30/08/2026
   Widget Imagen normal de Elementor con la clase:
   nk-menu-brandmark

   Desktop:
   - primer elemento del conjunto de navegación;
   - sobresale verticalmente del borde sin aumentar los 50px del header;
   - 60px entre 768–1199px; 72px desde 1200px.

   Móvil:
   - conserva la posición final del menú;
   - tamaño reducido un 20% respecto al candidato anterior: 51.2px.
   ========================================================== */

@media (min-width: 768px) {

    .nk-menu-brandmark {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        z-index: 2;
        order: -999;

        width: auto !important;
        height: auto !important;
        max-width: none !important;

        flex: 0 0 auto !important;

        margin: 0 !important;
        padding: 0 !important;

        line-height: 0;
        overflow: visible !important;
    }

    .nk-menu-brandmark .elementor-widget-container {
        display: flex;
        align-items: center;
        justify-content: center;

        width: auto !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
    }

    .nk-menu-brandmark img {
        display: block;

        width: auto !important;
        height: 60px !important;
        max-width: none !important;
        max-height: none !important;

        object-fit: contain;
    }
}

@media (min-width: 1200px) {

    .nk-menu-brandmark img {
        height: 72px !important;
    }
}

@media (max-width: 767px) {

    .nk-menu-brandmark {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        order: 999;

        width: 100% !important;
        max-width: 100% !important;

        margin: 34px 0 8px 0 !important;
        padding: 0 !important;

        text-align: center;
        line-height: 0;
    }

    .nk-menu-brandmark .elementor-widget-container {
        display: flex;
        justify-content: center;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .nk-menu-brandmark img {
        display: block;

        width: 51.2px !important;
        height: auto !important;
        max-width: 51.2px !important;
    }
}

@media (max-width: 767px) {
    .nk-menu-cta-wrapper {
        margin-top: 9px !important;
    }
}

/* ==========================================================
   HERO · TRANSICIÓN CINEMATOGRÁFICA POR SCROLL · STAGING
   30/08/2026

   Técnica:
   - scroll natural, sin bloquear wheel/touch;
   - JS crea .nk-hero-scroll-scene alrededor de .nk-hero;
   - .nk-hero queda sticky mientras dura la escena;
   - los widgets de .nk-hero-content desaparecen como un bloque;
   - LOBIOS sube y CONCELLO DE baja hasta encontrarse;
   - la fotografía hace un zoom mínimo + blur;
   - .nk-after-hero recorre una pantalla completa sobre el hero sticky;
   - su contenido asciende hasta quedar a ~90px del borde superior en
     escritorio; móvil conserva ~60px;
   - durante ese recorrido deja ver el fondo desenfocado antes de
     fundirse gradualmente con #F4F1E8.

   No cambia la geometría interna de .nk-hero-content-inner.
   ========================================================== */

.nk-hero {
    --nk-hero-content-opacity: 1;
    --nk-hero-content-y: 0px;
    --nk-hero-title-y: 0px;
    --nk-hero-kicker-y: 0px;
    --nk-hero-title-scale: 1;
    --nk-hero-title-opacity: 1;
    --nk-hero-image-blur: 0px;
    --nk-hero-image-scale: 1;
}

.nk-hero-scroll-scene {
    position: relative;

    width: 100%;
    height: 200vh;

    margin: 0;
    padding: 0;
}

.nk-hero-scroll-scene > .nk-hero {
    position: sticky !important;
    top: 0 !important;

    z-index: 1;

    width: 100% !important;
}

/* La antigua capa crema sobre el hero queda desactivada.
   La transición de color vive ahora en .nk-after-hero, de forma
   que el listado puede entrar todavía sobre la fotografía con blur. */
.nk-hero-scroll-ready::after {
    display: none !important;
}

/* Todos los widgets HTML/contenido del hero salen juntos:
   headline, subtextos, botones y carteles actuales o futuros. */
.nk-hero-scroll-ready .nk-hero-content {
    opacity: var(--nk-hero-content-opacity);

    transform: translate3d(
        0,
        var(--nk-hero-content-y),
        0
    );

    will-change: opacity, transform;
}

.nk-hero-scroll-ready.nk-hero-content-inert
.nk-hero-content-inner {
    pointer-events: none !important;
}

/* LOBIOS se desplaza hacia arriba. El pseudo-elemento
   CONCELLO DE recibe un desplazamiento contrario adicional. */
.nk-hero-scroll-ready
.nk-hero-big-text
.elementor-heading-title {
    opacity: var(--nk-hero-title-opacity);

    transform: translate3d(
        0,
        var(--nk-hero-title-y),
        0
    ) scale(var(--nk-hero-title-scale));

    transform-origin: 50% 100%;

    will-change: opacity, transform;
}

.nk-hero-scroll-ready
.nk-hero-big-text
.elementor-heading-title::before {
    transform: translate3d(
        -50%,
        var(--nk-hero-kicker-y),
        0
    );

    will-change: transform;
}

/* El transform se aplica al <img>, no al widget
   .nk-hero-image-animate, para conservar su animación de entrada. */
.nk-hero-scroll-ready .nk-hero-base-img img {
    filter: blur(var(--nk-hero-image-blur));

    transform: scale(var(--nk-hero-image-scale));
    transform-origin: 50% 50%;

    will-change: filter, transform;
}

@media (max-width: 767px) {

    /* En touch el recorrido es algo más corto que en escritorio. */
    .nk-hero-scroll-scene {
        height: 200vh;
        height: 200svh;
    }
}

/* Accesibilidad: con movimiento reducido no hay escena fijada,
   aproximación, blur progresivo ni capa de transición. */
@media (prefers-reduced-motion: reduce) {

    .nk-after-hero {
        margin-top: 0 !important;
        background: #F4F1E8 !important;
    }

    .nk-hero-scroll-scene {
        height: auto !important;
    }

    .nk-hero-scroll-scene > .nk-hero {
        position: relative !important;
        top: auto !important;
    }

    .nk-hero-scroll-ready::after {
        display: none !important;
    }

    .nk-hero-scroll-ready .nk-hero-content,
    .nk-hero-scroll-ready
    .nk-hero-big-text
    .elementor-heading-title,
    .nk-hero-scroll-ready
    .nk-hero-big-text
    .elementor-heading-title::before,
    .nk-hero-scroll-ready .nk-hero-base-img img {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        will-change: auto !important;
    }

    .nk-hero-scroll-ready
    .nk-hero-big-text
    .elementor-heading-title::before {
        transform: translateX(-50%) !important;
    }
}
/* ==========================================================
   ACTUALIDADE / CONTENIDO TRAS HERO — MÓVIL
   Alinear margen lateral con el resto de secciones
   ========================================================== */

@media (max-width: 767px) {

    .nk-after-hero {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

}