/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/* Fix: scroll horizontal en móvil */
html,
body {
    overflow-x: hidden;
    max-width: 100%;
}

/* Fix: contenedor del marquee */
.word_wrapper {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
}


/* HEADER 1 */


.elemento_oculto {
    opacity: 0;
}

.cursor_puntero {
    cursor: pointer!important;
}

header.hd_1 .elementor-widget-wrap:has(.logo-light):has(.logo-dark),
header.hd_1 .elementor-container:has(.logo-light):has(.logo-dark),
header.hd_1 .e-con:has(.logo-light):has(.logo-dark),
header.hd_1 .e-con-inner:has(.logo-light):has(.logo-dark) {
    position: relative;
}

header.hd_1 .logo-light,
header.hd_1 .logo-dark {
    transition: opacity .1s ease, visibility .1s ease;
}

header.hd_1 .logo-light {
    opacity: 1;
    visibility: visible;
    position: relative;
    z-index: 1;
    transition: opacity .5s ease, visibility .5s ease;
}

header.hd_1 .logo-dark {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 2;
    pointer-events: none;
}

header.hd_1.elementor-sticky--effects .logo-light {
    opacity: 0;
    visibility: hidden;
}

header.hd_1.elementor-sticky--effects .logo-dark {
    opacity: 1;
    visibility: visible;
}

header.hd_1 {
    background-color: #fff !important;
    transition: background-color 0.5s ease !important;
}

/* Fondo del header al hacer sticky */
header.hd_1.elementor-sticky--effects {
    background-color: #2B2723 !important;
    transition: background-color 0.5s ease !important;
}

@media (min-width: 1024px) {
    .hd_1.elementor-sticky--effects .elementor-nav-menu .elementor-item /* change the menu text color here*/ {
        color: #fff!important;
    }
}


.hd_1.elementor-sticky--effects, .elementor-nav-menu .elementor-item {
    transition: .5s all ease-in-out;
}

.hd_1.elementor-sticky--effects .wpml-ls-item a span {
    color: darkgrey!important;
}


.hd_1.elementor-sticky--effects .menu_gms div.elementor-menu-toggle, .elementor-sticky--effects .menu_gms svg {
    fill: #fff!important;
}

/* HEADER 2 */


header.hd_2 {
    background-color: rgba(0, 0, 0, 0) !important;
    transition: background-color 0.5s ease !important;
}

/* Fondo del header al hacer sticky */
header.hd_2.elementor-sticky--effects {
    background-color: rgba(0, 0, 0, 0.6)!important;
    transition: background-color 0.5s ease !important;
}


/* HBR MENU */

.hamburger {
    position: relative;
    display: inline-block;
    width: 28px;
    height: 26px;
}
.hamburger a.main-nav-toggle {
    display: block;
    width: 28px;
    height: 20px;
    left: 0;
    position: absolute;
    top: 0;
}
.hamburger a.main-nav-toggle:after, .hamburger a.main-nav-toggle:before {
    content: "";
    position: absolute;
    top: 0;
    height: 0;
    border-bottom: 3px solid #fff;
    width: 100%;
    left: 0;
    right: 0;
    transition: all ease-out 0.3s;
}

header.hd_3 .hamburger a.main-nav-toggle:after, header.hd_3 .hamburger a.main-nav-toggle:before {
    border-bottom: 3px solid #2B2723;
}

.hamburger a.main-nav-toggle:after {
    top: 100%;
}
.hamburger a.main-nav-toggle i {
    display: block;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
    height: 3px;
    background-color: #fff;
    width: 100%;
    position: absolute;
    top: 50%;
    transition: all ease-out 0.1s;
}
header.hd_3 .hamburger a.main-nav-toggle i {
    background-color: #2B2723;
}

.hamburger a.main-nav-toggle.active-menu:after {
    transform: rotate(-45deg);
    transform-origin: center;
    top: 50%;
}
.hamburger a.main-nav-toggle.active-menu:before {
    transform: rotate(45deg);
    transform-origin: center;
    top: 50%;
}
.hamburger a.main-nav-toggle.active-menu i {
    opacity: 0;
}


.wpml-ls-legacy-list-horizontal .wpml-ls-item.wpml-ls-current-language {
    text-decoration: underline;
    text-underline-offset: 7px;
    text-decoration-color: #fff;
}

header.hd_3 .wpml-ls-legacy-list-horizontal .wpml-ls-item.wpml-ls-current-language {
    text-decoration-color: #2B2723;
}

/* FIXED FOOTER MENU */
.grupo-ms-fixed-footer-menu {
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    width: auto;
    max-width: 100vw;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #fff;
    padding: 50px 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: hidden;
    height: 0;
    transform: translateY(-14px);
    will-change: height, opacity, transform;
    z-index: 999;
}

.grupo-ms-fixed-footer-menu.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.grupo-ms-fixed-footer-menu__item {
    width: fit-content;
    max-width: 100vw;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    padding: 6px 0;
}

.grupo-ms-fixed-footer-menu__link {
    display: inline-block;
    width: auto;
    padding: 6px 12px;
    font-family: "Playfair Display", serif;
    font-size: 22px;
    color: #2B2723;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 7px;
    text-decoration-color: transparent;
    transition: transform 0.3s ease, opacity 0.3s ease, text-decoration-color 0.3s ease;
}

.grupo-ms-fixed-footer-menu__link:hover {
    transform: translateY(-1px);
    text-decoration-color: #d3d3d3;
    color: #2B2723 !important;
}



#conocenos_button a,
#conocenos_button .elementor-button,
#conocenos_button .elementor-button-link {
    transition: background-color 0.5s ease, color 0.5s ease, border-color 0.5s ease !important;
}


.elementor-counter-number-suffix {
    padding-left: 7px;
}



/* POST CONTENT */

.elementor-widget-theme-post-content ul, .elementor-widget-theme-post-content ol {
    margin-bottom: 20px;
}

.elementor-widget-theme-post-content ul li, .elementor-widget-theme-post-content ol li {
    margin-bottom: 5px;
}

.elementor-widget-theme-post-content h2{
    margin-top: 40px;
}

/* GMS BOTÓN */

.gms_boton {
    display: inline-block;
    background-color: #2B2723;
    color: #ffffff;
    border-radius: 9999px;
    border: 2px solid #2B2723;
    padding: 0.6em 1.6em;
    text-decoration: none;
    margin-top: 30px;
    transition: background-color 0.3s ease, color 0.3s ease!important;
}

.gms_boton:hover {
    background-color: #ffffff !important;
    color: #2B2723 !important;
}

.transicion_boton a {
    transition: background-color 0.3s ease, color 0.3s ease!important;
}

.elementor-field-type-submit button, .elementor-social-icon {
    transition: background-color 0.3s ease, color 0.3s ease!important;
}



@media (max-width: 768px) {
    .word_wrapper {
        overflow: hidden;
        width: 100%;
    }

    .marquee-track {
        display: flex;
        flex-direction: row;    /* fuerza dirección correcta */
        flex-wrap: nowrap;
        width: max-content;
        will-change: transform;
    }

    .marquee-track > * {
        flex-shrink: 0;
        white-space: nowrap;
    }
}

.img_blanco  {
    filter: brightness(0) invert(1);
}
