/* Carte — modernisation de l'interface (17/10/2026) : pictogrammes SVG à la place des émojis, fenêtre de lieu en sections,
   pastilles de catégories toutes visibles. Chargé après liberta-map.css ; couleurs de la charte Almanach (forêt, terre cuite, or, papier). */
:root { --lbt-forest:#1f5135; --lbt-terra:#a8492b; --lbt-gold:#b9842b; --lbt-paper:#fbf7ec; --lbt-line:#ece6d4; --lbt-ink:#1f2937; --lbt-soft:#475569; }

.lbt-ico { display:inline-block; flex:none; vertical-align:-3px; }

/* ── Pins : pictogramme blanc dans la pastille de couleur ── */
.liberta-pin-inner { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:inherit; font-size:0; }
.liberta-pin-service .liberta-pin-inner { display:flex; }
.lm-cat-extra { display:flex; align-items:center; justify-content:center; font-size:0; line-height:0; color:#334155; }
.lm-cat-extra .lbt-ico { width:11px; height:11px; vertical-align:0; stroke-width:2.1; }
.lm-cat-extra-more { font-size:8px; }
.lm-marker-badge .lbt-ico { width:11px; height:11px; vertical-align:-2px; stroke-width:2.2; }
.lm-events-badge, .lm-sp-badge-pro, .lm-sp-badge-particulier { display:inline-flex; align-items:center; justify-content:center; }

/* ── Filtres de catégories ── */
.lm-filter-emoji .lbt-ico { width:13px; height:13px; vertical-align:0; stroke-width:2; }
.liberta-filter:not(.lm-filter-colored) .lm-filter-emoji .lbt-ico { width:16px; height:16px; }
.lm-sub-ctx-emoji .lbt-ico, .lm-drawer-chip .lbt-ico { width:15px; height:15px; vertical-align:-3px; }
.lm-drawer-sp-head .lbt-ico { vertical-align:-2px; color:var(--lbt-terra); }

/* ── Fenêtre d'un lieu ── */
.lbt-pop { color:var(--lbt-ink); }
.lbt-pop .liberta-popup-media { position:relative; height:104px; }
.lbt-pop-statusbar { position:absolute; left:10px; bottom:9px; }
.lbt-pop-statusbar .liberta-popup-status { margin:0; background:rgba(255,255,255,.96); box-shadow:0 1px 4px rgba(0,0,0,.18); padding:3px 10px; border-radius:999px; font-size:12px; font-weight:700; }
.lbt-pop .liberta-popup-body { padding:13px 16px 16px; }
.lbt-pop .liberta-popup-title-row h4 { font-family:'Fraunces', Georgia, serif; font-size:18px; line-height:1.2; color:var(--lbt-forest); margin:0; }
.lm-trust-badge { display:inline-flex; align-items:center; justify-content:center; color:var(--lbt-forest); background:none; width:auto; height:auto; }

.lbt-chips { display:flex; flex-wrap:wrap; gap:5px; margin:9px 0 8px; }
.lbt-chip { display:inline-flex; align-items:center; gap:5px; padding:3px 9px 3px 7px; border-radius:999px; font-size:12px; line-height:1.3; font-weight:600; color:var(--lbt-ink);
    background:color-mix(in srgb, var(--cc, #64748b) 11%, #fff); border:1px solid color-mix(in srgb, var(--cc, #64748b) 38%, #fff); }
.lbt-chip .lbt-ico { width:14px; height:14px; color:var(--cc, #64748b); vertical-align:0; }
.lbt-pop .liberta-popup-subcats { font-size:12px; color:var(--lbt-soft); margin:0 0 6px; }
.lbt-pop .liberta-popup-excerpt { font-size:13.5px; line-height:1.5; color:var(--lbt-soft); margin:6px 0 8px; }
.lbt-pop .liberta-popup-journal { display:flex; gap:6px; align-items:flex-start; font-size:12.5px; color:var(--lbt-soft); }
.lbt-pop .liberta-popup-journal .lbt-ico { margin-top:2px; color:var(--lbt-gold); }
.lbt-pop .liberta-popup-meta { display:flex; align-items:flex-start; gap:6px; margin:6px 0 10px; color:var(--lbt-soft); font-size:13px; }
.lbt-pop .liberta-popup-meta .lbt-ico { margin-top:1px; color:var(--lbt-terra); }

.lbt-pop .liberta-popup-utility { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; padding:9px 0; margin:0; border-top:1px solid var(--lbt-line); }
.lbt-pop .liberta-pay-icons { display:inline-flex; flex-wrap:wrap; gap:5px; font-size:0; letter-spacing:0; }
.lbt-pay { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:8px; background:#eef4ec; color:var(--lbt-forest); cursor:help; }
.lbt-pay .lbt-ico { vertical-align:0; }
.lbt-pop .liberta-popup-stars { display:inline-flex; align-items:center; gap:4px; font-size:13px; font-weight:700; color:var(--lbt-gold); }
.lbt-pop .liberta-popup-stars span { color:var(--lbt-soft); font-weight:500; }

.lbt-pop .liberta-popup-tags { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0; }
.lbt-tag { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:8px; background:#f6f1e3; color:#5b4a1f; font-size:12.5px; line-height:1.3; }
.lbt-tag .lbt-ico { color:var(--lbt-terra); vertical-align:0; }

.lbt-pop .liberta-popup-permanences, .lbt-pop .liberta-popup-upcoming-events { margin:8px 0; padding-top:9px; border-top:1px solid var(--lbt-line); }
.lbt-pop .liberta-popup-permanences strong, .lbt-pop .liberta-popup-upcoming-events strong { display:flex; align-items:center; gap:6px; margin-bottom:5px; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--lbt-forest); }
.lbt-pop .liberta-popup-permanences .lbt-ico, .lbt-pop .liberta-popup-upcoming-events .lbt-ico { color:var(--lbt-terra); vertical-align:0; }
.lbt-pop .liberta-popup-permanences span { display:block; font-size:13px; color:var(--lbt-soft); padding:2px 0; }
.lbt-pop .lm-upcoming-event-item { display:flex; align-items:center; gap:9px; padding:5px 0; font-size:13px; color:var(--lbt-ink); text-decoration:none; border:0; }
.lbt-pop .lm-upcoming-event-item:hover { text-decoration:underline; }
.lbt-pop .lm-upcoming-event-item span { flex:none; min-width:48px; text-align:center; background:var(--lbt-forest); color:#fff; border-radius:6px; padding:2px 6px; font-size:11.5px; font-weight:700; }
.lbt-pop .lm-upcoming-event-more { display:inline-block; margin-top:3px; font-size:12.5px; color:var(--lbt-forest); font-weight:600; }
.lbt-pop .liberta-popup-flash-offer { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:8px 0; padding:8px 10px; border-radius:10px; background:#fff3e6; border:1px solid #f3c795; color:#7a3b12; font-size:13px; }
.lbt-pop .liberta-popup-flash-offer .lbt-ico { color:#d9480f; vertical-align:-3px; }

.lbt-pop .liberta-popup-actions { display:flex; flex-direction:column; gap:7px; margin-top:12px; }
.lbt-pop .liberta-popup-btn, .lbt-pop .liberta-popup-btn-secondary { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; box-sizing:border-box; padding:10px 14px; border-radius:10px; font-weight:700; font-size:14px; text-decoration:none; text-align:center; }
.lbt-pop .liberta-popup-btn .lbt-ico, .lbt-pop .liberta-popup-btn-secondary .lbt-ico { vertical-align:0; }
.lbt-pop .liberta-popup-btn-secondary { background:#fff; color:var(--lbt-forest); border:1.5px solid color-mix(in srgb, var(--lbt-forest) 35%, #fff); }

/* ── Fenêtres événement et point de service ── */
.lm-ev-tag { display:inline-flex; align-items:center; gap:6px; color:var(--lbt-forest); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.lm-ev-tag .lbt-ico, .lm-ev-popup-date .lbt-ico, .lm-ev-popup-addr .lbt-ico, .lm-ev-popup-rsvp .lbt-ico { color:var(--lbt-terra); vertical-align:-3px; }
.liberta-popup-service-point h4 { display:flex; align-items:center; gap:8px; color:var(--lbt-forest); }
.liberta-popup-service-point .lm-relay-badge { display:inline-flex; align-items:center; gap:6px; }
.liberta-popup-service-point .lm-relay-badge .lbt-ico { color:var(--lbt-terra); vertical-align:0; }

/* ── Passe « icônes en couleur » (17/10/2026, retour : trop pâles et trop petites) ── */
/* Pins : pastille blanche cerclée de la couleur de la catégorie, dessin en couleur au centre */
.liberta-pin { background:#fff !important; border:3px solid var(--lp-color, #3fae5f) !important; box-shadow:0 2px 6px rgba(0,0,0,.28); box-sizing:border-box; }
.liberta-pin-inner { color:inherit; }
.liberta-pin-inner .lbt-ico { width:22px; height:22px; }
.liberta-pin-service { background:#fff !important; border-color:var(--lp-color, #6d4c2f) !important; }
.lm-cat-extra { width:20px; height:20px; border-width:2px; }
.lm-cat-extra .lbt-ico { width:13px; height:13px; }
.lm-marker-badge .lbt-ico { width:12px; height:12px; }

/* Filtres : pastille blanche, dessin en couleur plus grand */
.lm-filter-colored .lm-filter-emoji, .lm-filter-colored.active .lm-filter-emoji { width:28px; height:28px; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.2); }
.lm-filter-emoji .lbt-ico { width:20px; height:20px; }
.liberta-filter:not(.lm-filter-colored) .lm-filter-emoji .lbt-ico { width:22px; height:22px; }
.lm-sub-ctx-emoji .lbt-ico, .lm-drawer-chip .lbt-ico { width:20px; height:20px; }

/* Fenêtre du lieu : plus large, compacte, dessins lisibles */
.leaflet-popup-content { max-width:min(360px, calc(100vw - 80px)); }
.lbt-pop .liberta-popup-media { height:88px; }
.lbt-pop .liberta-popup-body { padding:11px 14px 14px; }
.lbt-chips { gap:5px 6px; margin:7px 0 6px; }
.lbt-chip { padding:3px 10px 3px 5px; gap:6px; font-size:12px; background:#fff; border:1.5px solid color-mix(in srgb, var(--cc, #64748b) 55%, #fff); box-shadow:0 1px 2px rgba(0,0,0,.06); }
.lbt-chip .lbt-ico { width:18px; height:18px; }
.lbt-pop .liberta-popup-excerpt { margin:4px 0 6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.lbt-pop .liberta-popup-meta { margin:4px 0 8px; }
.lbt-pop .liberta-popup-meta .lbt-ico { width:18px; height:18px; }
.lbt-pop .liberta-popup-utility { padding:7px 0; }
.lbt-pay { width:36px; height:36px; border-radius:10px; background:#fff; border:1.5px solid var(--lbt-line); box-shadow:0 1px 2px rgba(0,0,0,.06); }
.lbt-pay .lbt-ico { width:24px; height:24px; }
.lbt-tag { background:#fff; border:1.5px solid var(--lbt-line); }
.lbt-tag .lbt-ico { width:18px; height:18px; }
.lbt-pop .liberta-popup-permanences, .lbt-pop .liberta-popup-upcoming-events { margin:6px 0; padding-top:7px; }
.lbt-pop .liberta-popup-permanences strong .lbt-ico, .lbt-pop .liberta-popup-upcoming-events strong .lbt-ico { width:18px; height:18px; }
.lbt-pop .lm-upcoming-event-item { padding:3px 0; }
.lbt-pop .liberta-popup-actions { display:flex; flex-direction:row; flex-wrap:wrap; gap:7px; margin-top:10px; }
.lbt-pop .liberta-popup-btn, .lbt-pop .liberta-popup-btn-secondary { flex:1 1 140px; width:auto; padding:9px 12px; }
.lbt-pop .liberta-popup-btn .lbt-ico { width:20px; height:20px; }
.lm-ev-tag .lbt-ico, .lm-ev-popup-date .lbt-ico, .lm-ev-popup-addr .lbt-ico, .lm-ev-popup-rsvp .lbt-ico { width:18px; height:18px; }
.liberta-popup-service-point h4 .lbt-ico { width:24px; height:24px; }

/* Catégories : grille à 2 colonnes, noms sur 2 lignes si besoin — toutes visibles, moitié moins haut */
.lbt-chips { display:grid; grid-template-columns:1fr 1fr; gap:5px 6px; }
.lbt-chip { white-space:normal; line-height:1.15; border-radius:12px; padding:3px 8px 3px 5px; font-size:11.5px; min-width:0; }
.lbt-chip .lbt-ico { flex:none; }

/* ── Fiche de la carte : actions, paiements lisibles, pastilles qui ne débordent jamais (17/10/2026) ── */
.lbt-pop .liberta-popup-actions { display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.lbt-pop .liberta-popup-btn, .lbt-pop .liberta-popup-btn-secondary { flex:none; width:100%; min-height:44px; padding:10px 14px; letter-spacing:0; line-height:1.2; white-space:nowrap; font-family:inherit; }
.lbt-pop .liberta-popup-btn > span, .lbt-pop .liberta-popup-btn-secondary > span { white-space:nowrap; }
.lbt-pop .liberta-popup-btn-shop { background:var(--lbt-forest); color:#fff; }
.lbt-pop .lbt-chips { display:flex; flex-wrap:wrap; gap:6px; }
.lbt-pop .lbt-chip { max-width:100%; min-width:0; white-space:normal; overflow-wrap:anywhere; hyphens:auto; line-height:1.2; }
.lbt-pop .lbt-chip > span { min-width:0; }
.lbt-pop .lbt-paylist { display:flex; flex-wrap:wrap; align-items:center; gap:6px; width:100%; }
.lbt-pop .lbt-paylist-title { flex:0 0 100%; font-size:12px; font-weight:700; color:var(--lbt-soft); text-transform:uppercase; letter-spacing:.04em; }
.lbt-pop .lbt-paychip { display:inline-flex; align-items:center; gap:5px; padding:3px 10px 3px 6px; border-radius:999px; background:#eef4ec; color:var(--lbt-forest); font-size:12.5px; font-weight:600; line-height:1.2; max-width:100%; }
.lbt-pop .lbt-paychip .lbt-ico { width:18px; height:18px; flex:none; vertical-align:0; }
