/* ============================================================
   GEKI TAB CARRUSEL - CSS REFACTORIZADO V.FINAL
   ============================================================ */

.geki-main-wrapper {
    display: flex;
    width: 100%;
    align-items: stretch;
    justify-content: flex-start;
    box-sizing: border-box;
}

/* PC LAYOUTS: Full Width Content */
.geki-pos-pc-top { flex-direction: column; }
.geki-pos-pc-bottom { flex-direction: column-reverse; }
.geki-pos-pc-left { flex-direction: row; }
.geki-pos-pc-right { flex-direction: row-reverse; }

.geki-nav-container {
    display: block;
    position: relative;
    box-sizing: border-box;
    flex-shrink: 0;
}

.geki-pos-pc-left .geki-nav-scroll, 
.geki-pos-pc-right .geki-nav-scroll { 
    flex-direction: column; 
    display: flex;
}

/* MOBILE RESPONSIVE (MAX 767px) */

@media (max-width: 767px) {
    .geki-main-wrapper {
        flex-direction: column !important;
    }

    .geki-pos-mob-top {
        flex-direction: column !important;
    }

    .geki-pos-mob-bottom {
        flex-direction: column-reverse !important;
    }

    .geki-nav-container {
        width: 100% !important;
        position: relative;
        flex-basis: auto;
    }

    .geki-nav-scroll { 
        display: flex !important; 
        flex-direction: row !important; 
        overflow-x: auto !important; 
        overflow-y: hidden !important;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .geki-nav-scroll::-webkit-scrollbar {
        display: none;
    }

    /* Sticky Móvil */
    .geki-sticky-yes .geki-nav-container {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1000;
        background-color: inherit;
    }

    /* Indicador visual de más contenido horizontal */
    .geki-scroll-indicator {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        height: 100%;
        width: 40px;
        background-image: linear-gradient(to right, transparent, rgba(0,0,0,0.4));
        display: flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        pointer-events: none;
        z-index: 10;
        opacity: 1;
        transition: opacity 0.3s;
    }
}

@media (min-width: 768px) {
    .geki-scroll-indicator {
        display: none;
    }
}

/* ESTILO BOTONES */

.geki-tab-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.3s ease;
    box-sizing: border-box;
    flex-grow: 1;
}

.geki-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.geki-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

/* CONTENEDOR DE FICHA - BLINDAJE ANTI-APILAMIENTO */

.geki-content-container {
    flex-grow: 1;
    width: 100%;
    position: relative;
    box-sizing: border-box;
    overflow: hidden;
    border-style: solid; /* Habilitado para controles de Elementor */
}

.geki-tab-pane {
    display: none !important; /* Fuerza ocultación de pestañas inactivas al cargar */
    visibility: hidden;
    width: 100%;
    opacity: 0;
}

.geki-tab-pane.active {
    display: block !important;
    visibility: visible;
    opacity: 1;
    animation: gekiFadeIn 0.4s ease;
}

/* TABLA INTERNA */

.geki-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.geki-table tr {
    border-bottom-style: solid;
}

.geki-table td {
    padding: 18px 20px;
    vertical-align: middle;
}

.geki-table td.label {
    font-weight: bold;
    width: 35%;
    background-color: rgba(255,255,255,0.02);
}

@keyframes gekiFadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}