/* ============================================================
   CHARTE « ALMANACH LIBERTA » — design-system v1
   Surcouche chargée APRÈS style.css. Re-skinne sans réécrire.
   Périmètre actuel : homepage (.liberta-home). Étendra le site.
   Direction : almanach du terroir — papier crème grainé,
   vert forêt + or de moisson, titres Fraunces.
   ============================================================ */

/* ---- 1. TOKENS (reteinte de la palette existante --ll-*) ---- */
.liberta-home{
  --ll-green:   #1f5135;   /* vert forêt — actions principales */
  --ll-green-l: #6ca583;   /* sauge clair */
  --ll-dark:    #12281b;   /* forêt profond — sections sombres */
  --ll-text:    #26301f;   /* encre olive */
  --ll-muted:   #6b6453;
  --ll-light:   #f4eede;   /* papier */
  --ll-border:  #ddd2b4;   /* filet */
  --ll-cream:   #fbf7ec;   /* carton clair (cartes) */
  --ll-earth:   #a8492b;   /* terre cuite */
  --ll-honey:   #b9842b;   /* or de moisson */
  --ll-gold-l:  #d8a847;
  --ll-radius:  8px;
  --reg-mono:   'Courier Prime', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --reg-line:   rgba(31,81,53,.28);
}

/* ---- 2. FOND PAPIER + TYPO ---- */
.liberta-home{
  font-family:'Spectral',Georgia,serif;
  color:var(--ll-text);
  background-color:var(--ll-light);
  background-image:
    radial-gradient(circle at 12% 6%, rgba(185,132,43,.05), transparent 26%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
}
.liberta-home h1,.liberta-home h2,.liberta-home h3,.liberta-home h4,
.liberta-home .ll-hero-title,.liberta-home .ll-stat-num{
  font-family:'Fraunces',Georgia,serif !important;
  letter-spacing:-.01em;
}

/* ---- 3. HERO ---- */
.liberta-home .ll-hero{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E"),
    radial-gradient(130% 130% at 86% -10%,#2c5a3a 0%,#173324 52%,#10241a 100%);
}
.liberta-home .ll-hero-badge{
  background:var(--ll-gold-l) !important; color:#0e2417 !important;
  font-family:'Fraunces',serif; letter-spacing:.18em; border:none !important;
}
.liberta-home .ll-hero-em{ color:var(--ll-gold-l) !important; font-style:italic; }
.liberta-home .ll-hero-proof span{ color:rgba(255,255,255,.82); }

/* ---- 4. STATS ---- */
.liberta-home .ll-stats{ background:transparent; }
.liberta-home .ll-stats-grid{
  background:var(--ll-cream); border:1px solid var(--ll-border);
  border-radius:var(--ll-radius); overflow:hidden;
}
.liberta-home .ll-stat-num{ color:var(--ll-honey) !important; }
.liberta-home .ll-stat-num .ll-basket-svg{ color:var(--ll-honey); }
.liberta-home .ll-stat-label{ color:var(--ll-muted); }
.liberta-home .ll-stat-sep{ background:var(--ll-border); }

/* ---- 5. EN-TÊTES DE SECTION ---- */
.liberta-home .ll-section-label{
  color:var(--ll-earth) !important; letter-spacing:.16em;
  font-family:'Fraunces',serif; font-weight:600;
}
.liberta-home .ll-section-label::before{ content:"✦ "; color:var(--ll-honey); }
.liberta-home .ll-section-header h2{ color:var(--ll-dark); font-weight:900; }
.liberta-home .ll-section-desc{ color:var(--ll-muted); }

/* ---- 6. CARTES FONCTIONNALITÉS ---- */
.liberta-home .ll-feature-card{
  background:var(--ll-cream); border:1px solid var(--ll-border);
  border-radius:var(--ll-radius);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.liberta-home .ll-feature-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 30px -18px rgba(23,51,36,.45);
  border-color:var(--ll-gold-l);
}
.liberta-home .ll-feature-card.is-highlight{
  border-color:var(--ll-gold-l);
  background:linear-gradient(180deg,#fcf3df,var(--ll-cream));
}
.liberta-home .ll-feature-icon{
  width:54px;height:54px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:26px;background:#efe6d0;border:1px solid var(--ll-border);
}
.liberta-home .ll-feature-card h3{ font-weight:600; color:var(--ll-dark); }
.liberta-home .ll-feature-link{ color:var(--ll-earth); font-weight:600; }

/* ---- 7. BOUTONS ---- */
.liberta-home .ll-btn-primary{
  background:var(--ll-green); border:1px solid #0e2417;
  border-radius:4px; font-family:'Fraunces',serif; font-weight:600;
  transition:background .2s ease, transform .2s ease;
}
.liberta-home .ll-btn-primary:hover{ background:var(--ll-honey); color:#1a1206 !important; transform:translateY(-2px); }
.liberta-home .ll-btn-outline,
.liberta-home .ll-btn-outline-dark{ border-radius:4px; font-family:'Fraunces',serif; font-weight:600; }
.liberta-home .ll-btn-outline-dark{ color:var(--ll-dark) !important; border-color:var(--ll-border) !important; }
.liberta-home .ll-btn-outline-dark:hover{ background:var(--ll-honey); color:#1a1206 !important; border-color:var(--ll-honey) !important; }

/* ---- 8. SECTIONS RETEINTÉES (ex-fonds inline -> classes) ---- */
.liberta-home .ll-band{
  background:#efe7d2; border-top:1px solid var(--ll-border); border-bottom:1px solid var(--ll-border);
  padding:18px 0;
}
.liberta-home .ll-band .ll-band-tag{ background:var(--ll-honey) !important; }
.liberta-home .ll-soft-section{ background:#efe9da; padding:70px 0; }
.liberta-home .ll-dark-section{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E"),
    radial-gradient(120% 120% at 88% 0%,#1f4630,#10241a);
  padding:80px 0;
}

/* ---- 9. SECTIONS SOMBRES NATIVES (colibri / cta) ---- */
.liberta-home .ll-colibri{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E"),
    radial-gradient(120% 120% at 10% 0%,#1f4630,#10241a);
}
.liberta-home .ll-colibri-badge,
.liberta-home .ll-colibri-point-icon{ color:var(--ll-gold-l); }
.liberta-home .ll-unique-tag{ color:var(--ll-gold-l); border-color:rgba(216,168,71,.35); }
.liberta-home .ll-cta{ background:radial-gradient(120% 160% at 80% 0%,#2c5a3a,#10241a); }

/* ---- 10. CATÉGORIES / POUR-QUI / PAIEMENTS / ÉTAPES ---- */
.liberta-home .ll-cat-item,
.liberta-home .ll-forwho-card,
.liberta-home .ll-payment-card,
.liberta-home .ll-step{
  background:var(--ll-cream) !important; border:1px solid var(--ll-border) !important;
  border-radius:var(--ll-radius) !important;
}
.liberta-home .ll-cat-item:hover,
.liberta-home .ll-forwho-card:hover{ border-color:var(--ll-gold-l) !important; }
.liberta-home .ll-cat-name,
.liberta-home .ll-forwho-card h3{ font-family:'Fraunces',serif; color:var(--ll-dark); }
.liberta-home .ll-step-num{ background:var(--ll-green); color:var(--ll-gold-l); font-family:'Fraunces',serif; }

/* ============================================================
   ÉDITORIAL — pages & articles (.lbt-editorial)
   Guides/articles (.lbt-guide), CGU (.cgu-wrap), pages légales.
   Surcharge les <style> internes verts via spécificité body+.entry-content.
   ============================================================ */

/* Feuille de papier */
body.lbt-editorial .entry-content{
  font-family:'Spectral',Georgia,serif;
  color:#26301f;
  background:#fbf7ec;
  border:1px solid #e7dec7;
  border-radius:10px;
  padding:clamp(22px,4vw,52px);
  box-shadow:0 1px 0 #efe7d2;
}

/* Titres Fraunces */
body.lbt-editorial .entry-content h1,
body.lbt-editorial .entry-content h2,
body.lbt-editorial .entry-content h3,
body.lbt-editorial .entry-content h4{
  font-family:'Fraunces',Georgia,serif !important;
  letter-spacing:-.01em;
}
body.lbt-editorial .entry-content h2{
  color:#173324 !important;
  font-weight:900;
  border-bottom:2px solid #ddd2b4 !important;
  padding-bottom:.32rem;
  margin-top:2.2rem;
}
body.lbt-editorial .entry-content h3{ color:#1f5135 !important; font-weight:600; }

/* Liens terre cuite */
body.lbt-editorial .entry-content a{ color:#a8492b; text-decoration-color:rgba(168,73,43,.4); }
body.lbt-editorial .entry-content a:hover{ color:#8a3a22; }

/* Encadrés (blockquote 💡/⚠️/🙋) -> carton + filet or */
body.lbt-editorial .entry-content blockquote{
  background:#f4eede !important;
  border:1px solid #e2d7bb !important;
  border-left:4px solid #b9842b !important;
  border-radius:0 8px 8px 0 !important;
  padding:.9rem 1.2rem !important;
  margin:1.3rem 0 !important;
  color:#3a4133 !important;
}

/* Listes : puce ❧ dorée (uniquement ul) */
body.lbt-editorial .entry-content ul{ list-style:none; padding-left:1.4em; }
body.lbt-editorial .entry-content ul > li{ position:relative; }
body.lbt-editorial .entry-content ul > li::before{
  content:"❧"; position:absolute; left:-1.4em; color:#b9842b; font-size:.95em;
}

/* Tableaux -> grand-livre almanach (bat .lbt-guide-table inline) */
body.lbt-editorial .entry-content table,
body.lbt-editorial .entry-content table.lbt-guide-table{
  border-collapse:collapse !important; width:100%;
  background:var(--ll-white); border:1px solid #ddd2b4 !important;
  border-radius:6px; overflow:hidden; margin:1.3rem 0;
}
body.lbt-editorial .entry-content th,
body.lbt-editorial .entry-content table.lbt-guide-table th{
  background:#173324 !important; color:#f0e6c9 !important;
  font-family:'Fraunces',serif !important; font-weight:600;
  text-align:left; padding:11px 14px !important; border:none !important;
}
body.lbt-editorial .entry-content td,
body.lbt-editorial .entry-content table.lbt-guide-table td{
  border-top:1px solid #e7dec7 !important; padding:11px 14px !important;
}
body.lbt-editorial .entry-content tbody tr:nth-child(even) td{ background:rgba(221,210,180,.18); }

/* hr décoratif */
body.lbt-editorial .entry-content hr{
  border:none; height:1px; background:linear-gradient(90deg,transparent,#ddd2b4,transparent); margin:2rem 0;
}

/* Mobile : tableaux scrollables, jamais de débordement */
@media(max-width:640px){
  body.lbt-editorial .entry-content table,
  body.lbt-editorial .entry-content table.lbt-guide-table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  body.lbt-editorial .entry-content{ padding:18px 16px; }
}

/* Titre de page/article éditorial en Fraunces (cohérence avec le contenu) */
body.lbt-editorial .entry-title,
body.lbt-editorial .ast-single-post-title,
body.lbt-editorial h1.entry-title{
  font-family:'Fraunces',Georgia,serif !important;
  color:#173324 !important; letter-spacing:-.01em;
}

/* Fond chaud autour de la feuille papier (évite le cadre blanc box-in-box) */
body.lbt-editorial .site-content,
body.lbt-editorial #content{ background-color:#ece6d6 !important; }
body.lbt-editorial article.post,
body.lbt-editorial article.page{ background:transparent !important; }
body.lbt-editorial .ast-article-single{ background:transparent !important; border:none !important; box-shadow:none !important; }

/* Méta article (Par / date) en ton sobre, pas bleu */
body.lbt-editorial .entry-meta,
body.lbt-editorial .entry-meta a,
body.lbt-editorial .posted-on a,
body.lbt-editorial .ast-author-meta a{ color:#6b6453 !important; }

/* ============================================================
   LISTE ACTUALITÉS — index blog + archives catégorie
   (body.blog / body.archive.category). N'affecte PAS la boutique
   (archive produit = li.product, sans .ast-article-post).
   ============================================================ */
body.blog .site-content,
body.archive.category .site-content{ background-color:#ece6d6 !important; }

/* Cartes d'article = feuille de papier */
body.blog .ast-article-inner,
body.archive.category .ast-article-inner{
  background:#fbf7ec !important;
  border:1px solid #ddd2b4 !important;
  border-radius:10px !important;
  box-shadow:0 1px 0 #efe7d2 !important;
  padding:26px 26px 22px !important;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body.blog .ast-article-inner:hover,
body.archive.category .ast-article-inner:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 30px -18px rgba(23,51,36,.45);
  border-color:#d8a847 !important;
}

/* Titres Fraunces + liens terre cuite */
body.blog .entry-title,
body.blog .entry-title a,
body.archive.category .entry-title,
body.archive.category .entry-title a{
  font-family:'Fraunces',Georgia,serif !important;
  color:#173324 !important; letter-spacing:-.01em;
}
body.blog .entry-title a:hover,
body.archive.category .entry-title a:hover{ color:#a8492b !important; }

/* Extrait + lire la suite + méta */
body.blog .post-content, body.blog .ast-excerpt-container,
body.archive.category .ast-excerpt-container{ font-family:'Spectral',Georgia,serif; color:#54513f; }
body.blog .read-more a, body.blog .ast-read-more-container a,
body.archive.category .read-more a{
  color:#a8492b !important; font-family:'Fraunces',serif; font-weight:600;
}
body.blog .ast-blog-meta-container, body.blog .post-meta, body.blog .entry-meta,
body.blog .ast-blog-meta-container a, body.blog .entry-meta a{ color:#6b6453 !important; }

/* Titre de page « Actualités » */
body.blog .page-title, body.blog .ast-archive-title,
body.archive.category .ast-archive-title{
  font-family:'Fraunces',Georgia,serif !important; color:#173324 !important;
}

/* ============================================================
   PAGE DON (264) — reskin almanach. Override des .lbt-don-*
   via body.lbt-page-don (bat le <style> interne). Ne touche PAS
   le JS Stripe ni l'élément carte (#lbt-don-card-element).
   ============================================================ */
body.lbt-page-don .site-content{ background-color:#ece6d6 !important; }
body.lbt-page-don #lbt-don-wrap{ font-family:'Spectral',Georgia,serif; }

/* Titres Fraunces */
body.lbt-page-don .lbt-don-hero h1,
body.lbt-page-don .lbt-don-form-card h2,
body.lbt-page-don .lbt-don-pillar h3,
body.lbt-page-don .lbt-don-transparency h3,
body.lbt-page-don #lbt-don-step-success h2{
  font-family:'Fraunces',Georgia,serif !important; color:#173324 !important; letter-spacing:-.01em;
}
body.lbt-page-don #lbt-don-step-success h2{ color:#1f5135 !important; }

/* Badge or */
body.lbt-page-don .lbt-don-badge{
  background:#d8a847 !important; border-color:#c9913a !important; color:#0e2417 !important;
  font-family:'Fraunces',serif;
}

/* Cartes (piliers, transparence, formulaire) en papier crème */
body.lbt-page-don .lbt-don-pillar,
body.lbt-page-don .lbt-don-transparency{
  background:#fbf7ec !important; border:1px solid #ddd2b4 !important; border-radius:10px !important;
}
body.lbt-page-don .lbt-don-form-card{
  background:#fbf7ec !important; border:1px solid #ddd2b4 !important; border-radius:12px !important;
  box-shadow:0 1px 0 #efe7d2 !important;
}

/* Fréquence ponctuel / mensuel */
body.lbt-page-don .lbt-don-freq{ border-color:#ddd2b4 !important; }
body.lbt-page-don .lbt-don-freq-btn{ background:#fbf7ec !important; color:#54513f !important; }
body.lbt-page-don .lbt-don-freq-btn.active{ background:#1f5135 !important; color:var(--ll-white) !important; }

/* Presets montant */
body.lbt-page-don .lbt-don-preset{ background:#fbf7ec !important; border-color:#ddd2b4 !important; color:#3a4133 !important; }
body.lbt-page-don .lbt-don-preset:hover{ border-color:#b9842b !important; color:#a8492b !important; }
body.lbt-page-don .lbt-don-preset.active{ border-color:#b9842b !important; background:#fcf3df !important; color:#8a3a22 !important; }
body.lbt-page-don .lbt-don-custom-input{ border-color:#b9842b !important; }
body.lbt-page-don .lbt-don-field:focus,
body.lbt-page-don .StripeElement--focus{ border-color:#b9842b !important; box-shadow:0 0 0 3px rgba(185,132,43,.12) !important; }

/* Bouton principal forêt -> or au survol */
body.lbt-page-don .lbt-don-btn{ background:#1f5135 !important; border-radius:8px !important; font-family:'Fraunces',serif; }
body.lbt-page-don .lbt-don-btn:hover{ background:#b9842b !important; color:#1a1206 !important; }
body.lbt-page-don .lbt-don-back{ color:#a8492b !important; }

/* Badges sécurité — retint discret */
body.lbt-page-don .lbt-don-sec-badge{ background:#fbf7ec !important; border-color:#e2d7bb !important; }
body.lbt-page-don .lbt-don-sec-label strong{ color:#1f5135 !important; }

/* ============================================================
   PAGE CARTE (17) — chrome almanach. Overrides des verts en dur
   (header, toggle, bouton ajouter). Tuiles Leaflet/OSM, pins et
   popups : INTACTS.
   Un bloc --lm-* (11 jetons) définissait ici une 3e nomenclature
   dupliquant --ll-*/almanach — jamais consommée par aucune règle
   (0 var(--lm-*) dans tout le thème), retiré (D1, Vague 4).
   ============================================================ */
body.lbt-page-carte .site-content{ background-color:#ece6d6 !important; }

/* Header forêt + grain, titre Fraunces, chiffres or */
body.lbt-page-carte .lm-carte-header{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E"),
    radial-gradient(120% 130% at 88% -10%,#2c5a3a,#173324 55%,#10241a) !important;
}
body.lbt-page-carte .lm-carte-title{ font-family:'Fraunces',Georgia,serif !important; }
body.lbt-page-carte .lm-carte-stat span{ color:#d8a847 !important; }

/* Filtres : carton crème */
body.lbt-page-carte .lm-filters-wrap{ background:#fbf7ec !important; border-color:#ddd2b4 !important; }

/* Toggle lieux / événements : barre forêt + actif doré */
body.lbt-page-carte .lm-type-toggle{
  background:radial-gradient(120% 130% at 50% 0%,#1f4630,#10241a) !important;
}
body.lbt-page-carte .lm-type-btn.active{
  background:rgba(216,168,71,.25) !important; border-color:rgba(216,168,71,.55) !important;
}

/* Bouton « ajouter un lieu » : forêt -> or */
body.lbt-page-carte .lm-add-btn{ background:#1f5135 !important; border-radius:6px !important; font-family:'Fraunces',serif; }
body.lbt-page-carte .lm-add-btn:hover{ background:#b9842b !important; }
body.lbt-page-carte .lm-add-btn-outline{ background:transparent !important; color:#a8492b !important; border-color:#ddd2b4 !important; }
body.lbt-page-carte .lm-add-btn-outline:hover{ background:#fcf3df !important; }

/* Cadre carte */
body.lbt-page-carte .lm-map-frame{ border-color:#ddd2b4 !important; }

/* ============================================================
   REFONTE HOMEPAGE — mini-carte, onglets, accordéons, bandeau fusionné
   ============================================================ */

/* Mini-carte en tête de page */
.liberta-home .ll-hero-map-link{ border-color:var(--ll-border) !important; }
.liberta-home .ll-hero-map-badge{
  background:var(--ll-dark) !important; font-family:'Fraunces',serif;
  border-radius:4px;
}
.liberta-home .ll-hero-map-link:hover .ll-hero-map-badge{ background:var(--ll-honey) !important; color:#1a1206 !important; }

/* Bandeau fusionné sous les stats */
.liberta-home .ll-band-row{ border-color:var(--ll-border); }
.liberta-home .ll-band-row .ll-band-tag{ background:var(--ll-honey) !important; }

/* Onglets Fonctionnalités + Pour qui — fond blanc volontairement DÉTACHÉ du panneau
   crème en dessous (affordance de clic explicite, voir feedback_accessibility_public_ui) */
.liberta-home .ll-functions{ background:transparent; }
.liberta-home .ll-tab{
  background:var(--ll-white); border-color:var(--ll-border); color:var(--ll-text);
  font-family:'Fraunces',serif; border-radius:6px;
  box-shadow: 0 3px 0 var(--ll-border), 0 4px 10px -4px rgba(0,0,0,.2);
}
.liberta-home .ll-tab:hover{ border-color:var(--ll-honey); box-shadow: 0 5px 0 var(--ll-honey), 0 8px 14px -4px rgba(0,0,0,.25); }
.liberta-home .ll-tab.active{ background:var(--ll-green); border-color:var(--ll-green); color:var(--ll-white); box-shadow: 0 2px 0 rgba(0,0,0,.3) inset; }
.liberta-home .ll-tabs-hint{ font-family:'Spectral',Georgia,serif; }
.liberta-home .ll-tab-panel-solo{ background:var(--ll-cream); border:1px solid var(--ll-border); border-radius:var(--ll-radius); padding:clamp(24px,4vw,44px); }
.liberta-home .ll-tab-panel-dark{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E"),
    radial-gradient(120% 120% at 10% 0%,#1f4630,#10241a) !important;
}

/* Accordéons (Petites annonces / Ğ1 en 3 clics fusionnés) */
.liberta-home .ll-accordion-toggle{ color:var(--ll-earth); font-family:'Fraunces',serif; }
.liberta-home .ll-accordion-toggle:hover{ color:#8a3a22; }

/* Why + Steps en deux colonnes */
.liberta-home .ll-whysteps-header{ text-align:left; }

/* ============================================================
   HERO V2 — carte plein écran en rupture (Phase 3, refonte homepage,
   direction "hero-b" validée sur maquette). Additif : n'affecte QUE
   .ll-hero.ll-hero-v2, jamais .ll-hero seul (hero v1 intact). Bascule
   via get_option('liberta_home_version') dans homepage-render.php.
   ============================================================ */
.liberta-home .ll-hero.ll-hero-v2{
  /* min-height calibrée pour tenir sous la ligne de flottaison une fois le
     header (topbar + logo + menu, ~150px) déduit — 100svh débordait et ne
     laissait voir que le tiers nord du hero (bug carte "Royaume-Uni au lieu
     de la France" constaté le 19/08). clamp() plutôt que calc(100svh - Xpx) :
     la hauteur du header varie selon la langue (menu qui se replie). */
  padding:0; text-align:left; min-height:clamp(460px, 68svh, 640px);
  display:grid; grid-template-columns:minmax(420px,48%) 1fr; align-items:stretch;
}
.liberta-home .ll-hero-v2-panel{
  position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center;
  padding:clamp(48px,7vw,88px) clamp(24px,4vw,56px);
}
.liberta-home .ll-hero-v2-panel .ll-hero-title{ font-size:clamp(2rem,4vw,3.2rem); }
.liberta-home .ll-hero-v2-panel .ll-hero-sub{ max-width:480px; margin-bottom:26px; }
.liberta-home .ll-hero-v2-panel .ll-hero-actions{ margin-bottom:22px; }
.liberta-home .ll-hero-v2-panel .ll-registre{ margin-top:22px; max-width:380px; }

.liberta-home .ll-hero-v2-search{
  position:relative; display:flex; gap:8px; background:var(--ll-cream); border-radius:10px; padding:6px;
  max-width:460px; margin-bottom:12px; box-shadow:0 10px 24px -14px rgba(0,0,0,.4);
}
.liberta-home .ll-hero-v2-search input{
  flex:1; border:none; background:transparent; font-family:'Spectral',serif; font-size:1rem;
  padding:9px 12px; color:var(--ll-text); border-radius:6px;
}
.liberta-home .ll-hero-v2-search input::placeholder{ color:var(--ll-muted); }
.liberta-home .ll-hero-v2-search input:focus-visible{ outline:2px solid var(--ll-green); outline-offset:-2px; }

.liberta-home .ll-hero-v2-search-results{
  position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:20;
  background:#fff; border-radius:10px; box-shadow:0 4px 16px rgba(0,0,0,.25);
  max-height:280px; overflow-y:auto; text-align:left;
}
.liberta-home .ll-hero-v2-sr-heading{
  padding:8px 14px 4px; font-family:var(--reg-mono); font-size:.72rem; letter-spacing:.04em;
  text-transform:uppercase; color:var(--ll-muted);
}
.liberta-home .ll-hero-v2-sr-item{
  padding:9px 14px; font-family:'Spectral',serif; font-size:.92rem; color:var(--ll-text);
  cursor:pointer;
}
.liberta-home .ll-hero-v2-sr-item:hover{ background:var(--ll-cream); }

.liberta-home .ll-hero-v2-geoloc{
  display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.25); color:#fff; border-radius:20px;
  padding:8px 16px; margin:0 0 24px; cursor:pointer; font-family:'Spectral',serif; font-size:.92rem;
  transition:background .2s ease, border-color .2s ease;
}
.liberta-home .ll-hero-v2-geoloc:hover,
.liberta-home .ll-hero-v2-geoloc:focus-visible{ background:rgba(216,168,71,.2); border-color:var(--ll-gold-l); }
.liberta-home .ll-hero-v2-geoloc.is-loading{ opacity:.6; pointer-events:none; }

.liberta-home .ll-hero-v2-founding{
  color:rgba(255,255,255,.85); font-family:var(--reg-mono); font-size:.8rem;
  line-height:1.5; margin:4px 0 20px; max-width:420px;
}
/* .ll-hero-proof est centré par défaut (hero v1) — le panneau v2 est aligné
   à gauche (text-align:left sur .ll-hero-v2), la ligne de preuve doit suivre. */
.liberta-home .ll-hero-v2-panel .ll-hero-v2-proof{
  justify-content:flex-start; margin-top:4px;
}

.liberta-home .ll-hero-v2-map-wrap{ position:relative; height:100%; min-height:340px; }
.liberta-home .ll-hero-v2-map-wrap .ll-hero-map-link{
  position:absolute; inset:0; border-radius:0; border:none; box-shadow:none; min-height:0;
}
.liberta-home .ll-hero-v2-map-wrap .ll-hero-map{ min-height:0; }

@media(max-width:900px){
  .liberta-home .ll-hero.ll-hero-v2{ grid-template-columns:1fr; min-height:auto; }
  .liberta-home .ll-hero-v2-map-wrap{ min-height:280px; order:-1; }
  .liberta-home .ll-hero-v2-panel{ padding:32px 20px 40px; }
}
@media(max-width:640px){
  .liberta-home .ll-hero-v2-search{ flex-wrap:wrap; }
  .liberta-home .ll-hero-v2-search input,
  .liberta-home .ll-hero-v2-search button{ flex:1 1 100%; }
}
@media(prefers-reduced-motion:reduce){
  .liberta-home .ll-hero-v2-geoloc{ transition:none; }
}

/* ============================================================
   OBJECTIF DE DONS SUR LA CTA FINALE (Phase 5, hero v2 uniquement)
   /don/ définit .lbt-don-goal en <style> INLINE (don.php), donc absent
   ailleurs — recréé ici en jetons Almanach plutôt que d'importer la
   palette vert-500 plate du <style> interne (incohérence déjà notée,
   hors périmètre de correction ici).
   ============================================================ */
.liberta-home .ll-cta-goal{
  margin-top:28px; padding:20px 24px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18); border-radius:var(--ll-radius); max-width:420px;
}
.liberta-home .ll-cta-goal h3{
  font-size:15px; font-weight:700; margin:0 0 12px; color:var(--ll-gold-l) !important;
  font-family:'Fraunces',serif;
}
.liberta-home .ll-cta-goal .lbt-don-goal-bar{
  background:rgba(255,255,255,.15); border-radius:999px; height:10px; overflow:hidden;
}
.liberta-home .ll-cta-goal .lbt-don-goal-fill{ background:var(--ll-gold-l); height:100%; border-radius:999px; transition:width .4s ease; }
.liberta-home .ll-cta-goal .lbt-don-goal-text{ font-size:14px; color:rgba(255,255,255,.82); margin:10px 0 0; }
.liberta-home .ll-cta-goal .lbt-don-goal-text strong{ color:#fff; }
@media(prefers-reduced-motion:reduce){
  .liberta-home .ll-cta-goal .lbt-don-goal-fill{ transition:none; }
}

/* ============================================================
   RÉVÉLATION AU SCROLL — hero v2 uniquement (Phase 6). N'existe QUE
   sous prefers-reduced-motion:no-preference : un visiteur en mouvement
   réduit voit tout immédiatement, sans dépendre du JS pour le savoir
   (liberta_hp_v2_motion_js() ajoute juste .ll-revealed au bon moment).
   Le hero (.ll-hero-v2) est explicitly exclu — jamais masqué.
   ============================================================ */
@media(prefers-reduced-motion:no-preference){
  .liberta-home.ll-home-v2 > section:not(.ll-hero-v2){
    opacity:0; transform:translateY(20px);
    transition:opacity .6s ease, transform .6s ease;
  }
  .liberta-home.ll-home-v2 > section.ll-revealed{ opacity:1; transform:none; }
}

/* ============================================================
   SECTION "COMMENT ÇA MARCHE" (hero v2 uniquement) — bug trouvé le 05/08
   en revue desktop : réutilisait .ll-steps-grid-vertical (margin:0 0 28px,
   PAS de centrage auto — conçu pour une demi-colonne étroite dans l'ancien
   layout à 2 colonnes) dans un .ll-container pleine largeur → bloc collé à
   gauche avec un grand vide à droite. Remplacé par .ll-steps-grid
   (horizontal, déjà centré nativement) dans homepage-sections.php.
   Ici : le texte d'en-tête (.ll-section-header h2 = var(--ll-dark), quasi
   noir) et la flèche (var(--ll-border), beige clair) étaient conçus pour un
   fond clair — invisibles sur .ll-dark-section. Même patron que
   .ll-colibri .ll-section-header h2 déjà en place (style.css:970).
   ============================================================ */
.liberta-home .ll-steps-solo .ll-section-label{ color:var(--ll-gold-l) !important; }
.liberta-home .ll-steps-solo .ll-section-header h2{ color:#fff !important; }
.liberta-home .ll-steps-solo .ll-step-arrow{ color:var(--ll-gold-l); }
