.elementor-527 .elementor-element.elementor-element-0d67d3a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;overflow:visible;}.elementor-527 .elementor-element.elementor-element-0d67d3a:not(.elementor-motion-effects-element-type-background), .elementor-527 .elementor-element.elementor-element-0d67d3a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#33415500;}.elementor-527 .elementor-element.elementor-element-84addec{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.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-527 .elementor-element.elementor-element-84c876d{text-align:start;}.elementor-527 .elementor-element.elementor-element-84c876d img{max-width:84%;height:73px;}.elementor-527 .elementor-element.elementor-element-c84ce90{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--justify-items:center;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-527 .elementor-element.elementor-element-c84ce90.e-con{--align-self:center;}.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-527 .elementor-element.elementor-element-b4ff0d5.elementor-element{--align-self:flex-start;}.elementor-527 .elementor-element.elementor-element-b4ff0d5 .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;}.elementor-527 .elementor-element.elementor-element-b4ff0d5 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-527 .elementor-element.elementor-element-b4ff0d5 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-527 .elementor-element.elementor-element-b4ff0d5 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-527 .elementor-element.elementor-element-b4ff0d5 .elementor-nav-menu--main .elementor-item:focus{color:#E4BC6E;fill:#E4BC6E;}.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-527 .elementor-element.elementor-element-c034943 .elementor-button{background-color:#E4BC6E;font-family:"Poppins", Sans-serif;font-size:12px;font-weight:700;fill:#000000;color:#000000;border-radius:6px 6px 6px 6px;padding:12px 12px 12px 12px;}.elementor-527 .elementor-element.elementor-element-c034943{padding:0px 0px 0px 120px;}.elementor-527 .elementor-element.elementor-element-c034943.elementor-element{--align-self:flex-end;}.elementor-527 .elementor-element.elementor-element-c034943 .elementor-button-content-wrapper{flex-direction:row;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-527 .elementor-element.elementor-element-c84ce90{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-527 .elementor-element.elementor-element-84addec{--width:33.3333%;}.elementor-527 .elementor-element.elementor-element-c84ce90{--width:66.6666%;}}@media(max-width:767px){.elementor-527 .elementor-element.elementor-element-c84ce90{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-0d67d3a *//* =========================
   HEADER EL ROY
   ========================= */

.header-elroy {
    display: flex;
    align-items: center !important;
    justify-content: space-between;
}

/* Alinear todos los elementos verticalmente */
.header-elroy > .e-con-inner,
.header-elroy .elementor-widget,
.header-elroy .elementor-widget-container {
    align-items: center;
}

/* Menú */
.header-elroy .elementor-widget-nav-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
}

/* Contenedor interno del menú */
.header-elroy .elementor-nav-menu {
    display: flex;
    align-items: center;
}

/* Botón WhatsApp */
.header-elroy .elementor-widget-button {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Wrapper del botón */
.header-elroy .elementor-button-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Botón */
.header-elroy .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
}

/* Logo */
.header-elroy .elementor-widget-image {
    display: flex;
    align-items: center;
    margin: 0 !important;
}

.elementor-527 .elementor-element.elementor-element-0d67d3a {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    background: transparent !important;
}

/* ============================================================
   HEADER EL ROY
   Reemplaza por completo el CSS anterior.
   Pegar en: contenedor 0d67d3a → Avanzado → CSS personalizado

   Estructura real medida en el sitio:
     0d67d3a   contenedor superior            ← ".elementor-527 .elementor-element.elementor-element-0d67d3a"
       .e-con-inner
         84addec   bloque izquierdo → logo (widget 84c876d)
         c84ce90   bloque derecho   → menú b4ff0d5 + botón WhatsApp c034943

   CLAVE PARA ENTENDER EL CSS
   Dentro del widget de menú, Elementor pone DOS elementos hermanos:
       nav.elementor-nav-menu--main       (menú de escritorio)
       div.elementor-menu-toggle          (hamburguesa)
       nav.elementor-nav-menu--dropdown   (panel desplegable de móvil)
   Si al widget se le da "display:flex; flex-direction:row", el panel
   desplegable pasa a ser una columna de esa fila: el menú se abre en
   horizontal y el icono queda empujado junto al logo.
   Por eso el widget se deja como bloque y el panel se saca del flujo
   con position:absolute.
   ============================================================ */

.elementor-527 .elementor-element.elementor-element-0d67d3a {
    --elroy-navy: 15, 31, 49;
    --elroy-dorado: #e4bc6e;

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;

    background: linear-gradient(
        180deg,
        rgba(var(--elroy-navy), 0.72) 0%,
        rgba(var(--elroy-navy), 0.28) 55%,
        rgba(var(--elroy-navy), 0) 100%
    );

    padding: 14px 24px;
}

/* Fila principal: logo a un extremo, navegación al otro.
   position:static para que el panel desplegable se ancle al header
   completo y no a este contenedor interior, que es más estrecho. */
.elementor-527 .elementor-element.elementor-element-0d67d3a > .e-con-inner {
    position: static;

    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 24px;
}

.elementor-527 .elementor-element.elementor-element-0d67d3a > .e-con-inner > .elementor-element {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
}

/* --- Logo --- */
.elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-theme-site-logo img,
.elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-site-logo img,
.elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-image img {
    display: block;
    width: 210px;
    max-width: 100%;
    height: auto;
}

/* --- Bloque derecho: se encoge a su contenido y se pega al borde ---
   Las variables --width y --container-widget-width son las que Elementor
   usa para dar ancho a contenedores y widgets; ponerlas en auto es más
   limpio que pelear con la propiedad width. */
.elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-element.elementor-element-c84ce90 {
    --width: auto !important;
    --container-widget-width: auto !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    position: static !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 18px;
}

/* --- Widget de menú: bloque normal, nunca flex (ver nota de arriba) --- */
.elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-nav-menu {
    --width: auto !important;
    --container-widget-width: auto !important;

    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    display: block !important;
    position: static !important;
}

/* --- Panel desplegable: fuera del flujo, ancho completo bajo el header --- */
.elementor-527 .elementor-element.elementor-element-0d67d3a nav.elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin-top: 0 !important;

    background-color: rgb(var(--elroy-navy)) !important;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.32);
}

/* Lista en vertical: por defecto hereda el flex horizontal del menú de escritorio */
.elementor-527 .elementor-element.elementor-element-0d67d3a nav.elementor-nav-menu--dropdown ul.elementor-nav-menu {
    display: block !important;
    width: 100% !important;
}

.elementor-527 .elementor-element.elementor-element-0d67d3a nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li {
    display: block !important;
    width: 100% !important;
    float: none !important;
}

.elementor-527 .elementor-element.elementor-element-0d67d3a nav.elementor-nav-menu--dropdown ul.elementor-nav-menu a {
    display: block !important;
    width: 100% !important;

    color: #fff !important;
    font-size: 15px;
    padding: 15px 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.elementor-527 .elementor-element.elementor-element-0d67d3a nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li:last-child a {
    border-bottom: none;
}

.elementor-527 .elementor-element.elementor-element-0d67d3a nav.elementor-nav-menu--dropdown ul.elementor-nav-menu a:hover,
.elementor-527 .elementor-element.elementor-element-0d67d3a nav.elementor-nav-menu--dropdown ul.elementor-nav-menu a.elementor-item-active {
    background-color: rgba(255, 255, 255, 0.07) !important;
    color: var(--elroy-dorado) !important;
}

/* --- Botón de WhatsApp del header --- */
.elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-button .elementor-button {
    border-radius: 6px;
    font-weight: 600;
    letter-spacing: 0.01em;
    white-space: nowrap;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-button .elementor-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(var(--elroy-navy), 0.35);
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1024px) {

    .elementor-527 .elementor-element.elementor-element-0d67d3a {
        padding: 12px 20px;
    }

    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-theme-site-logo img,
    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-site-logo img,
    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-image img {
        width: 175px;
    }

    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-element.elementor-element-c84ce90 {
        gap: 12px;
    }

}


/* ============================================================
   MÓVIL
   ============================================================ */

@media (max-width: 767px) {

    .elementor-527 .elementor-element.elementor-element-0d67d3a {
        padding: 10px 18px;
        min-height: 66px;

        background: linear-gradient(
            180deg,
            rgba(var(--elroy-navy), 0.82) 0%,
            rgba(var(--elroy-navy), 0.38) 60%,
            rgba(var(--elroy-navy), 0) 100%
        );
    }

    .elementor-527 .elementor-element.elementor-element-0d67d3a > .e-con-inner {
        gap: 12px;
        min-height: 46px;
    }

    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-theme-site-logo img,
    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-site-logo img,
    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-image img {
        width: 132px;
    }

    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-element.elementor-element-c84ce90 {
        gap: 0;
    }

    /* Hamburguesa en la esquina superior derecha, blanca, con área
       táctil de 44 px, que es el mínimo recomendado para el pulgar. */
    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-menu-toggle {
        margin: 0 0 0 auto !important;
        padding: 0 !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        flex: 0 0 44px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        color: #fff !important;
        font-size: 24px;
        background-color: transparent !important;
        border: 1px solid rgba(255, 255, 255, 0.3);
        border-radius: 8px;
        transition: background-color 0.18s ease, border-color 0.18s ease;
    }

    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-menu-toggle svg,
    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-menu-toggle i {
        color: #fff !important;
        fill: #fff !important;
        width: 24px;
        height: 24px;
    }

    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-menu-toggle:hover,
    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-menu-toggle:focus-visible {
        background-color: rgba(255, 255, 255, 0.12) !important;
        border-color: rgba(255, 255, 255, 0.5);
    }

    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-menu-toggle.elementor-active {
        background-color: rgba(255, 255, 255, 0.16) !important;
        border-color: var(--elroy-dorado);
    }

    /* El WhatsApp del header se oculta: ya lo cubre la barra fija inferior */
    .elementor-527 .elementor-element.elementor-element-0d67d3a .elementor-widget-button {
        display: none !important;
    }

}/* End custom CSS */