/* =========================================================================
   REGISTRE — couche WordPress + compatibilité Cèdre v1.4
   Chargée après registre.css. Ne rien réécrire ici : mappings uniquement.
   ========================================================================= */

/* ---------- Gutenberg / WordPress ---------- */
.prose .wp-block-image{margin:0 0 26px}
.prose .wp-block-image img{border-radius:var(--r);border:1px solid var(--line)}
.prose figcaption{font-family:var(--mono);font-size:12px;color:var(--ink-4);text-align:center;margin-top:8px}
.prose .wp-block-table{margin:0 0 26px;overflow-x:auto}
.prose .wp-block-table table{width:100%;border-collapse:collapse;font-size:15.5px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.prose .wp-block-table th{background:var(--tint);font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:12px 16px;border-bottom:1px solid var(--line)}
.prose .wp-block-table td{padding:13px 16px;border-bottom:1px solid var(--line)}
.prose .wp-block-quote{border-left:3px solid var(--action);margin:0 0 26px;padding:4px 0 4px 22px;font-family:var(--display);font-size:20px;line-height:1.4;letter-spacing:-.02em;color:var(--ink)}
.prose .wp-block-quote cite{display:block;font-family:var(--mono);font-size:12px;font-style:normal;color:var(--ink-4);margin-top:10px}
.prose .wp-block-separator{border:0;border-top:1px solid var(--line);margin:34px 0}
.prose .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;background:var(--action);color:#fff;font-weight:700;font-size:15px;padding:13px 20px;border-radius:var(--r);text-decoration:none}
.prose .wp-block-embed{margin:0 0 26px}
.prose .wp-block-embed iframe{width:100%;aspect-ratio:16/9;height:auto;border-radius:var(--r)}
.alignwide{max-width:none}
.alignfull{max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:12px;top:12px;z-index:200;background:var(--paper);padding:10px 16px;border-radius:8px;box-shadow:var(--shadow-lg)}

/* ---------- Menus déroulants du header ---------- */
.nav ul{list-style:none;margin:0;padding:0}
.nav .menu{display:flex;gap:26px}
.nav .menu li{position:relative}
.nav .menu > li > a::after{content:"";display:inline-block}
.nav .menu li.menu-item-has-children > a::after{content:" ▾";font-size:11px;color:var(--ink-4)}
.nav .sub-menu{position:absolute;top:100%;left:-14px;min-width:246px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:8px;display:none;z-index:70}
.nav .menu li:hover > .sub-menu,.nav .menu li:focus-within > .sub-menu{display:block}
.nav .sub-menu a{display:block;padding:9px 12px;border-radius:7px;border-bottom:0;font-size:14.5px}
.nav .sub-menu a:hover{background:var(--tint);border-bottom:0;color:var(--ink)}
.mobile-nav{display:none;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 0 20px}
.mobile-nav.open{display:block}
.mobile-nav ul{list-style:none;margin:0;padding:0}
.mobile-nav a{display:block;padding:11px 0;color:var(--ink-2);text-decoration:none;font-weight:600;border-bottom:1px solid var(--line)}
.mobile-nav .sub-menu a{padding-left:18px;font-weight:400;color:var(--ink-3)}
@media (min-width:881px){.mobile-nav{display:none!important}}

/* ---------- Archives, pagination, commentaires ---------- */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.pcard img{aspect-ratio:16/9;object-fit:cover;width:100%}
.pcard .b{padding:18px 20px;display:flex;flex-direction:column;flex:1}
.pcard h3{font-size:18px;margin:0 0 8px}
.pcard h3 a{color:var(--ink);text-decoration:none}
.pcard p{font-size:14.5px;color:var(--ink-3);margin:0 0 14px;flex:1}
.pcard .m{font-family:var(--mono);font-size:11.5px;color:var(--ink-4)}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.pagination .page-numbers{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line-2);border-radius:9px;background:var(--paper);color:var(--ink-2);text-decoration:none;font-family:var(--mono);font-size:14px}
.pagination .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.comments{margin-top:46px;border-top:1px solid var(--line);padding-top:26px}
.comments h2{margin-bottom:18px}
.comment-list{list-style:none;margin:0;padding:0}
.comment-body{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin-bottom:14px}
@media (max-width:1080px){.cards-grid{grid-template-columns:1fr 1fr}}
@media (max-width:880px){.cards-grid{grid-template-columns:1fr}}


/* =========================================================================
   COMPATIBILITÉ CÈDRE v1.4 — classes réelles des articles publiés
   Repalettées en Registre. Aucun article à retoucher.
   ========================================================================= */

/* ---------- Key-fact ---------- */
.prose .key-fact{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:var(--r);padding:18px 22px;margin:0 0 26px}
.prose .kf-label{font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);margin-bottom:8px}
.prose .kf-number{font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:-.025em;color:var(--ink);line-height:1.15;margin-bottom:8px}
.prose .kf-number .accent{font-family:var(--mono);font-weight:600;color:var(--action);letter-spacing:-.04em}
.prose .kf-desc{font-size:15.5px;color:var(--ink-3);line-height:1.55}

/* ---------- Callouts v1 ---------- */
.prose .callout{background:var(--tint);border:1px solid var(--line);border-left:4px solid var(--ink-3);border-radius:var(--r);padding:16px 20px;margin:0 0 26px}
.prose .callout-label{font-family:var(--mono);font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;color:var(--ink-3);margin-bottom:7px}
.prose .callout p{margin:0;font-size:16px;color:var(--ink-2)}
.prose .callout p + p{margin-top:10px}
.prose .callout.warning{background:var(--warn-tint);border-color:#EBD8B4;border-left-color:var(--warn)}
.prose .callout.warning .callout-label{color:var(--warn)}
.prose .callout.info{background:var(--trust-tint);border-color:var(--trust-line);border-left-color:var(--trust)}
.prose .callout.info .callout-label{color:var(--trust)}

/* ---------- Callouts v2 (pastille icône) ---------- */
.prose .callout-v2{
	display:grid;grid-template-columns:38px minmax(0,1fr);gap:16px;align-items:start;
	background:var(--trust-tint);border:1px solid var(--trust-line);border-radius:var(--r);
	padding:18px 20px;margin:0 0 26px
}
.prose .cv2-icon{
	width:38px;height:38px;flex:0 0 38px;border-radius:50%;
	display:grid;place-items:center;background:var(--paper);
	border:1px solid var(--trust-line);color:var(--trust)
}
/* correctif : l'icône SVG était non contrainte et occupait toute la carte */
.prose .cv2-icon svg{width:19px;height:19px;max-width:19px;max-height:19px;display:block;flex:none}
.prose .cv2-body{min-width:0}
.prose .cv2-label{font-family:var(--mono);font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;color:var(--trust);margin-bottom:5px}
.prose .cv2-title{font-family:var(--display);font-size:17.5px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:7px;line-height:1.25}
.prose .cv2-body p{margin:0;font-size:16px;color:var(--ink-2);line-height:1.6}
.prose .cv2-body p + p{margin-top:10px}
.prose .cv2-body strong{color:var(--ink);font-weight:700}

.prose .callout-v2.warning{background:var(--warn-tint);border-color:#EBD8B4}
.prose .callout-v2.warning .cv2-icon{border-color:#E3CB9E;color:var(--warn)}
.prose .callout-v2.warning .cv2-label{color:var(--warn)}
.prose .callout-v2.tip{background:var(--ok-tint);border-color:#BFE0D5}
.prose .callout-v2.tip .cv2-icon{border-color:#A9D6C6;color:var(--ok)}
.prose .callout-v2.tip .cv2-label{color:var(--ok)}

/* ---------- Pull quote ---------- */
.prose blockquote.pull{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);border-left:0;padding:22px 0;margin:0 0 28px;background:none}
.prose blockquote.pull p{font-family:var(--display);font-size:22px;line-height:1.34;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0}
.prose blockquote.pull cite{display:block;font-family:var(--mono);font-size:12px;font-style:normal;color:var(--ink-4);margin-top:12px;letter-spacing:.02em}

/* ---------- Tableau institutionnel ---------- */
.prose .table-wrap{overflow-x:auto;margin:0 0 26px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}
.prose table.data{width:100%;border-collapse:collapse;font-size:15px;margin:0}
.prose table.data th{background:var(--tint);font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.prose table.data td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.prose table.data tr:last-child td{border-bottom:0}
.prose table.data tr.recommended{background:var(--action-tint)}
.prose table.data tr.recommended td:first-child{box-shadow:inset 4px 0 0 var(--action);font-weight:700;color:var(--ink)}
.prose table.data tr.recommended td:first-child::after{content:" ★";color:var(--action);font-size:11px}

/* ---------- Step list ---------- */
.prose .step-list{display:grid;gap:12px;margin:0 0 26px;padding:0;list-style:none}
.prose .step-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.prose .step-card-num{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:15px;font-weight:600}
.prose .step-card-title{font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:5px}
.prose .step-card-desc{font-size:15.5px;color:var(--ink-3);line-height:1.55}

/* ---------- Timeline ---------- */
.prose .timeline-block{margin:0 0 26px}
.prose .timeline-band{display:flex;align-items:center;gap:14px;background:var(--ink);color:#fff;border-radius:var(--r) var(--r) 0 0;padding:14px 20px}
.prose .timeline-band-pill{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--action);color:#fff;border-radius:5px;padding:4px 10px;white-space:nowrap}
.prose .timeline-band-title{font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:-.02em}
.prose .timeline-band.past{background:var(--ink-3)}
.prose .timeline-band.past .timeline-band-pill{background:rgba(255,255,255,.2)}
.prose .timeline-band.future .timeline-band-pill{background:var(--trust)}
.prose .timeline-cards{display:grid;gap:0;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r) var(--r);background:var(--paper);overflow:hidden}
.prose .timeline-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}
.prose .timeline-card:last-child{border-bottom:0}
.prose .timeline-card-num{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink-4);padding-top:2px}
.prose .timeline-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.prose .timeline-card-title{font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.prose .timeline-card-badge{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;background:var(--tint);color:var(--ink-2);border-radius:5px;padding:3px 8px}
.prose .timeline-card-desc{font-size:15.5px;color:var(--ink-3);line-height:1.55}
.prose .timeline-card-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:9px}
.prose .timeline-card-meta-item{font-family:var(--mono);font-size:12px;color:var(--ink-4)}
.prose .timeline-card-tip{margin-top:10px;padding:10px 14px;background:var(--trust-tint);border-radius:8px;font-size:14.5px;color:var(--ink-2)}

/* ---------- Stat grid ---------- */
.prose .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 26px}
.prose .stat-grid-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.prose .stat-grid-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.prose .stat-grid-icon{width:30px;height:30px;flex:0 0 30px;border-radius:8px;background:var(--tint);color:var(--ink-2);display:grid;place-items:center}
.prose .stat-grid-icon svg{width:16px;height:16px;max-width:16px;max-height:16px;display:block}
.prose .stat-grid-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);font-weight:600}
.prose .stat-grid-value{font-family:var(--mono);font-size:24px;font-weight:600;letter-spacing:-.03em;color:var(--ink);line-height:1.1}
.prose .stat-grid-sub{font-size:13.5px;color:var(--ink-3);line-height:1.4;margin-top:4px}

/* ---------- Stat inline ---------- */
.prose .stat-inline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);overflow:hidden;margin:0 0 26px}
.prose .stat-inline-card{padding:16px 18px;border-right:1px solid var(--line)}
.prose .stat-inline-card:last-child{border-right:0}
.prose .stat-inline-value{font-family:var(--mono);font-size:23px;font-weight:600;letter-spacing:-.03em;color:var(--ink);line-height:1.1}
.prose .stat-inline-label{font-size:13px;color:var(--ink-3);line-height:1.35;margin-top:4px}
.prose .stat-inline-sub{font-family:var(--mono);font-size:11px;color:var(--ink-4);margin-top:3px}

/* ---------- Compare cards ---------- */
.prose .compare-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 26px}
.prose .compare-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column}
.prose .compare-card.recommended{border-color:var(--action);box-shadow:var(--shadow)}
.prose .compare-card-badge{position:absolute;top:-11px;left:18px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;background:var(--action);color:#fff;border-radius:5px;padding:4px 9px}
.prose .compare-card-title{font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}
.prose .compare-card-price{font-family:var(--mono);font-size:22px;font-weight:600;letter-spacing:-.03em;color:var(--ink);margin-bottom:10px}
.prose .compare-card-desc{font-size:14.5px;color:var(--ink-3);line-height:1.5;flex:1}
.prose .compare-card-meta{font-family:var(--mono);font-size:11.5px;color:var(--ink-4);margin-top:12px}
.prose .compare-card-bars{display:grid;gap:10px;margin-top:14px}
.prose .compare-card-bar-head{display:flex;justify-content:space-between;margin-bottom:4px}
.prose .compare-card-bar-label{font-size:13px;color:var(--ink-3)}
.prose .compare-card-bar-value{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink)}
.prose .compare-card-bar-track{height:6px;background:var(--tint);border-radius:4px;overflow:hidden}
.prose .compare-card-bar-fill{height:100%;background:var(--ink);border-radius:4px}
.prose .compare-card.recommended .compare-card-bar-fill{background:var(--action)}

/* ---------- Summary box ---------- */
.prose .summary-box{background:var(--tint);border-radius:var(--r-lg);padding:22px 24px;margin:0 0 26px}
.prose .summary-box-label{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:12px}
.prose .summary-box-row{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:15.5px;color:var(--ink-2);line-height:1.5}
.prose .summary-box-row:last-child{border-bottom:0}
.prose .summary-box-row strong{color:var(--ink)}
.prose .summary-box p{margin:0 0 10px;font-size:15.5px}
.prose .summary-box ul{margin:0;padding-left:20px;font-size:15.5px}

/* ---------- Countdown ---------- */
.prose .cedre-countdown{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:22px 24px;margin:0 0 26px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.prose .cd-days{display:flex;gap:10px}
.prose .cd-unit{background:rgba(255,255,255,.08);border-radius:8px;padding:10px 14px;text-align:center;min-width:66px}
.prose .cd-value{font-family:var(--mono);font-size:24px;font-weight:600;letter-spacing:-.03em;display:block;line-height:1.1}
.prose .cd-label,.prose .cedre-countdown .unit{font-family:var(--mono);font-size:10px;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.08em}
.prose .cedre-countdown p{margin:0;color:rgba(255,255,255,.78);font-size:15px;flex:1 1 240px}

@media (max-width:880px){
	.prose .stat-grid,.prose .compare-cards,.prose .stat-inline{grid-template-columns:1fr}
	.prose .stat-inline-card{border-right:0;border-bottom:1px solid var(--line)}
	.prose .callout-v2{grid-template-columns:32px minmax(0,1fr);gap:12px}
	.prose .cv2-icon{width:32px;height:32px;flex-basis:32px}
	.prose .cv2-icon svg{width:16px;height:16px}
}

/* =========================================================================
   ANCIENS CTA À STYLES INLINE — repalettage forcé
   Les CTA posés par /cedre-article portent la palette sapin + or en dur.
   Cette couche les rhabille sans toucher au contenu des articles.
   Supprimer ce bloc une fois la base nettoyée en SQL.
   ========================================================================= */

.prose aside[style*="#fefcf6"],
.prose aside[style*="#1e3a2e"]{
	font-family:var(--sans)!important;
	border-radius:var(--r)!important;
}

/* Bandeau post-intro et CTA inline (fond crème) */
.prose aside[style*="#fefcf6"]{
	background:var(--action-tint)!important;
	border-color:var(--action-line)!important;
	color:var(--ink-2)!important;
}
.prose aside[style*="border-left:3px solid #c9a961"]{
	border-left:4px solid var(--action)!important;
}
.prose aside[style*="#fefcf6"] p{color:var(--ink-2)!important;font-family:var(--sans)!important}
.prose aside[style*="#fefcf6"] p[style*="text-transform:uppercase"]{
	color:var(--action)!important;font-family:var(--mono)!important;letter-spacing:.11em!important
}
.prose aside[style*="#fefcf6"] p strong{color:var(--ink)!important}
.prose aside[style*="#fefcf6"] a{
	background:var(--action)!important;color:#fff!important;
	border-radius:var(--r)!important;border-bottom:0!important;
	font-family:var(--sans)!important;font-weight:700!important;padding:13px 20px!important;
}
/* le CTA inline garde un lien texte, pas un bouton plein */
.prose aside[style*="border-left:3px solid #c9a961"] a{
	background:none!important;color:var(--action)!important;padding:0!important;
	border-bottom:2px solid var(--action)!important;border-radius:0!important;
}

/* CTA box et Verdict (fond sapin) */
.prose aside[style*="#1e3a2e"]{
	background:var(--ink)!important;
	color:#fff!important;
}
.prose aside[style*="#1e3a2e"] h3{color:#fff!important;font-family:var(--display)!important;letter-spacing:-.025em!important}
.prose aside[style*="#1e3a2e"] p{color:rgba(255,255,255,.82)!important;font-family:var(--sans)!important}
.prose aside[style*="#1e3a2e"] p[style*="text-transform:uppercase"]{
	color:var(--action)!important;font-family:var(--mono)!important;letter-spacing:.11em!important;opacity:1!important
}
.prose aside[style*="#1e3a2e"] p[style*="2.8em"]{
	color:#fff!important;font-family:var(--mono)!important;letter-spacing:-.05em!important
}
.prose aside[style*="#1e3a2e"] a{
	background:var(--action)!important;color:#fff!important;
	border-radius:var(--r)!important;font-family:var(--sans)!important;font-weight:700!important;
}
/* équerres décoratives sapin/or → palette courante */
.prose aside[style*="#1e3a2e"] span[aria-hidden]{border-color:var(--action)!important}

[data-palette="prusse"] .prose aside[style*="#1e3a2e"] p[style*="text-transform:uppercase"]{color:#FF9280!important}

/* =========================================================================
   Callouts « nouvelle convention » dans un contexte .prose
   legacy.css charge après registre.css : sans ces règles, la base
   .prose .callout écraserait .callout-info / -warn / -ok.
   ========================================================================= */
.prose .callout.callout-info,
.prose .callout.callout-warn,
.prose .callout.callout-ok{border:1px solid;border-left-width:1px;padding:18px 22px}
.prose .callout.callout-info{background:var(--trust-tint);border-color:var(--trust-line)}
.prose .callout.callout-warn{background:var(--warn-tint);border-color:#EBD8B4}
.prose .callout.callout-ok{background:var(--ok-tint);border-color:#BFE0D5}
.prose .callout .h{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin-bottom:7px;display:flex;gap:7px;align-items:center}
.prose .callout.callout-info .h{color:var(--trust)}
.prose .callout.callout-warn .h{color:var(--warn)}
.prose .callout.callout-ok .h{color:var(--ok)}
.prose .callout.callout-info p,
.prose .callout.callout-warn p,
.prose .callout.callout-ok p{color:var(--ink-2);font-size:16px}
