/* HEADER */

@media (min-width: 1px) {

    header.elementor-location-header {position: fixed; top: 0; left: 0; right: 0; z-index: 99999; transition: all 0.4s ease;}
    #header-logo-rojo {opacity: 0; transition: opacity 0.4s ease;}
    #header-logo-blanco {opacity: 1; transition: opacity 0.4s ease;}
    header.elementor-location-header.scrolled {background-color: #FFFFFFEE; border-bottom: 2px solid var(--rojo);}
    header.elementor-location-header.scrolled #header-logo-rojo {opacity: 1;}
    header.elementor-location-header.scrolled #header-logo-blanco {opacity: 0;}

    body.single-post header.elementor-location-header,
    body.page-id-297 header.elementor-location-header,
    body:has(.textos-legales) header.elementor-location-header {background-color: #FFFFFFEE;}
    
    body.single-post header.elementor-location-header #header-logo-rojo,
    body.page-id-297 header.elementor-location-header #header-logo-rojo,
    body:has(.textos-legales) header.elementor-location-header #header-logo-rojo {opacity: 1;}
    
    body.single-post header.elementor-location-header #header-logo-blanco,
    body.page-id-297 header.elementor-location-header #header-logo-blanco,
    body:has(.textos-legales) header.elementor-location-header #header-logo-blanco {opacity: 0;}
    
    body.single-post header.elementor-location-header #nav-desk a span,
    body.page-id-297 header.elementor-location-header #nav-desk a span,
    body:has(.textos-legales) header.elementor-location-header #nav-desk a span {color: #0A3A5F;}
    
    body.single-post header.elementor-location-header #nav-desk-contact a span,
    body.page-id-297 header.elementor-location-header #nav-desk-contact a span,
    body:has(.textos-legales) header.elementor-location-header #nav-desk-contact a span {color: white;}

}


@media (min-width: 1351px) {
    
    /* HEADER */
    
    #header-logo {width: 13vw;}
    #nav-desk a {padding: 0.5em 1.5em!important;transition: all 0.4s ease;}
    #nav-desk .e-n-menu-title {padding: 0;}
    #nav-desk-contact a {background: var(--rojo);}
    #nav-desk-contact a span {color: white;}

    /* scrolled + current */

    header.elementor-location-header.scrolled #nav-desk a span {color: var(--blue);}
    header.elementor-location-header.scrolled #nav-desk-contact a span {color: white;}

    #nav-desk .e-current a {pointer-events: none; background-color: var(--blue);}
    #nav-desk .e-current a span {color: white !important;}

    /* PAGINA CONTACTO */

}


@media (min-width: 769px) and (max-width: 1350px) {
    
    #header-logo {width: 40vw;}  
    #off-screen-menu-container {
        position: fixed; inset: 0 0 0 0; background-color: white; padding-top: 240px;
        visibility: hidden; opacity: 0; transition: opacity 0.4s ease, visibility 0s ease 0.4s;}
    header[data-elementor-type="header"].active #off-screen-menu-container {
        visibility: visible; opacity: 1; transition: opacity 0.4s ease, visibility 0s ease 0s;}
    header[data-elementor-type="header"].active .hamburger-bar {background-color: var(--blue);}
    header[data-elementor-type="header"].active #header-logo-rojo {opacity: 1;}
    header[data-elementor-type="header"].active #header-logo-blanco {opacity: 0;}

}


@media (max-width: 768px) {
    
    #header-logo {width: 50vw;}  
    #off-screen-menu-container {
        position: fixed; inset: 0 0 0 0; background-color: white; padding-top: 120px;
        visibility: hidden; opacity: 0; transition: opacity 0.4s ease, visibility 0s ease 0.4s;}
    header[data-elementor-type="header"].active #off-screen-menu-container {
        visibility: visible; opacity: 1; transition: opacity 0.4s ease, visibility 0s ease 0s;}
    header[data-elementor-type="header"].active .hamburger-bar {background-color: var(--blue);}
    header[data-elementor-type="header"].active #header-logo-rojo {opacity: 1;}
    header[data-elementor-type="header"].active #header-logo-blanco {opacity: 0;}

}


/* #region FOOTER */

    #nav-footer .e-current a {pointer-events: none;}
    #nav-footer .e-current a span {color: var(--blue); font-weight: 900;}

/* #endregion */


/* #region HAMBURGER */

@media (max-width: 1025px) {

    .hamburger-trigger {
        position: relative;
        width: 40px;
        height: 40px;
        background: transparent;
        border: none;
        padding: 0;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 6px;
        color: var(--black);}

    .hamburger-bar {
        display: block;
        width: 40px;
        height: 3px;
        background-color: white;
        border-radius: 2px;
        transform-origin: center;
        transition: transform .35s ease, opacity .25s ease;}

    header.elementor-location-header.scrolled .hamburger-bar , body.page-id-297 .hamburger-bar {background-color: var(--blue);}

    header[data-elementor-type="header"].active .hamburger-bar:nth-child(1) {transform: translateY(8px) rotate(45deg);}
    header[data-elementor-type="header"].active .hamburger-bar:nth-child(2) {opacity: 0;}
    header[data-elementor-type="header"].active .hamburger-bar:nth-child(3) {transform: translateY(-8px) rotate(-45deg);}

    #nav-responsive ul.e-n-menu-heading {align-items: center;}

    #nav-responsive .e-current a {pointer-events: none; background-color: var(--blue);}
    #nav-responsive .e-current a span {color: white !important; padding-inline: 32px;}

}

@media (min-width: 769px) and (max-width: 1025px) {
    #nav-responsive a span {font-size: 24px; font-weight: 600; padding-block: 0.5em;}
}

@media (max-width: 768px) {
    #nav-responsive a span {font-size: 20px; font-weight: 600; padding-block: 0.5em;}
}

/* #endregion */


/* #region FORM */

#contact-form * {
    font-size: clamp(14px, calc(9.143px + 0.357vw), 16px);}

    @media (max-width: 1025px) {
        #contact-form * {
            font-size: 16px;}}

#contact-form label {
    margin-block: 16px 8px;}
    
#contact-form .elementor-field-type-acceptance {
    padding-top: 24px!important;}

#contact-form .elementor-field-type-acceptance .elementor-field-option {
    display:flex;
    align-items: center;
    column-gap: 8px;}
    
#contact-form .elementor-field-type-acceptance label,
#contact-form .elementor-field-type-acceptance label *{
    font-size: clamp(12px, calc(7.143px + 0.357vw), 14px);
    margin-block: 0px;}

#contact-form .elementor-field-type-acceptance > label {
    display: none;}
    
#contact-form .elementor-field-type-acceptance a {
    color: inherit;
    text-decoration: underline;}

.elementor-88 .elementor-element.elementor-element-a786c2d .elementor-field-group {
    padding: 0!important;
    margin-block: 16px 0!important;}

#boton-enviar {
    margin-top: 48px;
    background-color: var(--rojo);
    border: 1px solid var(--rojo);
    border-radius: 0;
    padding: 0.75em 2.25em!important;
    max-width: 30%;
    cursor: pointer;
    transition: all 0.4s ease;}

#boton-enviar span {
    color: white;}  

#boton-enviar .elementor-button-content-wrapper {
    position: relative;}

.elementor-button-text.elementor-form-spinner {
    position: absolute;
    left: 110%;
    top: 0px}

input {
    accent-color: var(--rojo);}

@media (min-width: 769px) {

    .elementor-form-fields-wrapper {
        justify-content: center;}

    .elementor-form-fields-wrapper > div {
        width: 48%!important;}

    .elementor-form-fields-wrapper > div.elementor-field-type-textarea,
    .elementor-form-fields-wrapper > div.elementor-field-type-acceptance  {
        width: 100%!important;}

    .elementor-form-fields-wrapper > div:nth-child(odd) {
        margin-right: auto!important;}

    .elementor-form-fields-wrapper > div:nth-child(even) {
        margin-left: auto!important;}

    .elementor-form-fields-wrapper > div.elementor-field-type-submit {
        width: 100%!important;}
}

/* #endregion */