/*
Theme Name: allea 2026
Template: generatepress
Description: Thème enfant GeneratePress — refonte allea, charte 2026
Version: 1.0
*/

@font-face { font-family:'Tenorite'; src:url(fonts/TenoriteRegular.ttf) format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:'Tenorite'; src:url(fonts/TenoriteBold.ttf) format('truetype'); font-weight:700; font-display:swap; }

:root {
  --a-bg:#040D1A; --a-raise:#101E36; --a-ink:#EDF1F7; --a-muted:#93A3BB;
  --a-faint:#5F7089; --a-gold:#C39B30; --a-gold2:#E2BA4A; --a-blue:#0F3467;
  --a-line:rgba(237,241,247,.09); --a-line2:rgba(237,241,247,.16);
}

/* ---- Pages sombres (le marqueur .allea-dark-page dans le contenu active ce mode) ---- */
body.allea-dark { background:var(--a-bg); color:var(--a-ink);
  font-family:'Tenorite','Roboto','Segoe UI',sans-serif; }
body.allea-dark .site-header { background:rgba(4,13,26,.9); border-bottom:1px solid var(--a-line); }
body.allea-dark .main-navigation .main-nav ul li a { color:var(--a-muted); }
body.allea-dark .main-navigation .main-nav ul li a:hover,
body.allea-dark .main-navigation .main-nav ul li[class*="current"] a { color:var(--a-ink); }
body.allea-dark .site-footer { background:var(--a-bg); border-top:1px solid var(--a-line); color:var(--a-muted); }
body.allea-dark h1, body.allea-dark h2, body.allea-dark h3 { color:var(--a-ink); text-wrap:balance; }
body.allea-dark ::selection { background:rgba(195,155,48,.35); }

/* ---- Utilitaires repris de la maquette ---- */
.eyebrow { font-size:12.5px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; color:var(--a-gold); }
.a-lead { color:var(--a-muted); font-size:19px; line-height:1.7; }
.a-gold { color:var(--a-gold2); }
.a-section { padding-top:clamp(76px,10vw,136px); padding-bottom:clamp(76px,10vw,136px); }
.a-section + .a-section { border-top:1px solid var(--a-line); }

.btn-gold .wp-block-button__link, a.btn-gold { background:var(--a-gold); color:#040D1A; font-weight:700;
  border-radius:4px; padding:12px 24px; text-decoration:none; transition:background .2s,transform .2s; }
.btn-gold .wp-block-button__link:hover, a.btn-gold:hover { background:var(--a-gold2); transform:translateY(-1px); }
.btn-ghost .wp-block-button__link, a.btn-ghost { background:transparent; border:1px solid var(--a-line2);
  color:var(--a-ink); font-weight:700; border-radius:4px; padding:12px 24px; text-decoration:none; transition:border-color .2s,color .2s; }
.btn-ghost .wp-block-button__link:hover, a.btn-ghost:hover { border-color:var(--a-gold); color:var(--a-gold2); }

.a-card { background:var(--a-raise); border:1px solid var(--a-line); border-radius:10px;
  padding:30px 28px; transition:border-color .25s,transform .25s; }
.a-card:hover { border-color:rgba(195,155,48,.45); transform:translateY(-3px); }
.a-tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--a-gold);
  border:1px solid rgba(195,155,48,.35); border-radius:4px; padding:4px 10px; }
.a-card p { color:var(--a-muted); font-size:15.5px; }

.a-stat b { display:block; font-size:clamp(34px,3.6vw,46px); font-weight:700; line-height:1;
  color:var(--a-gold2); font-variant-numeric:tabular-nums; }
.a-stat span { display:block; margin-top:12px; color:var(--a-muted); font-size:15px; line-height:1.5; }

.a-norms { color:var(--a-faint); font-size:13.5px; letter-spacing:.1em; text-transform:uppercase;
  display:flex; flex-wrap:wrap; gap:12px 34px; justify-content:space-between;
  border-top:1px solid var(--a-line); border-bottom:1px solid var(--a-line); padding:26px 0; }

.a-value { border-top:2px solid var(--a-gold); padding-top:18px; }
.a-value p { color:var(--a-muted); font-size:15px; }

/* ---- Carte graphique ALM (bloc HTML personnalisé) ---- */
.chart-card { background:linear-gradient(160deg,var(--a-raise),#0D1A30); border:1px solid var(--a-line);
  border-radius:10px; padding:22px 22px 16px; box-shadow:0 30px 80px rgba(0,0,0,.45); }
.chart-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:6px; }
.chart-title { font-size:14.5px; font-weight:700; }
.chart-chip { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--a-faint);
  border:1px solid var(--a-line); border-radius:999px; padding:3px 10px; white-space:nowrap; }
.chart-card canvas { width:100%; height:300px; display:block; }
.chart-legend { display:flex; flex-wrap:wrap; gap:16px; padding-top:12px; margin-top:4px;
  border-top:1px solid var(--a-line); font-size:12px; color:var(--a-faint); }
.chart-legend i { display:inline-block; width:14px; height:8px; border-radius:2px; margin-right:6px; }

/* ---- Apparition au scroll ---- */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s ease; }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none;} }

/* ---- Compléments page d'accueil + en-tête ---- */
body.allea-dark .entry-header, body.allea-dark .page-header { display:none; }
body.allea-dark .site-main { margin-top:0; }
body.allea-dark .entry-content a:not(.wp-block-button__link) { color:var(--a-gold2); }
body.allea-dark .main-title a { color:var(--a-ink); font-weight:700; }
body.allea-dark .site-description { color:var(--a-muted); }
body.allea-dark .site-logo img { width:44px; height:auto; }
.a-hero { padding-top:clamp(40px,6vw,84px); padding-bottom:clamp(60px,8vw,100px); }
.a-hero h1 { font-size:clamp(38px,5.4vw,58px); line-height:1.08; letter-spacing:-.015em; }
.a-hero h1 strong, .a-quote strong { color:var(--a-gold2); }
.a-h2 { font-size:clamp(30px,3.4vw,42px); line-height:1.12; }
.a-quote { max-width:30ch; margin-inline:auto; font-size:clamp(28px,3.6vw,44px); line-height:1.22; }
.a-attrib { color:var(--a-faint); font-size:15px; }
.a-lead { max-width:58ch; }
.a-center { text-align:center; }
.a-center .a-lead { margin-inline:auto; }
.intl-list { list-style:none; margin:6px 0 0; padding:0; display:grid; gap:12px; }
.intl-list li { position:relative; padding-left:24px; font-size:16.5px; }
.intl-list li::before { content:''; position:absolute; left:0; top:.62em; width:12px; height:2px; background:var(--a-gold); }
.intl-list li small { display:block; color:var(--a-faint); font-size:14px; }
.chips { display:flex; flex-wrap:wrap; gap:8px; }
.chips + p { margin-top:16px; }
.chips span { font-size:13px; font-weight:700; border:1px solid var(--a-line2); border-radius:999px; padding:5px 13px; }
.wp-block-group.a-card + .wp-block-group.a-card { margin-top:20px; }
.office h3 { font-size:clamp(26px,2.6vw,34px); }
.office .firm { color:var(--a-muted); font-size:15px; }
.tool-big { font-size:40px; line-height:1; font-weight:700; color:var(--a-gold2); }


/* ---- Correctifs : boutons (GeneratePress écrase) + étiquettes ---- */
.wp-block-button.btn-gold .wp-block-button__link { background:var(--a-gold)!important; color:#040D1A!important; }
.wp-block-button.btn-gold .wp-block-button__link:hover { background:var(--a-gold2)!important; }
.wp-block-button.btn-ghost .wp-block-button__link { background:transparent!important; color:var(--a-ink)!important; border:1px solid var(--a-line2)!important; }
.wp-block-button.btn-ghost .wp-block-button__link:hover { border-color:var(--a-gold)!important; color:var(--a-gold2)!important; }
.a-card p.a-tag { color:var(--a-gold); }


/* ---- CTA « Contact » dans le menu ---- */
body.allea-dark .main-navigation .menu-cta > a { background:var(--a-gold) !important; color:#040D1A !important; border-radius:999px; line-height:36px !important; height:36px; padding:0 18px !important; margin:12px 0 12px 14px; }
body.allea-dark .main-navigation .menu-cta > a:hover { background:var(--a-gold2) !important; color:#040D1A !important; }


/* Cesure des mots composes longs (titres DE) */
html[lang^="de"] body.allea-dark h1, html[lang^="de"] body.allea-dark h2, html[lang^="de"] body.allea-dark h3, html[lang^="de"] body.allea-dark h4 { -webkit-hyphens: auto; hyphens: auto; }


/* ---- Largeur utile mobile : GP ajoute 30px de padding par groupe imbrique (3 niveaux = colonne ecrasee) ---- */
body.allea-dark .entry-content .wp-block-group__inner-container { padding-left:0; padding-right:0; }
body.allea-dark .a-section, body.allea-dark .a-norms { padding-left:clamp(16px,3vw,40px); padding-right:clamp(16px,3vw,40px); }
@media (max-width:782px) {
  body.allea-dark .inside-article { padding-left:14px; padding-right:14px; }
  body.allea-dark .a-section, body.allea-dark .a-norms { padding-left:6px; padding-right:6px; }
  body.allea-dark .a-card { padding:22px 18px; }
}


/* ---- Publications (Query Loop) + listes de fichiers + graphique taux ---- */
body.allea-dark .wp-block-post-template { list-style:none; padding:0; margin:0; }
body.allea-dark .wp-block-post-template > li { border-bottom:1px solid var(--a-line); padding:26px 0; margin:0; }
body.allea-dark .wp-block-post-title { font-size:22px; margin:0 0 6px; }
body.allea-dark .wp-block-post-title a { color:var(--a-ink); text-decoration:none; }
body.allea-dark .wp-block-post-title a:hover { color:var(--a-gold2); }
body.allea-dark .wp-block-post-date { display:block; color:var(--a-faint); font-size:13px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; }
body.allea-dark .wp-block-post-excerpt p { color:var(--a-muted); font-size:15.5px; margin:0; }
body.allea-dark .wp-block-post-excerpt__more-link { color:var(--a-gold); text-decoration:none; }
body.allea-dark .wp-block-post-excerpt__more-link:hover { color:var(--a-gold2); }
body.allea-dark .wp-block-query-pagination { margin-top:34px; }
body.allea-dark .wp-block-query-pagination a, body.allea-dark .wp-block-query-pagination .page-numbers { color:var(--a-muted); text-decoration:none; }
body.allea-dark .wp-block-query-pagination a:hover { color:var(--a-gold2); }
body.allea-dark .wp-block-query-pagination .current { color:var(--a-gold); }
ul.allea-files { list-style:none; padding:0; margin:0; border-top:1px solid var(--a-line); }
ul.allea-files li { display:flex; justify-content:space-between; align-items:baseline; gap:16px; border-bottom:1px solid var(--a-line); padding:12px 4px; margin:0; }
ul.allea-files a { color:var(--a-ink); text-decoration:none; font-size:15.5px; }
ul.allea-files a:hover { color:var(--a-gold2); }
ul.allea-files span { color:var(--a-faint); font-size:13px; white-space:nowrap; }
#dr-chart { width:100%; height:320px; }


/* ---- En-tete collant (comme la maquette) ---- */
body.allea-dark .site-header { position: sticky; top: 0; z-index: 100; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
body.allea-dark.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
  body.allea-dark.admin-bar .site-header { top: 46px; }
}


/* Logo : plafonne partout (pages claires heritees + page 404 comprises) */
.site-logo img, .navigation-branding img, .mobile-header-logo img { width:44px; height:auto; }


/* ---- Tablette (769-1080px) : 9 elements ne tiennent pas sur une ligne -> hamburger comme sur mobile ---- */
@media (min-width: 769px) and (max-width: 999px) {
  body.allea-dark .main-navigation .menu-toggle { display: block; }
  body.allea-dark .main-navigation ul { display: none; }
  body.allea-dark .main-navigation.toggled .main-nav > ul { display: block; }
  body.allea-dark .main-navigation.toggled .main-nav > ul > li { float: none; width: 100%; }
  body.allea-dark .main-navigation.toggled .main-nav ul li a { line-height: 52px; }
  body.allea-dark .main-navigation.toggled .menu-cta > a { display: inline-block; margin: 10px 0 14px 16px; }
}


/* ---- Sous-menu deroulant sombre + items langue compacts ---- */
body.allea-dark .main-navigation ul ul { background: var(--a-raise); border: 1px solid var(--a-line2); border-radius: 8px; box-shadow: 0 14px 30px rgba(0,0,0,.4); }
body.allea-dark .main-navigation ul ul li a { color: var(--a-muted); line-height: 46px; font-size: 14.5px; }
body.allea-dark .main-navigation ul ul li a:hover { color: var(--a-gold2); }
body.allea-dark .main-navigation .lang-item > a { color: var(--a-faint); font-size: 13px; letter-spacing: .08em; padding-left: 10px; padding-right: 10px; }
body.allea-dark .main-navigation .lang-item > a:hover { color: var(--a-gold2); }
@media (min-width: 1000px) and (max-width: 1150px) {
  body.allea-dark .main-navigation .main-nav > ul > li > a { padding-left: 13px; padding-right: 13px; }
}


/* ---- Articles (publications) : theme sombre, colonne de lecture, sans meta de fin ---- */
body.allea-dark.single-post .entry-header { display:block; max-width:780px; margin:0 auto; padding-top:clamp(50px,7vw,90px); }
body.allea-dark.single-post .entry-header .entry-title { font-size:clamp(30px,4vw,44px); line-height:1.15; }
body.allea-dark.single-post .entry-header .entry-meta { display:none; }
body.allea-dark.single-post .entry-header .byline { display:none; }
body.allea-dark.single-post .entry-content { max-width:780px; margin-left:auto; margin-right:auto; padding-bottom:clamp(50px,7vw,90px); }
body.allea-dark.single-post .entry-content a { color:var(--a-gold2); }
body.allea-dark.single-post .entry-content a:hover { color:var(--a-gold); }
body.allea-dark.single-post footer.entry-meta { display:none; }
body.allea-dark.single-post .post-navigation, body.allea-dark.single-post nav.post-navigation { display:none; }


/* ===== SEO 2026 : tableau des taux + FAQ ===== */
body.allea-dark .allea-rates-wrap { overflow-x:auto; margin:26px 0 8px; }
body.allea-dark table.allea-rates { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; font-size:15px; }
body.allea-dark table.allea-rates caption { caption-side:bottom; text-align:left; font-size:12.5px; color:var(--a-faint,#8fa1bd); padding-top:12px; }
body.allea-dark table.allea-rates th, body.allea-dark table.allea-rates td { padding:9px 12px; border-bottom:1px solid var(--a-line2,rgba(255,255,255,.12)); }
body.allea-dark table.allea-rates thead th { font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--a-gold2,#E2BA4A); text-align:right; }
body.allea-dark table.allea-rates thead th:first-child { text-align:left; }
body.allea-dark table.allea-rates tbody th { font-weight:500; color:#fff; text-align:left; }
body.allea-dark table.allea-rates tbody td { text-align:right; color:var(--a-muted,#b9c4d6); }
body.allea-dark table.allea-rates tbody tr:first-child th, body.allea-dark table.allea-rates tbody tr:first-child td { color:var(--a-gold2,#E2BA4A); font-weight:600; }
@media (max-width:600px) { body.allea-dark table.allea-rates { font-size:13.5px; } body.allea-dark table.allea-rates th, body.allea-dark table.allea-rates td { padding:8px 8px; } }
body.allea-dark details.a-faq { border:1px solid var(--a-line2,rgba(255,255,255,.12)); border-radius:10px; background:var(--a-raise,rgba(255,255,255,.03)); padding:0; margin:10px 0; }
body.allea-dark details.a-faq summary { cursor:pointer; font-weight:600; color:#fff; padding:15px 18px; }
body.allea-dark details.a-faq summary:hover { color:var(--a-gold2,#E2BA4A); }
body.allea-dark details.a-faq[open] summary { color:var(--a-gold2,#E2BA4A); border-bottom:1px solid var(--a-line2,rgba(255,255,255,.10)); }
body.allea-dark details.a-faq p { padding:12px 18px 16px; margin:0; color:var(--a-muted,#b9c4d6); }
body.allea-dark details.a-faq a { color:var(--a-gold2,#E2BA4A); }


/* SEO 2026 : correctif contraste btn-gold dans le contenu */
body.allea-dark .entry-content a.btn-gold, body.allea-dark a.btn-gold { color: #040D1A !important; }
body.allea-dark .entry-content a.btn-gold:hover, body.allea-dark a.btn-gold:hover { color: #040D1A !important; }


/* SEO 2026 : FAQ riches (listes, paragraphes multiples) */
body.allea-dark details.a-faq ul { margin:0; padding:4px 18px 14px 38px; color:var(--a-muted,#b9c4d6); }
body.allea-dark details.a-faq li { margin:5px 0; }
body.allea-dark details.a-faq p + p, body.allea-dark details.a-faq ul + p { padding-top:0; }


/* ===== Graphiques 2026 ===== */
.a-hero-anim{position:relative}
.a-hero-anim .a-hero-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}
.a-hero-anim > *:not(.a-hero-canvas){position:relative;z-index:1}
.a-chart-kicker{color:var(--a-gold2,#E2BA4A);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:600;margin:0 0 12px}
.a-chart-note{color:var(--a-faint,#8fa1bd);font-size:13px;margin:12px 0 0}
.a-sens{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;background:var(--a-raise,rgba(255,255,255,.03));border:1px solid var(--a-line2,rgba(255,255,255,.12));border-radius:14px;padding:26px;margin:34px 0 8px}
.a-sens label{display:flex;justify-content:space-between;color:var(--a-muted,#b9c4d6);font-size:14px;margin-bottom:8px}
.a-sens output{color:var(--a-gold2,#E2BA4A);font-weight:600;font-size:16px;font-variant-numeric:tabular-nums}
.a-sens input[type=range]{width:100%;accent-color:var(--a-gold,#C39B30);cursor:pointer;margin:0}
.a-sens-scale{display:flex;justify-content:space-between;color:var(--a-faint,#8fa1bd);font-size:12px;margin-top:4px}
.a-sens-note{color:var(--a-faint,#8fa1bd);font-size:12.5px;margin:14px 0 0}
.a-sens-kicker{color:var(--a-faint,#8fa1bd);font-size:12.5px;text-transform:uppercase;letter-spacing:.1em}
.a-sens-value{font-size:clamp(36px,4.5vw,50px);font-weight:650;line-height:1.1;margin:4px 0 2px;font-variant-numeric:tabular-nums;transition:color .25s;color:var(--a-ink,#E8EDF5)}
.a-sens-delta{font-size:14.5px;color:var(--a-muted,#b9c4d6)}
.a-sens-d{font-weight:600;font-variant-numeric:tabular-nums}
.a-sens-gauge{margin-top:16px;height:12px;border-radius:6px;background:rgba(255,255,255,.06);position:relative}
.a-sens-mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:rgba(255,255,255,.4);left:50%}
.a-sens-bar{position:absolute;top:0;bottom:0;background:var(--a-gold,#C39B30);border-radius:6px;transition:left .2s,width .2s}
@media(max-width:680px){.a-sens{grid-template-columns:1fr;gap:22px;padding:20px}}
@media(prefers-reduced-motion:reduce){.a-sens-bar,.a-sens-value{transition:none}}
.a-wf{margin:34px 0 8px;padding:0}
.a-wf-c{display:block;width:100%;height:340px}
.a-puc{margin:34px 0 8px}
.a-steps{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.a-step-btn{background:none;border:1px solid var(--a-line2,rgba(255,255,255,.12));border-radius:8px;color:var(--a-muted,#b9c4d6);padding:8px 16px;font-size:14px;cursor:pointer;font-family:inherit;line-height:1.4}
.a-step-btn:hover{border-color:rgba(195,155,48,.5)}
.a-step-btn.on{border-color:var(--a-gold,#C39B30);color:var(--a-gold2,#E2BA4A);background:rgba(195,155,48,.08)}
.a-puc-c{display:block;width:100%;height:360px}
.dr-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 22px}
.dr-card{background:var(--a-raise,rgba(255,255,255,.03));border:1px solid var(--a-line2,rgba(255,255,255,.12));border-radius:10px;padding:16px 18px 12px}
.dr-card-l{color:var(--a-faint,#8fa1bd);font-size:12.5px;text-transform:uppercase;letter-spacing:.09em}
.dr-card-v{font-size:28px;font-weight:650;margin:2px 0 0;font-variant-numeric:tabular-nums}
.dr-card-s{color:var(--a-faint,#8fa1bd);font-size:12px;margin-bottom:8px}
.dr-card-c{display:block;width:100%;height:44px}
@media(max-width:680px){.dr-cards{grid-template-columns:1fr}}
#dr-chart{width:100%;height:340px;display:block}
.dr-tip{position:absolute;pointer-events:none;background:#101c33;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:8px 12px;font-size:12.5px;line-height:1.5;color:var(--a-muted,#b9c4d6);display:none;white-space:nowrap;z-index:3;box-shadow:0 6px 22px rgba(0,0,0,.45)}
.dr-tip b{color:#E8EDF5;display:block;margin-bottom:2px}

/* Carte de Suisse (pages Bureaux) */
.a-chmap{margin:34px 0 8px}
.a-chmap canvas{display:block;width:100%;height:clamp(240px,45vw,420px)}

/* Correctifs mobile 2026 : boutons CTA insecables */
.btn-gold, .btn-ghost { display: inline-block; white-space: nowrap; }
@media (max-width: 680px) {
  .btn-gold, .btn-ghost { margin-bottom: 10px; }
}


/* ===== Carte du monde 2026 ===== */
.a-wmap{margin-top:56px}
.a-wmap canvas{display:block;width:100%}
.a-wmap .a-wmap-note{text-align:center;margin-top:12px}
.a-wmap-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#E2BA4A;margin-right:8px}

/* ===== Carriere : note sous la carte ===== */
.a-aside{color:var(--a-muted);font-size:15px;line-height:1.7;margin-top:34px;max-width:640px}

/* Cesure manuelle : seuls les &shy; du contenu font foi */
.hyph-manual{-webkit-hyphens:manual !important;hyphens:manual !important}

/* ===== Neomorphisme 2026 (variante A-mono) ===== */
body.allea-dark .a-card,
body.allea-dark details.a-faq {
  position: relative;
  background: var(--a-bg);
  border: 1px solid rgba(237,241,247,.03);
  border-radius: 14px;
  box-shadow: 14px 18px 38px rgba(0,0,0,.62), -10px -11px 30px rgba(126,163,204,.075), inset 0 1px 0 rgba(255,255,255,.035);
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
body.allea-dark .a-card:hover,
body.allea-dark details.a-faq:hover {
  border-color: rgba(237,241,247,.05);
  box-shadow: 18px 24px 50px rgba(0,0,0,.7), -12px -14px 38px rgba(126,163,204,.11), inset 0 1px 0 rgba(255,255,255,.05);
}
body.allea-dark .a-card:active {
  box-shadow: inset 6px 7px 16px rgba(0,0,0,.5), inset -4px -5px 12px rgba(126,163,204,.06);
  transform: translateY(1px);
}
body.allea-dark .a-card::before,
body.allea-dark details.a-faq::before {
  content: '';
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(440px circle at var(--mx,50%) var(--my,-30%), rgba(140,175,225,.09), transparent 62%);
  opacity: var(--neo-glow, 0); transition: opacity .3s ease;
}
body.allea-dark .a-card::after,
body.allea-dark details.a-faq::after {
  content: '';
  position: absolute; inset: -1px; border-radius: inherit; pointer-events: none; padding: 1px;
  background: radial-gradient(300px circle at var(--mx,50%) var(--my,0%), rgba(226,186,74,.55), rgba(237,241,247,.05) 46%, transparent 72%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: var(--neo-glow, 0); transition: opacity .3s ease;
}
body.allea-dark .a-card:hover::before, body.allea-dark .a-card:hover::after,
body.allea-dark details.a-faq:hover::before, body.allea-dark details.a-faq:hover::after { opacity: 1; }
body.allea-dark .chips span {
  border-color: transparent;
  box-shadow: inset 3px 4px 8px rgba(0,0,0,.4), inset -2px -3px 6px rgba(126,163,204,.06);
}
@media (prefers-reduced-motion: reduce) {
  body.allea-dark .a-card, body.allea-dark details.a-faq,
  body.allea-dark .a-card::before, body.allea-dark .a-card::after { transition: none; }
}

/* ===== Neomorphisme 2026 - extension : boutons dores, carte ALM, sous-menus ===== */
body.allea-dark .chart-card {
  position: relative;
  background: var(--a-bg);
  border: 1px solid rgba(237,241,247,.03);
  border-radius: 14px;
  box-shadow: 14px 18px 38px rgba(0,0,0,.62), -10px -11px 30px rgba(126,163,204,.075), inset 0 1px 0 rgba(255,255,255,.035);
  transition: box-shadow .25s ease, transform .25s ease;
}
body.allea-dark .chart-card:hover {
  box-shadow: 18px 24px 50px rgba(0,0,0,.7), -12px -14px 38px rgba(126,163,204,.11), inset 0 1px 0 rgba(255,255,255,.05);
}
body.allea-dark .chart-card::before {
  content: '';
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(440px circle at var(--mx,50%) var(--my,-30%), rgba(140,175,225,.09), transparent 62%);
  opacity: var(--neo-glow, 0); transition: opacity .3s ease;
}
body.allea-dark .chart-card::after {
  content: '';
  position: absolute; inset: -1px; border-radius: inherit; pointer-events: none; padding: 1px;
  background: radial-gradient(300px circle at var(--mx,50%) var(--my,0%), rgba(226,186,74,.55), rgba(237,241,247,.05) 46%, transparent 72%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: var(--neo-glow, 0); transition: opacity .3s ease;
}
body.allea-dark .chart-card:hover::before, body.allea-dark .chart-card:hover::after { opacity: 1; }
body.allea-dark a.btn-gold,
body.allea-dark .wp-block-button.btn-gold .wp-block-button__link {
  box-shadow: 8px 10px 24px rgba(0,0,0,.5), -5px -6px 16px rgba(126,163,204,.07), inset 0 1px 0 rgba(255,255,255,.28);
  transition: background .2s, box-shadow .2s, transform .2s;
}
body.allea-dark a.btn-gold:hover,
body.allea-dark .wp-block-button.btn-gold .wp-block-button__link:hover {
  box-shadow: 11px 14px 30px rgba(0,0,0,.58), -6px -8px 20px rgba(126,163,204,.1), inset 0 1px 0 rgba(255,255,255,.32);
}
body.allea-dark a.btn-gold:active,
body.allea-dark .wp-block-button.btn-gold .wp-block-button__link:active {
  box-shadow: inset 4px 5px 12px rgba(0,0,0,.38), inset -2px -3px 8px rgba(255,255,255,.14);
  transform: translateY(1px);
}
body.allea-dark .main-navigation .menu-cta > a {
  box-shadow: 6px 8px 18px rgba(0,0,0,.5), -4px -5px 12px rgba(126,163,204,.07), inset 0 1px 0 rgba(255,255,255,.28);
}
body.allea-dark .main-navigation .menu-cta > a:active {
  box-shadow: inset 3px 4px 10px rgba(0,0,0,.38), inset -2px -2px 6px rgba(255,255,255,.14);
}
body.allea-dark .main-navigation ul ul {
  background: var(--a-bg);
  border: 1px solid rgba(237,241,247,.05);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 14px 18px 38px rgba(0,0,0,.65), -8px -9px 24px rgba(126,163,204,.07), inset 0 1px 0 rgba(255,255,255,.04);
}

/* ===== Correctifs 06.07.2026 : liens jamais soulignes + chiffre cle 210 ===== */
body.allea-dark a { text-decoration: none !important; }
.a-card p.tool-big { font-size: 52px; line-height: 1; font-weight: 700; color: var(--a-gold2); }

/* ===== Neomorphisme 2026 - cartes taux (.dr-card) ===== */
body.allea-dark .dr-card {
  position: relative;
  background: var(--a-bg);
  border: 1px solid rgba(237,241,247,.03);
  border-radius: 14px;
  box-shadow: 14px 18px 38px rgba(0,0,0,.62), -10px -11px 30px rgba(126,163,204,.075), inset 0 1px 0 rgba(255,255,255,.035);
  transition: box-shadow .25s ease, transform .25s ease;
}
body.allea-dark .dr-card:hover {
  box-shadow: 18px 24px 50px rgba(0,0,0,.7), -12px -14px 38px rgba(126,163,204,.11), inset 0 1px 0 rgba(255,255,255,.05);
}
body.allea-dark .dr-card::before {
  content: '';
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(440px circle at var(--mx,50%) var(--my,-30%), rgba(140,175,225,.09), transparent 62%);
  opacity: var(--neo-glow, 0); transition: opacity .3s ease;
}
body.allea-dark .dr-card::after {
  content: '';
  position: absolute; inset: -1px; border-radius: inherit; pointer-events: none; padding: 1px;
  background: radial-gradient(300px circle at var(--mx,50%) var(--my,0%), rgba(226,186,74,.55), rgba(237,241,247,.05) 46%, transparent 72%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: var(--neo-glow, 0); transition: opacity .3s ease;
}
body.allea-dark .dr-card:hover::before, body.allea-dark .dr-card:hover::after { opacity: 1; }

/* ===== Neomorphisme 2026 - widget sensibilite (.a-sens) ===== */
body.allea-dark .a-sens {
  position: relative;
  background: var(--a-bg);
  border: 1px solid rgba(237,241,247,.03);
  box-shadow: 14px 18px 38px rgba(0,0,0,.62), -10px -11px 30px rgba(126,163,204,.075), inset 0 1px 0 rgba(255,255,255,.035);
  transition: box-shadow .25s ease, transform .25s ease;
}
body.allea-dark .a-sens:hover {
  box-shadow: 18px 24px 50px rgba(0,0,0,.7), -12px -14px 38px rgba(126,163,204,.11), inset 0 1px 0 rgba(255,255,255,.05);
}
body.allea-dark .a-sens::before {
  content: '';
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(440px circle at var(--mx,50%) var(--my,-30%), rgba(140,175,225,.09), transparent 62%);
  opacity: var(--neo-glow, 0); transition: opacity .3s ease;
}
body.allea-dark .a-sens::after {
  content: '';
  position: absolute; inset: -1px; border-radius: inherit; pointer-events: none; padding: 1px;
  background: radial-gradient(300px circle at var(--mx,50%) var(--my,0%), rgba(226,186,74,.55), rgba(237,241,247,.05) 46%, transparent 72%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: var(--neo-glow, 0); transition: opacity .3s ease;
}
body.allea-dark .a-sens:hover::before, body.allea-dark .a-sens:hover::after { opacity: 1; }


/* ===== H1 discret heros (SEO 06.07.2026) ===== */
/* Le H1 devient l'eyebrow mot-cle (petit, dore) ; l'ancien gros titre passe en p.a-hero-title au rendu identique. */
body.allea-dark .a-hero h1.eyebrow { font-size:12.5px; line-height:1.5; font-weight:700; letter-spacing:.17em; text-transform:uppercase; color:var(--a-gold); margin:0 0 18px; text-wrap:normal; hyphens:manual !important; }
body.allea-dark .a-hero-title { font-size:clamp(38px,5.4vw,58px); line-height:1.08; letter-spacing:-.015em; color:var(--a-ink); text-wrap:balance; margin:0 0 20px; }
body.allea-dark .a-hero-title strong { color:var(--a-gold2); }


/* ===== Theme clair 2026 v2 (selecteur + prefers-color-scheme, graphiques clairs) ===== */
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] {
color-scheme: light;
--a-bg:#EDF1F7; --a-raise:#FFFFFF; --a-ink:#132740; --a-muted:#42536C;
--a-faint:#67748B; --a-gold:#B39951; --a-gold2:#96761E; --a-blue:#0F3467;
--a-line:rgba(19,39,64,.12); --a-line2:rgba(19,39,64,.20);
}

/* Bouton selecteur (les deux themes) */
.a-theme-toggle { background:none; border:1px solid var(--a-line2); border-radius:999px; width:36px; height:36px;
display:inline-flex; align-items:center; justify-content:center; color:var(--a-muted); cursor:pointer;
padding:0; margin:12px 0 12px 10px; vertical-align:middle; transition:color .2s,border-color .2s; }
.a-theme-toggle:hover { color:var(--a-gold2); border-color:var(--a-gold); }
.a-theme-toggle svg { display:block; }
html[data-theme="light"] .a-theme-toggle .ic-sun { display:none; }
html:not([data-theme="light"]) .a-theme-toggle .ic-moon { display:none; }
@media (max-width: 999px) { body.allea-dark .main-navigation.toggled .a-theme-li .a-theme-toggle { margin:10px 0 10px 16px; } }

/* Chrome de page en clair */
html[data-theme="light"] body.allea-dark .site-header { background:rgba(246,248,251,.88); }
html[data-theme="light"] body.allea-dark .main-navigation, html[data-theme="light"] body.allea-dark .main-navigation .main-nav ul { background-color:transparent; }
html[data-theme="light"] body.allea-dark .main-navigation .menu-toggle { background:transparent; color:var(--a-ink); }
html[data-theme="light"] body.allea-dark .main-navigation ul ul { background:var(--a-raise); border:1px solid rgba(19,39,64,.10); box-shadow:0 18px 44px rgba(16,32,58,.16), inset 0 1px 0 rgba(255,255,255,.7); }
html[data-theme="light"] body.allea-dark ::selection { background:rgba(179,153,81,.35); }
html[data-theme="light"] body.allea-dark .inside-article { background-color:var(--a-bg); color:var(--a-ink); }
html[data-theme="light"] body.allea-dark .site-footer, html[data-theme="light"] body.allea-dark .site-info, html[data-theme="light"] body.allea-dark .inside-site-info { background-color:var(--a-bg); color:var(--a-muted); }

/* Textes en dur calibres pour le sombre */
html[data-theme="light"] body.allea-dark table.allea-rates tbody th { color:var(--a-ink); }
html[data-theme="light"] body.allea-dark details.a-faq summary { color:var(--a-ink); }

/* Lisibilite du dore sur fond clair */
html[data-theme="light"] .eyebrow, html[data-theme="light"] body.allea-dark .a-hero h1.eyebrow,
html[data-theme="light"] .a-tag, html[data-theme="light"] body.allea-dark .a-card p.a-tag { color:var(--a-gold2); }
html[data-theme="light"] .a-hero h1 strong, html[data-theme="light"] body.allea-dark .a-hero-title strong,
html[data-theme="light"] .a-quote strong, html[data-theme="light"] body.allea-dark .a-stat b,
html[data-theme="light"] body.allea-dark .a-card p.tool-big, html[data-theme="light"] .tool-big { color:#A5842C; }
html[data-theme="light"] .a-wmap-dot { background:#A3842C; }

/* Infobulle taux + details widget sensibilite en clair */
html[data-theme="light"] .dr-tip { background:#FFFFFF; border-color:rgba(19,39,64,.18); color:var(--a-muted); box-shadow:0 10px 28px rgba(16,32,58,.18); }
html[data-theme="light"] .dr-tip b { color:var(--a-ink); }
html[data-theme="light"] .a-sens-gauge { background:rgba(19,39,64,.08); }
html[data-theme="light"] .a-sens-mark { background:rgba(19,39,64,.35); }

/* Neomorphisme clair : cartes, FAQ, carte ALM, cartes taux, widget sensibilite.
   Memes mecanismes --mx/--my que le sombre ; voile blanc + lisere dore visibles sur fond clair. */
html[data-theme="light"] body.allea-dark .a-card,
html[data-theme="light"] body.allea-dark details.a-faq,
html[data-theme="light"] body.allea-dark .chart-card,
html[data-theme="light"] body.allea-dark .dr-card,
html[data-theme="light"] body.allea-dark .a-sens {
background:var(--a-bg);
color:var(--a-ink);
border:1px solid rgba(19,39,64,.05);
box-shadow:14px 18px 38px rgba(23,43,77,.14), -10px -11px 30px rgba(255,255,255,.9), inset 0 1px 0 rgba(255,255,255,.75);
}
html[data-theme="light"] body.allea-dark .a-card:hover,
html[data-theme="light"] body.allea-dark details.a-faq:hover,
html[data-theme="light"] body.allea-dark .chart-card:hover,
html[data-theme="light"] body.allea-dark .dr-card:hover,
html[data-theme="light"] body.allea-dark .a-sens:hover {
border-color:rgba(19,39,64,.09);
box-shadow:18px 24px 50px rgba(23,43,77,.19), -12px -14px 38px rgba(255,255,255,.95), inset 0 1px 0 rgba(255,255,255,.9);
}
html[data-theme="light"] body.allea-dark .a-card:active {
box-shadow:inset 6px 7px 16px rgba(23,43,77,.16), inset -4px -5px 12px rgba(255,255,255,.85);
}
html[data-theme="light"] body.allea-dark .a-card::before,
html[data-theme="light"] body.allea-dark details.a-faq::before,
html[data-theme="light"] body.allea-dark .chart-card::before,
html[data-theme="light"] body.allea-dark .dr-card::before,
html[data-theme="light"] body.allea-dark .a-sens::before {
background:radial-gradient(200px circle at var(--mx,50%) var(--my,-30%), rgba(255,255,255,.55), rgba(255,255,255,0) 46%);
}
html[data-theme="light"] body.allea-dark .a-card::after,
html[data-theme="light"] body.allea-dark details.a-faq::after,
html[data-theme="light"] body.allea-dark .chart-card::after,
html[data-theme="light"] body.allea-dark .dr-card::after,
html[data-theme="light"] body.allea-dark .a-sens::after {
background:radial-gradient(200px circle at var(--mx,50%) var(--my,0%), rgba(140,111,31,.6), rgba(19,39,64,.08) 44%, transparent 66%);
}
html[data-theme="light"] body.allea-dark .chips span {
box-shadow:inset 3px 4px 8px rgba(23,43,77,.13), inset -2px -3px 6px rgba(255,255,255,.85);
}

/* Boutons dores en clair */
html[data-theme="light"] body.allea-dark a.btn-gold,
html[data-theme="light"] body.allea-dark .wp-block-button.btn-gold .wp-block-button__link {
box-shadow:8px 10px 24px rgba(23,43,77,.2), -5px -6px 16px rgba(255,255,255,.8), inset 0 1px 0 rgba(255,255,255,.4);
}
html[data-theme="light"] body.allea-dark a.btn-gold:hover,
html[data-theme="light"] body.allea-dark .wp-block-button.btn-gold .wp-block-button__link:hover {
box-shadow:11px 14px 30px rgba(23,43,77,.24), -6px -8px 20px rgba(255,255,255,.85), inset 0 1px 0 rgba(255,255,255,.45);
}
html[data-theme="light"] body.allea-dark a.btn-gold:active,
html[data-theme="light"] body.allea-dark .wp-block-button.btn-gold .wp-block-button__link:active {
box-shadow:inset 4px 5px 12px rgba(23,43,77,.2), inset -2px -3px 8px rgba(255,255,255,.3);
}
html[data-theme="light"] body.allea-dark .main-navigation .menu-cta > a {
box-shadow:6px 8px 18px rgba(23,43,77,.2), -4px -5px 12px rgba(255,255,255,.8), inset 0 1px 0 rgba(255,255,255,.4);
}
html[data-theme="light"] body.allea-dark .main-navigation .menu-cta > a:active {
box-shadow:inset 3px 4px 10px rgba(23,43,77,.2), inset -2px -2px 6px rgba(255,255,255,.3);
}
