/* ========================================================
   INDICE MENTIONS — STYLES PARTAGÉS
   indice-abstraction.html & indice-fondamentalite.html
   Utilise les variables de gbl_styles.css et philosophie-generale.css
   ======================================================== */

/* ===== TEXTE ===== */

.mention-page-title {
    font-family: "Intertight", sans-serif;
    font-size: var(--txt-size-20);
    font-weight: 700;
    color: var(--global-white-1);
    letter-spacing: 0.01em;
    margin: 0 0 6px 0;
}

.mention-page-subtitle {
    font-size: var(--txt-size-09);
    color: var(--global-transparent-white-1);
    line-height: var(--txt-lh-normal);
    margin: 0 0 32px 0;
}

.mention-accordion-title-text {
    font-family: "Intertight", sans-serif;
    font-size: var(--txt-size-13);
    font-weight: 700;
    color: var(--philo-text-primary);
    margin: 0;
}

.mention-accordion-desc,
.mention-accordion-example-content {
    font-size: var(--txt-size-09);
    color: var(--philo-text-secondary);
    line-height: var(--txt-lh-normal);
}

.mention-accordion-example-title-text {
    font-size: var(--txt-size-09);
    font-weight: 600;
    font-style: italic;
    color: var(--philo-text-secondary);
    margin: 0;
}

/* ===== LAYOUT GÉNÉRAL ===== */

.mention-main-section {
    position: relative;
    background: var(--philo-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 60vh;
    padding: 40px 0 80px 0;
    transition: background 0.3s ease;
}

.mention-container {
    max-width: 900px;
    width: 80vw;
}

@media (max-width: 800px) {
    .mention-container {
        width: 92vw;
    }
}

/* ===== EN-TÊTE DE PAGE ===== */

.mention-header-section {
    position: relative;
    background: var(--philo-bg);
    padding: 80px 0 20px 0;
    display: flex;
    justify-content: center;
    transition: background 0.3s ease;
}

.mention-header-inner {
    max-width: 900px;
    width: 80vw;
    background-image: linear-gradient(45deg, #003189, #005adf);
    padding: 20px;
    border-radius: 3px;
}

@media (max-width: 800px) {
    .mention-header-inner {
        width: 92vw;
    }
}

/* ===== ACCORDION PRINCIPAL ===== */

.mention-accordion-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mention-accordion-item {
    border-radius: 0;
    border-bottom: 1px solid var(--philo-border);
}

.mention-accordion-item:first-child {
    border-top: 1px solid var(--philo-border);
}

/* Titre cliquable de l'accordion */
.mention-accordion-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    padding: 14px 40px;
    cursor: pointer;
    text-decoration: none;
    user-select: none;
    background: transparent;
    border: none;
    width: 100%;
    text-align: left;
}

.mention-accordion-link:hover {
    background-image: linear-gradient(90deg, transparent, var(--philo-popover-bg), transparent);
}

/* Chevron animé — réutilise le style philo-arrow */
.mention-accordion-arrow {
    position: relative;
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    transform: rotate(180deg);
    transition: transform 0.3s ease;
}

.mention-accordion-arrow::before,
.mention-accordion-arrow::after {
    content: '';
    position: absolute;
    background-color: var(--philo-text-secondary);
    border-radius: 2px;
    transition: transform 0.3s ease;
}

.mention-accordion-arrow::before {
    width: 8px;
    height: 2px;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(45deg);
    transform-origin: left center;
}

.mention-accordion-arrow::after {
    width: 8px;
    height: 2px;
    bottom: 50%;
    left: 0;
    transform: translateY(50%) rotate(-45deg);
    transform-origin: left center;
}

.mention-accordion-item.active .mention-accordion-arrow {
    transform: rotate(-90deg);
}

/* Contenu de l'accordion principal */
.mention-accordion-answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 500ms ease, opacity 250ms ease;
}

.mention-accordion-item.active .mention-accordion-answer {
    opacity: 1;
}

.mention-accordion-answer-inner {
    padding: 0 4px 18px 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mention-accordion-desc {
    margin: 0;
}

/* ===== ACCORDION SECONDAIRE (exemple type) ===== */

.mention-subaccordion {
    border-left: 2px solid var(--philo-border);
    padding-left: 14px;
}

.mention-subaccordion-trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    background: transparent;
    border: none;
    width: 100%;
    text-align: left;
    padding: 4px 0;
    user-select: none;
    transition: opacity 0.15s ease;
}

.mention-subaccordion-trigger:hover {
    opacity: 0.75;
}

/* Chevron secondaire — plus petit */
.mention-subaccordion-arrow {
    position: relative;
    width: 9px;
    height: 9px;
    flex-shrink: 0;
    transform: rotate(180deg);
    transition: transform 0.3s ease;
}

.mention-subaccordion-arrow::before,
.mention-subaccordion-arrow::after {
    content: '';
    position: absolute;
    background-color: var(--philo-text-tertiary);
    border-radius: 2px;
    transition: transform 0.3s ease;
}

.mention-subaccordion-arrow::before {
    width: 6px;
    height: 1.5px;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(45deg);
    transform-origin: left center;
}

.mention-subaccordion-arrow::after {
    width: 6px;
    height: 1.5px;
    bottom: 50%;
    left: 0;
    transform: translateY(50%) rotate(-45deg);
    transform-origin: left center;
}

.mention-subaccordion.active .mention-subaccordion-arrow {
    transform: rotate(-90deg);
}

.mention-accordion-example-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 400ms ease, opacity 200ms ease;
    margin: 0;
    padding-top: 0;
}

.mention-subaccordion.active .mention-accordion-example-content {
    opacity: 1;
    padding-top: 6px;
}
