/* ═══════════════════════════════════════════════════════════
   SIPAV — public/css/app.css
   Description : Styles personnalisés (compléments à Tailwind)
   ═══════════════════════════════════════════════════════════ */

/* Variables de la palette SIPAV */
:root {
    --sipav-blue:   #0B2545;
    --sipav-gold:   #C6973F;
    --sipav-ivory:  #FAF6ED;
    --sipav-green:  #1B7A43;
    --sipav-red:    #B7312C;
    --sipav-amber:  #D4920B;
    --sipav-indigo: #2E0854;
    --sipav-sand:   #E8D5B7;
    --sipav-earth:  #8B4513;
}

/* Masque les éléments Alpine.js avant initialisation */
[x-cloak] { display: none !important; }

/* Smooth scrolling global */
html { scroll-behavior: smooth; }

/* Sélection de texte aux couleurs SIPAV */
::selection {
    background-color: var(--sipav-gold);
    color: var(--sipav-blue);
}

/* Scrollbar personnalisée (WebKit) */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--sipav-ivory); }
::-webkit-scrollbar-thumb {
    background: var(--sipav-blue);
    border-radius: 5px;
    border: 2px solid var(--sipav-ivory);
}
::-webkit-scrollbar-thumb:hover { background: var(--sipav-indigo); }

/* Focus visible accessible */
*:focus-visible {
    outline: 3px solid var(--sipav-gold);
    outline-offset: 2px;
}

/* Anti-FOUC pour le toggle de langue Alpine */
[x-data] { opacity: 1; transition: opacity 0.2s; }

/* Effet de hover sur les cartes d'autorité */
.authority-card-hover {
    transition: all 0.25s ease;
}
.authority-card-hover:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -8px rgba(11, 37, 69, 0.2);
}

/* Animation d'apparition générique */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
.fade-in-up { animation: fadeInUp 0.4s ease-out both; }

/* Motif géométrique de fond léger (pour bannières) */
.pattern-kente {
    background-image:
        repeating-linear-gradient(45deg, rgba(198,151,63,0.03) 0 8px, transparent 8px 16px),
        repeating-linear-gradient(-45deg, rgba(11,37,69,0.03) 0 8px, transparent 8px 16px);
}

/* Prose : ajustements pour les pages "À propos" */
.prose h2 { color: var(--sipav-blue); font-family: 'Playfair Display', serif; }
.prose strong { color: var(--sipav-blue); }
.prose a { color: var(--sipav-gold); }

/* Responsive : ajustements typographiques mobiles */
@media (max-width: 640px) {
    h1 { font-size: 1.875rem !important; line-height: 1.2; }
    h2 { font-size: 1.5rem !important; }
}
