/* ═══════════════════════════════════════════════════════════════════════════
   FermesIntegree — Landing Page Styles (Inspinia template)
   Requiert fi-theme.css pour les variables :root
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── RESET PAGE ─────────────────────────────────────────────────────────── */
.fi-land {
    font-family: var(--fi-body, 'Outfit', system-ui, sans-serif);
    overflow-x: hidden;
}

.fi-full {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

/* ── NAVBAR LANDING ─────────────────────────────────────────────────────── */
.fi-land-nav {
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(15,74,36,.1);
    /* hauteur fixe — le brand ne peut plus l'étirer */
    min-height: 7em;
    height: 7em;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1030;
    transition: box-shadow .25s ease;
}
/* le container intérieur centre verticalement tout le contenu */
.fi-land-nav > .container {
    height: 100%;
    display: flex;
    align-items: center;
}
.fi-land-nav.fi-scrolled {
    box-shadow: 0 4px 28px rgba(0,0,0,.09);
}
.fi-land-nav-brand {
    font-family: var(--fi-display, 'Cormorant Garamond', Georgia, serif);
    font-size: 1.6rem;
    font-weight: 700;
    color: #0f4a24;
    text-decoration: none;
    letter-spacing: -.01em;
    transition: color .2s;
    /* empêche le brand d'influer sur la hauteur du flex parent */
    line-height: 1;
    align-self: center;
    flex-shrink: 0;
}
.fi-land-nav-brand:hover { color: #25a352; }
.fi-land-nav-brand span { color: #25a352; }

.fi-land-toggler {
    border: 1px solid rgba(15,74,36,.25);
    background: rgba(15,74,36,.07);
    border-radius: 8px;
    padding: .35rem .55rem;
    color: #0f4a24;
}
.fi-land-toggler:focus { box-shadow: none; }

.fi-land-nav-link {
    color: rgba(15,74,36,.78) !important;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 8px;
    padding: .5rem 1rem !important;
    transition: color .2s, background .2s;
    position: relative;
    letter-spacing: .01em;
    white-space: nowrap;
}
.fi-land-nav-link:hover {
    color: #0f4a24 !important;
    background: rgba(15,74,36,.07);
}
.fi-land-nav-link.fi-land-active {
    color: #0f4a24 !important;
    background: rgba(15,74,36,.1);
    font-weight: 600;
}
.fi-land-nav-link.fi-land-active::after {
    content: '';
    position: absolute;
    bottom: 3px;
    left: 1rem;
    right: 1rem;
    height: 2px;
    background: #25a352;
    border-radius: 2px;
}

/* Bouton Connexion — style outline */
.fi-land-nav-login {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #0f4a24 !important;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 10px;
    padding: .48rem 1.1rem;
    border: 1.5px solid rgba(15,74,36,.3);
    text-decoration: none;
    transition: background .2s, border-color .2s;
    white-space: nowrap;
    letter-spacing: .01em;
}
.fi-land-nav-login:hover {
    background: rgba(15,74,36,.06);
    border-color: rgba(15,74,36,.55);
    color: #0f4a24 !important;
}

.fi-land-cta {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    background: #25a352 !important;
    color: #fff !important;
    border-radius: 10px !important;
    font-size: 1rem;
    font-weight: 600;
    padding: .48rem 1.3rem;
    border: none;
    transition: background .2s, transform .15s, box-shadow .2s;
    text-decoration: none;
    white-space: nowrap;
    letter-spacing: .01em;
}
.fi-land-cta:hover {
    background: #1a7a3c !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(37,163,82,.35);
    color: #fff !important;
}

.fi-land-nav-dashboard {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    background: rgba(15,74,36,.08);
    color: #0f4a24 !important;
    border: 1.5px solid rgba(15,74,36,.22);
    border-radius: 10px !important;
    font-weight: 600;
    font-size: 1rem;
    padding: .48rem 1.1rem;
    text-decoration: none;
    transition: background .2s, border-color .2s;
    white-space: nowrap;
}
.fi-land-nav-dashboard:hover {
    background: rgba(15,74,36,.14);
    border-color: rgba(15,74,36,.4);
    color: #0f4a24 !important;
}

/* ── SÉLECTEUR DE LANGUE ─────────────────────────────────────────────────── */
.fi-lang-drop-btn {
    display: flex;
    align-items: center;
    gap: .45rem;
    background: rgba(15,74,36,.07);
    border: 1px solid rgba(15,74,36,.2);
    border-radius: 50px;
    padding: .38rem .85rem .38rem .65rem;
    font-size: .82rem;
    font-weight: 600;
    color: rgba(15,74,36,.82);
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
    white-space: nowrap;
    line-height: 1;
    letter-spacing: .02em;
}
.fi-lang-drop-btn:hover,
.fi-lang-drop-btn[aria-expanded="true"] {
    background: rgba(15,74,36,.13);
    border-color: rgba(15,74,36,.35);
    color: #0f4a24;
}
.fi-lang-drop-btn .fi-lang-flag { font-size: 1rem; line-height: 1; }
.fi-lang-drop-btn .fi-lang-code { text-transform: uppercase; letter-spacing: .06em; font-size: .75rem; }
.fi-lang-drop-btn .fi-lang-chevron {
    font-size: .78rem;
    opacity: .7;
    margin-left: .1rem;
    transition: transform .2s;
}
.fi-lang-drop-btn[aria-expanded="true"] .fi-lang-chevron { transform: rotate(180deg); }

.fi-lang-menu {
    min-width: 160px;
    padding: .35rem;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(12,54,28,.97);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 16px 48px rgba(0,0,0,.35), 0 4px 16px rgba(0,0,0,.2);
    margin-top: .4rem !important;
}
.fi-lang-item {
    display: flex;
    align-items: center;
    gap: .6rem;
    width: 100%;
    border-radius: 9px;
    padding: .55rem .8rem;
    font-size: .88rem;
    font-weight: 500;
    color: rgba(255,255,255,.78);
    text-decoration: none;
    transition: background .15s, color .15s;
}
.fi-lang-item:hover { background: rgba(255,255,255,.1); color: #fff; }
.fi-lang-item.fi-lang-item-active {
    background: rgba(74,222,128,.15);
    color: #4ade80;
    font-weight: 700;
}
.fi-lang-item-flag { font-size: 1.1rem; line-height: 1; }
.fi-lang-item-check { margin-left: auto; font-size: .75rem; opacity: .85; }

/* ── SCROLL ANCHORS ─────────────────────────────────────────────────────── */
#stats, #features, #pricing, #cta {
    scroll-margin-top: 74px;
}

/* ── SCROLL-TO-TOP BUTTON ───────────────────────────────────────────────── */
#fi-top-btn {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 1040;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a7a3c, #4ade80);
    color: #fff;
    font-size: 1.1rem;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(26,122,60,.4);
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    transition: opacity .3s ease, transform .3s ease, visibility .3s ease, box-shadow .25s;
}
#fi-top-btn.fi-top-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
#fi-top-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(26,122,60,.6);
}

/* ── HERO ───────────────────────────────────────────────────────────────── */
.fi-hero {
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding: calc(5.5rem + 66px) 1.5rem 5rem;
    background:
        radial-gradient(ellipse at 12% 58%, rgba(15,74,36,.98) 0%, transparent 52%),
        radial-gradient(ellipse at 82% 18%, rgba(26,122,60,.80) 0%, transparent 46%),
        radial-gradient(ellipse at 55% 92%, rgba(26,122,60,.30) 0%, transparent 36%),
        #0d3d1c;
}

.fi-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    pointer-events: none;
    animation: fi-drift 10s ease-in-out infinite alternate;
}
.fi-blob-1 { width:640px; height:640px; background:radial-gradient(circle,rgba(30,130,65,.80),transparent); top:-150px; left:-110px; }
.fi-blob-2 { width:480px; height:480px; background:radial-gradient(circle,rgba(26,122,60,.45),transparent); bottom:-80px; right:10%; animation-delay:-4s; }
.fi-blob-3 { width:360px; height:360px; background:radial-gradient(circle,rgba(74,222,128,.28),transparent); top:36%; right:-55px; animation-delay:-7s; }

@keyframes fi-drift {
    0%   { transform: translate(0,0) scale(1); }
    100% { transform: translate(22px,-26px) scale(1.09); }
}

/* Hero eyebrow */
.fi-eyebrow {
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: #4ade80;
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: 1.25rem;
}
.fi-eyebrow::before {
    content: '';
    display: inline-block;
    width: 2rem;
    height: 2px;
    background: #4ade80;
    border-radius: 2px;
}

/* Hero title */
.fi-h1 {
    font-family: var(--fi-display, 'Cormorant Garamond', Georgia, serif);
    font-size: clamp(2.4rem, 5vw, 4.2rem);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -.02em;
    color: #f0fdf4;
    margin-bottom: 1.5rem;
}
.fi-h1 em { font-style: italic; color: #4ade80; }

.fi-lead {
    font-size: 1.05rem;
    font-weight: 300;
    color: rgba(240,253,244,.72);
    line-height: 1.75;
    max-width: 510px;
    margin-bottom: 2.5rem;
}

/* Hero buttons */
.fi-btn-solid {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .875rem 2rem;
    background: linear-gradient(135deg, #1a7a3c, #4ade80);
    color: #fff;
    font-weight: 700;
    font-size: .95rem;
    border-radius: 50px;
    border: none;
    text-decoration: none;
    box-shadow: 0 4px 24px rgba(74,222,128,.4);
    transition: all .3s ease;
}
.fi-btn-solid:hover { transform: translateY(-2px); box-shadow: 0 8px 36px rgba(74,222,128,.6); color: #fff; }

.fi-btn-glass {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .875rem 2rem;
    background: rgba(255,255,255,.18);
    color: #f0fdf4;
    font-weight: 500;
    font-size: .95rem;
    border-radius: 50px;
    border: 1px solid rgba(255,255,255,.38);
    text-decoration: none;
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    transition: all .3s ease;
}
.fi-btn-glass:hover { background: rgba(255,255,255,.30); color: #4ade80; border-color: #4ade80; transform: translateY(-2px); }

/* Module grid hero */
.fi-mods {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}
.fi-mod {
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 20px;
    padding: 1.5rem 1rem;
    text-align: center;
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    transition: all .35s ease;
    cursor: default;
    box-shadow: 0 8px 32px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.45);
}
.fi-mod:hover { background: rgba(255,255,255,.30); border-color: rgba(255,255,255,.6); transform: translateY(-5px); }
.fi-mod .ico { font-size: 2rem; display: block; margin-bottom: .4rem; }
.fi-mod .lbl { font-size: .72rem; font-weight: 600; color: rgba(240,253,244,.85); letter-spacing: .04em; }

/* Proverbe card hero */
.fi-proverbe-card {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.38);
    border-left: 3px solid #4ade80;
    border-radius: 16px;
    padding: 1rem 1.25rem;
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    box-shadow: 0 8px 32px rgba(0,0,0,.18);
    margin-bottom: 1.5rem;
}
.fi-proverbe-leaf { font-size: 1.5rem; flex-shrink: 0; }
.fi-proverbe-label {
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #4ade80;
    display: block;
    margin-bottom: .2rem;
}
.fi-proverbe-quote { margin: 0; font-style: italic; font-size: .95rem; line-height: 1.55; color: rgba(240,253,244,.88); }

/* ── SECTIONS UTILITAIRES ───────────────────────────────────────────────── */
.fi-sec     { padding: 5.5rem 0; }
.fi-sec-lbl { font-size: .68rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: #1a7a3c; margin-bottom: .6rem; }
.fi-sec-h   { font-family: var(--fi-display, 'Cormorant Garamond', Georgia, serif); font-size: clamp(1.9rem,3.8vw,3rem); font-weight: 700; color: #1a2e22; line-height: 1.12; margin-bottom: .75rem; }
.fi-sec-h em { font-style: italic; color: #1a7a3c; }
.fi-sec-sub  { font-size: .95rem; font-weight: 300; color: #3d5c4e; line-height: 1.7; max-width: 480px; }
.fi-hr       { border: none; height: 1px; background: linear-gradient(to right, transparent, #c8e6c9, transparent); margin: 0; }

/* ── BAND (fond vert clair) ─────────────────────────────────────────────── */
.fi-band {
    background:
        radial-gradient(ellipse at 20% 40%, rgba(26,122,60,.18) 0%, transparent 55%),
        radial-gradient(ellipse at 75% 60%, rgba(15,74,36,.12) 0%, transparent 50%),
        #f0fdf4;
}

/* ── STATS ──────────────────────────────────────────────────────────────── */
.fi-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}
.fi-stat {
    background: rgba(255,255,255,.75);
    border: 1px solid #c8e6c9;
    border-radius: 22px;
    padding: 2.25rem 1.5rem;
    text-align: center;
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    position: relative;
    overflow: hidden;
    transition: all .3s ease;
    box-shadow: 0 4px 20px rgba(15,74,36,.08), inset 0 1px 0 rgba(255,255,255,.9);
}
.fi-stat::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(74,222,128,.06),transparent); border-radius:inherit; }
.fi-stat:hover { transform: translateY(-5px); border-color: #86efac; box-shadow: 0 20px 50px rgba(15,74,36,.12); }
.fi-stat-n {
    font-family: var(--fi-display, 'Cormorant Garamond', Georgia, serif);
    font-size: 3.6rem;
    font-weight: 700;
    color: #1a7a3c;
    line-height: 1;
    margin-bottom: .5rem;
}
.fi-stat-l { font-size: .72rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: #3d5c4e; }

/* ── FEATURES ───────────────────────────────────────────────────────────── */
.fi-feats { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
.fi-feat {
    background: rgba(255,255,255,.80);
    border: 1px solid #c8e6c9;
    border-radius: 22px;
    padding: 2.25rem 1.875rem;
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    transition: all .35s ease;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(15,74,36,.08), inset 0 1px 0 rgba(255,255,255,.9);
}
.fi-feat::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,#1a7a3c,transparent); opacity:0; transition:opacity .35s ease; }
.fi-feat:hover { background:#fff; transform:translateY(-6px); box-shadow:0 20px 50px rgba(15,74,36,.12); border-color:#86efac; }
.fi-feat:hover::after { opacity:1; }
.fi-feat-ico {
    width: 54px; height: 54px;
    border-radius: 15px;
    background: rgba(74,222,128,.12);
    border: 1px solid #86efac;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1.25rem;
    font-size: 1.6rem;
}
.fi-feat-t { font-size: 1rem; font-weight: 600; color: #1a2e22; margin-bottom: .5rem; font-family: 'Outfit', system-ui, sans-serif; }
.fi-feat-d { font-size: .85rem; font-weight: 300; color: #3d5c4e; line-height: 1.7; margin: 0; }

/* ── MARKETPLACE CARDS ──────────────────────────────────────────────────── */
.fi-pub {
    background: #fff;
    border: 1px solid #d4e8da;
    border-radius: 22px;
    overflow: hidden;
    transition: all .35s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 12px rgba(15,74,36,.07);
}
.fi-pub:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(15,74,36,.14); border-color:#86efac; }
.fi-pub-ph { width:100%; height:180px; display:flex; align-items:center; justify-content:center; background:#e8f5e9; font-size:3rem; }
.fi-pub-bdy { padding:1.25rem; flex:1; display:flex; flex-direction:column; }
.fi-pub-cat { font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#1a7a3c; margin-bottom:.35rem; }
.fi-pub-nm  { font-size:.95rem; font-weight:600; color:#1a2e22; margin-bottom:.2rem; }
.fi-pub-tn  { font-size:.72rem; color:#3d5c4e; margin-bottom:.75rem; }
.fi-pub-pr  { font-family: var(--fi-display, 'Cormorant Garamond', Georgia, serif); font-size:1.35rem; font-weight:700; color:#0f4a24; flex:1; }
.fi-pub-cta {
    display:block; text-align:center; margin-top:.75rem; padding:.5rem;
    background:#e8f5e9; border:1px solid #a7d7b3; border-radius:11px;
    color:#1a7a3c; font-size:.78rem; font-weight:600; text-decoration:none; transition:all .2s;
}
.fi-pub-cta:hover { background:#d1f0da; color:#0f4a24; }

/* ── PRICING (dark band) ────────────────────────────────────────────────── */
.fi-plans-band {
    background:
        radial-gradient(ellipse at 15% 50%, rgba(26,122,60,.9) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 30%, rgba(15,74,36,.8) 0%, transparent 50%),
        #0d3d1c;
    padding: 5.5rem 0;
}
.fi-plans-band .fi-sec-lbl { color: #4ade80; }
.fi-plans-band .fi-sec-h   { color: #f0fdf4; }
.fi-plans-band .fi-sec-h em{ color: #4ade80; }
.fi-plans-band .fi-sec-sub { color: rgba(240,253,244,.65); }

.fi-plan {
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 26px;
    padding: 2.5rem 2rem;
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    transition: all .35s ease;
    position: relative;
    box-shadow: 0 8px 32px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.4);
    height: 100%;
}
.fi-plan.fi-plan-star {
    background: rgba(255,255,255,.26);
    border-color: rgba(255,255,255,.55);
    box-shadow: 0 0 60px rgba(74,222,128,.12), 0 8px 32px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.55);
}
.fi-plan:hover { transform: translateY(-6px); }
.fi-plan-badge {
    position: absolute;
    top: -14px; left: 50%; transform: translateX(-50%);
    background: linear-gradient(135deg, #1a7a3c, #4ade80);
    color: #fff;
    font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
    padding: .3rem 1.25rem; border-radius: 50px; white-space: nowrap;
}
.fi-plan-nm  { font-family: var(--fi-display, 'Cormorant Garamond', Georgia, serif); font-size: 1.6rem; font-weight: 700; color: #f0fdf4; margin-bottom: .15rem; }
.fi-plan-pr  { font-family: var(--fi-display, 'Cormorant Garamond', Georgia, serif); font-size: 3rem; font-weight: 700; color: #4ade80; line-height: 1; margin: 1rem 0; }
.fi-plan-pr small { font-family: 'Outfit', system-ui, sans-serif; font-size: .85rem; font-weight: 500; color: rgba(240,253,244,.8); }
.fi-plan-dsc { font-size: .9rem; color: rgba(240,253,244,.88); margin-bottom: 1.5rem; min-height: 2.4rem; line-height: 1.55; }
.fi-plan-ul  { list-style: none; padding: 0; margin: 0 0 2rem; }
.fi-plan-ul li {
    font-size: .9rem; color: rgba(240,253,244,.95);
    padding: .35rem 0;
    display: flex; align-items: center; gap: .6rem; line-height: 1.45;
}
.fi-plan-ul li i { color: #4ade80; font-size: .85rem; flex-shrink: 0; }
.fi-plan-btn { display: block; text-align: center; padding: .85rem; border-radius: 14px; font-weight: 600; font-size: .88rem; text-decoration: none; transition: all .3s ease; }
.fi-plan-btn-out { background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.38); color: #f0fdf4; }
.fi-plan-btn-out:hover { background: rgba(255,255,255,.30); border-color: #4ade80; color: #4ade80; }
.fi-plan-btn-fill { background: linear-gradient(135deg, #1a7a3c, #4ade80); border: none; color: #fff; box-shadow: 0 4px 24px rgba(74,222,128,.35); }
.fi-plan-btn-fill:hover { transform: translateY(-2px); box-shadow: 0 8px 36px rgba(74,222,128,.55); color: #fff; }

/* ── CTA FINAL ──────────────────────────────────────────────────────────── */
.fi-cta {
    padding: 7rem 1.5rem;
    background: radial-gradient(ellipse at center, rgba(26,122,60,.95) 0%, #0d3d1c 65%);
    position: relative;
    overflow: hidden;
    text-align: center;
}
.fi-cta-h  { font-family: var(--fi-display, 'Cormorant Garamond', Georgia, serif); font-size: clamp(2.5rem,5.5vw,4.25rem); font-weight: 700; color: #f0fdf4; margin-bottom: 1rem; }
.fi-cta-h em { font-style: italic; color: #4ade80; }
.fi-cta-sub { font-size: 1.05rem; font-weight: 300; color: rgba(240,253,244,.65); margin-bottom: 2.75rem; }

/* ── FOOTER LANDING ─────────────────────────────────────────────────────── */
.fi-foot {
    background: linear-gradient(135deg, #051a0f, #0f4a24);
    color: rgba(240,253,244,.75);
    padding: 4rem 0 1.5rem;
    border-top: 1px solid rgba(74,222,128,.12);
}
.fi-foot-brand {
    font-family: var(--fi-display, 'Cormorant Garamond', Georgia, serif);
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.fi-logo {
    width: auto;
    height: 3em;
    object-fit: contain;
}
.fi-foot-brand:hover { color: #4ade80; }
.fi-foot-brand span { color: #4ade80; }
.fi-foot-tagline { font-size: .88rem; color: rgba(240,253,244,.55); margin-top: .25rem; }

.fi-foot-h {
    font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    color: #4ade80; margin-bottom: .875rem;
    font-family: 'Outfit', system-ui, sans-serif;
}
.fi-foot-links { list-style: none; padding: 0; margin: 0; }
.fi-foot-links li + li { margin-top: .4rem; }
.fi-foot-links a {
    font-size: .9rem; color: rgba(240,253,244,.65);
    text-decoration: none; transition: color .2s;
}
.fi-foot-links a:hover { color: #4ade80; }

.fi-foot-copy {
    font-size: .82rem; color: rgba(240,253,244,.4);
    margin-top: 2.5rem; padding-top: 1.25rem;
    border-top: 1px solid rgba(74,222,128,.1);
    text-align: center;
}

/* ── SCROLL REVEAL ──────────────────────────────────────────────────────── */
.fi-r { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.fi-r.fi-vis { opacity: 1; transform: translateY(0); }
.fi-r.d1 { transition-delay: .1s; }
.fi-r.d2 { transition-delay: .2s; }
.fi-r.d3 { transition-delay: .3s; }
.fi-r.d4 { transition-delay: .4s; }

/* ── RESPONSIVE ─────────────────────────────────────────────────────────── */
@media (max-width: 991.98px) {
    .fi-feats { grid-template-columns: repeat(2,1fr); }

    /* ── NAVBAR MOBILE : libère la hauteur fixe ── */
    .fi-land-nav {
        height: auto !important;
        min-height: 5rem;
        padding: 0;
    }

   

    /* Le container doit pouvoir s'étirer verticalement */
    .fi-land-nav > .container {
        height: auto !important;
        min-height: 5rem;
        flex-wrap: wrap;
        align-items: center;
        padding-top: .5rem;
        padding-bottom: .5rem;
        row-gap: 0;
    }

    /* ── Panneau déroulant : fond solide pour rendre les liens visibles ── */
    .fi-land-nav .navbar-collapse {
        width: 100%;
        /* Fond blanc opaque — empêche le fond sombre Hero de transparaître */
        background: rgba(255, 255, 255, .98);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border-top: 1px solid rgba(15, 74, 36, .12);
        border-radius: 0 0 18px 18px;
        padding: .75rem 1rem 1.25rem;
        box-shadow: 0 14px 36px rgba(15, 74, 36, .15);
        /* Aligne avec les bords du container en compensant le padding Bootstrap */
        margin-left: calc(var(--bs-gutter-x, 1.5rem) * -.5);
        margin-right: calc(var(--bs-gutter-x, 1.5rem) * -.5);
    }

    /* ── Liens nav sur fond blanc ── */
    .fi-land-nav .navbar-collapse .fi-land-nav-link {
        color: rgba(15, 74, 36, .85) !important;
        padding: .65rem 1rem !important;
        border-radius: 10px;
        display: flex;
        align-items: center;
        width: 100%;
    }
    .fi-land-nav .navbar-collapse .fi-land-nav-link:hover {
        color: #0f4a24 !important;
        background: rgba(15, 74, 36, .07);
    }
    .fi-land-nav .navbar-collapse .fi-land-nav-link.fi-land-active {
        color: #0f4a24 !important;
        background: rgba(15, 74, 36, .09);
    }

    /* ── Zone boutons auth / langue : colonne centrée ── */
    .fi-land-nav .navbar-collapse .d-flex.align-items-center {
        flex-direction: column;
        align-items: stretch !important;
        gap: .5rem !important;
        margin-top: .875rem;
        padding-top: .875rem;
        border-top: 1px solid rgba(15, 74, 36, .1);
    }

    /* ── Boutons dashboard / connexion pleine largeur sur mobile ── */
    .fi-land-nav .navbar-collapse .fi-land-nav-dashboard,
    .fi-land-nav .navbar-collapse .fi-land-nav-login,
    .fi-land-nav .navbar-collapse a.fi-land-nav-link.text-white {
        width: 100%;
        justify-content: center;
        text-align: center;
        color: rgba(15, 74, 36, .88) !important;
    }

    /* ── Sélecteur de langue : pleine largeur ── */
    .fi-lang-menu { width: 100%; border-radius: 10px; }
    .fi-lang-drop-btn {
        width: 100%;
        justify-content: flex-start;
        border-radius: 8px;
    }
}

@media (max-width: 768px) {
    .fi-stats { grid-template-columns: repeat(2,1fr); }
    .fi-hero  { padding: calc(5rem + 66px) 1rem 3.5rem; }
    .fi-mods  { gap: .5rem; }
    .fi-mod   { padding: .875rem .5rem; }
    .fi-mod .ico { font-size: 1.6rem; }
    .fi-h1    { font-size: 2.6rem; }
}
@media (max-width: 560px) {
    .fi-feats { grid-template-columns: 1fr; }
    .fi-mods  { grid-template-columns: repeat(2,1fr); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   AUTH SECTION — utilisé sur les pages Account/Login, Account/Register
   Intégré dans _LandingLayout (navbar fixe de 7em)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Wrapper principal — compense la navbar fixe */
.fi-auth-section {
    padding-top: 8em;
    background: #f7faf8;
    min-height: 80vh;
}

/* Carte centrale */
.fi-auth-card {
    background: #ffffff;
    border: 1px solid #d4e8da;
    border-radius: 24px;
    padding: 2.5rem 2rem;
    box-shadow:
        0 4px 24px rgba(15, 74, 36, .08),
        0 1px 4px rgba(15, 74, 36, .05);
    text-align: center;
}

/* Logo */
.fi-auth-logo {
    width: 64px;
    height: 64px;
    margin: 0 auto 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(74, 222, 128, .1);
    border: 1px solid #86efac;
    border-radius: 18px;
    font-size: 2rem;
    line-height: 1;
}

.fi-auth-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: inherit;
}

/* Titre + sous-titre */
.fi-auth-title {
    font-family: var(--fi-display, 'Cormorant Garamond', Georgia, serif);
    font-size: 1.85rem;
    font-weight: 700;
    color: #0f4a24;
    margin-bottom: .3rem;
}
.fi-auth-sub {
    font-size: .88rem;
    color: #3d5c4e;
    margin-bottom: 1.75rem;
}

/* Formulaire */
.fi-auth-form { text-align: left; }
.fi-auth-label {
    font-size: .8rem;
    font-weight: 600;
    color: #1a2e22;
    letter-spacing: .02em;
    margin-bottom: .35rem;
    display: block;
}

/* Input group addon */
.fi-auth-ig {
    background: rgba(74, 222, 128, .08);
    border-color: #c8e6c9;
    color: #1a7a3c;
    border-right: none;
}

/* Champ texte */
.fi-auth-input {
    border-color: #c8e6c9;
    background: #fafefc;
    font-size: .92rem;
    color: #1a2e22;
    transition: border-color .2s, box-shadow .2s;
}
.fi-auth-input:focus {
    border-color: #25a352;
    box-shadow: 0 0 0 .2rem rgba(37, 163, 82, .18);
    background: #ffffff;
}

/* Bouton soumettre */
.fi-auth-submit {
    background: linear-gradient(135deg, #1a7a3c, #4ade80);
    color: #ffffff;
    font-weight: 700;
    font-size: .95rem;
    border: none;
    border-radius: 12px;
    padding: .75rem;
    transition: all .3s ease;
    box-shadow: 0 4px 18px rgba(74, 222, 128, .35);
}
.fi-auth-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(74, 222, 128, .55);
    color: #ffffff;
}
.fi-auth-submit:active { transform: translateY(0); }

/* Liens secondaires */
.fi-auth-links {
    border-top: 1px solid #e8f5e9;
    padding-top: 1rem;
    margin-top: 1rem;
}
.fi-auth-back {
    font-size: .85rem;
    color: #1a7a3c;
    text-decoration: none;
    transition: color .2s;
}
.fi-auth-back:hover { color: #0f4a24; text-decoration: underline; }

/* Bouton toggle visibilité mot de passe */
.fi-auth-eye {
    background: rgba(74, 222, 128, .08);
    border: 1px solid #c8e6c9;
    border-left: none;
    color: #1a7a3c;
    padding: 0 .75rem;
    border-radius: 0 10px 10px 0;
    transition: background .2s, color .2s, border-color .2s;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    outline: none;
}
.fi-auth-eye:hover {
    background: rgba(74, 222, 128, .2);
    color: #0f4a24;
    border-color: #86efac;
}
.fi-auth-eye:focus {
    box-shadow: 0 0 0 .2rem rgba(37, 163, 82, .18);
    border-color: #25a352;
    outline: none;
}
.fi-auth-eye i { font-size: 1rem; pointer-events: none; }
