/* 
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 */

#quienes-somos,
#como-funciona,
#profesionales {
    scroll-margin-top: 64px; /* Ajusta según la altura de tu menú */
}

.section-hero .e-con-inner {
    position: relative;
    display: block;
    height: 430px;
    width: 100%;
}

.section-hero .accordion-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
    z-index: 1;
    padding: 32px 156px 32px 64px !important;
}

.section-hero .image-container {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    z-index: 2;
}

.section-hero .image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 1024px) {
    .section-hero .e-con-inner {
        min-height: auto;
        display: flex;
        flex-direction: column;
        padding: 0;
        height: auto;
    }
    .section-hero .accordion-container {
        position: relative;
        width: 100%;
        height: auto;
        top: auto;
        left: auto;
        bottom: auto;
        right: auto;
        padding: 32px 20px !important;
        z-index: 1;
    }
    .section-hero .image-container {
        position: relative;
        width: 100%;
        padding: 0;
        margin-top: 0;
        order: 2;
        overflow: hidden;
    }
    .elementor .accordion-container {
      background-position: 20px 130px;
      background-size: 120%;
    }
}

.accordion-title, 
.accordion-btn-text h2 {
    opacity: 1;
    max-height: 200px; 
    overflow: hidden;
}

.accordion-description {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
}

.accordion-btn-text:hover {
  cursor: pointer;
}


.accordion-btn-icon-open,
.accordion-btn-icon-close {
    transition: opacity 0.3s ease;
}

.accordion-btn-icon-close {
    display: none !important; 
    opacity: 0;
}


/* --- ESTADO ABIERTO (.is-open-accordion) --- */
.accordion-hero.is-open-accordion .accordion-title,
.accordion-hero.is-open-accordion .accordion-btn-text h2 {
    opacity: 0;
    max-height: 0;
    transform: translateY(-10px);
    pointer-events: none;
}


.accordion-hero.is-open-accordion .accordion-description {
    display: block;
    opacity: 1;
    max-height: 300px; 
    transform: translateY(0);
}

/* 3. Intercambio de iconos */
.accordion-hero.is-open-accordion .accordion-btn-icon-open {
    display: none !important;
}

.accordion-hero.is-open-accordion .accordion-btn-icon-close {
    display: block !important;
    opacity: 1;
}



.btn-black {
  background-color: #000;
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 24px;
  transition: background-color 0.3s ease;
}
.btn-black a {
  color: #fff !important;
}

.btn-black:hover {
  background-color: var( --e-global-color-d2d42bd );
  transition: background-color 0.3s ease;
}

.gradient-line {
background: linear-gradient(92.78deg, #04C3FC -1.95%, #6AD58A 31.56%, #EFAF2A 60.7%, #F94C37 99.07%);
height: 8px;
}

.light {
  font-weight: 200;
}

/* ===== TABS BORDER GRADIENT ===== */
.elementor .tabs-tab.e--selected {
    border-color: transparent !important;
}

.tabs-tab {
  position: relative!important;
  border: 1px solid transparent!important;
  background-image: 
    linear-gradient(white, white),
    linear-gradient(92.78deg, #04C3FC -1.95%, #6AD58A 31.56%, #EFAF2A 60.7%, #F94C37 99.07%) !important;
  background-origin: border-box!important;
  background-clip: padding-box, border-box!important;
  cursor: pointer!important;
}

.tabs-tab:hover,
.tabs-tab.e--selected {
  border: 2px solid transparent!important;
  padding: 58px 0 !important;
}

@media (max-width: 480px) {
    .tabs-tab,
    .tabs-tab:hover,
.tabs-tab.e--selected {
        padding: 24px 0 !important;
    }
}

.elementor .tabs-icon {
    position: absolute;
    padding: 0;
    right: 10px;
    bottom: 10px;
}
/* Forzamos estado visual de los iconos basado en el atributo ARIA que toca el JS */

/* 1. Estado por defecto (Cerrado) */
.tabs-tab .tabs-icon-open { display: block !important; }
.tabs-tab .tabs-icon-close { display: none !important; }

/* 2. Estado Activo (Abierto) */
.tabs-tab[aria-selected="true"] .tabs-icon-open { 
    display: none !important; 
}
.tabs-tab[aria-selected="true"] .tabs-icon-close { 
    display: block !important; 
}

/* 3. Aseguramos que el contenido ocupe su lugar */
.tab-description {
    width: 100%;
}



