/* ==========================================================
   SISTEMA DE ACORDEÓN MUI SFM — REFACTORIZADO
   ========================================================== */

.articulo-tabs.tabs-mui {
    margin: 1rem auto;
    box-sizing: border-box;
}

/* Contenedor principal de botones (si se usa como menú) */
.tabs-mui .menu-articulo-tabs {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background: #f9fafc;
    padding: 1rem;
    border-radius: 16px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(126, 188, 66, 0.3);
}

/* Bloque individual de Acordeón (Botón + Texto) */
.tabs-mui .accordion-item {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
}

/* --- BOTONES --- */
.tabs-mui .btn-articulo-tab {
    background: #ffffff;
    color: #1d2c5b;
    border: 2px solid #e0e3ea;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    font-weight: 600;
    font-size: 1.1rem;
    text-align: left;
    cursor: pointer;
    display: flex !important; /* Mantenido flex para alinear flecha */
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    width: 100%;
}

.tabs-mui .btn-articulo-tab:hover {
    background: #1d2c5b;
    color: #ffffff;
    border-color: #1d2c5b;
}

.tabs-mui .btn-articulo-tab.active {
    background: #1d2c5b !important;
    color: #ffffff !important;
    border-color: #1d2c5b !important;
    box-shadow: 0 4px 10px rgba(29, 44, 91, 0.4) !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Flecha */
.tabs-mui .btn-articulo-tab::after {
    content: "▾";
    font-size: 1.1rem;
    transition: transform 0.3s ease;
}

.tabs-mui .btn-articulo-tab.active::after {
    transform: rotate(-180deg);
}

/* --- CONTENIDO --- */
.tabs-mui .contenido-tab-articulo {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    margin: 0;
    padding: 0 1.5rem;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transform: translateY(-8px);
    transition: all 0.4s ease;
    width: 100%;
    box-sizing: border-box;
}

.tabs-mui .contenido-tab-articulo.active {
    opacity: 1 !important;
    transform: translateY(0);
    max-height: 5000px !important;
    padding: 1.5rem !important;
    border-top: none !important;
    border-radius: 0 0 12px 12px !important;
    display: block !important;
    visibility: visible !important;
    animation: fadeIn 0.3s ease forwards !important;
}

/* --- SELECTOR DE PERFILES (Botones Verdes/Azules compactos) --- */
.perfil-selector, .proyectos-selector {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.8rem;
    width: 100%;
    max-width: 350px;
}

.perfil-btn {
    background: #1d2c5b;
    color: #fff;
    border: none;
    padding: 0.6rem 1rem;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.95rem;
    text-align: left;
    transition: all 0.2s ease;
    display: block !important;
}

.perfil-btn:hover { background: #003876; transform: translateY(-1px); }

.perfil-btn.active {
    background: #7ebc42;
    color: #1d2c5b;
    margin: 0.4rem 0;
}

.perfil-info { display: none; margin-top: 1rem; scroll-margin-top: 140px; }
.perfil-info.active { display: block; animation: fadeIn 0.3s ease; }

/* --- TIPOGRAFÍA --- */
.tabs-mui h2, .tabs-mui h3, .tabs-mui h4 { color: #1d2c5b; margin-top: 1rem; font-weight: 600; }
.tabs-mui p, .tabs-mui li { color: #333; line-height: 1.6; font-size: 0.95rem; }

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }










/* Contenedor cuando el perfil está mostrándose en columna derecha */
.columna-derecha.tiene-contenido-perfil {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 1.5rem;
  /* border-left: 4px solid #7ebc42; */
  transition: all 0.3s ease;
}

/* Contenedor interno del perfil reemplazado */
.contenido-perfil-reemplazado {
  width: 100%;
}

/* Botón volver al contenido principal */
.btn-volver-perfil {
  background: #1d2c5b;
  color: #fff;
  border: none;
  padding: 0.55rem 1rem;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  margin-bottom: 1.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.btn-volver-perfil:hover {
  background: #003876;
  transform: translateY(-1px);
}

/* Asegurar que los títulos dentro del perfil reemplazado se vean bien */
.contenido-perfil-reemplazado .subtitulo-seccion {
  color: #1d2c5b;
  border-bottom: 2px solid #7ebc42;
  padding-bottom: 0.5rem;
  margin-top: 0;
}

/* Mantener consistencia con los enlaces dentro del perfil */
.contenido-perfil-reemplazado a {
  color: #003876;
  text-decoration: none;
  transition: color 0.2s ease;
  border-bottom: 1px solid #003876;
}

.contenido-perfil-reemplazado a:hover {
  color: #7ebc42;
  text-decoration: underline;
}












/* ==========================================================
   RESPONSIVE UNIFICADO (≤768px)
   ========================================================== */
@media (max-width: 768px) {
    .articulo-tabs.tabs-mui { max-width: 98%; padding: 0.5rem; }
    
    .tabs-mui .btn-articulo-tab {
        font-size: 0.95rem;
        padding: 0.85rem 1rem;
        display: flex !important;
        visibility: visible !important;
    }

    .perfil-selector, .proyectos-selector { max-width: 100%; }

    .contenido-dos-columnas { flex-direction: column; gap: 1rem; }
}


/* Oculta todos los contenidos del acordeón al inicio */

.accordion-item .contenido-tab-articulo {
    display: none;
}

.accordion-item .contenido-tab-articulo.active {
    display: block !important;
}
