/* COVERAGE: geh, geh-wrap, geh-breadcrumb, geh-backlink, geh-hero, geh-pill, geh-lead, geh-actions, geh-btn, geh-btn--primary, geh-card, geh-card-title, geh-facts, geh-main, geh-content, geh-section, geh-grid, geh-link-card, geh-sidebar, geh-list, geh-ai, geh-entities, geh-entity, geh-faq, geh-country-guides, geh-country-guide, geh-mag-nav, geh-mag-featured, geh-mag-stack, geh-mag-callout, geh-mag-callout-actions, geh-mag-spotlight, geh-mag-spotlight-copy, geh-mag-spotlight-img, geh-mag-spotlight-actions, geh-mag-newsletter, geh-mag-filters, geh-mag-panels, geh-mag-panel, geh-mag-date, geh-mag-season, geh-mag-season-links, geh-mag-articles, geh-mag-article, geh-mag-thumb, geh-mag-map, geh-mag-neighborhood-map, geh-mag-list, geh-mag-list-item, geh-mag-quotes, geh-mag-quote, geh-mag-avatar, geh-mag-tags */

/* =====================================================================
   askaide.com — Hub éditorial local "conseils/ville" — akmk 3D reskin (2026)
   Vue    : preview/pages/geo/editorial-blog-hub.blade.php  (markup gelé)
   Scope  : <main class="geh"> — tout vit sous .geh ; .akh / .akf jamais touchés
   Remplace intégralement l'ancien bloc <style> inline de la vue.
   Thème  : tokens clairs sur .geh, sombre sous html[data-theme="dark"]
            ET prefers-color-scheme gardé par html:not([data-theme="light"])
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@10..48,600;10..48,700;10..48,800&family=Figtree:wght@400;500;600;700&display=swap');

/* ── 1. TOKENS ── */
.geh {
  --ground:#FAF7F2; --surface:#FFFFFF; --surface-2:#F4F0E8; --raise:#FBF9F5;
  --ink:#191C26; --ink-soft:#565B6B; --ink-faint:#8B8F9C; --line:#ECE6DC; --line-2:#DED7C9;
  --primary:#2B4CF0; --primary-ink:#FFFFFF; --primary-soft:#EAEEFF; --primary-line:#CFD8FF; --violet:#6A4BF2;
  --accent:#FF6A45; --accent-soft:#FFEDE7; --accent-ink:#B33A1E;
  --trust:#0FA968; --trust-soft:#E3F6ED; --trust-ink:#0A7A4B; --gold:#F5A623; --danger:#E5484D; --danger-soft:#FDECEC;
  --shadow:0 1px 1px rgba(25,28,38,.05),0 4px 8px -3px rgba(25,28,38,.10),0 16px 30px -12px rgba(25,28,38,.16);
  --lift:0 24px 44px -14px rgba(25,28,38,.24),0 46px 100px -30px rgba(43,76,240,.28);
  --edge:inset 0 1.5px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(25,28,38,.03);
  --glass:rgba(255,255,255,.82);
  --r:26px; --r-sm:15px; --r-pill:999px;
  --display:'Bricolage Grotesque','Figtree',system-ui,sans-serif;
  --body:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ring:rgba(43,76,240,.4); --br:12px; color-scheme:light;
}
html[data-theme="dark"] .geh {
  --ground:#0E1017; --surface:#171A22; --surface-2:#1E2230; --raise:#1B1F29;
  --ink:#F1EFEA; --ink-soft:#A7ABB8; --ink-faint:#767B8B; --line:#272B37; --line-2:#353B4B;
  --primary:#6B84FF; --primary-ink:#0C1024; --primary-soft:#1A2242; --primary-line:#2C3768; --violet:#8B78FF;
  --accent:#FF7E5C; --accent-soft:#39241D; --accent-ink:#FFB59F;
  --trust:#34D399; --trust-soft:#122A20; --trust-ink:#7EE9BE; --gold:#FBBF52; --danger:#FF6B70; --danger-soft:#3A1D1F;
  --shadow:0 1px 1px rgba(0,0,0,.5),0 6px 14px -6px rgba(0,0,0,.6),0 20px 40px -16px rgba(0,0,0,.72);
  --lift:0 28px 54px -16px rgba(0,0,0,.8),0 56px 116px -34px rgba(107,132,255,.42);
  --edge:inset 0 1.5px 0 rgba(255,255,255,.09),inset 0 -1px 0 rgba(0,0,0,.35);
  --glass:rgba(23,26,34,.78); --ring:rgba(107,132,255,.5); color-scheme:dark;
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .geh {
  --ground:#0E1017; --surface:#171A22; --surface-2:#1E2230; --raise:#1B1F29;
  --ink:#F1EFEA; --ink-soft:#A7ABB8; --ink-faint:#767B8B; --line:#272B37; --line-2:#353B4B;
  --primary:#6B84FF; --primary-ink:#0C1024; --primary-soft:#1A2242; --primary-line:#2C3768; --violet:#8B78FF;
  --accent:#FF7E5C; --accent-soft:#39241D; --accent-ink:#FFB59F;
  --trust:#34D399; --trust-soft:#122A20; --trust-ink:#7EE9BE; --gold:#FBBF52; --danger:#FF6B70; --danger-soft:#3A1D1F;
  --shadow:0 1px 1px rgba(0,0,0,.5),0 6px 14px -6px rgba(0,0,0,.6),0 20px 40px -16px rgba(0,0,0,.72);
  --lift:0 28px 54px -16px rgba(0,0,0,.8),0 56px 116px -34px rgba(107,132,255,.42);
  --edge:inset 0 1.5px 0 rgba(255,255,255,.09),inset 0 -1px 0 rgba(0,0,0,.35);
  --glass:rgba(23,26,34,.78); --ring:rgba(107,132,255,.5); color-scheme:dark;
}
}

/* ── 2. PAGE GROUND — aurore + trame de points ── */
.geh {
  position:relative; isolation:isolate; overflow-x:hidden; min-height:60vh;
  background:var(--ground); color:var(--ink); font-family:var(--body); font-size:15.5px; line-height:1.55;
  -webkit-font-smoothing:antialiased; box-sizing:border-box;
}
.geh *, .geh *::before, .geh *::after { box-sizing:border-box; }
.geh::before, .geh::after { content:""; position:absolute; inset:0; pointer-events:none; z-index:-1; }
.geh::before {
  background:
    radial-gradient(52% 40% at 6% 0%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 70%),
    radial-gradient(38% 34% at 26% 10%,color-mix(in srgb,var(--violet) 12%,transparent),transparent 72%),
    radial-gradient(44% 30% at 96% 12%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),
    radial-gradient(40% 30% at 82% 100%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 72%);
  filter:blur(6px);
}
.geh::after {
  background-image:radial-gradient(color-mix(in srgb,var(--ink) 18%,transparent) .6px,transparent .7px);
  background-size:22px 22px; opacity:.45;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 640px);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 640px);
}
/* typographie : titres en display, tout le reste en body (spécificité .geh + élément > règles globales élément-seul) */
.geh :is(p, a, span, small, strong, em, li, input, blockquote, summary, div) { font-family:var(--body); }
.geh :is(h1, h2, h3, .geh-card-title, .geh-btn, .geh-mag-quote strong, .geh-country-guide strong, .geh-mag-neighborhood-map strong, .geh-mag-avatar, .geh-mag-newsletter button) { font-family:var(--display); }
.geh :is(h1, h2, h3, .geh-card-title) { color:var(--ink); text-wrap:balance; }
/* :where() = spécificité (0,1,0) : les cartes-liens mono-classe déclarées plus bas gagnent sans surenchère */
.geh :where(a) { color:var(--primary); text-decoration:none; }

/* ── 3. WRAP + BREADCRUMB + BACKLINK ── */
.geh-wrap { position:relative; width:min(100% - 36px,1140px); margin-inline:auto; padding-top:8px; }
.geh-breadcrumb {
  display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; padding:22px 0 0;
  color:var(--ink-soft); font-size:.86rem; font-weight:500;
}
.geh-breadcrumb a { display:inline-flex; align-items:center; min-height:30px; color:var(--primary); font-weight:700; text-decoration:none; border-bottom:1.5px solid transparent; transition:border-color .2s; }
.geh-breadcrumb a:hover { border-bottom-color:var(--primary); }
.geh-breadcrumb span { color:var(--ink-faint); }
.geh-breadcrumb span:last-child { color:var(--ink); font-weight:600; }
/* .geh-backlink : le <p> et son <a> portent des styles inline (margin/font-size/color).
   Le color du lien doit être surchargé en !important sinon #1558bd reste (illisible en sombre). */
.geh-backlink { padding-top:6px; }
.geh-backlink a {
  display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 12px 0 10px;
  border-radius:var(--r-pill); background:var(--primary-soft); border:1px solid var(--primary-line);
  color:var(--primary) !important; font-weight:700 !important; text-decoration:none !important;
  box-shadow:var(--edge); transition:transform .2s,box-shadow .2s,background .2s;
}
.geh-backlink a:hover { transform:translateY(-1px); box-shadow:var(--shadow); }

/* ── 4. HERO — pilule, H1 display, lead, actions ── */
.geh-hero {
  display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:34px; align-items:end;
  padding:34px 0 40px;
}
.geh-pill {
  display:inline-flex; align-items:center; gap:8px; width:max-content; max-width:100%; min-height:34px; padding:0 14px 0 12px;
  border-radius:var(--r-pill); background:var(--primary-soft); border:1px solid var(--primary-line);
  color:var(--primary); font-size:.74rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  box-shadow:var(--edge);
}
.geh-pill::before { content:""; flex:0 0 auto; width:7px; height:7px; border-radius:50%; background:var(--primary); box-shadow:0 0 0 3px var(--primary-line); }
.geh h1, .geh-hero h1 {
  margin:18px 0 0; font-family:var(--display); font-size:clamp(2.2rem,5.2vw,4.5rem); font-weight:800;
  line-height:1.0; letter-spacing:-.035em; color:var(--ink); text-wrap:balance;
}
.geh-lead {
  max-width:68ch; margin:20px 0 0; color:var(--ink-soft); font-size:clamp(1.02rem,1.3vw,1.16rem); line-height:1.75;
}
.geh-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }

/* boutons pilule — display font, primaire en dégradé avec reflet */
.geh-btn {
  --br:var(--r-pill); position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:48px; padding:11px 22px; border:1.5px solid var(--line-2); border-radius:var(--r-pill);
  background:var(--surface); color:var(--ink); font-family:var(--display); font-size:.98rem; font-weight:700;
  letter-spacing:-.01em; line-height:1.2; text-decoration:none; cursor:pointer; overflow:hidden; isolation:isolate;
  box-shadow:var(--edge);
  transition:transform .25s cubic-bezier(.2,.8,.3,1.1),box-shadow .25s,filter .2s,border-color .2s,color .2s,background .2s;
}
.geh-btn:hover { transform:translateY(-2px); border-color:var(--primary); color:var(--primary); background:var(--primary-soft); box-shadow:var(--shadow),var(--edge); }
.geh-btn:active { transform:translateY(0) scale(.99); }
.geh-btn--primary, .geh-btn.geh-btn--primary {
  background:linear-gradient(135deg,var(--primary),var(--violet)); border-color:transparent; color:var(--primary-ink);
  box-shadow:var(--shadow),0 8px 20px -8px color-mix(in srgb,var(--primary) 70%,transparent),inset 0 1.5px 0 rgba(255,255,255,.28);
}
.geh-btn--primary::after {
  content:""; position:absolute; top:-20%; left:-70%; width:45%; height:140%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent); transform:skewX(-18deg);
  transition:left .6s cubic-bezier(.2,.8,.2,1); pointer-events:none;
}
.geh-btn--primary:hover, .geh-btn.geh-btn--primary:hover {
  filter:brightness(1.06); transform:translateY(-2px); background:linear-gradient(135deg,var(--primary),var(--violet));
  border-color:transparent; color:var(--primary-ink); box-shadow:var(--lift),inset 0 1.5px 0 rgba(255,255,255,.28);
}
.geh-btn--primary:hover::after { left:130%; }

/* ── 5. CARTE VERRE (.geh-card : synthèse hero + blocs sidebar) ── */
.geh-card {
  position:relative; padding:22px 22px 24px; background:color-mix(in srgb,var(--surface) 88%,transparent);
  border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow),var(--edge);
  -webkit-backdrop-filter:blur(14px) saturate(1.15); backdrop-filter:blur(14px) saturate(1.15);
}
.geh-card[id] { scroll-margin-top:96px; }
.geh-card h2, .geh-card h3, .geh-card-title {
  margin:0 0 14px; font-family:var(--display); font-size:1.12rem; font-weight:800; letter-spacing:-.015em; line-height:1.2; color:var(--ink);
}
.geh-card h2::before, .geh-card-title::before {
  content:""; display:block; width:28px; height:4px; margin-bottom:10px; border-radius:4px;
  background:linear-gradient(90deg,var(--primary),var(--violet));
}
.geh-facts { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.geh-facts li {
  padding:11px 14px; border-radius:var(--r-sm); background:var(--surface-2); border:1px solid var(--line);
  color:var(--ink); font-size:.94rem; line-height:1.45; box-shadow:var(--edge);
}
.geh-facts li strong {
  display:block; margin:0 0 2px; color:var(--ink-soft); font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
}

/* ── 6. LAYOUT — contenu + sidebar sticky ── */
.geh-main, .geh-mag-featured {
  display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:26px; align-items:start; padding-bottom:64px;
}
.geh-content, .geh-mag-stack { display:grid; gap:18px; min-width:0; }
.geh-sidebar { position:sticky; top:88px; display:grid; gap:14px; align-content:start; min-width:0; }
.geh-wrap > .geh-section { margin:0 0 22px; }

/* ── 7. SECTION (carte éditoriale) — H2 avec barre "kicker", paragraphes ── */
.geh-section {
  position:relative; padding:clamp(20px,3vw,30px); background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r); box-shadow:var(--shadow),var(--edge); min-width:0;
}
.geh-section[id] { scroll-margin-top:96px; }
.geh-section h2 {
  margin:0 0 14px; font-family:var(--display); font-size:clamp(1.3rem,2vw,1.8rem); font-weight:800; line-height:1.12; letter-spacing:-.025em; color:var(--ink);
}
.geh-section > h2::before {
  content:""; display:block; width:34px; height:4px; margin-bottom:12px; border-radius:4px;
  background:linear-gradient(90deg,var(--primary),var(--violet));
}
.geh-section > h2 + div, .geh-section > h2 + ul { margin-top:4px; }
.geh-section p { margin:0; color:var(--ink-soft); line-height:1.75; }
.geh-section > p { max-width:72ch; font-size:1rem; }
.geh-section > p + div { margin-top:16px; }
.geh-section h3 { font-family:var(--display); color:var(--ink); }

/* variantes de section détectées par leur contenu (progressive enhancement via :has ; sans :has = carte standard) */
.geh-section:has(> .geh-mag-spotlight) {
  background:
    radial-gradient(60% 70% at 100% 0%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 70%),
    radial-gradient(40% 50% at 0% 100%,color-mix(in srgb,var(--violet) 8%,transparent),transparent 70%),
    var(--surface);
  border-color:var(--primary-line);
}
.geh-section:has(> .geh-mag-callout) {
  background:linear-gradient(120deg,color-mix(in srgb,var(--primary-soft) 80%,var(--surface)),var(--surface) 70%);
  border-color:var(--primary-line);
}
.geh-section:has(> .geh-mag-newsletter) {
  background:linear-gradient(120deg,var(--surface),color-mix(in srgb,var(--accent-soft) 60%,var(--surface)));
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
}
.geh-section:has(> .geh-mag-season) {
  background:linear-gradient(120deg,var(--surface) 30%,color-mix(in srgb,var(--gold) 12%,var(--surface)));
  border-color:color-mix(in srgb,var(--gold) 40%,var(--line));
}

/* ── 8. NAVIGATION + FILTRES + TAGS + PUCES (pilules) ── */
.geh-mag-nav {
  display:flex; flex-wrap:wrap; gap:6px; margin:-16px 0 22px; padding:6px;
  background:var(--glass); border:1px solid var(--line); border-radius:var(--r-pill);
  box-shadow:var(--shadow),var(--edge); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
}
.geh-mag-nav a {
  --br:var(--r-pill); display:inline-flex; align-items:center; min-height:40px; padding:0 14px; border-radius:var(--r-pill);
  color:var(--ink); font-size:.9rem; font-weight:700; text-decoration:none; transition:background .2s,color .2s,transform .2s;
}
.geh-mag-nav a:hover { background:var(--primary-soft); color:var(--primary); }
.geh-mag-nav a:last-child { background:linear-gradient(135deg,var(--primary),var(--violet)); color:var(--primary-ink); box-shadow:inset 0 1.5px 0 rgba(255,255,255,.28); }
.geh-mag-nav a:last-child:hover { filter:brightness(1.06); color:var(--primary-ink); }

.geh-mag-filters, .geh-mag-season-links, .geh-mag-tags, .geh-entities { display:flex; flex-wrap:wrap; gap:8px; }
.geh-mag-filters a, .geh-mag-season-links a {
  --br:var(--r-pill); display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 16px; border-radius:var(--r-pill);
  background:var(--surface); border:1.5px solid var(--line-2); color:var(--ink); font-size:.9rem; font-weight:700;
  text-decoration:none; box-shadow:var(--edge); transition:transform .2s,box-shadow .2s,border-color .2s,color .2s,background .2s;
}
.geh-mag-filters a:hover, .geh-mag-season-links a:hover { transform:translateY(-2px); border-color:var(--primary); color:var(--primary); background:var(--primary-soft); box-shadow:var(--shadow); }
.geh-mag-tags a, .geh-mag-tags span {
  --br:var(--r-pill); display:inline-flex; align-items:center; min-height:36px; padding:0 13px; border-radius:var(--r-pill);
  background:var(--primary-soft); border:1px solid var(--primary-line); color:var(--primary); font-size:.86rem; font-weight:700; text-decoration:none;
  transition:transform .2s,box-shadow .2s,background .2s,color .2s;
}
.geh-mag-tags a::before { content:"#"; margin-inline-end:4px; opacity:.6; }
.geh-mag-tags span { background:var(--surface-2); border-color:var(--line); color:var(--ink-soft); }
.geh-mag-tags a:hover { transform:translateY(-2px); background:var(--primary); border-color:var(--primary); color:var(--primary-ink); box-shadow:var(--shadow); }
.geh-entity {
  display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:0 14px 0 12px; border-radius:var(--r-pill);
  background:var(--surface-2); border:1px solid var(--line); color:var(--ink); font-size:.9rem; font-weight:600; box-shadow:var(--edge);
}
.geh-entity::before { content:""; width:8px; height:8px; border-radius:50%; background:linear-gradient(135deg,var(--trust),var(--primary)); box-shadow:0 0 0 3px var(--trust-soft); }
.geh-mag-date {
  display:inline-flex; align-items:center; gap:6px; width:max-content; min-height:28px; margin-bottom:10px; padding:0 10px;
  border-radius:var(--r-pill); background:linear-gradient(135deg,var(--gold),var(--accent)); color:#241703;
  font-size:.74rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}

/* ── 9. CALLOUT, NEWSLETTER, SAISON, À LA UNE (blocs plats à l'intérieur de leur section) ── */
.geh-mag-callout { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px 24px; align-items:center; }
.geh-mag-callout h2 { margin:0 0 8px; }
.geh-mag-callout p { margin:0; max-width:64ch; }
.geh-mag-callout-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }

.geh-mag-newsletter { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); gap:18px 24px; align-items:end; }
.geh-mag-newsletter h2 { margin:0 0 8px; }
.geh-mag-newsletter p { margin:0; }
.geh-mag-newsletter form { display:flex; gap:8px; min-width:0; padding:5px; background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-pill); box-shadow:var(--shadow),var(--edge); }
.geh-mag-newsletter input {
  --br:var(--r-pill); min-width:0; flex:1 1 auto; height:44px; padding:0 16px; border:1.5px solid transparent; border-radius:var(--r-pill);
  background:transparent; color:var(--ink); font-size:.98rem; line-height:1.3; appearance:none; -webkit-appearance:none;
  transition:border-color .2s,box-shadow .2s;
}
.geh-mag-newsletter input::placeholder { color:var(--ink-faint); opacity:1; }
.geh-mag-newsletter input:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 4px var(--primary-soft); }
.geh-mag-newsletter button {
  --br:var(--r-pill); flex:0 0 auto; height:44px; padding:0 20px; border:0; border-radius:var(--r-pill);
  background:linear-gradient(135deg,var(--primary),var(--violet)); color:var(--primary-ink); font-family:var(--display);
  font-size:.95rem; font-weight:700; letter-spacing:-.01em; cursor:pointer;
  box-shadow:0 8px 20px -8px color-mix(in srgb,var(--primary) 70%,transparent),inset 0 1.5px 0 rgba(255,255,255,.28);
  transition:transform .2s,filter .2s,box-shadow .2s;
}
.geh-mag-newsletter button:hover { transform:translateY(-1px); filter:brightness(1.06); box-shadow:var(--shadow),inset 0 1.5px 0 rgba(255,255,255,.28); }

.geh-mag-season { display:grid; gap:14px; }
.geh-mag-season h2 { margin:0; }
.geh-mag-season h2::before {
  content:""; display:block; width:34px; height:4px; margin-bottom:12px; border-radius:4px;
  background:linear-gradient(90deg,var(--gold),var(--accent));
}
.geh-mag-season p { margin:0; max-width:72ch; }

.geh-mag-spotlight { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.62fr); gap:22px 28px; align-items:stretch; }
.geh-mag-spotlight-copy { display:grid; gap:12px; align-content:start; }
.geh-mag-spotlight small, .geh-mag-article small {
  display:inline-flex; align-items:center; gap:8px; color:var(--primary); font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
}
.geh-mag-spotlight small::before, .geh-mag-article small::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--primary); box-shadow:0 0 0 3px var(--primary-line); }
.geh-mag-spotlight h2 { margin:0; font-size:clamp(1.6rem,2.6vw,2.4rem); letter-spacing:-.03em; line-height:1.06; }
.geh-mag-spotlight h2 a { color:inherit; text-decoration:none; background:linear-gradient(90deg,var(--primary),var(--violet)) no-repeat 0 100% / 0 3px; transition:background-size .3s; }
.geh-mag-spotlight h2 a:hover { background-size:100% 3px; }
.geh-mag-spotlight p { margin:0; max-width:64ch; }
.geh-mag-spotlight p:first-of-type { color:var(--ink); font-size:1.05rem; font-weight:500; }
.geh-mag-spotlight-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
.geh-mag-spotlight-img {
  --br:20px; position:relative; display:block; min-height:250px; border-radius:20px; overflow:hidden; background:var(--surface-2);
  border:1px solid var(--line); box-shadow:var(--shadow),var(--edge); isolation:isolate;
  transition:transform .3s cubic-bezier(.2,.8,.3,1.1),box-shadow .3s;
}
.geh-mag-spotlight-img::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--ink) 28%,transparent)); pointer-events:none; }
.geh-mag-spotlight-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.geh-mag-spotlight-img:hover { transform:translateY(-3px); box-shadow:var(--lift); }
.geh-mag-spotlight-img:hover img { transform:scale(1.03); }

/* ── 10. ARTICLES (cartes magazine) ── */
.geh-mag-articles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.geh-mag-article {
  --br:20px; position:relative; display:grid; gap:10px; align-content:start; padding:14px 16px 20px; border:1px solid var(--line); border-radius:20px;
  background:var(--surface-2); color:var(--ink); text-decoration:none; box-shadow:var(--edge);
  transition:transform .28s cubic-bezier(.2,.8,.3,1.1),box-shadow .28s,border-color .2s,background .2s;
}
.geh-mag-article:hover { transform:translateY(-4px); background:var(--surface); border-color:var(--primary-line); box-shadow:var(--lift),var(--edge); }
.geh-mag-thumb {
  display:block; aspect-ratio:16/9; height:auto; margin:-4px -6px 4px; border-radius:14px; overflow:hidden; background:var(--surface);
  border:1px solid var(--line); box-shadow:var(--edge);
}
.geh-mag-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.geh-mag-article:hover .geh-mag-thumb img { transform:scale(1.04); }
.geh-mag-article h3 { margin:0; font-size:1.15rem; font-weight:800; line-height:1.22; letter-spacing:-.02em; color:var(--ink); }
.geh-mag-article > span:not(.geh-mag-thumb) { color:var(--ink-soft); font-size:.93rem; line-height:1.6; }
.geh-mag-article > span:not(.geh-mag-thumb)::after { content:"→"; display:block; margin-top:10px; color:var(--primary); font-weight:800; transition:transform .2s; }
.geh-mag-article:hover > span:not(.geh-mag-thumb)::after { transform:translateX(4px); }

/* ── 11. PANNEAUX (.geh-mag-panel : signaux, vie locale, repères, agenda, actus, ressources) + .geh-ai ── */
.geh-mag-panels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.geh-mag-panel, .geh-ai div {
  --br:var(--r-sm); position:relative; display:block; padding:16px 18px; border:1px solid var(--line); border-radius:var(--r-sm);
  background:var(--surface-2); color:var(--ink-soft); font-size:.93rem; line-height:1.6; text-decoration:none; box-shadow:var(--edge);
  transition:transform .25s cubic-bezier(.2,.8,.3,1.1),box-shadow .25s,border-color .2s,background .2s;
}
.geh-mag-panel h3 { display:block; margin:0 0 6px; font-size:1rem; font-weight:800; letter-spacing:-.015em; line-height:1.25; color:var(--ink); }
a.geh-mag-panel:hover { transform:translateY(-3px); background:var(--surface); border-color:var(--primary-line); box-shadow:var(--shadow),var(--edge); }
a.geh-mag-panel:hover h3 { color:var(--primary); }
a.geh-mag-panel[target="_blank"] h3::after { content:"↗"; margin-inline-start:6px; color:var(--primary); font-size:.85em; }
.geh-ai { display:grid; gap:10px; }
.geh-ai data-ai-summary, .geh-ai data-ai-facts { display:block; min-width:0; }
.geh-ai data-ai-summary div { color:var(--ink); font-size:1rem; }
.geh-ai data-ai-facts div { border-style:dashed; border-color:var(--primary-line); }

/* ── 12. CARTES DE LIENS (maillage interne : compactes, scannables) ── */
.geh-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.geh-link-card {
  --br:var(--r-sm); position:relative; display:block; padding:13px 44px 13px 16px; border:1px solid var(--line); border-radius:var(--r-sm);
  background:var(--surface-2); color:var(--ink); text-decoration:none; box-shadow:var(--edge);
  transition:transform .22s cubic-bezier(.2,.8,.3,1.1),box-shadow .22s,border-color .2s,background .2s;
}
.geh-link-card::after {
  content:"→"; position:absolute; top:12px; inset-inline-end:12px; display:grid; place-items:center; width:26px; height:26px;
  border-radius:50%; background:var(--surface); border:1px solid var(--line-2); color:var(--primary); font-size:.85rem; font-weight:800;
  transition:transform .2s,background .2s,color .2s,border-color .2s;
}
.geh-link-card h3 { display:block; margin:0 0 3px; font-size:.98rem; font-weight:700; letter-spacing:-.01em; line-height:1.3; color:var(--ink); }
.geh-link-card span { display:block; color:var(--ink-soft); font-size:.88rem; line-height:1.5; }
.geh-link-card:hover { transform:translateY(-2px); background:var(--surface); border-color:var(--primary-line); box-shadow:var(--shadow),var(--edge); }
.geh-link-card:hover h3 { color:var(--primary); }
.geh-link-card:hover::after { background:linear-gradient(135deg,var(--primary),var(--violet)); border-color:transparent; color:var(--primary-ink); transform:translateX(2px); }

/* ── 13. LISTES SIDEBAR (.geh-list pilules, .geh-mag-list angles) ── */
.geh-list { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.geh-list a {
  --br:var(--r-pill); display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:46px; padding:6px 6px 6px 14px;
  border:1px solid var(--line); border-radius:var(--r-pill); background:var(--surface-2); color:var(--ink); font-size:.92rem; font-weight:700;
  text-decoration:none; box-shadow:var(--edge); transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;
}
.geh-list a > span:first-child { min-width:0; overflow-wrap:anywhere; }
.geh-list a > span:last-child {
  flex:0 0 auto; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--surface);
  border:1px solid var(--line-2); color:var(--primary); font-weight:800; transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.geh-list a:hover { transform:translateY(-2px); background:var(--surface); border-color:var(--primary-line); box-shadow:var(--shadow),var(--edge); color:var(--primary); }
.geh-list a:hover > span:last-child { background:linear-gradient(135deg,var(--primary),var(--violet)); border-color:transparent; color:var(--primary-ink); transform:translateX(2px); }

.geh-mag-list { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.geh-mag-list li { margin:0; min-width:0; }
.geh-mag-list a, .geh-mag-list .geh-mag-list-item {
  --br:var(--r-sm); display:block; padding:12px 14px; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--surface-2);
  color:var(--ink-soft); font-size:.9rem; line-height:1.5; text-decoration:none; box-shadow:var(--edge);
  transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;
}
.geh-mag-list a:hover { transform:translateY(-2px); background:var(--surface); border-color:var(--primary-line); box-shadow:var(--shadow),var(--edge); }
.geh-mag-list strong { display:block; margin-bottom:3px; color:var(--ink); font-weight:700; font-size:.95rem; }
.geh-mag-list a:hover strong { color:var(--primary); }
.geh-mag-list a span, .geh-mag-list-item span { display:block; }

/* ── 14. QUARTIERS — mosaïque (.geh-mag-map) + cartes (.geh-mag-neighborhood-map) ── */
.geh-mag-map {
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin:0 0 14px; padding:10px;
  border:1px solid var(--line); border-radius:20px; background:var(--surface-2); box-shadow:var(--edge);
}
.geh-mag-map a {
  --br:12px; display:flex; align-items:center; justify-content:center; text-align:center; min-height:58px; padding:8px 10px;
  border:1px solid var(--line-2); border-radius:12px; background:var(--surface); color:var(--ink); font-size:.86rem; font-weight:700; line-height:1.25;
  text-decoration:none; overflow-wrap:anywhere; box-shadow:var(--edge); transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s;
}
.geh-mag-map a:nth-child(3n) { background:color-mix(in srgb,var(--primary-soft) 70%,var(--surface)); border-color:var(--primary-line); }
.geh-mag-map a:nth-child(4n) { background:color-mix(in srgb,var(--accent-soft) 60%,var(--surface)); }
.geh-mag-map a:nth-child(5n) { background:color-mix(in srgb,var(--trust-soft) 60%,var(--surface)); }
.geh-mag-map a:hover { transform:translateY(-2px); background:linear-gradient(135deg,var(--primary),var(--violet)); border-color:transparent; color:var(--primary-ink); box-shadow:var(--shadow); }
.geh-mag-neighborhood-map { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.geh-mag-neighborhood-map a {
  --br:var(--r-sm); display:block; min-height:74px; padding:12px 14px; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--surface-2);
  color:var(--ink); text-decoration:none; box-shadow:var(--edge); transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;
}
.geh-mag-neighborhood-map a:hover { transform:translateY(-2px); background:var(--surface); border-color:var(--primary-line); box-shadow:var(--shadow),var(--edge); }
.geh-mag-neighborhood-map strong { display:block; margin-bottom:4px; font-family:var(--display); font-size:.98rem; font-weight:700; color:var(--ink); }
.geh-mag-neighborhood-map a:hover strong { color:var(--primary); }
.geh-mag-neighborhood-map span { display:block; color:var(--ink-soft); font-size:.86rem; line-height:1.4; }

/* ── 15. TÉMOIGNAGES ── */
.geh-mag-quotes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.geh-mag-quote {
  position:relative; display:flex; flex-direction:column; padding:18px 18px 16px; border:1px solid var(--line); border-radius:20px;
  background:var(--surface-2); color:var(--ink-soft); font-size:.93rem; line-height:1.6; box-shadow:var(--edge);
}
.geh-mag-quote::before {
  content:"\201C"; position:absolute; top:6px; inset-inline-end:16px; font-family:var(--display); font-size:3.2rem; line-height:1; font-weight:800;
  background:linear-gradient(135deg,var(--primary),var(--violet)); -webkit-background-clip:text; background-clip:text; color:transparent; opacity:.35; pointer-events:none;
}
.geh-mag-avatar {
  display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin-bottom:12px; border-radius:14px;
  background:linear-gradient(135deg,var(--primary),var(--violet)); color:var(--primary-ink); font-family:var(--display); font-size:1.1rem; font-weight:800;
  box-shadow:var(--edge),0 10px 22px -10px color-mix(in srgb,var(--primary) 60%,transparent);
}
.geh-mag-quote blockquote { margin:0; color:var(--ink); font-size:.98rem; line-height:1.6; }
.geh-mag-quote strong { display:block; margin-top:14px; padding-top:12px; border-top:1px solid var(--line); color:var(--ink); font-family:var(--display); font-weight:700; }
.geh-mag-quote strong + span { display:block; margin-top:2px; color:var(--primary); font-size:.84rem; font-weight:700; }

/* ── 16. GUIDES PAYS (tuile flèche en dégradé) ── */
.geh-country-guides { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:16px; }
.geh-country-guide {
  --br:var(--r-sm); display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:72px; padding:12px 12px 12px 16px;
  border:1px solid var(--line); border-radius:var(--r-sm); background:var(--surface-2); color:var(--ink); text-decoration:none; box-shadow:var(--edge);
  transition:transform .22s cubic-bezier(.2,.8,.3,1.1),box-shadow .22s,border-color .2s,background .2s;
}
.geh-country-guide > span { display:block; min-width:0; flex:1 1 auto; }
.geh-country-guide strong { display:block; font-family:var(--display); font-size:.98rem; font-weight:700; letter-spacing:-.01em; line-height:1.25; color:var(--ink); }
.geh-country-guide > span > span { display:block; margin-top:3px; color:var(--ink-soft); font-size:.78rem; font-weight:600; letter-spacing:.06em; }
.geh-country-guide em {
  flex:0 0 auto; display:grid; place-items:center; width:38px; height:38px; border-radius:12px; font-style:normal; font-weight:800;
  background:linear-gradient(135deg,var(--primary),var(--violet)); color:var(--primary-ink);
  box-shadow:var(--edge),0 8px 18px -8px color-mix(in srgb,var(--primary) 60%,transparent); transition:transform .2s;
}
.geh-country-guide:hover { transform:translateY(-2px); background:var(--surface); border-color:var(--primary-line); box-shadow:var(--shadow),var(--edge); }
.geh-country-guide:hover strong { color:var(--primary); }
.geh-country-guide:hover em { transform:translateX(3px); }

/* ── 17. FAQ (details/summary avec chevron animé) ── */
.geh-faq { display:grid; gap:10px; }
.geh-faq details { border:1px solid var(--line); border-radius:var(--r-sm); background:var(--surface-2); padding:0 16px; box-shadow:var(--edge); transition:border-color .2s,background .2s; }
.geh-faq details[open] { background:var(--surface); border-color:var(--primary-line); }
.geh-faq summary {
  --br:10px; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; padding:12px 0; cursor:pointer; list-style:none;
  color:var(--ink); font-weight:700; font-size:.98rem; line-height:1.4;
}
.geh-faq summary::-webkit-details-marker { display:none; }
.geh-faq summary::after {
  content:"+"; flex:0 0 auto; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--surface);
  border:1px solid var(--line-2); color:var(--primary); font-weight:800; font-size:1rem; transition:transform .25s,background .2s,color .2s;
}
.geh-faq details[open] summary::after { transform:rotate(45deg); background:var(--primary); border-color:var(--primary); color:var(--primary-ink); }
.geh-faq summary:hover { color:var(--primary); }
.geh-faq p { margin:0; padding:0 0 16px; color:var(--ink-soft); line-height:1.7; }

/* ── 18. KEYFRAMES ── */
@keyframes gehFadeUp { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
.geh-hero, .geh-section, .geh-card { animation:gehFadeUp .5s cubic-bezier(.2,.8,.2,1) both; }

/* ── 19. RESPONSIVE (mobile d'abord vérifié : 360 / 768 / 1024 / 1440) ── */
@media (max-width: 1100px) {
  .geh-main, .geh-mag-featured, .geh-hero { grid-template-columns:minmax(0,1fr) 300px; gap:22px; }
  .geh-mag-panels, .geh-mag-quotes { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .geh-mag-neighborhood-map { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .geh-mag-map { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .geh-hero, .geh-main, .geh-mag-featured { grid-template-columns:1fr; }
  .geh-mag-spotlight, .geh-mag-callout, .geh-mag-newsletter { grid-template-columns:1fr; }
  .geh-mag-spotlight-img { min-height:220px; aspect-ratio:16/9; order:-1; }
  .geh-sidebar { position:static; }
  .geh-mag-callout-actions { justify-content:flex-start; }
  .geh-country-guides { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .geh-mag-nav { border-radius:22px; }
}
@media (max-width: 640px) {
  .geh { font-size:15px; }
  .geh-wrap { width:min(100% - 24px,1140px); }
  .geh-hero { padding:24px 0 30px; gap:18px; }
  .geh h1, .geh-hero h1 { font-size:clamp(2rem,10.5vw,3rem); }
  .geh-lead { font-size:1rem; margin-top:14px; }
  .geh-section { padding:18px 16px; border-radius:20px; }
  .geh-card { padding:18px 16px 20px; border-radius:20px; }
  .geh-grid, .geh-mag-articles, .geh-mag-panels, .geh-mag-quotes, .geh-mag-neighborhood-map, .geh-country-guides { grid-template-columns:1fr; }
  .geh-mag-map { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .geh-mag-nav { margin-top:-8px; padding:6px; gap:4px; }
  .geh-mag-nav a { min-height:44px; padding:0 12px; font-size:.86rem; }
  /* cibles tactiles >=44px sur mobile (les liens de fil d'ariane restent inline, exemptés) */
  .geh-mag-tags a, .geh-mag-tags span, .geh-backlink a { min-height:44px; }
  .geh-entity { min-height:44px; }
  .geh-mag-newsletter form { flex-direction:column; padding:8px; border-radius:20px; }
  .geh-mag-newsletter input { border-color:var(--line-2); }
  .geh-mag-newsletter button { width:100%; }
  .geh-mag-spotlight h2 { font-size:clamp(1.5rem,7vw,2rem); }
  .geh-mag-spotlight-img { min-height:180px; }
  .geh-mag-thumb { margin:-2px -4px 4px; }
}
@media (max-width: 480px) {
  .geh-actions .geh-btn, .geh-mag-callout-actions .geh-btn, .geh-mag-spotlight-actions .geh-btn { flex:1 1 100%; }
  .geh-breadcrumb { font-size:.8rem; }
}

/* ── 20. RTL — flèches et chevrons miroir, alignements logiques ──
   Le <main class="geh"> porte lui-même dir="rtl" (locale ar) ; on couvre aussi html[dir="rtl"]. */
html[dir="rtl"] .geh, .geh[dir="rtl"] { text-align:start; }
html[dir="rtl"] .geh-link-card, .geh[dir="rtl"] .geh-link-card { padding:13px 16px 13px 44px; }
html[dir="rtl"] .geh-list a, .geh[dir="rtl"] .geh-list a { padding:6px 14px 6px 6px; }
html[dir="rtl"] .geh-country-guide, .geh[dir="rtl"] .geh-country-guide { padding:12px 16px 12px 12px; }
html[dir="rtl"] .geh-pill, .geh[dir="rtl"] .geh-pill, html[dir="rtl"] .geh-entity, .geh[dir="rtl"] .geh-entity { padding:0 12px 0 14px; }
html[dir="rtl"] .geh-backlink a, .geh[dir="rtl"] .geh-backlink a { padding:0 10px 0 12px; }
html[dir="rtl"] .geh-btn--primary::after, .geh[dir="rtl"] .geh-btn--primary::after { transform:skewX(18deg); }
html[dir="rtl"] .geh-mag-spotlight h2 a, .geh[dir="rtl"] .geh-mag-spotlight h2 a { background-position:100% 100%; }
html[dir="rtl"] .geh-mag-callout-actions, .geh[dir="rtl"] .geh-mag-callout-actions { justify-content:flex-start; }
html[dir="rtl"] .geh-link-card::after, .geh[dir="rtl"] .geh-link-card::after,
html[dir="rtl"] .geh-list a > span:last-child, .geh[dir="rtl"] .geh-list a > span:last-child,
html[dir="rtl"] .geh-country-guide em, .geh[dir="rtl"] .geh-country-guide em,
html[dir="rtl"] .geh-mag-article > span:not(.geh-mag-thumb)::after, .geh[dir="rtl"] .geh-mag-article > span:not(.geh-mag-thumb)::after { transform:scaleX(-1); }
html[dir="rtl"] .geh-link-card:hover::after, .geh[dir="rtl"] .geh-link-card:hover::after,
html[dir="rtl"] .geh-list a:hover > span:last-child, .geh[dir="rtl"] .geh-list a:hover > span:last-child,
html[dir="rtl"] .geh-country-guide:hover em, .geh[dir="rtl"] .geh-country-guide:hover em,
html[dir="rtl"] .geh-mag-article:hover > span:not(.geh-mag-thumb)::after, .geh[dir="rtl"] .geh-mag-article:hover > span:not(.geh-mag-thumb)::after { transform:scaleX(-1) translateX(2px); }

/* ── 21. MOTION + FOCUS (scopé .geh uniquement) ── */
@media (prefers-reduced-motion: reduce) {
  .geh *, .geh *::before, .geh *::after {
    animation-duration:.01ms !important; animation-delay:0s !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
  .geh-hero, .geh-section, .geh-card { animation:none; opacity:1; transform:none; }
}
/* anneau --primary plein (>=3:1 sur --ground dans les deux thèmes). !important : défensif contre un reset global outline:none */
html body .geh :is(a, button, input, summary):focus-visible {
  outline:3px solid var(--primary) !important; outline-offset:3px !important; border-radius:var(--br,12px) !important;
}
html body .geh .geh-mag-newsletter input:focus-visible { outline-offset:1px !important; }

/* ── 22. GUARD — surclasse la CSS de famille (bloc <style> inline de la vue) ──
   La vue embarque un <style> plat bleu (lignes 122–248) sur les MÊMES hooks, à
   (0,1,0)/(0,2,0) et SANS !important (vérifié : grep '!important' = 0). L'ordre de
   chargement du <link> akmk vs @section('extra_head_content') n'est pas garanti : à
   spécificité égale l'ordre trancherait. On ré-affirme donc chaque hook porteur à
   `html body .geh …` = (0,2,2)+, qui bat le bloc inline sur la spécificité dans LES
   DEUX ordres — sans !important (inutile ici, l'adversaire n'en a aucun).
   NB FEUILLES PARTAGÉES : public-pages-unified.min.css et public-deep-pages.min.css
   ne forcent RIEN sur cette page — chaque règle !important y est clôturée derrière
   d'autres racines (.geo-city-hub, .search-next, .local-guide, .cc-page, .contact-page…) ;
   `grep 'geh'` = 0 dans les deux. Aucun guard de neutralisation partagée n'est requis :
   ce bloc ne cible que le <style> inline. Tokens = ceux des §1 (basculent en sombre). */

/* fond de page + type (l'inline impose un dégradé bleu plat + #101827) */
html body .geh { background:var(--ground); color:var(--ink); font-family:var(--body); }
html body .geh h1 { font-weight:800; letter-spacing:-.035em; }

/* sections = cartes akmk (l'inline les met #fff plat) ; variantes :has() ré-affirmées APRÈS la base */
html body .geh .geh-section {
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow),var(--edge);
}
html body .geh .geh-section:has(> .geh-mag-spotlight) {
  background:
    radial-gradient(60% 70% at 100% 0%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 70%),
    radial-gradient(40% 50% at 0% 100%,color-mix(in srgb,var(--violet) 8%,transparent),transparent 70%),
    var(--surface);
  border-color:var(--primary-line);
}
html body .geh .geh-section:has(> .geh-mag-callout) {
  background:linear-gradient(120deg,color-mix(in srgb,var(--primary-soft) 80%,var(--surface)),var(--surface) 70%);
  border-color:var(--primary-line);
}
html body .geh .geh-section:has(> .geh-mag-newsletter) {
  background:linear-gradient(120deg,var(--surface),color-mix(in srgb,var(--accent-soft) 60%,var(--surface)));
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
}
html body .geh .geh-section:has(> .geh-mag-season) {
  background:linear-gradient(120deg,var(--surface) 30%,color-mix(in srgb,var(--gold) 12%,var(--surface)));
  border-color:color-mix(in srgb,var(--gold) 40%,var(--line));
}

/* cartes verre */
html body .geh .geh-card {
  background:color-mix(in srgb,var(--surface) 88%,transparent); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow),var(--edge);
}

/* blocs magazine internes : AUCUNE chrome (c'est la section qui la porte) — l'inline leur colle une boîte bleue */
html body .geh :is(.geh-mag-spotlight, .geh-mag-callout, .geh-mag-season) {
  background:transparent; border:0; padding:0; box-shadow:none;
}

/* nav = pilule verre (l'inline la laisse nue) */
html body .geh .geh-mag-nav {
  background:var(--glass); border:1px solid var(--line); border-radius:var(--r-pill); box-shadow:var(--shadow),var(--edge);
}

/* badge date = dégradé or/accent, pas la pilule bleue inline ; #241703 = ink figée >=8:1 sur or/accent (2 thèmes) */
html body .geh .geh-mag-date {
  background:linear-gradient(135deg,var(--gold),var(--accent)); color:#241703;
}

/* mirroir responsive des rayons unconditionnellement guardés (sinon la base (0,2,2) avale le 20px mobile) */
@media (max-width: 640px) {
  html body .geh .geh-section, html body .geh .geh-card { border-radius:20px; }
}
/* ratio de la grille "featured" (l'inline impose 1.4fr/.6fr) — guardé par palier pour ne pas casser l'empilement mobile */
@media (min-width: 1101px) { html body .geh .geh-mag-featured { grid-template-columns:minmax(0,1fr) 340px; } }
@media (min-width: 901px) and (max-width: 1100px) { html body .geh .geh-mag-featured { grid-template-columns:minmax(0,1fr) 300px; } }
