@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=Hanken+Grotesk:wght@400;500;600;700;800&display=swap");

/* ============================================================
   GUIDE ONLINE — SKIN "LIGHT" (direction éditoriale chaleureuse)
   Couche de surcharge appliquée par-dessus le thème sombre existant.
   Ne touche pas au markup ni à la logique : couleurs / polices / surfaces.
   ============================================================ */

:root{
  --paper:#FAF5EC; --paper-2:#FFFDF8; --card:#FFFFFF;
  --ink:#211C15; --ink-soft:#6B6052; --ink-faint:#9A8E7C;
  --line:#ECE2D1; --line-2:#E2D6C1;
  --green:#1E5742; --green-700:#174433; --green-tint:#E9F1EB; --green-soft:#D8E7DC;
  --amber:#C0762E; --amber-ink:#95531C; --amber-tint:#FBEEDD; --amber-soft:#F3DFC2;
  --shadow:0 1px 2px rgba(58,42,20,.04), 0 8px 24px -14px rgba(58,42,20,.20);
  --shadow-lg:0 2px 6px rgba(58,42,20,.06), 0 24px 60px -28px rgba(58,42,20,.32);
}

/* ---------- FONDATIONS ---------- */
html body{
  background:var(--paper) !important;
  background-image:radial-gradient(1100px 540px at 82% -8%, #FFF8EC 0%, rgba(255,248,236,0) 60%) !important;
  color:var(--ink) !important;
  font-family:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
body h1, body h2, body h3, body .hero-title, body .toc-title,
body .trust-title, body .question-text, body .sheet-section-title, body .go-map-title h3{
  font-family:"Fraunces", Georgia, serif !important;
  letter-spacing:-.01em;
}
/* icônes duotone : vert par défaut, ambre en accent */
body, #root, .hero-section, .header-nav, .go-ask-modal, .universal-sheet{
  --fa-primary-color:#1E5742; --fa-secondary-color:#9CC3B0;
  --fa-primary-opacity:1; --fa-secondary-opacity:.45;
}
/* neutralise les titres en dégradé (texte transparent) */
body .hero-title, body .icon-header h2, body .trust-title, body .toc-title, body .recommendation-highlight{
  background:none !important; -webkit-text-fill-color:currentColor !important;
}

/* ---------- HEADER / NAV ---------- */
.header-nav{
  background:rgba(250,245,236,.86) !important;
  -webkit-backdrop-filter:saturate(140%) blur(10px) !important; backdrop-filter:saturate(140%) blur(10px) !important;
  border-bottom:1px solid var(--line) !important;
  box-shadow:0 1px 0 var(--line) !important;
}
.logo-symbol{ background:linear-gradient(145deg,var(--green),var(--green-700)) !important;
  box-shadow:0 4px 12px -4px rgba(30,87,66,.5) !important; }
.logo-icon-static{ --fa-primary-color:#ffffff !important; --fa-secondary-color:#bfe0cf !important; }
.logo-text{ color:var(--ink) !important; font-family:"Fraunces",serif !important; }
.logo-slogan{ color:var(--ink-soft) !important; }
.activity-pulse{ background:linear-gradient(135deg,var(--amber),#d98a3d) !important; border-color:var(--paper) !important; box-shadow:0 0 8px rgba(192,118,46,.4) !important; }
.message-icon{ --fa-primary-color:var(--green) !important; --fa-secondary-color:#9CC3B0 !important; }
.star-icon{ --fa-primary-color:var(--amber) !important; --fa-secondary-color:#e7c79a !important; filter:none !important; }

/* menu ville (bloc inline -> !important) */
.go-citynav-trigger{ background:var(--card) !important; border:1px solid var(--line-2) !important; color:var(--ink) !important; box-shadow:0 1px 2px rgba(58,42,20,.05) !important; }
.go-citynav-trigger:hover{ border-color:var(--green) !important; box-shadow:0 6px 16px -8px rgba(30,87,66,.35) !important; }
.go-citynav-trigger > .fa-location-dot{ color:var(--green) !important; }
.go-citynav-panel{ background:var(--card) !important; border:1px solid var(--line-2) !important; box-shadow:var(--shadow-lg) !important; }
.go-citynav-head{ color:var(--green-700) !important; border-bottom-color:var(--line) !important; }
.go-citynav-link{ color:var(--ink-soft) !important; }
.go-citynav-link:hover{ background:var(--green-tint) !important; color:var(--green-700) !important; }
.go-citynav-link.is-active{ background:var(--green-tint) !important; color:var(--green-700) !important; }
.go-citynav-general{ background:var(--paper) !important; border-color:var(--line) !important; color:var(--ink) !important; }
.go-citynav-general:hover{ background:var(--green-tint) !important; color:var(--green-700) !important; }
.go-citynav-general i{ color:var(--amber) !important; }

/* ---------- BREADCRUMB ---------- */
.breadcrumb{ background:transparent !important; color:var(--ink-faint) !important; }
.breadcrumb a{ color:var(--ink-soft) !important; }
.breadcrumb a:hover{ color:var(--green) !important; }
.breadcrumb-current{ color:var(--ink-soft) !important; }
.breadcrumb-separator{ color:var(--ink-faint) !important; opacity:.55; }
.breadcrumb i{ --fa-primary-color:var(--green) !important; }

/* ---------- HERO ---------- */
.hero-section{ background:transparent !important; border:none !important; box-shadow:none !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
/* halos flous décoratifs (bleu/cyan/orange) -> supprimés */
.hero-section::before, .hero-section::after, .card-content::before, .card-content::after{ display:none !important; content:none !important; }
.hero-icon{ background:var(--green-tint) !important; border:1px solid var(--green-soft) !important; box-shadow:none !important; }
.hero-icon i{ --fa-primary-color:var(--green) !important; --fa-secondary-color:var(--amber) !important; }
.hero-title{ color:var(--ink) !important; }
.hero-subtitle{ color:var(--ink-soft) !important; }
.hero-stat{ background:var(--card) !important; border:1px solid var(--line) !important; color:var(--ink-soft) !important; box-shadow:var(--shadow) !important; font-weight:600 !important; }
.hero-stat i{ --fa-primary-color:var(--green) !important; --fa-secondary-color:var(--amber) !important; }
.hero-search{ background:var(--card) !important; border:1.5px solid var(--line-2) !important; box-shadow:var(--shadow) !important; }
.hero-search:focus-within{ border-color:var(--green) !important; box-shadow:0 0 0 4px var(--green-tint), var(--shadow) !important; }
.hero-search-input{ background:transparent !important; color:var(--ink) !important; }
.hero-search-input::placeholder{ color:var(--ink-faint) !important; }
.hero-search-icon{ background:linear-gradient(135deg,var(--green),var(--green-700)) !important; color:#fff !important; box-shadow:none !important; }
.hero-search-icon i{ --fa-primary-color:#fff !important; --fa-secondary-color:#bfe0cf !important; }

/* ---------- GRILLE SOMMAIRE + CARTE (et fix placement carte) ---------- */
.hero-bottom-sections.has-map{ display:grid !important; grid-template-columns:minmax(260px,330px) 1fr !important; gap:20px !important; align-items:stretch !important; }
.go-map-section-wrapper{ grid-column:auto !important; width:100% !important; }
@media (max-width:900px){ .hero-bottom-sections.has-map{ grid-template-columns:1fr !important; } }

/* Sommaire (TOC) */
.toc-container{ background:var(--card) !important; border:1px solid var(--line) !important; box-shadow:var(--shadow) !important; height:100% !important; display:flex !important; flex-direction:column !important; }
.toc-header{ border-bottom:1px solid var(--line) !important; background:transparent !important; }
.toc-title{ color:var(--ink) !important; }
.toc-header-icon{ --fa-primary-color:var(--green) !important; --fa-secondary-color:var(--amber) !important; }
.toc-toggle{ color:var(--ink-faint) !important; background:transparent !important; }
.toc-nav{ flex:1 !important; overflow-y:auto !important; max-height:none !important; }
.toc-item-number{ background:var(--green-tint) !important; color:var(--green-700) !important; font-family:"Fraunces",serif !important; box-shadow:none !important; }
.toc-link{ color:var(--ink) !important; border:1px solid transparent !important; }
.toc-link:hover{ background:var(--paper) !important; border-color:var(--line) !important; }
.toc-link:hover .toc-item-number{ background:var(--green) !important; color:#fff !important; }
.toc-item-text{ color:var(--ink) !important; }

/* Carte */
.go-map-section{ background:var(--card) !important; border:1px solid var(--line) !important; box-shadow:var(--shadow) !important; margin:0 !important; }
.go-map-toolbar{ border-bottom:1px solid var(--line) !important; background:transparent !important; }
.go-map-title h3{ color:var(--ink) !important; }
.go-map-title > i{ --fa-primary-color:var(--green) !important; --fa-secondary-color:var(--amber) !important; }
.go-map-count{ color:var(--amber-ink) !important; background:var(--amber-tint) !important; border:1px solid var(--amber-soft) !important; }
.go-map-fullscreen{ color:var(--ink-soft) !important; background:var(--paper) !important; border:1px solid var(--line) !important; }
.go-map-fullscreen:hover{ color:var(--green-700) !important; border-color:var(--green-soft) !important; }

/* ---------- CARTE QUESTION ---------- */
.question-block{ background:transparent !important; border:none !important; box-shadow:none !important; }
.question-card{ background:var(--card) !important; border:1px solid var(--line) !important; box-shadow:var(--shadow) !important; }
.question-text{ color:var(--ink) !important; }
.question-meta, .question-meta-left, .question-meta-right{ background:transparent !important; }
.question-author, .question-date, .question-upvotes{ color:var(--ink-faint) !important; }
.question-author i, .question-date i, .question-upvotes i{ --fa-primary-color:var(--ink-faint) !important; --fa-secondary-color:#c9bca6 !important; }
.btn-reply{ background:var(--card) !important; border:1.5px solid var(--green) !important; color:var(--green-700) !important; box-shadow:none !important; }
.btn-reply:hover{ background:var(--green) !important; color:#fff !important; }
.btn-reply i{ --fa-primary-color:currentColor !important; --fa-secondary-color:currentColor !important; }
.btn-useful{ background:var(--paper) !important; border:1px solid var(--line-2) !important; color:var(--ink-soft) !important; box-shadow:none !important; }
.btn-useful:hover{ border-color:var(--green) !important; color:var(--green-700) !important; background:var(--green-tint) !important; }
.btn-useful[aria-pressed="true"], .btn-useful.is-active, .btn-useful.voted{ background:var(--green) !important; color:#fff !important; border-color:var(--green) !important; }
.btn-useful i{ --fa-primary-color:currentColor !important; --fa-secondary-color:currentColor !important; }

/* ---------- CONNECTEUR (on calme le néon) ---------- */
.connector-stream{ background:linear-gradient(var(--green-soft),rgba(216,231,220,0)) !important; opacity:.7 !important; }
.connector-glow{ display:none !important; }
.connector-icon{ background:var(--green) !important; color:#fff !important; box-shadow:0 6px 14px -6px rgba(30,87,66,.55) !important; border:3px solid var(--paper) !important; }
.connector-icon i{ --fa-primary-color:#fff !important; --fa-secondary-color:#bfe0cf !important; color:#fff !important; }

/* ---------- BLOC RECOMMANDÉ ---------- */
.card-content{ background:linear-gradient(180deg,var(--green-tint),#F4F9F4) !important; border:1px solid var(--green-soft) !important; border-radius:16px !important; box-shadow:none !important; }
.icon-header h2{ color:var(--green-700) !important; }
.icon-header .icon{ background:#fff !important; border:1px solid var(--green-soft) !important; box-shadow:0 1px 2px rgba(58,42,20,.06) !important; }
.icon .bar{ box-shadow:none !important; }
.icon .bar-red{ background:var(--green) !important; }
.icon .bar-cyan{ background:var(--amber) !important; }
.icon .bar-blue{ background:var(--green-soft) !important; }
.description{ color:#3B342A !important; }
.recommendation-highlight{ color:var(--green-700) !important; font-weight:800 !important; }
.badges .badge{ background:#fff !important; border:1px solid var(--green-soft) !important; color:var(--green-700) !important; }

/* trust-card */
.trust-card{ background:var(--card) !important; border:1px solid var(--green-soft) !important; box-shadow:var(--shadow) !important; }
.trust-card::before, .trust-card::after{ display:none !important; content:none !important; }
.trust-header{ border-bottom-color:var(--line) !important; }
.trust-icon{ background:var(--green-tint) !important; box-shadow:none !important; }
.trust-icon i{ --fa-primary-color:var(--green) !important; --fa-secondary-color:var(--amber) !important; }
.trust-title{ color:var(--ink) !important; }
/* score : disque vert calme, on retire l'anneau violet (gradient inline) */
.circular-score{ background:var(--green-tint) !important; border:2px solid var(--green-soft) !important; box-shadow:none !important; }
.score-ring{ display:none !important; }
.score-value{ color:var(--green-700) !important; font-family:"Fraunces",serif !important; }
.score-max{ color:var(--ink-soft) !important; }
.trust-quote{ color:var(--ink-soft) !important; background:transparent !important; }
.trust-quote i{ --fa-primary-color:var(--amber) !important; --fa-secondary-color:#e7c79a !important; }
.trust-quote .recommendation-highlight{ color:var(--green-700) !important; }
.trust-stats{ border-top-color:var(--line) !important; }
.trust-stat-icon{ background:var(--green-tint) !important; }
.trust-stat-icon i{ --fa-primary-color:var(--green) !important; }
.trust-stat-text{ color:var(--ink-soft) !important; }

/* actions IA */
.featured-recommendation{ background:transparent !important; border:none !important; box-shadow:none !important; }
.featured-action-btn{ background:var(--card) !important; border:1px solid var(--green-soft) !important; color:var(--green-700) !important; box-shadow:none !important; font-weight:700 !important; }
.featured-action-btn:hover{ background:var(--green-tint) !important; border-color:var(--green) !important; transform:translateY(-1px); }
.featured-action-btn i{ --fa-primary-color:var(--green) !important; --fa-secondary-color:var(--amber) !important; }

/* ---------- RÉPONSES ---------- */
.answers-section{ border-top:1px solid var(--line) !important; background:transparent !important; }
.answers-toggle{ background:var(--paper) !important; border:1px solid var(--line) !important; color:var(--ink-soft) !important; font-weight:700 !important; }
.answers-toggle:hover{ color:var(--green-700) !important; border-color:var(--green-soft) !important; background:var(--green-tint) !important; }
.answers-toggle i{ --fa-primary-color:var(--green) !important; }
.answer-item{ background:transparent !important; border-top:1px solid var(--line) !important; border-bottom:none !important; }
.answer-avatar{ background:var(--paper) !important; border:1px solid var(--line-2) !important; color:var(--ink-faint) !important; }
.answer-avatar i{ --fa-primary-color:var(--ink-faint) !important; --fa-secondary-color:#c9bca6 !important; }
.answer-author-name{ color:var(--ink) !important; }
.answer-date{ color:var(--ink-faint) !important; }
.answer-text{ color:#3B342A !important; }
.answer-useful-btn{ background:var(--paper) !important; border:1px solid var(--line-2) !important; color:var(--ink-soft) !important; }
.answer-useful-btn:hover{ border-color:var(--green) !important; color:var(--green-700) !important; background:var(--green-tint) !important; }
.answer-useful-btn[aria-pressed="true"], .answer-useful-btn.is-active, .answer-useful-btn.voted{ background:var(--green) !important; color:#fff !important; border-color:var(--green) !important; }
.answer-useful-btn i{ --fa-primary-color:currentColor !important; --fa-secondary-color:currentColor !important; }
/* pagination réponses */
.answers-pagination{ border-top-color:var(--line) !important; }
.pagination-btn, .prev-btn, .next-btn{ background:var(--card) !important; border:1px solid var(--line-2) !important; color:var(--ink-soft) !important; }
.pagination-btn:hover, .prev-btn:hover, .next-btn:hover{ border-color:var(--green) !important; color:var(--green-700) !important; }
.pagination-info, .current-page, .total-pages{ color:var(--ink-faint) !important; }

/* ---------- ÉDITEUR DE RÉPONSE ---------- */
.reply-textarea{ background:var(--paper) !important; border:1px solid var(--line-2) !important; color:var(--ink) !important; }
.reply-textarea::placeholder{ color:var(--ink-faint) !important; }
.reply-textarea:focus{ border-color:var(--green) !important; }
.reply-engagement-header, .reply-engagement-content, .reply-engagement-stat{ background:transparent !important; }
.reply-engagement-icon{ background:var(--green-tint) !important; }
.reply-engagement-icon i{ --fa-primary-color:var(--green) !important; }
.reply-engagement-title{ color:var(--ink) !important; }
.reply-engagement-subtitle{ color:var(--ink-soft) !important; }
.reply-error-message{ color:#a23b2c !important; }
.reply-emoji-btn{ background:var(--paper) !important; border:1px solid var(--line-2) !important; }
.btn-cancel{ background:var(--paper) !important; border:1px solid var(--line-2) !important; color:var(--ink-soft) !important; }
.btn-cancel:hover{ border-color:var(--ink-faint) !important; color:var(--ink) !important; }

/* ---------- FICHE (universal-sheet) ---------- */
.sheet-overlay{ background:rgba(33,28,21,.42) !important; }
.universal-sheet{ background:var(--paper-2) !important; color:var(--ink) !important; border:1px solid var(--line) !important; box-shadow:0 -12px 60px -22px rgba(58,42,20,.45) !important; }
.universal-sheet h1, .universal-sheet h2, .universal-sheet h3, .sheet-section-title{ color:var(--ink) !important; }
.sheet-section{ border-color:var(--line) !important; background:transparent !important; }
.sheet-section-title{ color:var(--ink-soft) !important; }
.sheet-ai-action-btn{ background:var(--card) !important; border:1px solid var(--line-2) !important; color:var(--ink) !important; box-shadow:none !important; }
.sheet-ai-action-btn:hover{ border-color:var(--green) !important; background:var(--green-tint) !important; }
.sheet-ai-action-icon{ background:var(--green-tint) !important; }
.sheet-ai-action-icon i{ --fa-primary-color:var(--green) !important; --fa-secondary-color:var(--amber) !important; }
.sheet-ai-action-title{ color:var(--ink) !important; }
.sheet-ai-action-subtitle{ color:var(--ink-soft) !important; }
.sheet-ai-result-action-btn{ background:var(--green) !important; color:#fff !important; border:none !important; }
.sheet-spinner-ring{ border-color:var(--green-soft) !important; border-top-color:var(--green) !important; }
.account-benefit-item{ background:var(--paper) !important; border:1px solid var(--line) !important; }
.account-benefit-icon{ background:var(--green-tint) !important; }
.account-benefit-icon i{ --fa-primary-color:var(--green) !important; }
.account-benefit-title{ color:var(--ink) !important; }
.account-benefit-desc{ color:var(--ink-soft) !important; }
#go-fiche-desc{ color:#3B342A !important; }
.go-fiche-by{ color:var(--ink-faint) !important; }
.go-fiche-report{ color:var(--amber-ink) !important; background:transparent !important; border:none !important; }

/* ---------- FAB + MODALE "POSER UNE QUESTION" ---------- */
#go-ask-fab, .go-ask-fab{ background:linear-gradient(135deg,var(--green),var(--green-700)) !important; color:#fff !important; box-shadow:0 12px 30px -10px rgba(30,87,66,.6) !important; }
.go-ask-overlay{ background:rgba(33,28,21,.42) !important; }
.go-ask-modal{ background:var(--paper-2) !important; border:1px solid var(--line) !important; color:var(--ink) !important; box-shadow:var(--shadow-lg) !important; }
.go-ask-modal h2, .go-ask-modal h3{ color:var(--ink) !important; }
.go-ask-text, .go-ask-select, .go-ask-input{ background:var(--paper) !important; border:1px solid var(--line-2) !important; color:var(--ink) !important; }
.go-ask-text::placeholder, .go-ask-input::placeholder{ color:var(--ink-faint) !important; }
.go-ask-text:focus, .go-ask-select:focus, .go-ask-input:focus{ border-color:var(--green) !important; }
.go-ask-cancel{ background:var(--paper) !important; border:1px solid var(--line-2) !important; color:var(--ink-soft) !important; }
.go-ask-submit{ background:linear-gradient(135deg,var(--green),var(--green-700)) !important; border:none !important; color:#fff !important; }
.toggle-slider{ background:var(--line-2) !important; }
input:checked + .toggle-slider{ background:var(--green) !important; }

/* ---------- CARTE (leaflet + go-map) ---------- */
.go-map-container{ border:1px solid var(--line) !important; box-shadow:inset 0 1px 4px rgba(58,42,20,.06) !important; }
.leaflet-container{ background:#e8eadf !important; }
.leaflet-control-zoom a{ background:var(--card) !important; color:var(--ink) !important; border:1px solid var(--line-2) !important; }
.leaflet-control-zoom a:hover{ background:var(--green-tint) !important; color:var(--green-700) !important; border-color:var(--green-soft) !important; }
.leaflet-control-attribution{ background:rgba(255,253,248,.85) !important; color:var(--ink-faint) !important; }
.leaflet-control-attribution a{ color:var(--green-700) !important; }
.go-map-title > i{ filter:none !important; }
/* marqueurs : vert = exact, ambre = approximatif */
.go-marker-exact{ background:linear-gradient(135deg,var(--green),var(--green-700)) !important; border:3px solid #fff !important; box-shadow:0 0 0 2px rgba(30,87,66,.15),0 6px 14px -4px rgba(30,87,66,.55) !important; color:#fff !important; }
.go-marker-jitter{ background:rgba(192,118,46,.18) !important; border:2px solid var(--amber) !important; box-shadow:0 4px 12px -4px rgba(192,118,46,.45) !important; color:var(--amber-ink) !important; }
.go-pin-exact{ background:linear-gradient(135deg,var(--green),var(--green-700)) !important; box-shadow:none !important; }
.go-pin-jitter{ border-color:var(--amber) !important; box-shadow:none !important; }
.marker-cluster{ background:rgba(30,87,66,.16) !important; border:2px solid var(--green) !important; box-shadow:0 0 0 4px rgba(30,87,66,.10) !important; color:var(--green-700) !important; }
.marker-cluster div{ background:rgba(30,87,66,.7) !important; color:#fff !important; }
.go-map-legend{ background:var(--paper-2) !important; border:1px solid var(--line) !important; box-shadow:var(--shadow) !important; }
.go-legend-item{ color:var(--ink-soft) !important; }
.go-filter-toggle{ background:var(--paper) !important; border:1px solid var(--line-2) !important; color:var(--ink-soft) !important; }
.go-filter-toggle:hover{ background:var(--green-tint) !important; border-color:var(--green-soft) !important; color:var(--green-700) !important; }
.go-filter-toggle.active{ background:linear-gradient(135deg,var(--green),var(--green-700)) !important; border-color:var(--green) !important; color:#fff !important; box-shadow:none !important; }
/* popups */
.leaflet-popup-content-wrapper, #goMap .leaflet-popup-content-wrapper, .leaflet-container .leaflet-popup-content-wrapper{ background:var(--paper-2) !important; background-color:var(--paper-2) !important; color:var(--ink) !important; border:1px solid var(--line) !important; box-shadow:var(--shadow-lg) !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
.leaflet-popup-tip, #goMap .leaflet-popup-tip, .leaflet-container .leaflet-popup-tip{ background:var(--paper-2) !important; background-color:var(--paper-2) !important; border:1px solid var(--line) !important; }
.leaflet-popup-content, #goMap .leaflet-popup-content, .leaflet-container .leaflet-popup-content{ color:var(--ink) !important; }
.leaflet-popup-close-button, #goMap .leaflet-popup-close-button, .leaflet-container .leaflet-popup-close-button{ color:var(--ink-soft) !important; background:var(--paper) !important; background-color:var(--paper) !important; }
.go-popup-icon{ background:linear-gradient(135deg,var(--green),var(--green-700)) !important; box-shadow:none !important; color:#fff !important; }
.go-popup-name{ color:var(--ink) !important; font-family:"Fraunces",serif !important; }
.go-popup-summary{ color:#3B342A !important; }
.go-popup-stats{ border-color:var(--line) !important; }
.go-popup-stat{ color:var(--ink-soft) !important; }
.go-popup-stat i{ color:var(--green) !important; }
.go-popup-badge{ background:var(--green-tint) !important; border:1px solid var(--green-soft) !important; color:var(--green-700) !important; }
.go-popup-badge.badge-community{ background:var(--amber-tint) !important; border-color:var(--amber-soft) !important; color:var(--amber-ink) !important; }
.go-popup-badge.badge-discovery{ background:var(--green-tint) !important; border-color:var(--green-soft) !important; color:var(--green-700) !important; }
.go-popup-cta{ background:linear-gradient(135deg,var(--green),var(--green-700)) !important; box-shadow:none !important; color:#fff !important; }
.go-map-loading{ background:rgba(250,245,236,.92) !important; }
.go-map-loading-spinner{ border-color:var(--green-soft) !important; border-top-color:var(--green) !important; }
.go-map-loading-text{ color:var(--ink-soft) !important; }

/* ---------- QUESTIONS SIMILAIRES (maillage interne, page question) ---------- */
.go-related-inner{ background:var(--card) !important; border:1px solid var(--line) !important; box-shadow:var(--shadow) !important; }
.go-related-title{ color:var(--ink) !important; font-family:"Fraunces",serif !important; }
.go-related-title i{ color:var(--green) !important; --fa-primary-color:var(--green) !important; }
.go-related-card{ background:var(--paper) !important; border:1px solid var(--line-2) !important; color:var(--ink) !important; }
.go-related-card:hover{ background:var(--green-tint) !important; border-color:var(--green-soft) !important; color:var(--green-700) !important; }
.go-related-card i{ color:var(--green) !important; --fa-primary-color:var(--green) !important; }
.go-related-all{ color:var(--green-700) !important; }

/* ============================================================
   PAGES THÈME (home / ville / catégorie) + footer + chrome
   ============================================================ */
.main-container{ background:transparent !important; }
.breadcrumb-wrapper{ background:transparent !important; border:none !important; }

/* home — hero */
.go-hero{ background:linear-gradient(135deg,var(--green-700),var(--green)) !important; color:#fff !important; box-shadow:var(--shadow-lg) !important; }
.go-hero h1{ color:#fff !important; font-family:"Fraunces",serif !important; }
.go-hero p{ color:rgba(255,255,255,.9) !important; }
.go-hero .go-cta{ background:#fff !important; color:var(--green-700) !important; box-shadow:0 6px 20px rgba(23,68,51,.25) !important; }
.go-home-h2{ color:var(--ink) !important; font-family:"Fraunces",serif !important; }

/* listes (villes / catégories / sous-catégories) */
.gl-cat{ color:var(--green-700) !important; }
.gl-title{ color:var(--ink) !important; font-family:"Fraunces",serif !important; }
.gl-sub{ color:var(--ink-soft) !important; }
.gl-card{ background:var(--card) !important; border:1px solid var(--line) !important; box-shadow:var(--shadow) !important; color:var(--ink) !important; }
.gl-card:hover{ border-color:var(--green) !important; box-shadow:var(--shadow-lg) !important; }
.gl-card-name{ color:var(--ink) !important; font-family:"Fraunces",serif !important; }
.gl-card-name i{ color:var(--green) !important; --fa-primary-color:var(--green) !important; }
.gl-card-count, .gl-card-meta{ color:var(--ink-soft) !important; }
.gl-card-q{ color:var(--ink) !important; }
.gl-card-rec{ color:var(--green-700) !important; }
.gl-card-rec i{ --fa-primary-color:var(--green) !important; }

/* footer */
.go-footer{ display:none !important; } /* ancien footer du thème masqué — remplacé par GO_Nav::footer() (hook wp_footer) */
.go-footer-top{ border-bottom-color:var(--line) !important; }
.go-footer-logo{ color:var(--ink) !important; font-family:"Fraunces",serif !important; }
.go-footer-logo i{ color:var(--green) !important; --fa-primary-color:var(--green) !important; }
.go-footer-slogan{ color:var(--ink-faint) !important; }
.go-footer-title{ color:var(--ink) !important; }
.go-footer-cities a{ color:var(--ink-soft) !important; }
.go-footer-cities a:hover{ color:var(--green-700) !important; }
.go-footer-legal{ color:var(--ink-faint) !important; }

/* ============================================================
   BLOC QUESTION — structure refondue (façon maquette)
   ============================================================ */
.question-card{ background:var(--card)!important; border:1px solid var(--line)!important; box-shadow:var(--shadow)!important; border-radius:16px!important; padding:24px 26px 20px!important; margin:0 0 22px!important; }
.go-qhead{ display:flex!important; gap:15px; align-items:flex-start; }
.go-qidx{ flex:none; width:40px; height:40px; border-radius:12px; background:var(--ink); color:var(--paper); display:grid; place-items:center; font-family:"Fraunces",serif; font-weight:600; font-size:1.12rem; }
.go-qhead .question-text{ flex:1; }
.question-text{ font-family:"Fraunces",serif!important; color:var(--ink)!important; font-size:clamp(1.18rem,2.2vw,1.42rem)!important; line-height:1.25!important; margin:0!important; }
.question-meta{ margin-top:12px!important; }
.question-actions{ margin-top:14px!important; }

/* bloc recommandé = .card-content (vert, barre à gauche) */
.card-content{ position:relative!important; margin-top:18px!important; padding:18px 22px 18px 26px!important; border-radius:14px!important; background:linear-gradient(180deg,var(--green-tint),#F4F9F4)!important; border:1px solid var(--green-soft)!important; box-shadow:none!important; overflow:hidden!important; }
.go-no-reco .card-content{ background:transparent!important; border:none!important; padding:0!important; margin-top:14px!important; }
.go-reco-bar{ position:absolute; left:0; top:0; bottom:0; width:5px; background:linear-gradient(var(--green),var(--green-700)); }
.go-reco-label{ display:inline-flex; align-items:center; gap:8px; font-size:.72rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--green-700); }
.go-reco-seal{ width:18px; height:18px; border-radius:50%; background:var(--green); display:inline-grid; place-items:center; }
.go-reco-seal i{ color:#fff!important; --fa-primary-color:#fff!important; font-size:.5rem; }
.go-reco-name{ font-family:"Fraunces",serif; font-weight:600; font-size:1.5rem; color:var(--ink); margin-top:9px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.go-cite{ font-family:"Hanken Grotesk",sans-serif; font-size:.75rem; font-weight:800; color:var(--amber-ink); background:var(--amber-tint); border:1px solid var(--amber-soft); padding:4px 11px; border-radius:100px; }
.card-content .badges{ margin-top:12px!important; display:flex; flex-wrap:wrap; gap:8px; }
.go-reco-desc{ margin-top:13px; color:#3B342A; font-size:1rem; line-height:1.6; max-width:66ch; }
.go-reco-desc .recommendation-highlight{ color:var(--green-700)!important; font-weight:800; }
.go-reco-foot{ margin-top:13px; }
.go-ai-note{ display:inline-flex; align-items:center; gap:7px; font-size:.78rem; font-style:italic; color:var(--ink-faint); }
.go-ai-note i{ color:var(--amber)!important; --fa-primary-color:var(--amber)!important; }
.card-content .featured-recommendation{ margin-top:15px!important; }

/* réponses : panneau blanc dans le bloc */
.card-content .answers-section{ background:var(--card)!important; border:1px solid var(--line)!important; border-radius:12px!important; margin-top:16px!important; padding:4px 16px 10px!important; }
.go-no-reco .card-content .answers-section{ margin-top:0!important; }
/* badges en pastilles (autonome, ne dépend pas du CSS thème) */
.card-content .badges .badge{ display:inline-flex!important; align-items:center; gap:6px; padding:5px 12px!important; border-radius:9px!important; font-size:.8rem!important; font-weight:700!important; background:#fff!important; border:1px solid var(--green-soft)!important; color:var(--green-700)!important; }
.card-content .badges .badge i{ --fa-primary-color:var(--green)!important; color:var(--green)!important; opacity:.9; }
/* force le flux vertical (l'ancien CSS mettait .card-content en display:flex) */
.question-card{ display:block!important; }
.card-content{ display:block!important; }

/* ============================================================
   LAYOUT MAQUETTE — hero + overview (panneaux) + sommaire + carte + feed
   ============================================================ */
.wrap{ max-width:1180px!important; margin:0 auto!important; padding:0 24px!important; }

/* hero */
.hero{ padding:26px 0 30px!important; }
.eyebrow{ display:inline-flex!important; align-items:center; gap:9px; font-size:.74rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--green-700)!important; background:var(--green-tint)!important; padding:6px 12px; border-radius:100px; border:1px solid var(--green-soft); }
.eyebrow .pp{ width:6px; height:6px; border-radius:50%; background:var(--amber); }
.hero .hero-title{ font-family:"Fraunces",serif!important; font-weight:600!important; color:var(--ink)!important; font-size:clamp(2.1rem,5vw,3.4rem)!important; line-height:1.12!important; margin:16px 0 0!important; max-width:18ch; -webkit-text-fill-color:currentColor!important; background:none!important; }
.hero .lede{ font-size:clamp(1.05rem,2vw,1.2rem)!important; color:var(--ink-soft)!important; max-width:60ch; margin-top:16px!important; }
.hero-stats{ display:flex!important; flex-wrap:wrap; gap:12px; margin-top:24px!important; }
.hero-stats .stat{ display:flex!important; align-items:center; gap:12px; background:var(--card)!important; border:1px solid var(--line)!important; border-radius:13px!important; padding:11px 16px 11px 13px!important; box-shadow:var(--shadow)!important; }
.hero-stats .stat .num{ font-family:"Fraunces",serif!important; font-weight:600; font-size:1.5rem; line-height:1; color:var(--green)!important; }
.hero-stats .stat.amber .num{ color:var(--amber-ink)!important; }
.hero-stats .stat .lab{ font-size:.82rem; color:var(--ink-soft)!important; font-weight:600; line-height:1.25; }
.hero-stats .stat .ic{ font-size:1.15rem; }
.searchbar{ display:flex!important; align-items:center; gap:12px; margin-top:26px!important; background:var(--card)!important; border:1.5px solid var(--line-2)!important; border-radius:14px!important; padding:6px 6px 6px 18px!important; box-shadow:var(--shadow)!important; max-width:620px; }
.searchbar:focus-within{ border-color:var(--green)!important; box-shadow:0 0 0 4px var(--green-tint),var(--shadow)!important; }
.searchbar .mag{ color:var(--ink-faint); font-size:1.1rem; }
.searchbar input{ flex:1; border:none!important; outline:none; background:none!important; font-family:inherit; font-size:1rem!important; color:var(--ink)!important; padding:9px 0!important; box-shadow:none!important; }
.searchbar input::placeholder{ color:var(--ink-faint)!important; }
.searchbar button{ background:var(--ink)!important; color:#fff!important; border:none!important; cursor:pointer; font-family:inherit; font-weight:700; padding:11px 20px!important; border-radius:10px!important; font-size:.93rem; }
.searchbar button:hover{ background:var(--green)!important; }
.trust{ display:flex!important; flex-wrap:wrap; gap:26px; margin-top:26px!important; padding-top:22px!important; border-top:1px solid var(--line)!important; }
.trust .ti{ display:flex; align-items:center; gap:10px; font-size:.9rem; color:var(--ink-soft)!important; font-weight:600; }
.trust .ti .b{ width:26px; height:26px; border-radius:8px; background:var(--green-tint); color:var(--green-700); display:grid; place-items:center; font-size:.9rem; }

/* overview + panneaux */
.overview{ display:grid!important; grid-template-columns:1fr!important; gap:22px!important; margin:40px 0 8px!important; align-items:start!important; }
.overview.has-map{ grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)!important; }
.panel{ background:var(--card)!important; border:1px solid var(--line)!important; border-radius:16px!important; box-shadow:var(--shadow)!important; overflow:hidden!important; }
.panel-head{ display:flex!important; align-items:center; justify-content:space-between; gap:10px; padding:16px 20px!important; border-bottom:1px solid var(--line)!important; background:transparent!important; }
.panel-head h2{ font-family:"Fraunces",serif!important; font-size:1.18rem!important; color:var(--ink)!important; margin:0!important; font-weight:600; }
.panel-head .tag{ font-size:.72rem!important; font-weight:800!important; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-faint)!important; background:transparent!important; border:none!important; padding:0!important; }

/* sommaire (classes live, look maquette) */
.panel .toc-container{ background:transparent!important; border:none!important; box-shadow:none!important; height:auto!important; display:block!important; }
.toc-nav{ padding:8px!important; max-height:none!important; overflow:visible!important; flex:none!important; }
.toc-list{ list-style:none!important; margin:0!important; padding:0!important; }
.toc-item{ margin:0!important; }
.toc-link{ display:flex!important; align-items:center; gap:14px; padding:12px 14px!important; border-radius:11px!important; border:1px solid transparent!important; background:transparent!important; }
.toc-link:hover{ background:var(--paper)!important; border-color:var(--line)!important; }
.toc-item-number{ flex:none; width:30px; height:30px; border-radius:9px; background:var(--green-tint)!important; color:var(--green-700)!important; display:grid; place-items:center; font-weight:800; font-size:.9rem; font-family:"Fraunces",serif!important; }
.toc-item-text{ flex:1; font-weight:600; font-size:.95rem; color:var(--ink)!important; }
.toc-item-count{ flex:none; font-size:.76rem; font-weight:700; color:var(--ink-faint)!important; background:var(--paper)!important; border:1px solid var(--line)!important; padding:3px 9px; border-radius:100px; white-space:nowrap; }
.toc-link:hover .toc-item-count{ color:var(--amber-ink)!important; border-color:var(--amber-soft)!important; background:var(--amber-tint)!important; }

/* carte (classes live, dans le panneau) */
.map-panel{ display:flex!important; flex-direction:column!important; }
.map-panel .go-map-section{ background:transparent!important; border:none!important; border-radius:0!important; box-shadow:none!important; padding:0!important; margin:0!important; }
.go-map-title-h{ font-family:"Fraunces",serif!important; font-size:1.18rem!important; color:var(--ink)!important; margin:0!important; font-weight:600; }
.map-panel .go-map-container{ height:430px!important; min-height:0!important; border:none!important; border-radius:0!important; box-shadow:none!important; margin:0!important; }
.map-panel #goMap{ width:100%!important; height:100%!important; }
.map-foot{ display:flex; align-items:center; gap:8px; padding:12px 18px!important; border-top:1px solid var(--line)!important; font-size:.82rem; color:var(--ink-soft)!important; font-weight:600; }
.map-foot .pin{ color:var(--amber-ink); }

/* feed + #root élargi (était bridé à 800px) */
#root{ max-width:1180px!important; margin:0 auto!important; padding:0 24px 40px!important; }
.feed-head{ display:flex!important; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:44px 0 4px!important; }
.feed-head h2{ font-family:"Fraunces",serif!important; font-size:clamp(1.6rem,3vw,2.05rem)!important; color:var(--ink)!important; margin:0!important; }
.feed-head p{ color:var(--ink-soft)!important; font-size:.95rem; max-width:48ch; margin:0!important; }

/* alignement qcard sur la maquette */
.question-card{ padding:26px 26px 22px!important; margin:0 0 22px!important; scroll-margin-top:90px!important; }
.go-qidx{ width:42px!important; height:42px!important; font-size:1.15rem!important; border-radius:12px!important; }
.go-reco-name{ font-size:1.55rem!important; }

/* responsive */
@media(max-width:900px){
  .overview{ grid-template-columns:1fr!important; }
  .trust{ gap:16px!important; }
}
@media(max-width:600px){
  .wrap{ padding-left:16px!important; padding-right:16px!important; }
  #root{ padding-left:16px!important; padding-right:16px!important; }
}

/* ============================================================
   CHROME MAQUETTE — header + footer + CTA + texture + titre
   ============================================================ */
/* texture papier */
html body{ background-image:radial-gradient(1100px 560px at 82% -8%, #FFF8EC 0%, rgba(255,248,236,0) 60%), 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='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E")!important; }

/* header */
.site-header{ position:sticky!important; top:0; z-index:50; background:rgba(250,245,236,.85)!important; -webkit-backdrop-filter:saturate(140%) blur(10px); backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--line)!important; box-shadow:none!important; }
.site-header .header-row{ display:flex!important; align-items:center; gap:22px; height:70px; }
.site-header .brand{ display:flex!important; align-items:center; gap:11px; font-family:"Fraunces",serif!important; font-weight:600; font-size:1.32rem; letter-spacing:-.02em; color:var(--ink)!important; text-decoration:none; }
.site-header .brand .mark{ width:34px; height:34px; border-radius:10px; flex:none; background:linear-gradient(145deg,var(--green),var(--green-700))!important; color:#fff!important; display:grid; place-items:center; font-size:1.05rem; box-shadow:0 4px 12px -4px rgba(30,87,66,.6); }
.site-header .brand .dot{ color:var(--amber)!important; }
.site-header .nav-main{ display:flex!important; gap:6px; margin-left:6px; }
.site-header .nav-main a{ padding:8px 13px; border-radius:9px; color:var(--ink-soft)!important; font-weight:600; font-size:.93rem; text-decoration:none; }
.site-header .nav-main a:hover{ background:var(--paper-2)!important; color:var(--ink)!important; }
.site-header .header-spacer{ flex:1!important; }
.site-header .nav-actions{ display:flex!important; align-items:center; gap:12px; }
.btn-ask{ display:inline-flex!important; align-items:center; gap:8px; background:var(--green)!important; color:#fff!important; border:none; cursor:pointer; padding:10px 16px; border-radius:11px; font-weight:700; font-size:.93rem; font-family:inherit; box-shadow:0 6px 16px -6px rgba(30,87,66,.55); }
.btn-ask:hover{ background:var(--green-700)!important; }

/* footer */
.site-footer{ background:var(--paper-2)!important; border-top:1px solid var(--line)!important; padding:48px 0 30px!important; margin-top:30px!important; color:var(--ink-soft)!important; }
.foot-grid{ display:grid!important; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:30px; }
.foot-brand .brand{ display:inline-flex; align-items:center; gap:11px; font-family:"Fraunces",serif; font-weight:600; font-size:1.2rem; color:var(--ink)!important; text-decoration:none; }
.foot-brand .brand .mark{ width:30px; height:30px; border-radius:9px; background:linear-gradient(145deg,var(--green),var(--green-700)); color:#fff; display:grid; place-items:center; font-size:.95rem; }
.foot-brand .brand .dot{ color:var(--amber); }
.foot-brand p{ color:var(--ink-soft)!important; font-size:.9rem; margin-top:12px; max-width:30ch; }
.foot-col h4{ font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint)!important; margin-bottom:13px; }
.foot-col a{ display:block; color:var(--ink-soft)!important; font-size:.92rem; font-weight:600; padding:5px 0; text-decoration:none; }
.foot-col a:hover{ color:var(--green)!important; }
.foot-col .fl{ margin-right:7px; color:var(--ink-faint); }
.foot-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:38px; padding-top:22px; border-top:1px solid var(--line); font-size:.84rem; color:var(--ink-faint)!important; }

/* CTA bas */
.bigcta{ border-radius:22px!important; padding:46px 40px!important; text-align:center; color:#fff; position:relative; overflow:hidden; background:linear-gradient(135deg,var(--green-700),var(--green))!important; box-shadow:var(--shadow-lg)!important; margin:10px 0 0!important; }
.bigcta h2{ font-family:"Fraunces",serif!important; font-size:clamp(1.7rem,3.4vw,2.4rem)!important; color:#fff!important; margin:0!important; }
.bigcta p{ color:rgba(255,255,255,.85)!important; max-width:52ch; margin:14px auto 24px!important; font-size:1.05rem; }
.bigcta .btn-light{ display:inline-flex; align-items:center; gap:9px; background:#fff!important; color:var(--green-700)!important; font-weight:800; padding:14px 26px; border-radius:13px; font-size:1rem; text-decoration:none; }
.bigcta .btn-light:hover{ transform:translateY(-2px); box-shadow:0 16px 36px -14px rgba(0,0,0,.4); }

/* titre hero : mot-clé en vert italique */
.hero .hero-title em{ font-style:italic!important; color:var(--green)!important; -webkit-text-fill-color:var(--green)!important; font-weight:500; }

/* apparition douce (sûre : animation seulement, jamais d'invisibilité persistante) */
@media (prefers-reduced-motion: no-preference){
  .hero, .overview, .question-block{ animation:goFade .5s ease both; }
  .question-block:nth-child(3){ animation-delay:.05s; }
  .question-block:nth-child(4){ animation-delay:.1s; }
}
@keyframes goFade{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }

/* responsive chrome */
@media(max-width:900px){ .foot-grid{ grid-template-columns:1fr 1fr!important; } .site-header .nav-main{ display:none!important; } }
@media(max-width:600px){ .foot-grid{ grid-template-columns:1fr!important; } .site-header .brand .brand-name{ display:none!important; } .btn-ask .lbl{ display:none!important; } }

/* ============================================================
   PASSE LISIBILITÉ / UX — neutralise les fuites de l'ancien thème sombre
   ============================================================ */

/* --- surlignage du nom dans la description : texte vert net, pas d'encadré --- */
.recommendation-highlight{ background:none!important; background-color:transparent!important; box-shadow:none!important; padding:0!important; border:0!important; border-radius:0!important; color:var(--green-700)!important; -webkit-text-fill-color:var(--green-700)!important; font-weight:800!important; }

/* --- actions IA : conteneur transparent, boutons blancs lisibles, icônes vertes, hover clair --- */
.featured-recommendation{ background:transparent!important; border:none!important; box-shadow:none!important; padding:0!important; margin-top:16px!important; }
.featured-recommendation:hover{ border:none!important; }
.featured-action-btn{ background:var(--card)!important; border:1px solid var(--green-soft)!important; color:var(--green-700)!important; box-shadow:none!important; }
.featured-action-btn:hover{ background:var(--green-tint)!important; border-color:var(--green)!important; color:var(--green-700)!important; transform:translateY(-1px); }
.featured-action-btn i{ color:var(--green)!important; }
.featured-action-btn.action-phone i, .featured-action-btn.action-location i, .featured-action-btn.action-website i, .featured-action-btn.action-more i{ color:var(--green)!important; --fa-primary-color:var(--green)!important; --fa-secondary-color:var(--amber)!important; }
.featured-action-btn:hover i{ color:var(--green-700)!important; }
.community-note{ color:#3B342A!important; background:var(--green-tint)!important; border-left:3px solid var(--green)!important; }

/* --- toggle + zone réponses : marges uniformes, bouton net, panneau blanc --- */
.card-content .answers-section{ background:transparent!important; border:none!important; padding:0!important; margin-top:18px!important; }
.answers-toggle{ width:100%!important; padding:13px 18px!important; background:var(--card)!important; color:var(--green-700)!important; border:1px solid var(--line-2)!important; border-radius:12px!important; font-size:.95rem!important; font-weight:700!important; box-shadow:none!important; display:flex!important; align-items:center; justify-content:center; gap:10px; }
.answers-toggle:hover{ background:var(--green-tint)!important; color:var(--green-700)!important; border-color:var(--green-soft)!important; transform:none!important; box-shadow:none!important; }
.answers-toggle:focus-visible{ outline:2px solid var(--green)!important; outline-offset:2px; }
.answers-toggle i{ color:var(--green)!important; --fa-primary-color:var(--green)!important; }
.answers-list.show{ background:var(--card)!important; border:1px solid var(--line)!important; border-radius:12px!important; padding:2px 16px!important; margin-top:12px!important; }
.answers-list .answer-item:first-child{ border-top:none!important; }

/* --- ÉDITEUR DE RÉPONSE (inline-reply-editor) : tout en clair --- */
.inline-reply-editor{ background:var(--card)!important; border:1px solid var(--line)!important; border-radius:16px!important; box-shadow:var(--shadow)!important; }
.reply-engagement-header{ background:var(--green-tint)!important; border:1px solid var(--green-soft)!important; animation:none!important; box-shadow:none!important; }
.reply-engagement-icon{ background:linear-gradient(135deg,var(--green),var(--green-700))!important; color:#fff!important; box-shadow:none!important; animation:none!important; }
.reply-engagement-icon i{ color:#fff!important; --fa-primary-color:#fff!important; }
.reply-engagement-title{ color:var(--ink)!important; }
.reply-engagement-subtitle{ color:var(--ink-soft)!important; }
.reply-engagement-stat{ color:var(--amber-ink)!important; }
.reply-error-message{ background:#FBEAE6!important; border:1px solid #E7B9AE!important; color:#A23B2C!important; }
.reply-error-message i{ color:#C0392B!important; --fa-primary-color:#C0392B!important; }
.reply-emoji-picker{ background:var(--paper)!important; border:1px solid var(--line-2)!important; }
.reply-emoji-btn{ background:#fff!important; border:1px solid var(--line-2)!important; }
.reply-emoji-btn:hover{ background:var(--green-tint)!important; border-color:var(--green-soft)!important; }
.inline-reply-title{ color:var(--ink)!important; font-family:"Fraunces",serif!important; }
.inline-reply-close{ background:var(--paper)!important; border:1px solid var(--line-2)!important; color:var(--ink-soft)!important; }
.inline-reply-close:hover{ background:#FBEAE6!important; color:#A23B2C!important; }
.reply-textarea, .reply-firstname-input{ background:var(--paper)!important; border:1px solid var(--line-2)!important; color:var(--ink)!important; }
.reply-textarea::placeholder, .reply-firstname-input::placeholder{ color:var(--ink-faint)!important; }
.reply-textarea:focus, .reply-firstname-input:focus{ border-color:var(--green)!important; background:#fff!important; }
.reply-anonymous-toggle{ background:var(--paper)!important; border:1px solid var(--line-2)!important; }
.reply-anonymous-toggle:hover{ background:var(--green-tint)!important; border-color:var(--green-soft)!important; }
.reply-anonymous-label{ color:var(--ink)!important; }
.reply-anonymous-label i{ color:var(--ink-soft)!important; }
.toggle-switch{ background:var(--line-2)!important; border:1px solid var(--line-2)!important; }
.toggle-switch.active{ background:linear-gradient(90deg,var(--green),var(--green-700))!important; border-color:var(--green)!important; }
.btn-submit{ background:linear-gradient(135deg,var(--green),var(--green-700))!important; color:#fff!important; box-shadow:none!important; }
.btn-submit:hover{ box-shadow:0 6px 16px -6px rgba(30,87,66,.5)!important; }

/* --- MODALE "POSER UNE QUESTION" --- */
.go-ask-modal{ background:var(--paper-2)!important; border:1px solid var(--line)!important; color:var(--ink)!important; box-shadow:var(--shadow-lg)!important; }
.go-ask-title{ color:var(--ink)!important; font-family:"Fraunces",serif!important; }
.go-ask-title i{ color:var(--green)!important; --fa-primary-color:var(--green)!important; }
.go-ask-x{ background:var(--paper)!important; border:1px solid var(--line-2)!important; color:var(--ink-soft)!important; }
.go-ask-x:hover{ background:#FBEAE6!important; color:#A23B2C!important; }
.go-ask-error{ background:#FBEAE6!important; border:1px solid #E7B9AE!important; color:#A23B2C!important; }
.go-ask-text, .go-ask-select, .go-ask-input{ background:var(--paper)!important; border:1px solid var(--line-2)!important; color:var(--ink)!important; }
.go-ask-text::placeholder, .go-ask-input::placeholder{ color:var(--ink-faint)!important; }
.go-ask-text:focus, .go-ask-select:focus, .go-ask-input:focus{ border-color:var(--green)!important; outline:none; }
.go-ask-select option, .go-ask-select optgroup{ background:#fff!important; color:var(--ink)!important; }
.go-ask-anon{ color:var(--ink-soft)!important; }
.go-ask-anon i{ color:var(--amber-ink)!important; }
.go-ask-cancel{ background:var(--paper)!important; border:1px solid var(--line-2)!important; color:var(--ink-soft)!important; }
.go-ask-cancel:hover{ border-color:var(--ink-faint)!important; color:var(--ink)!important; }
.go-ask-submit{ background:linear-gradient(135deg,var(--green),var(--green-700))!important; color:#fff!important; }

/* --- FICHE (universal-sheet) + résultat des actions IA --- */
.universal-sheet{ background:var(--paper-2)!important; color:var(--ink)!important; border:1px solid var(--line)!important; }
.universal-sheet *{ border-color:var(--line); }
.sheet-handle{ background:var(--line-2)!important; }
.sheet-section{ border-color:var(--line)!important; background:transparent!important; }
.sheet-section-title{ color:var(--ink)!important; }
.sheet-section-title i{ color:var(--green)!important; --fa-primary-color:var(--green)!important; }
.sheet-ai-actions{ background:transparent!important; }
.sheet-ai-action-btn{ background:#fff!important; border:1px solid var(--line-2)!important; color:var(--ink)!important; box-shadow:none!important; }
.sheet-ai-action-btn:hover{ border-color:var(--green)!important; background:var(--green-tint)!important; }
.sheet-ai-action-icon{ background:var(--green-tint)!important; }
.sheet-ai-action-icon i{ color:var(--green)!important; --fa-primary-color:var(--green)!important; --fa-secondary-color:var(--amber)!important; }
.sheet-ai-action-title{ color:var(--ink)!important; }
.sheet-ai-action-subtitle{ color:var(--ink-soft)!important; }
.sheet-ai-result{ background:#fff!important; border:1px solid var(--line)!important; color:var(--ink)!important; box-shadow:none!important; }
.sheet-ai-result-header{ border-color:var(--line)!important; }
.sheet-ai-result-icon{ background:var(--green-tint)!important; color:var(--green)!important; }
.sheet-ai-result-icon i{ color:var(--green)!important; --fa-primary-color:var(--green)!important; }
.sheet-ai-result-title{ color:var(--ink)!important; }
.sheet-ai-result-close{ background:var(--paper)!important; border:1px solid var(--line-2)!important; color:var(--ink-soft)!important; }
.sheet-ai-result-close:hover{ background:#FBEAE6!important; color:#A23B2C!important; }
.sheet-ai-result-content, .sheet-ai-result-main, .sheet-ai-result-details{ color:#3B342A!important; }
.sheet-ai-result-action, .sheet-ai-result-action-btn{ background:var(--paper)!important; border:1px solid var(--line-2)!important; color:var(--green-700)!important; }
.sheet-ai-result-action:hover, .sheet-ai-result-action-btn:hover{ background:var(--green-tint)!important; border-color:var(--green)!important; }
.sheet-ai-result-action-btn i, .sheet-ai-result-action i{ color:var(--green)!important; --fa-primary-color:var(--green)!important; }
.account-benefit-item{ background:var(--paper)!important; border:1px solid var(--line)!important; }
.account-benefit-icon{ background:var(--green-tint)!important; }
.account-benefit-icon i{ color:var(--green)!important; --fa-primary-color:var(--green)!important; }
.account-benefit-icon.gold{ background:var(--amber-tint)!important; }
.account-benefit-icon.gold i{ color:var(--amber-ink)!important; --fa-primary-color:var(--amber-ink)!important; }
.account-benefit-title{ color:var(--ink)!important; }
.account-benefit-desc{ color:var(--ink-soft)!important; }

/* ============================================================
   AJUSTEMENTS : fil d'ariane aligné + sommaire scrollable (hauteur = carte)
   ============================================================ */
/* fil d'ariane : même cadre que le contenu (1180, bord gauche aligné) */
.breadcrumb{ max-width:1180px!important; margin:0 auto!important; padding:16px 24px 0!important; box-sizing:border-box; background:transparent!important; }
.breadcrumb-wrapper{ background:transparent!important; border:none!important; }
@media(max-width:600px){ .breadcrumb{ padding-left:16px!important; padding-right:16px!important; } }

/* sommaire : hauteur plafonnée à celle de la carte, scrollbar moderne */
/* plafond hauteur sommaire = carte UNIQUEMENT s'il y a une carte ; sinon liste complète */
.overview.has-map .toc-nav{ max-height:458px!important; overflow-y:auto!important; scrollbar-width:thin; scrollbar-color:var(--green-soft) transparent; }
.overview:not(.has-map) .toc-nav{ max-height:none!important; overflow:visible!important; }

/* ============================================================
   PAGES LISTE (accueil / ville / catégorie) — niveau maquette
   ============================================================ */
.go-list{ max-width:1180px!important; padding:30px 24px 64px!important; }
.go-list > header{ margin-bottom:26px; }
.gl-cat{ display:inline-flex!important; align-items:center; gap:8px; background:var(--green-tint)!important; color:var(--green-700)!important; padding:6px 12px; border-radius:100px; border:1px solid var(--green-soft); font-size:.74rem!important; font-weight:800!important; letter-spacing:.12em!important; text-transform:uppercase; }
.gl-title{ font-family:"Fraunces",serif!important; font-size:clamp(2rem,4.5vw,3rem)!important; color:var(--ink)!important; line-height:1.12!important; margin:16px 0 8px!important; }
.gl-sub{ color:var(--ink-soft)!important; font-size:1.05rem!important; }
.gl-grid{ gap:16px!important; }
.gl-card{ background:var(--card)!important; border:1px solid var(--line)!important; border-radius:14px!important; box-shadow:var(--shadow)!important; transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease!important; }
.gl-card:hover{ transform:translateY(-3px)!important; border-color:var(--green-soft)!important; box-shadow:var(--shadow-lg)!important; }
.gl-card-name{ font-family:"Fraunces",serif!important; color:var(--ink)!important; }
.gl-card-name i{ color:var(--green)!important; }
.gl-card-count{ display:inline-block!important; margin-top:9px!important; font-size:.76rem!important; font-weight:700!important; color:var(--green-700)!important; background:var(--green-tint)!important; border:1px solid var(--green-soft)!important; padding:3px 10px!important; border-radius:100px!important; }
/* accueil : hero + sections */
.go-hero{ border-radius:22px!important; padding:52px 32px!important; }
.go-hero h1{ font-family:"Fraunces",serif!important; }
.go-home-h2{ font-family:"Fraunces",serif!important; color:var(--ink)!important; }

/* ============================================================
   HERO — variante « Entraide entre voisins » (CTA double)
   ============================================================ */
.hero-cta{ display:flex!important; flex-wrap:wrap; align-items:center; gap:12px; margin-top:24px!important; }
.btn-hero-primary{ display:inline-flex; align-items:center; gap:8px; background:var(--green)!important; color:#fff!important; border:none; cursor:pointer; font-family:inherit; font-weight:800; font-size:1rem; padding:14px 24px; border-radius:13px; box-shadow:0 8px 20px -8px rgba(30,87,66,.55); transition:transform .16s ease, background .16s ease; }
.btn-hero-primary:hover{ background:var(--green-700)!important; transform:translateY(-2px); }
.btn-hero-secondary{ display:inline-flex; align-items:center; gap:8px; background:var(--card)!important; color:var(--green-700)!important; border:1.5px solid var(--green)!important; cursor:pointer; font-family:inherit; font-weight:700; font-size:1rem; padding:13px 22px; border-radius:13px; transition:background .16s ease, transform .16s ease; }
.btn-hero-secondary:hover{ background:var(--green-tint)!important; transform:translateY(-2px); }
.hero-cta-note{ font-size:.86rem; color:var(--ink-faint); font-style:italic; }
@media(max-width:600px){ .hero-cta{ gap:10px; } .btn-hero-primary, .btn-hero-secondary{ flex:1 1 auto; justify-content:center; } .hero-cta-note{ width:100%; text-align:center; } }

/* ============================================================
   FIX cascade legacy — débordement questions / hauteurs / entêtes / zone morte
   ============================================================ */
/* (D) cartes question : ne plus se dimensionner au contenu (legacy max-content + nowrap) */
#root .question-block{ width:auto!important; max-width:100%!important; min-width:0!important; box-sizing:border-box!important; }
#root .question-card{ width:auto!important; max-width:100%!important; min-width:0!important; box-sizing:border-box!important; }
#root .question-card *{ min-width:0!important; }
#root .card-content{ width:auto!important; max-width:100%!important; box-sizing:border-box!important; }
.question-text{ white-space:normal!important; overflow-wrap:anywhere!important; }
.answer-text, .go-reco-desc, .toc-item-text, .answer-author-name{ overflow-wrap:anywhere!important; }
.featured-actions-row{ min-width:0!important; }

/* (B) hauteurs des 2 colonnes STRICTEMENT égales : la carte fixe la hauteur, le sommaire scrolle */
.overview.has-map{ align-items:stretch!important; }
.overview.has-map > .panel{ display:flex!important; flex-direction:column!important; min-width:0!important; }
.overview.has-map .panel > .toc-container{ flex:1 1 auto!important; display:flex!important; flex-direction:column!important; min-height:0!important; height:auto!important; padding:0!important; }
.overview.has-map .toc-nav{ flex:1 1 0!important; min-height:0!important; height:0!important; max-height:none!important; overflow-y:auto!important; }
.overview.has-map .map-panel .go-map-container{ height:430px!important; flex:0 0 auto!important; }
.overview.has-map .map-panel .map-foot{ flex:0 0 auto!important; }

/* (C) entêtes des 2 panneaux IDENTIQUES (même padding, hauteur, alignement → titres alignés) */
.overview .panel-head{ display:flex!important; align-items:center!important; justify-content:space-between!important; gap:12px!important; min-height:60px!important; padding:14px 22px!important; margin:0!important; border-bottom:1px solid var(--line)!important; box-sizing:border-box!important; }
.overview .panel-head .toc-title, .overview .panel-head .go-map-title-h{ margin:0!important; }
.overview .panel-head .toc-toggle{ display:none!important; }
.overview .panel-head{ min-height:60px!important; }
.map-panel .go-map-fullscreen{ width:32px!important; height:32px!important; padding:0!important; font-size:13px!important; flex:0 0 auto!important; }

/* (A) zone morte au-dessus de la carte : marge/padding legacy supprimés */
.map-panel .go-map-toolbar{ margin:0!important; }
.map-panel .go-map-section{ padding:0!important; margin:0!important; border:none!important; background:transparent!important; box-shadow:none!important; }
.map-panel .go-map-container{ border:none!important; border-radius:0!important; box-shadow:none!important; margin:0!important; }

/* (E) titre de section « Ce que dit la communauté » : ressort sur un bandeau */
.feed-head{ display:block!important; text-align:center!important; margin:50px 0 18px!important; padding:22px 24px!important; background:linear-gradient(180deg,var(--green-tint),#F4F9F4)!important; border:1px solid var(--green-soft)!important; border-radius:18px!important; }
.feed-head h2{ color:var(--green-700)!important; font-family:"Fraunces",serif!important; font-size:clamp(1.7rem,3.4vw,2.3rem)!important; margin:0!important; }
.feed-head p{ margin:8px 0 0!important; }

/* bouton flottant « Poser une question » masqué (présent dans le menu + hero + CTA bas) ;
   l'élément reste en arrière-plan comme relais d'ouverture de la modale */
#go-ask-fab, .go-ask-fab{ display:none!important; }

/* ============================================================
   PAGE D'ACCUEIL v2 — SEO 2026 / EEAT / totaux communauté
   ============================================================ */
.go-home2{ max-width:1180px; margin:0 auto; padding:0 24px 64px; }
.home-hero{ text-align:center; padding:46px 0 26px!important; }
.home-h1{ font-family:"Fraunces",serif!important; font-size:clamp(2.1rem,5vw,3.4rem)!important; line-height:1.1!important; color:var(--ink)!important; font-weight:600!important; margin:18px 0 16px!important; }
.home-h1 em{ color:var(--green)!important; font-style:italic!important; }
.home-lede{ font-size:clamp(1.05rem,2vw,1.25rem)!important; color:var(--ink-soft)!important; max-width:680px; margin:0 auto 26px!important; line-height:1.55!important; }
.home-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.home-cta .btn-hero-primary, .home-cta .btn-hero-secondary{ text-decoration:none; }
/* bandeau de chiffres */
.stats-band{ display:grid!important; grid-template-columns:repeat(5,1fr); gap:14px; margin:18px auto 12px!important; padding:26px 22px!important; background:linear-gradient(180deg,var(--green-tint),#F4F9F4)!important; border:1px solid var(--green-soft); border-radius:20px; }
.stats-band .sb{ text-align:center; min-width:0; }
.sb-num{ font-family:"Fraunces",serif; font-size:clamp(1.5rem,3vw,2.3rem); font-weight:600; color:var(--green-700); line-height:1; }
.sb-lab{ font-size:.8rem; color:var(--ink-soft); margin-top:8px; font-weight:600; line-height:1.25; }
/* sections */
.home-sec{ padding:42px 0 6px!important; }
.home-h2{ font-family:"Fraunces",serif!important; font-size:clamp(1.6rem,3.2vw,2.1rem)!important; color:var(--ink)!important; text-align:center; margin:0 0 6px!important; font-weight:600!important; }
.home-sub{ text-align:center; color:var(--ink-soft); margin:0 0 24px!important; }
.home-h3{ font-family:"Fraunces",serif!important; font-size:1.2rem!important; color:var(--ink)!important; margin:26px 0 14px!important; }
/* comment ça marche */
.how-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.how-card{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:26px 22px; box-shadow:var(--shadow); }
.how-card .how-n{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:11px; background:var(--green); color:#fff; font-family:"Fraunces",serif; font-weight:700; font-size:1.1rem; margin-bottom:12px; }
.how-card h3{ font-family:"Fraunces",serif; color:var(--ink); font-size:1.15rem; margin:0 0 8px; }
.how-card p{ color:var(--ink-soft); margin:0; line-height:1.5; }
/* chips catégories */
.cat-chips{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.cat-chip{ background:var(--paper-2); border:1px solid var(--line); color:var(--ink-soft); padding:8px 16px; border-radius:100px; font-weight:600; font-size:.92rem; }
/* à propos / EEAT */
.home-about{ padding:44px 0 6px!important; }
.about-inner{ background:var(--card); border:1px solid var(--line); border-radius:20px; padding:36px 32px; box-shadow:var(--shadow); max-width:920px; margin:0 auto; }
.about-inner .home-h2{ text-align:left; }
.about-inner p{ color:var(--ink-soft); line-height:1.65; font-size:1.05rem; margin:0 0 18px; }
.about-inner strong{ color:var(--ink); }
.trust-list{ list-style:none!important; padding:0!important; margin:0!important; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.trust-list li{ display:flex; align-items:center; gap:10px; color:var(--ink); font-weight:600; }
.trust-list .b{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:9px; background:var(--green-tint); color:var(--green-700); border:1px solid var(--green-soft); flex:0 0 auto; }
@media(max-width:860px){ .stats-band{ grid-template-columns:repeat(2,1fr)!important; } .how-grid{ grid-template-columns:1fr; } .trust-list{ grid-template-columns:1fr; } .about-inner{ padding:28px 22px; } }
@media(max-width:520px){ .stats-band{ grid-template-columns:1fr!important; } }

/* ============================================================
   BLOC QUESTION — réponses + pied façon maquette
   ============================================================ */
.question-card .go-qtitle{ flex:1; min-width:0; }
.question-card .q-meta{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:9px; font-size:.84rem; color:var(--ink-faint); font-weight:600; }
.question-card .q-meta .d{ width:3px; height:3px; border-radius:50%; background:var(--ink-faint); opacity:.6; }
.question-card .q-meta i{ color:var(--ink-faint); margin-right:3px; }

/* pied du bloc reco : note IA + « Voir la fiche » */
.card-content .go-reco-foot{ display:flex!important; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-top:16px!important; }
.go-fiche-link{ color:var(--green-700)!important; font-weight:700; font-size:.92rem; text-decoration:none!important; display:inline-flex; align-items:center; gap:7px; white-space:nowrap; transition:gap .16s ease, color .16s ease; }
.go-fiche-link:hover{ gap:11px; color:var(--green)!important; }

/* réponses des habitants */
.answers-section{ margin-top:22px!important; }
.answers-h{ font-size:.78rem!important; font-weight:800!important; letter-spacing:.07em!important; text-transform:uppercase!important; color:var(--ink-faint)!important; margin:0 0 4px!important; }
.answers-list{ display:block!important; }
.answers-list .answer-item{ display:flex!important; gap:14px!important; padding:16px 0!important; border-top:1px solid var(--line)!important; background:transparent!important; box-shadow:none!important; border-radius:0!important; margin:0!important; }
.answers-list .answer-item.go-ans-hidden{ display:none!important; }
.answers-list .answer-avatar{ flex:none!important; width:38px!important; height:38px!important; border-radius:50%!important; background:var(--paper)!important; border:1px solid var(--line-2)!important; display:grid!important; place-items:center!important; color:var(--ink-faint)!important; font-size:1rem!important; }
.answers-list .answer-avatar i{ color:var(--ink-faint)!important; }
.answers-list .answer-body{ flex:1; min-width:0; }
.answers-list .answer-head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:.85rem; margin-bottom:3px; }
.answers-list .answer-author-name{ font-weight:700!important; color:var(--ink)!important; }
.answers-list .answer-anon{ font-size:.7rem; font-weight:700; color:var(--ink-faint); background:var(--paper); border:1px solid var(--line); padding:1px 7px; border-radius:100px; }
.answers-list .answer-date{ color:var(--ink-faint)!important; font-weight:500; }
.answers-list .answer-text{ color:#3B342A!important; font-size:.97rem!important; line-height:1.55!important; }
.answers-list .answer-recommendation{ display:inline-flex!important; align-items:center; gap:6px; margin-top:8px!important; font-size:.82rem; font-weight:700; color:var(--green-700)!important; background:var(--green-tint)!important; border:1px solid var(--green-soft)!important; padding:4px 10px!important; border-radius:8px!important; }
.answers-list .ans-actions{ margin-top:9px; }
.answer-useful-btn.util{ display:inline-flex!important; align-items:center; gap:7px; background:var(--paper)!important; border:1px solid var(--line-2)!important; color:var(--ink-soft)!important; font-family:inherit!important; font-weight:700!important; font-size:.83rem!important; cursor:pointer; padding:6px 13px!important; border-radius:100px!important; transition:.16s; line-height:1; }
.answer-useful-btn.util span{ font-weight:800; }
.answer-useful-btn.util:hover{ border-color:var(--green)!important; color:var(--green-700)!important; background:var(--green-tint)!important; }
.answer-useful-btn.util.marked, .answer-useful-btn.util[aria-pressed="true"]{ background:var(--green)!important; border-color:var(--green)!important; color:#fff!important; }

/* pied de carte : Répondre + voir plus */
.q-foot{ display:flex!important; align-items:center; gap:14px; margin-top:18px!important; padding-top:16px!important; border-top:1px solid var(--line)!important; flex-wrap:wrap; }
.q-foot .btn-reply{ display:inline-flex!important; align-items:center; gap:8px; background:var(--card)!important; border:1.5px solid var(--green)!important; color:var(--green-700)!important; font-family:inherit!important; font-weight:700!important; font-size:.9rem!important; cursor:pointer; padding:9px 17px!important; border-radius:11px!important; transition:.16s; }
.q-foot .btn-reply:hover{ background:var(--green)!important; color:#fff!important; }
.q-foot .btn-more-ans{ background:none!important; border:none!important; color:var(--ink-faint)!important; font-family:inherit!important; font-weight:600!important; font-size:.85rem!important; cursor:pointer; padding:6px 2px!important; text-decoration:underline; text-underline-offset:3px; }
.q-foot .btn-more-ans:hover{ color:var(--green-700)!important; }

/* sécurité : actions IA & anciens éléments jamais sur la carte (uniquement dans la fiche) */
.question-card .featured-actions-row, .question-card .featured-recommendation, .question-card .question-actions, .question-card .answers-toggle, .question-card .answers-pagination{ display:none!important; }

/* liens légaux du footer */
.foot-bottom a{ color:var(--ink-soft)!important; text-decoration:none!important; }
.foot-bottom a:hover{ color:var(--green-700)!important; text-decoration:underline!important; }

/* ============================================================
   PAGES LÉGALES (mentions / confidentialité / RGPD)
   ============================================================ */
.go-legal{ max-width:820px!important; margin:0 auto; padding:24px 24px 64px; }
.legal-breadcrumb{ font-size:.85rem; color:var(--ink-faint); margin:8px 0 18px; }
.legal-breadcrumb a{ color:var(--green-700)!important; text-decoration:none; }
.legal-breadcrumb span{ margin:0 6px; opacity:.6; }
.legal-head{ margin-bottom:24px; }
.legal-h1{ font-family:"Fraunces",serif!important; font-size:clamp(2rem,4.5vw,2.8rem)!important; color:var(--ink)!important; font-weight:600!important; line-height:1.12!important; margin:14px 0 10px!important; }
.legal-intro{ font-size:1.1rem!important; color:var(--ink-soft)!important; line-height:1.55!important; margin:0!important; }
.legal-updated{ font-size:.82rem; color:var(--ink-faint); margin-top:10px!important; }
.legal-body{ color:var(--ink-soft); }
.legal-body h2{ font-family:"Fraunces",serif!important; color:var(--ink)!important; font-size:1.4rem!important; margin:30px 0 10px!important; font-weight:600!important; }
.legal-body p{ line-height:1.7; margin:0 0 14px; }
.legal-body ul{ margin:0 0 16px; padding-left:0; list-style:none; }
.legal-body li{ position:relative; padding-left:24px; margin-bottom:9px; line-height:1.6; }
.legal-body li::before{ content:"\203A"; position:absolute; left:7px; color:var(--green); font-weight:800; }
.legal-body a{ color:var(--green-700)!important; }
.legal-body strong{ color:var(--ink); }
.legal-body em{ color:var(--ink-faint); }
.legal-body code{ background:var(--paper-2); border:1px solid var(--line); padding:1px 6px; border-radius:6px; font-size:.9em; }
.legal-tldr{ background:linear-gradient(180deg,var(--green-tint),#F4F9F4)!important; border:1px solid var(--green-soft); border-radius:14px; padding:16px 18px!important; color:var(--ink)!important; margin:0 0 24px!important; line-height:1.6; }
.legal-cross{ display:flex; gap:10px; flex-wrap:wrap; margin-top:36px; padding-top:20px; border-top:1px solid var(--line); }
.legal-cross a{ font-size:.88rem; font-weight:700; color:var(--green-700)!important; background:var(--green-tint); border:1px solid var(--green-soft); padding:7px 14px; border-radius:100px; text-decoration:none; }
.legal-cross a:hover{ background:var(--green); color:#fff!important; }

/* ============================================================
   ICÔNES FA — remplacement total des emoji (charte sans emoji)
   ============================================================ */
.eyebrow i{ margin-right:6px; }
.hero-stats .stat .ic{ color:var(--green)!important; font-size:1.45rem; line-height:1; }
.hero-stats .stat.amber .ic{ color:var(--amber,#C0762E)!important; }
.hero .trust .ti .b{ background:none!important; color:var(--green-700)!important; width:auto!important; height:auto!important; }
.hero .trust .ti .b i{ color:var(--green-700)!important; }
.searchbar .mag{ color:var(--ink-faint)!important; }
.map-panel .map-foot .pin{ color:var(--green)!important; }
.badge i{ color:var(--green-700)!important; margin-right:4px; --fa-secondary-opacity:.4; }
.btn-hero-primary i, .btn-hero-secondary i, .btn-ask i, .q-foot .btn-reply i, .answer-useful-btn.util i, .go-fiche-link i{ margin-right:3px; }
.go-related-all i{ margin-left:5px; }

/* ============================================================
   PAGE QUESTION DÉDIÉE (enrichie) — synthèse + fiche + en savoir plus
   ============================================================ */
.hero .hero-title.q-h1{ font-size:clamp(1.55rem,3.4vw,2.4rem)!important; }
.hero .q-meta{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:14px; font-size:.88rem; color:var(--ink-faint); font-weight:600; }
.hero .q-meta .d{ width:3px; height:3px; border-radius:50%; background:var(--ink-faint); opacity:.6; }
.hero .q-meta i{ color:var(--ink-faint); margin-right:4px; }
.q-synthese{ text-align:left; background:linear-gradient(180deg,var(--green-tint),#F4F9F4); border:1px solid var(--green-soft); border-radius:16px; padding:20px 24px; margin:22px 0 4px; max-width:760px; }
.q-synthese .lbl{ display:inline-flex; align-items:center; gap:8px; font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--green-700); margin-bottom:9px; }
.q-synthese .lbl i{ color:var(--amber,#C0762E); }
.q-synthese p{ color:var(--ink); font-size:1.05rem; line-height:1.66; margin:0; }
.card-content .fiche-grid{ display:grid; grid-template-columns:1fr; gap:22px; margin-top:20px; }
.card-content .fiche-grid.has-map{ grid-template-columns:1fr 1.05fr; }
.fiche-infos h4, .fiche-mapwrap h4{ font-size:.74rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); margin:0 0 12px; }
.fiche-infos .info-row{ display:flex; align-items:center; gap:11px; padding:9px 0; border-top:1px solid var(--line); }
.fiche-infos .info-row:first-of-type{ border-top:none; }
.fiche-infos .info-row .ic{ width:34px; height:34px; border-radius:9px; background:var(--green-tint); border:1px solid var(--green-soft); color:var(--green)!important; display:grid; place-items:center; flex:none; }
.fiche-infos .info-row .v{ font-weight:600; color:var(--ink)!important; font-size:.95rem; }
.fiche-infos .info-row a{ color:var(--green-700)!important; }
.fiche-map{ height:100%; min-height:230px; border-radius:12px; border:1px solid var(--green-soft); overflow:hidden; background:radial-gradient(120% 120% at 30% 25%,#eef4ee,#e4ecdf); }
.q-foot .btn-savoir{ display:inline-flex; align-items:center; gap:7px; margin-left:auto; color:var(--green-700)!important; font-weight:700; font-size:.9rem; text-decoration:none; transition:gap .16s ease, color .16s ease; }
.q-foot .btn-savoir:hover{ gap:11px; color:var(--green)!important; }
/* page question : entête de carte redondant masqué (la question est déjà en H1) */
#root[data-single] .go-qhead{ display:none!important; }
#root[data-single] .question-card{ background:transparent!important; border:none!important; box-shadow:none!important; padding:0!important; }
#root[data-single] .card-content{ margin-top:0!important; }
/* C2 — même recherche dans d'autres villes */
.go-related-sub{ font-family:"Fraunces",serif!important; color:var(--ink)!important; font-size:1.05rem!important; font-weight:600!important; margin:20px 0 10px!important; }
.go-related-cities{ display:flex; flex-wrap:wrap; gap:8px; }
.go-related-cities a{ display:inline-flex; align-items:center; gap:6px; background:var(--green-tint); border:1px solid var(--green-soft); color:var(--green-700)!important; padding:6px 12px; border-radius:100px; font-weight:700; font-size:.86rem; text-decoration:none; transition:background .16s ease, color .16s ease; }
.go-related-cities a:hover{ background:var(--green); color:#fff!important; }
.go-related-cities a i{ color:inherit!important; }

/* ============================================================
   RECHERCHE INTERNE (C1)
   ============================================================ */
.home-search{ display:flex; align-items:center; gap:8px; max-width:560px; margin:0 auto 22px; background:var(--card); border:1px solid var(--line-2); border-radius:14px; padding:6px 6px 6px 16px; box-shadow:var(--shadow); }
.home-search > i{ color:var(--ink-faint); }
.home-search input{ flex:1; border:none; background:none; font-family:inherit; font-size:1rem; color:var(--ink); padding:10px 4px; outline:none; min-width:0; }
.home-search button{ background:var(--green); color:#fff; border:none; font-family:inherit; font-weight:700; font-size:.92rem; padding:11px 18px; border-radius:10px; cursor:pointer; transition:background .16s; }
.home-search button:hover{ background:var(--green-700); }
.btn-search{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid var(--line-2); border-radius:12px; color:var(--ink-soft)!important; background:var(--card); text-decoration:none; transition:border-color .16s, color .16s; }
.btn-search:hover{ border-color:var(--green); color:var(--green-700)!important; }
.go-search{ max-width:820px!important; margin:0 auto; padding:24px 24px 64px; }
.search-head{ margin-bottom:24px; }
.search-h1{ font-family:"Fraunces",serif!important; font-size:clamp(1.7rem,4vw,2.4rem)!important; color:var(--ink)!important; font-weight:600!important; margin:12px 0 16px!important; line-height:1.15; }
.search-box{ display:flex; align-items:center; gap:8px; background:var(--card); border:1px solid var(--line-2); border-radius:14px; padding:6px 6px 6px 16px; box-shadow:var(--shadow); }
.search-box > i{ color:var(--ink-faint); }
.search-box input{ flex:1; border:none; background:none; font-family:inherit; font-size:1.05rem; color:var(--ink); padding:12px 4px; outline:none; min-width:0; }
.search-box button{ background:var(--green); color:#fff; border:none; font-family:inherit; font-weight:700; padding:12px 20px; border-radius:10px; cursor:pointer; }
.search-box button:hover{ background:var(--green-700); }
.search-empty{ color:var(--ink-soft); font-size:1.05rem; line-height:1.6; }
.search-empty a{ color:var(--green-700)!important; }
.search-count{ color:var(--ink-faint); font-size:.88rem; font-weight:600; margin:0 0 14px; }
.search-results{ display:flex; flex-direction:column; gap:10px; }
.search-result{ display:flex; align-items:center; justify-content:space-between; gap:14px; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 18px; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.search-result:hover{ transform:translateY(-2px); border-color:var(--green-soft); box-shadow:var(--shadow-lg); }
.sr-q{ font-family:"Fraunces",serif; color:var(--ink); font-size:1.08rem; font-weight:600; line-height:1.3; }
.sr-meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:6px; font-size:.84rem; color:var(--ink-faint); font-weight:600; }
.sr-meta i{ color:var(--green); margin-right:3px; }
.sr-meta .d{ width:3px; height:3px; border-radius:50%; background:var(--ink-faint); opacity:.6; }
.sr-arrow{ color:var(--green); flex:none; }

/* C3 — lien hub -> page nationale */
.go-national-link{ max-width:1180px; margin:16px auto 0; padding:0 24px; text-align:center; }
.go-national-link a{ display:inline-flex; align-items:center; gap:8px; color:var(--green-700)!important; font-weight:700; font-size:.92rem; text-decoration:none; }
.go-national-link a:hover{ color:var(--green)!important; text-decoration:underline; }

/* B2 — médaillon de catégorie (identité visuelle, remplace l'absence de photos) */
.cat-medallion{ display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:18px; background:linear-gradient(145deg,var(--green-tint),#F4F9F4); border:1px solid var(--green-soft); font-size:1.6rem; margin:0 0 8px; }
.cat-medallion i{ color:var(--green)!important; --fa-primary-color:var(--green); --fa-secondary-color:var(--green); --fa-secondary-opacity:.38; }

/* ============================================================
   PHASE 1 — Top recommandés (hub)
   ============================================================ */
.go-top{ max-width:1180px; margin:18px auto 0; }
.go-top-h{ font-family:"Fraunces",serif!important; color:var(--ink)!important; font-size:clamp(1.2rem,2.6vw,1.5rem)!important; font-weight:600!important; margin:0 0 14px!important; display:flex; align-items:center; gap:10px; }
.go-top-h i{ color:var(--amber-ink,#C0762E); }
.go-top-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.go-top-item{ display:flex; align-items:center; gap:14px; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:12px 16px; transition:border-color .15s ease, box-shadow .15s ease; }
.go-top-item:hover{ border-color:var(--green-soft); box-shadow:var(--shadow); }
.go-top-rank{ flex:none; width:30px; height:30px; border-radius:9px; background:var(--green-tint); border:1px solid var(--green-soft); color:var(--green-700); font-family:"Fraunces",serif; font-weight:600; display:grid; place-items:center; font-size:.95rem; }
.go-top-item:first-child .go-top-rank{ background:linear-gradient(135deg,#FCE9C8,#F6D79E); border-color:#EBC079; color:#7A5B1E; }
.go-top-main{ flex:1; min-width:0; }
.go-top-name{ font-family:"Fraunces",serif; color:var(--ink)!important; font-weight:600; font-size:1.08rem; text-decoration:none; }
.go-top-name:hover{ color:var(--green-700)!important; }
.go-top-badges{ display:inline-flex; flex-wrap:wrap; gap:6px; margin-left:8px; }
.go-top-badges .badge{ font-size:.72rem; padding:2px 8px; }
.go-top-count{ flex:none; display:inline-flex; align-items:center; gap:6px; color:var(--green-700); font-weight:700; font-size:.92rem; }
.go-top-count i{ color:var(--green); }
@media(max-width:560px){ .go-top-badges{ display:none; } }

/* ============================================================
   PHASE 2 — Fiche LIEU
   ============================================================ */
.go-place{ max-width:880px!important; margin:0 auto; padding:8px 24px 64px; }
.place-hero{ text-align:left; padding:18px 0 8px; }
.place-h1{ font-family:"Fraunces",serif!important; color:var(--ink)!important; font-size:clamp(1.8rem,4.4vw,2.6rem)!important; font-weight:600!important; line-height:1.1; margin:6px 0 12px!important; }
.place-card{ background:var(--card); border:1px solid var(--line); border-radius:18px; padding:22px 24px; margin:18px 0 0; box-shadow:var(--shadow); }
.place-sec{ font-family:"Fraunces",serif!important; color:var(--ink)!important; font-size:1.15rem!important; font-weight:600!important; margin:0 0 14px!important; }
.place-desc{ color:var(--ink); font-size:1.05rem; line-height:1.65; margin:0; }
.place-qlist{ display:flex; flex-direction:column; gap:14px; }
.place-q{ border-left:3px solid var(--green-soft); padding:2px 0 2px 14px; }
.place-q-link{ display:inline-flex; align-items:flex-start; gap:8px; color:var(--ink)!important; font-weight:600; text-decoration:none; font-size:1rem; line-height:1.35; }
.place-q-link i{ color:var(--green); margin-top:3px; flex:none; }
.place-q-link:hover{ color:var(--green-700)!important; }
.place-quote{ margin:8px 0 0; padding:10px 14px; background:var(--paper-2); border:1px solid var(--line); border-radius:10px; color:var(--ink-soft); font-size:.92rem; line-height:1.55; font-style:italic; }
.go-place-cta{ margin:12px 0 0; }
.go-place-cta a{ display:inline-flex; align-items:center; gap:8px; color:var(--green-700)!important; font-weight:700; font-size:.92rem; text-decoration:none; transition:gap .16s ease, color .16s ease; }
.go-place-cta a:hover{ gap:11px; color:var(--green)!important; }

/* PHASE 4 — label « Repéré sur le web » (couleur distincte = transparence sur l'origine) */
.go-reco-label.go-reco-web{ color:#2c6e9b!important; }
.go-reco-label.go-reco-web .go-reco-seal{ background:#eaf1f7!important; border-color:#c8dcec!important; }
.go-reco-label.go-reco-web .go-reco-seal i{ color:#2c6e9b!important; }
.place-hero .eyebrow i.fa-globe{ color:#2c6e9b!important; }
.go-web-source{ margin:8px 0 0!important; }
.go-web-source a{ display:inline-flex; align-items:center; gap:6px; color:#2c6e9b!important; font-size:.82rem; font-weight:600; text-decoration:none; }
.go-web-source a:hover{ text-decoration:underline; }

/* RECO ÉDITORIALE (« Le conseil de Guide Online ») — assumée, attribuée au site, jamais un faux habitant */
.go-tip{ max-width:1180px; margin:24px auto 0; background:var(--paper-2); border:1px solid var(--line-2); border-left:4px solid var(--green); border-radius:14px; padding:16px 22px; }
.go-tip-label{ display:inline-flex; align-items:center; gap:7px; font-size:.74rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--green-700); margin-bottom:8px; }
.go-tip-label i{ color:var(--green)!important; }
.go-tip-text{ margin:0; color:var(--ink); font-size:.99rem; line-height:1.62; }
.go-tip-text a{ color:var(--green-700)!important; font-weight:700; }
.go-tip-text a:hover{ text-decoration:underline; }
.go-tip-cta{ display:inline-flex; align-items:center; gap:7px; margin-top:11px; color:var(--green-700)!important; font-weight:700; font-size:.92rem; text-decoration:none; transition:gap .16s ease, color .16s ease; }
.go-tip-cta:hover{ gap:11px; color:var(--green)!important; }
.go-tip-cta i{ color:inherit!important; }

/* Empty-state réponses (pages sans aucune réponse) */
.go-noans{ margin:0; padding:16px 18px; background:var(--green-tint); border:1px dashed var(--green-soft); border-radius:12px; color:var(--ink-soft); font-size:.97rem; line-height:1.55; }
.go-noans i{ color:var(--green); margin-right:6px; }
.go-noans strong{ color:var(--green-700); }

/* ENCART RANKPRESS — « Vous gérez cet établissement ? » (CTA direct, sans formulaire) */
.go-claim{ max-width:1180px; margin:22px auto 0; display:flex; align-items:center; gap:18px; flex-wrap:wrap; background:var(--paper-2); border:1px solid var(--line-2); border-left:4px solid var(--green); border-radius:14px; padding:18px 22px; }
.go-claim-main{ flex:1; min-width:220px; }
.go-claim-title{ font-family:"Fraunces",serif!important; color:var(--ink)!important; font-size:1.12rem!important; font-weight:600!important; margin:0 0 6px!important; display:flex; align-items:center; gap:8px; }
.go-claim-title i{ color:var(--green)!important; }
.go-claim-pitch{ color:var(--ink-soft); font-size:.96rem; line-height:1.55; margin:0; }
.go-claim-pitch strong{ color:var(--ink); }
.go-claim-btn{ flex:none; display:inline-flex; align-items:center; gap:8px; background:var(--green); color:#fff!important; font-family:inherit; font-weight:700; font-size:.95rem; padding:12px 20px; border-radius:11px; text-decoration:none; transition:background .16s, transform .15s; }
.go-claim-btn:hover{ background:var(--green-700); transform:translateY(-1px); }
.go-claim-btn i{ color:#fff!important; }
@media(max-width:640px){ .go-claim{ flex-direction:column; align-items:flex-start; } .go-claim-btn{ width:100%; justify-content:center; } }
@media(max-width:680px){ .card-content .fiche-grid.has-map{ grid-template-columns:1fr; } .q-foot .btn-savoir{ margin-left:0; } }
.panel .toc-nav::-webkit-scrollbar{ width:9px; }
.panel .toc-nav::-webkit-scrollbar-track{ background:transparent; margin:8px 0; }
.panel .toc-nav::-webkit-scrollbar-thumb{ background:var(--green-soft); border-radius:100px; border:2px solid var(--card); }
.panel .toc-nav::-webkit-scrollbar-thumb:hover{ background:var(--green); }
