/* ============================================================
   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;
}

/* ---- 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:#fff; 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.page-id-264 (bat le <style> interne). Ne touche PAS
   le JS Stripe ni l'élément carte (#lbt-don-card-element).
   ============================================================ */
body.page-id-264 .site-content{ background-color:#ece6d6 !important; }
body.page-id-264 #lbt-don-wrap{ font-family:'Spectral',Georgia,serif; }

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

/* Badge or */
body.page-id-264 .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.page-id-264 .lbt-don-pillar,
body.page-id-264 .lbt-don-transparency{
  background:#fbf7ec !important; border:1px solid #ddd2b4 !important; border-radius:10px !important;
}
body.page-id-264 .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.page-id-264 .lbt-don-freq{ border-color:#ddd2b4 !important; }
body.page-id-264 .lbt-don-freq-btn{ background:#fbf7ec !important; color:#54513f !important; }
body.page-id-264 .lbt-don-freq-btn.active{ background:#1f5135 !important; color:#fff !important; }

/* Presets montant */
body.page-id-264 .lbt-don-preset{ background:#fbf7ec !important; border-color:#ddd2b4 !important; color:#3a4133 !important; }
body.page-id-264 .lbt-don-preset:hover{ border-color:#b9842b !important; color:#a8492b !important; }
body.page-id-264 .lbt-don-preset.active{ border-color:#b9842b !important; background:#fcf3df !important; color:#8a3a22 !important; }
body.page-id-264 .lbt-don-custom-input{ border-color:#b9842b !important; }
body.page-id-264 .lbt-don-field:focus,
body.page-id-264 .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.page-id-264 .lbt-don-btn{ background:#1f5135 !important; border-radius:8px !important; font-family:'Fraunces',serif; }
body.page-id-264 .lbt-don-btn:hover{ background:#b9842b !important; color:#1a1206 !important; }
body.page-id-264 .lbt-don-back{ color:#a8492b !important; }

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

/* ============================================================
   PAGE CARTE (17) — chrome almanach. Reteinte des tokens --lm-*
   + overrides des verts en dur (header, toggle, bouton ajouter).
   Tuiles Leaflet/OSM, pins et popups : INTACTS.
   ============================================================ */
body.page-id-17{
  --lm-green:#1f5135; --lm-green-l:#6ca583; --lm-green-bg:#f1ece0; --lm-green-bd:#ddd2b4;
  --lm-dark:#12281b; --lm-text:#26301f; --lm-muted:#6b6453; --lm-light:#f4eede;
  --lm-border:#ddd2b4; --lm-cream:#fbf7ec; --lm-honey:#b9842b;
}
body.page-id-17 .site-content{ background-color:#ece6d6 !important; }

/* Header forêt + grain, titre Fraunces, chiffres or */
body.page-id-17 .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.page-id-17 .lm-carte-title{ font-family:'Fraunces',Georgia,serif !important; }
body.page-id-17 .lm-carte-stat span{ color:#d8a847 !important; }

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

/* Toggle lieux / événements : barre forêt + actif doré */
body.page-id-17 .lm-type-toggle{
  background:radial-gradient(120% 130% at 50% 0%,#1f4630,#10241a) !important;
}
body.page-id-17 .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.page-id-17 .lm-add-btn{ background:#1f5135 !important; border-radius:6px !important; font-family:'Fraunces',serif; }
body.page-id-17 .lm-add-btn:hover{ background:#b9842b !important; }
body.page-id-17 .lm-add-btn-outline{ background:transparent !important; color:#a8492b !important; border-color:#ddd2b4 !important; }
body.page-id-17 .lm-add-btn-outline:hover{ background:#fcf3df !important; }

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