/* 
Theme Name: Analysta Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Custom Theme for Analysta :: El Merkat
Author: El Merkat
Author URI: https://www.elmerkat.com
Template: hello-elementor
Version: 1.0.1
Text Domain: molas-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
*/

/* Scroll suave para toda la página */
html {
    scroll-behavior: smooth !important;
    overflow-x: hidden !important;
}
body {
    overflow-x: hidden !important;
}

/* Mejorar el scroll en navegadores Webkit (Chrome, Safari) */
* {
    -webkit-overflow-scrolling: touch !important;
}

/* Scroll más suave en Firefox */
html {
    scroll-behavior: smooth !important;
    scrollbar-width: thin !important;
}

.wave-container {
    width: 100%;
    height: 100%;
    position: relative;
}

.wave-svg {
    width: 100%;
    height: 100%;
    display: block;
}

.wave-path {
    fill: #ACC04F;
}
/*@media and (min-width: 1024px) {*/
    .css-line::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 99%;
        height: 2px;
        /*background: repeating-linear-gradient(
            90deg,
            #000 0px,
            #000 5px,
            #FFF 5px,
            #FFF 15px
        );*/
        transform: translateY(-50%);
        /*animation: moveDots 3s linear infinite;*/
        animation: smoothAnimation 32s linear infinite; /* 32s evita saltos */

        background: radial-gradient(circle, #FFF 40%, transparent 40%);
        background-size: 15px 1px;

        width: 100%;
    }
    .css-line-reverse::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 99%;
        height: 2px;
        
        transform: translateY(-50%);
        /*animation: moveDots 3s linear infinite;*/
        animation: smoothAnimationReverse1 32s linear infinite; /* 32s evita saltos */

        background: radial-gradient(circle, #FFF 40%, transparent 40%);
        background-size: 15px 1px;

        width: 100%;
    }
/*}*/
.css-line-vertical::after {
    content: '';
    position: absolute;
    bottom: 0%;
    left: 0%;
    height: 2px;    
    transform: rotate(90deg);
    /*animation: moveDots 3s linear infinite;*/
    animation: smoothAnimation 32s linear infinite; /* 32s evita saltos */

    background: radial-gradient(circle, #FFF 40%, transparent 40%);
    background-size: 15px 1px;
    z-index: -1;

    width: 100%;
}
    .css-line-vertical::before {
        content: '';
        position: absolute;
        bottom: var(--arrow-top, 100px);
        left: 256px;
        transform: translateX(-50%);
        width: 30px;
        height: 30px;
        z-index: 1;
        background-image: url(/wp-content/uploads/2025/06/arrow.svg);
        background-repeat: no-repeat;
    }
.css-line-vertical-2::after {
    content: '';
    position: absolute;
    bottom: 0%;
    left: 0%;
    height: 2px;    
    transform: rotate(90deg);
    /*animation: moveDots 3s linear infinite;*/
    animation: smoothAnimation 32s linear infinite; /* 32s evita saltos */

    background: radial-gradient(circle, #FFF 40%, transparent 40%);
    background-size: 15px 1px;
    z-index: -1;

    width: 100%;
}
    .css-line-vertical-2::before {
        content: '';
        position: absolute;
        bottom: var(--arrow-top, 100px);
        left: 252px;
        transform: translateX(-50%);
        width: 30px;
        height: 30px;
        z-index: 1;
        background-image: url(/wp-content/uploads/2025/06/arrow.svg);
        background-repeat: no-repeat;
    }
@media screen and (max-width: 768px) {
    .css-line-vertical-2::before
    {
        left: 161px; 
    }
    .css-line-vertical::before {
        left: 143px;

        
    }
    
    .css-line-reverse::after,.css-line::after {
        display: none;
    }
}

 @keyframes moveDots {
    0% { background-position: 20px 0; }
    100% { background-position: 512px 0; }
}
@keyframes smoothAnimation {
    0% { background-position: 0px 0; }
    100% { background-position: 512px 0; } /* 32 repeticiones del patrón */
}
 @keyframes smoothAnimationReverse1 {
    0% { background-position: 512px 0; }  /* Empieza desde el final */
    100% { background-position: 0px 0; }  /* Termina al inicio */
}
.elementor-field-type-acceptance label {
    font-size: 15px !important;
    font-weight: 300 !important;
    line-height: 21px !important;
}



/* CHECKBOX ELEMENTOR - FONDO #202020 Y TICK BLANCO */

/* Selector principal para checkbox de aceptación */
.elementor-field-type-acceptance input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    background: #202020 !important;         /* Tu color de fondo */
    border: 2px solid #555 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    outline: none !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
    position: relative !important;
}

/* Hover effect */
.elementor-field-type-acceptance input[type="checkbox"]:hover {
    border-color: #777 !important;
    background: #252525 !important;
}

/* Estado checked */
.elementor-field-type-acceptance input[type="checkbox"]:checked {
    background: #202020 !important;
    border-color: #666 !important;
}

/* Crear el tick blanco */


.elementor-field-type-acceptance input[type="checkbox"]:checked::before {
    content: '✓' !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: white !important;
    font-size: 14px !important;
    font-weight: bold !important;
}

/* Focus para accesibilidad */
.elementor-field-type-acceptance input[type="checkbox"]:focus {
    outline: 2px solid #3498db !important;
    outline-offset: 2px !important;
}
.elementor-field-option {
    display: flex;
    align-items: center;
    gap: 8px; /* Espacio entre checkbox y texto */
}

.elementor-field-option input[type="checkbox"] {
    margin: 0; /* Elimina márgenes por defecto */
    flex-shrink: 0; /* Evita que el checkbox se reduzca */
}
.elementor-field-type-acceptance {
    margin-top: 30px;
    margin-bottom: 30px !important;
}
.elementor-accordion-item {
    border-bottom: 0.5px solid rgba(0,0,0,.5) !important;
}
.footer-mail {
    color: #FFF !important;
}
.footer-phone {
    color: #D80000 !important;
}
.footer-phone:hover, .footer-mail:hover {
    color: #FFF !important;
}
.legal-separator {
    margin-left: 15px;
    margin-right: 15px;
}
.legal-footer a {
    color: #FFF !important;
}

.header-scrolled {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;

}
.header-not-scrolled {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;

}
@media screen and (max-width: 768px) 
{
    .elementor-field-type-acceptance label {
        font-size: 12px !important;
        font-weight: 300 !important;
        line-height: 16px !important;
    }
    .svg-container text {
        font-size: 35px !important;
    }
}
@media screen and (min-width: 768px) 
{
    .only-mobile {
        display: none !important;
    }
}
.recaptcha_v3-bottomright {
    visibility: hidden;
}