.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-11 .elementor-element.elementor-element-b850dbb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-11 .elementor-element.elementor-element-b850dbb img{width:100%;max-width:100%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-11 .elementor-element.elementor-element-f3da586 .elementor-menu-toggle{margin:0 auto;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS */:root {
    --va-header-bg: #161616;
    --va-mobile-bg: #111211;
    --va-button: #5a544e;
    --va-button-hover: #837b75;
    --va-text: #d1cfcf;
    --va-text-muted: #9c9896;
    --va-active: #837b75;
    --va-line: rgba(255, 255, 255, 0.09);
    --va-height: 108px;
    --va-sticky-height: 82px;
}

/* Reset */

.va-header *,
.va-header *::before,
.va-header *::after {
    box-sizing: border-box;
}

.va-header p,
.va-header figure,
.va-header ul {
    margin: 0 !important;
}

/* ==========================================================
   HEADER EXTERIOR
========================================================== */

header.va-header,
.va-header,
.elementor-location-header .va-header {
    position: absolute !important;
    top: 0;
    right: 0;
    left: 0;

    z-index: 9999;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: var(--va-height);

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border-bottom: 1px solid rgba(255, 255, 255, 0.05);

    transition:
        min-height 0.35s ease,
        background-color 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}

/* ==========================================================
   CONTENEDOR INTERIOR
========================================================== */

.va-header .va-header-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;

    width: min(calc(100% - 110px), 1440px) !important;
    max-width: 1440px !important;
    min-height: var(--va-height);

    margin: 0 auto !important;
    padding: 0 !important;
    gap: 0 !important;

    background: transparent !important;

    transition: min-height 0.35s ease;
}

/* ==========================================================
   DISTRIBUCIÓN EXACTA 25% / 50% / 25%
========================================================== */

.va-header .va-header-inner > .va-logo-col {
    flex: 0 0 25% !important;
    width: 25% !important;
    max-width: 25% !important;
}

.va-header .va-header-inner > .va-menu-col {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
}

.va-header .va-header-inner > .va-button-col {
    flex: 0 0 25% !important;
    width: 25% !important;
    max-width: 25% !important;
}

/* Las tres columnas ocupan toda la altura */

.va-header .va-logo-col,
.va-header .va-menu-col,
.va-header .va-button-col {
    min-height: inherit;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    align-self: stretch !important;

    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    background: transparent !important;
}

/* Centrado de widgets internos */

.va-header .va-logo-col > *,
.va-header .va-menu-col > *,
.va-header .va-button-col > *,
.va-header .va-logo-col .elementor-widget-container,
.va-header .va-menu-col .elementor-widget-container,
.va-header .va-button-col .elementor-widget-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100%;
    height: 100%;
    min-height: inherit;

    margin: 0 !important;
}

/* ==========================================================
   ESTADO STICKY
========================================================== */

header.va-header.va-scrolled,
.va-header.va-scrolled,
.elementor-location-header .va-header.va-scrolled {
    position: fixed !important;
    top: 0 !important;

    min-height: var(--va-sticky-height);

    background: rgba(22, 22, 22, 0.96) !important;
    background-color: rgba(22, 22, 22, 0.96) !important;
    background-image: none !important;

    border-bottom: 1px solid var(--va-line) !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.28);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    animation: vaHeaderEnter 0.35s ease forwards;
}

.va-header.va-scrolled .va-header-inner {
    min-height: var(--va-sticky-height);
}

@keyframes vaHeaderEnter {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

/* ==========================================================
   LOGO CUADRADO
========================================================== */

.va-header .va-logo-col {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 50% !important;
    min-height: inherit;

    margin: 0 !important;
    padding: 0 !important;
}

.va-header .va-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100%;
    height: 100%;

    margin: 0 !important;
    padding: 0 !important;
}

.va-header .va-logo .elementor-widget-container,
.va-header .va-logo a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100%;
    height: 100%;

    margin: 0 !important;
    padding: 0 !important;
}

/* Tamaño del logo cuadrado */

.va-header .va-logo img {
    display: block !important;

    width: 25% !important;
    height: 50% !important;
    min-width: 78px !important;

    aspect-ratio: 1 / 1;

    margin: 0 auto !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center !important;

    transition:
        width 0.35s ease,
        height 0.35s ease,
        transform 0.3s ease;
}

/* Logo más compacto en el sticky */

.va-header.va-scrolled .va-logo img {
    width: 62px !important;
    height: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    max-height: 62px !important;
}

.va-header .va-logo:hover img {
    transform: scale(0.97);
}

/* Tablet */

@media (max-width: 1100px) {
    .va-header .va-logo img {
        width: 68px !important;
        height: 68px !important;
        min-width: 68px !important;
        max-width: 68px !important;
        max-height: 68px !important;
    }

    .va-header.va-scrolled .va-logo img {
        width: 56px !important;
        height: 56px !important;
        min-width: 56px !important;
        max-width: 56px !important;
        max-height: 56px !important;
    }
}

/* Móvil */

@media (max-width: 767px) {
    .va-header .va-logo-col {
        width: 75% !important;
    }

    .va-header .va-logo img,
    .va-header.va-scrolled .va-logo img {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;
        max-height: 58px !important;
    }
}

/* ==========================================================
   MENÚ CENTRAL
========================================================== */

.va-header .va-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100%;
    height: 100%;

    margin: 0 !important;
}

.va-header .va-menu .elementor-nav-menu--main {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100%;
    height: 100%;
}

.va-header .va-menu .elementor-nav-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100%;
    height: 100%;
    gap: 40px;

    margin: 0 !important;
    padding: 0 !important;
}

.va-header .va-menu .elementor-nav-menu--main .elementor-item {
    position: relative;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 44px;

    margin: 0 !important;
    padding: 0 0 7px !important;

    color: var(--va-text-muted) !important;
    background: transparent !important;

    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.16em;
    text-align: center;
    text-transform: uppercase;

    transition: color 0.3s ease;
}

.va-header .va-menu .elementor-item::before {
    display: none !important;
}

.va-header .va-menu .elementor-nav-menu--main .elementor-item::after {
    content: "" !important;

    position: absolute;
    right: 100%;
    bottom: 5px;
    left: 0;

    display: block !important;

    width: auto !important;
    height: 1px !important;

    opacity: 1 !important;
    background: var(--va-active) !important;

    transition: right 0.3s ease;
}

.va-header .va-menu .elementor-nav-menu--main .elementor-item:hover,
.va-header .va-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
.va-header .va-menu .elementor-nav-menu--main .current-menu-item > .elementor-item,
.va-header .va-menu .elementor-nav-menu--main .current_page_item > .elementor-item {
    color: var(--va-text) !important;
}

.va-header .va-menu .elementor-nav-menu--main .elementor-item:hover::after,
.va-header .va-menu .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.va-header .va-menu .elementor-nav-menu--main .current-menu-item > .elementor-item::after,
.va-header .va-menu .elementor-nav-menu--main .current_page_item > .elementor-item::after {
    right: 0;
}

/* ==========================================================
   BOTÓN DERECHO
========================================================== */

.va-header .va-header-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100%;
    height: 100%;

    margin: 0 !important;
}

.va-header .va-header-btn .elementor-button-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100%;
    height: 100%;

    margin: 0 !important;
}

.va-header .va-header-btn .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px;

    min-height: 56px;

    margin: 0 auto !important;
    padding: 0 24px !important;

    border: 1px solid var(--va-button) !important;
    border-radius: 0 !important;

    color: var(--va-text) !important;
    background: var(--va-button) !important;
    box-shadow: none !important;

    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.14em;
    text-align: center;
    text-transform: uppercase;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}

.va-header .va-header-btn .elementor-button-content-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px;
}

.va-header .va-header-btn .elementor-button:hover {
    color: #ffffff !important;
    background: var(--va-button-hover) !important;
    border-color: var(--va-button-hover) !important;
    transform: translateY(-2px);
}

.va-header.va-scrolled .va-header-btn .elementor-button {
    min-height: 48px;
}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1100px) {
    :root {
        --va-height: 88px;
        --va-sticky-height: 78px;
    }

    .va-header .va-header-inner {
        width: calc(100% - 48px) !important;
    }

    .va-header .va-logo img {
        max-width: 200px;
        max-height: 50px;
    }

    .va-header .va-menu .elementor-nav-menu {
        gap: 20px;
    }

    .va-header .va-menu .elementor-nav-menu--main .elementor-item {
        font-size: 10px;
        letter-spacing: 0.11em;
    }

    .va-header .va-header-btn .elementor-button {
        min-height: 48px;
        padding: 0 16px !important;
        font-size: 10px;
    }
}

/* ==========================================================
   MÓVIL
========================================================== */

@media (max-width: 767px) {
    :root {
        --va-height: 76px;
        --va-sticky-height: 76px;
    }

    .va-header .va-header-inner {
        width: calc(100% - 32px) !important;
        min-height: 76px;

        display: flex !important;
        align-items: stretch !important;
    }

    /* En móvil: logo 75%, menú 25% */

    .va-header .va-header-inner > .va-logo-col {
        flex: 0 0 75% !important;
        width: 75% !important;
        max-width: 75% !important;
    }

    .va-header .va-header-inner > .va-menu-col {
        flex: 0 0 25% !important;
        width: 25% !important;
        max-width: 25% !important;
    }

    .va-header .va-header-inner > .va-button-col {
        display: none !important;
    }

    .va-header .va-logo img,
    .va-header.va-scrolled .va-logo img {
        max-width: 190px;
        max-height: 46px;
    }

    /* Botón hamburguesa */

    .va-header .elementor-menu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 44px;
        height: 44px;

        margin: 0 auto !important;
        padding: 0 !important;

        color: var(--va-text) !important;
        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .va-header .elementor-menu-toggle svg {
        width: 24px;
        height: 24px;
        fill: var(--va-text) !important;
    }

    /* Menú desplegable */

    .va-header .elementor-nav-menu--dropdown {
        position: fixed !important;
        top: 76px !important;
        right: 0 !important;
        left: 0 !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 20px 16px 26px !important;

        background: rgba(17, 18, 17, 0.98) !important;
        border-top: 1px solid var(--va-line);
        box-shadow: 0 20px 35px rgba(0, 0, 0, 0.28);

        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    .va-header .elementor-nav-menu--dropdown .elementor-nav-menu {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100%;
        height: auto;
        gap: 0;
    }

    .va-header .elementor-nav-menu--dropdown .elementor-item {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100%;
        min-height: 48px;

        padding: 12px !important;

        color: var(--va-text-muted) !important;
        background: transparent !important;
        border: 0 !important;

        font-family: "Manrope", sans-serif;
        font-size: 11px;
        font-weight: 500;
        letter-spacing: 0.14em;
        text-align: center;
        text-transform: uppercase;
    }

    .va-header .elementor-nav-menu--dropdown .elementor-item:hover,
    .va-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
        color: var(--va-text) !important;
        background: rgba(255, 255, 255, 0.04) !important;
    }
}

/* ==========================================================
   ACCESIBILIDAD
========================================================== */

@media (prefers-reduced-motion: reduce) {
    .va-header,
    .va-header * {
        animation: none !important;
        transition: none !important;
    }
}/* End custom CSS */