/* ==========================================================================
   ORBITECH AI ACADEMY — FAQ
   Refonte 2026 · variation : recherche + 6 catégories
   ========================================================================== */

main { padding-top: 64px; }

.page-hero { padding: var(--space-2xl) 0 var(--space-xl); background: var(--paper); }
.page-hero h1 {
    font-size: clamp(var(--text-4xl), 6vw, var(--text-6xl));
    margin: var(--space-md) 0 var(--space-lg);
    max-width: 16ch;
}
.page-hero h1 em { font-style: italic; color: var(--accent); }
.page-hero .lead {
    font-size: clamp(var(--text-md), 1.4vw + 0.5rem, var(--text-lg));
    color: var(--ink-soft);
    max-width: 64ch;
    line-height: var(--leading-snug);
    margin-bottom: var(--space-lg);
}

.faq-search { margin-top: var(--space-lg); max-width: 480px; }
.faq-search .input { font-size: var(--text-md); padding: var(--space-sm) var(--space-md); }

.faq-content { padding: var(--space-2xl) 0 var(--space-3xl); }

.faq-category {
    margin-bottom: var(--space-2xl);
    border-top: 1px solid var(--ink);
    padding-top: var(--space-lg);
}

.faq-category h2 {
    font-size: clamp(var(--text-xl), 2.5vw, var(--text-2xl));
    margin-bottom: var(--space-md);
    display: flex;
    align-items: baseline;
    gap: var(--space-sm);
}

.cat-num {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    color: var(--ink-muted);
    letter-spacing: var(--tracking-wide);
    font-feature-settings: 'tnum' 1;
    font-weight: 500;
}

.faq-list { margin: 0; padding: 0; display: flex; flex-direction: column; }

.faq-item {
    border-bottom: 1px solid var(--rule-soft);
    padding: var(--space-sm) 0;
}

.faq-item summary {
    font-family: var(--font-display);
    font-size: var(--text-md);
    font-weight: 500;
    color: var(--ink);
    line-height: var(--leading-snug);
    cursor: pointer;
    list-style: none;
    padding: var(--space-xs) 0;
    position: relative;
    padding-right: var(--space-lg);
    transition: color var(--transition-fast);
}

.faq-item summary::-webkit-details-marker { display: none; }

.faq-item summary::after {
    content: '+';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    font-weight: 300;
    color: var(--ink-muted);
    transition: transform var(--transition);
}

.faq-item[open] summary::after { transform: translateY(-50%) rotate(45deg); }

.faq-item summary:hover { color: var(--accent); }

.faq-item p {
    color: var(--ink-soft);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    padding: var(--space-sm) 0 var(--space-sm);
    margin: 0;
    max-width: 64ch;
}

.faq-fallback {
    margin-top: var(--space-2xl);
    padding-top: var(--space-md);
    border-top: 1px solid var(--rule);
    color: var(--ink-muted);
    font-size: var(--text-sm);
}

.faq-fallback a { color: var(--accent); border-bottom: 1px solid var(--accent); }

@media (max-width: 768px) {
    main { padding-top: 56px; }
    .page-hero { padding: var(--space-xl) 0 var(--space-lg); }
    .page-hero h1 { font-size: clamp(var(--text-3xl), 9vw, var(--text-5xl)); }
    .faq-category { margin-bottom: var(--space-xl); }
    .faq-category h2 { font-size: var(--text-xl); }
}

[data-theme="dark"] .page-hero h1 em { color: var(--accent-strong); }
[data-theme="dark"] .faq-fallback a { color: var(--accent-strong); border-bottom-color: var(--accent-strong); }
