/* ============================================== */
/* ESTILOS GENERALES DE LA SECCIÓN FAQ            */
/* ============================================== */

#faq-section {
    padding: 80px 20px;
    font-family: 'Inter', Arial, sans-serif;
    background-color: #F5f5f5; /* Fondo beige */
}

.faq-header {
    text-align: center;
    margin-bottom: 50px;
}

/* Estilos para el H2 solicitado */
.faq-header h2 {
    font-size: 2.25rem; /* 36px */
    line-height: 1.25;
    font-weight: 700;
    color: #12181F /* negro */
}

/* Estructura para centrar el acordeón y control de ancho */
.faq-content {
    display: flex;
    justify-content: center;
    width: 100%;
}

.faq-accordion-wrapper {
    width: 100%;
    max-width: 800px; /* Ancho máximo para el acordeón */
}

/* ============================================== */
/* ESTILOS DEL ACORDEÓN (ITEM)                    */
/* ============================================== */

.accordion-item {
    border-bottom: 1px solid #e5e7eb; /* Línea separadora gris claro */
    margin-bottom: 0;
}

.accordion-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 20px 0;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.15rem;
    font-weight: 600;
    color: #12181F /* Color de la pregunta */
    transition: background-color 0.3s ease;
}

.accordion-toggle:hover {
    color: #F26C20 /* naranja más vibrante al pasar el mouse */
}

.question-title {
    flex-grow: 1;
    padding-right: 20px;
    color: #12181F /* negro */
}

/* Estilo del Icono de Toggle (Flecha) */
.toggle-icon {
    width: 24px;
    height: 24px;
    color: #F36B21;
    transition: transform 0.3s ease;
}

/* Rotación del icono cuando el acordeón está abierto (aria-expanded="true") */
.accordion-toggle[aria-expanded="true"] .toggle-icon {
    transform: rotate(180deg);
    color: #F36B21;
}

/* ============================================== */
/* ESTILOS DEL PANEL (RESPUESTA)                  */
/* ============================================== */

.accordion-panel {
    padding: 0 0 20px 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out, opacity 0.4s ease-out;
    color: #4b5563; /* Color de la respuesta */
    line-height: 1.6;
    font-size: 1rem;
    
    /* Configuración inicial, se maneja por JS */
    max-height: 0;
    opacity: 0;
}

.accordion-toggle[aria-expanded="true"] + .accordion-panel {
    max-height: 500px; /* Suficientemente grande para cualquier respuesta */
    opacity: 1;
}

/* Ajuste para móviles */
@media (max-width: 640px) {
    .faq-header h2 {
        font-size: 1.75rem; /* 28px en móvil */
    }
    .accordion-toggle {
        font-size: 1rem;
    }
}