/* FSF Section Titles — frontend.css v1.0.0 */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700;800&family=Lato:wght@300;400;700;900&family=Montserrat:wght@300;400;600;700;800;900&family=Raleway:wght@300;400;600;700;800;900&display=swap');

/* ── Wrapper ── */
.fsft-title-wrap {
    position: relative;
    display:  block;
}

/* ── Titre ── */
.fsft-title {
    margin: 0;
    padding: 0;
    line-height: 1.2;
}

/* ── Accent ── */
.fsft-accent {
    display: inline;
}

/* ── Sous-titre ── */
.fsft-subtitle {
    margin: 8px 0 0;
    line-height: 1.6;
    font-family: 'Lato', sans-serif;
}

/* ═══════════════════════════════════════════
   DÉCORATIONS
═══════════════════════════════════════════ */

/* Barre soulignée */
.fsft-deco-bar {
    display: block;
    border-radius: 2px;
}

/* Points */
.fsft-deco-dots {
    display: flex;
    align-items: center;
}

/* Ligne */
.fsft-deco-line {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Zigzag */
.fsft-deco-zigzag {
    display: block;
}

/* ═══════════════════════════════════════════
   ANIMATIONS
═══════════════════════════════════════════ */
.fsft-anim {
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.fsft-anim.fsft-visible {
    opacity: 1;
    transform: none !important;
}

.fsft-anim-fade-in    { opacity: 0; }
.fsft-anim-fade-up    { opacity: 0; transform: translateY(24px); }
.fsft-anim-slide-left { opacity: 0; transform: translateX(-30px); }
.fsft-anim-slide-right{ opacity: 0; transform: translateX(30px); }
.fsft-anim-zoom       { opacity: 0; transform: scale(0.88); }

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media (max-width: 768px) {
    .fsft-title {
        font-size: clamp(18px, 5vw, 100px) !important;
        letter-spacing: max(0px, var(--fsft-ls, 1px)) !important;
    }
}
