/* CONTENEDOR GENERAL */
.ctm-tabs {
    background:#ffffff;
    border-radius:10px;
    border:1px solid #eee;
    overflow:hidden;
}

/* NAV DE TABS */
.ctm-tabs-nav {
    display:flex;
    gap:12px;
    padding:12px 16px;
    background:#ffffff;
    border-bottom:1px solid #eee;
    flex-wrap:wrap;
}

/* TAB */
.ctm-tabs-nav button {
    background:transparent;
    border:none;
    cursor:pointer;
    padding:12px 18px;
    color:#444;
    font-size:15px;
    font-weight:500;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;

    border-bottom:3px solid transparent;
    transition:background 0.25s ease, color 0.25s ease;
    border-radius:6px 6px 0 0;
    min-width:140px;
}

/* ICONOS */
.ctm-tabs-nav button i {
    font-size:16px;
    color:#999;
    transition:color 0.25s ease;
}

/* ICONO IZQUIERDA */
.ctm-tabs-nav button .ctm-icon-normal {
    order:1;
}

/* TITULO */
.ctm-tabs-nav button span {
    order:2;
    flex:1;
    text-align:center;
    white-space:nowrap;
}

/* ICONO DERECHA */
.ctm-tabs-nav button .ctm-icon-active {
    order:3;
}

/* HOVER */
.ctm-tabs-nav button:hover {
    background:whitesmoke;
    color:#000;
}

/* HOVER ICONOS */
.ctm-tabs-nav button:hover i {
    color:#f17e18;
}

/* ACTIVO */
.ctm-tabs-nav button.active {
    color:#000;
    font-weight:600;
    border-bottom-color:#f17e18;
}

/* ACTIVO ICONOS */
.ctm-tabs-nav button.active i {
    color:#f17e18;
}

/* CONTENIDO */
.ctm-tabs-content {
    padding:22px;
    background:#ffffff;
    color:#333;
    line-height:1.6;
    font-weight:400;
}

/* PANE */
.ctm-tab-pane {
    display:none;
}

.ctm-tab-pane.active {
    display:block;
}

/* RESPONSIVE */
@media(max-width:768px){
    .ctm-tabs-nav {
        justify-content:space-between;
    }

    .ctm-tabs-nav button {
        flex:1;
        font-size:14px;
        padding:10px;
    }

    .ctm-tabs-nav button span {
        font-size:13px;
    }
}

/* =========================
   MEJORAS RESPONSIVE SEGURAS
   ========================= */

/* Tablets y móviles */
@media (max-width: 768px) {

    /* Nav con scroll horizontal */
    .ctm-tabs-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        gap: 8px;
    }

    /* Ocultar scrollbar visual */
    .ctm-tabs-nav::-webkit-scrollbar {
        height: 4px;
    }

    .ctm-tabs-nav::-webkit-scrollbar-thumb {
        background: #ddd;
        border-radius: 4px;
    }

    /* Botones */
    .ctm-tabs-nav button {
        flex: 0 0 auto;          /* NO se aplastan */
        min-width: 140px;
        padding: 10px 12px;
        font-size: 14px;
        white-space: nowrap;
    }

    /* Texto */
    .ctm-tabs-nav button span {
        font-size: 13px;
    }

    /* Contenido */
    .ctm-tabs-content {
        padding: 16px;
    }
}

/* Móviles pequeños */
@media (max-width: 480px) {

    .ctm-tabs-nav button {
        min-width: 120px;
        font-size: 13px;
        padding: 8px 10px;
    }

    .ctm-tabs-nav button i {
        font-size: 14px;
    }

    .ctm-tabs-content {
        padding: 14px;
        font-size: 14px;
    }
}
