/* FORMA INFO : contenus du blog (repris de theme/style.css du site statique).
   Couleurs du thème si elles existent (palette du thème enfant), sinon valeurs HCI Night. */
:root {
	--fi-violet: var(--wp--preset--color--violet, #7855FA);
	--fi-accent: var(--wp--preset--color--accent, #A3E635);
	--fi-cyan: var(--wp--preset--color--cyan, #22D3EE);
	--fi-surface: var(--wp--preset--color--surface, #FFFFFF);
	--fi-texte: var(--wp--preset--color--texte, #1B1830);
	--fi-doux: var(--wp--preset--color--doux, #5D5878);
	--fi-ligne: var(--wp--preset--color--ligne, #E4E1F0);
	--fi-mono: ui-monospace, "Cascadia Code", "SF Mono", Consolas, "Liberation Mono", monospace;
	--fi-rayon: 14px;
	--fi-ombre: 0 1px 2px rgba(20, 10, 60, .06), 0 8px 24px rgba(20, 10, 60, .07);
}

/* Encadrés > [!NOTE] / [!TIP] / [!WARNING] / [!DANGER] / [!UPDATE] */
.callout { margin: 22px 0; padding: 14px 18px; border-radius: 12px; border: 1px solid; }
.callout > :last-child { margin-bottom: 0; }
.callout-titre { font-weight: 700; margin: 0 0 4px; }
.callout-note { background: color-mix(in srgb, var(--fi-cyan) 10%, transparent); border-color: color-mix(in srgb, var(--fi-cyan) 45%, transparent); }
.callout-tip { background: color-mix(in srgb, var(--fi-accent) 12%, transparent); border-color: color-mix(in srgb, #65A30D 50%, transparent); }
.callout-warning { background: color-mix(in srgb, #F59E0B 12%, transparent); border-color: color-mix(in srgb, #F59E0B 55%, transparent); }
.callout-danger { background: color-mix(in srgb, #EF4444 10%, transparent); border-color: color-mix(in srgb, #EF4444 55%, transparent); }
.callout-maj { background: color-mix(in srgb, var(--fi-violet) 12%, transparent); border-color: color-mix(in srgb, var(--fi-violet) 55%, transparent); }
.maj-date { font-weight: 600; }

/* Tableaux */
.table { overflow-x: auto; margin: 20px 0; }
.table table { border-collapse: collapse; width: 100%; font-size: 15.5px; }
.table th, .table td { border-bottom: 1px solid var(--fi-ligne); padding: 9px 12px; text-align: left; vertical-align: top; }
.table th { background: color-mix(in srgb, var(--fi-violet) 9%, transparent); }

/* Sources */
.sources { margin: 44px 0 24px; padding: 20px 22px; border-radius: var(--fi-rayon); background: var(--fi-surface);
	border: 1px solid var(--fi-ligne); border-left: 4px solid var(--fi-accent); }
.sources h2 { font-size: 17px; margin: 0 0 8px; }
.sources ul { margin: 0; padding-left: 20px; font-size: 15px; }
.sources small { color: var(--fi-doux); font-family: var(--fi-mono); font-size: 12px; }
.sources .methode { margin: 10px 0 0; font-size: 14px; }
.teste { margin: 0 0 8px; font-size: 15px; }

/* L'essentiel (points clés) et résumé anglais */
.essentiel { margin: 0 0 28px; padding: 14px 20px 14px 18px; border-left: 4px solid var(--fi-violet); border-radius: 0 12px 12px 0;
	background: color-mix(in srgb, var(--fi-violet) 8%, transparent); }
.essentiel-titre { margin: 0 0 6px; font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .06em; color: var(--fi-doux); }
.essentiel ul { margin: 0; padding-left: 20px; }
.essentiel li + li { margin-top: 4px; }
.resume-en { margin: 28px 0 0; padding: 14px 18px; border-left: 4px solid var(--fi-cyan); background: color-mix(in srgb, var(--fi-cyan) 7%, transparent); border-radius: 0 12px 12px 0; }
.resume-en h2 { font-size: 16px; margin: 0 0 6px; text-transform: uppercase; letter-spacing: .06em; }
.resume-en p { margin: 0; }

/* Lien « Ce sujet en vidéo » */
.video-lien { display: flex; align-items: center; gap: 14px; margin: 0 0 26px; padding: 14px 18px; border-radius: 12px;
	border: 1px solid var(--fi-ligne); background: var(--fi-surface); color: var(--fi-texte); text-decoration: none; }
.video-lien:hover { border-color: #FF0033; }
.video-lien small { display: block; color: var(--fi-doux); font-size: 13px; }
.video-lien strong { font-size: 16px; }

/* Bandeaux partenaires : marque | accroche, action sous l'accroche (colonne de billet) */
.pub { position: relative; display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: stretch;
	margin: 28px 0; border-radius: var(--fi-rayon); overflow: hidden; color: #EEF1F7;
	background: radial-gradient(90% 160% at 100% 0%, color-mix(in srgb, var(--pub-acc) 20%, transparent), transparent 62%), var(--pub-fond);
	border: 1px solid color-mix(in srgb, var(--pub-acc) 30%, transparent); box-shadow: var(--fi-ombre); }
.pub a { color: inherit; text-decoration: none; }
.pub-marque { grid-row: span 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 18px 12px;
	background: color-mix(in srgb, var(--pub-acc) 12%, rgba(255,255,255,.03)); border-right: 1px solid rgba(255,255,255,.07);
	font-size: 17px; letter-spacing: -.01em; text-align: center; }
.pub-icone { width: 52px; height: 52px; border-radius: 12px; flex: none; box-shadow: 0 6px 18px rgba(0,0,0,.35); }
.pub-mot b { font-weight: 800; }
.pub-texte { padding: 18px 24px 6px; display: flex; flex-direction: column; justify-content: center; gap: 6px; min-width: 0; }
.pub-surtitre { margin: 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
	font: 700 11px var(--fi-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--pub-acc); }
.pub-mention { font: 600 9.5px var(--fi-mono); letter-spacing: .1em; color: rgba(255,255,255,.6);
	border: 1px solid rgba(255,255,255,.18); padding: 1px 7px; border-radius: 999px; }
.pub-titre { margin: 0; font-size: 20px; line-height: 1.22; font-weight: 800; letter-spacing: -.015em; color: #fff; }
.pub-points { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: #DCE2EC; }
.pub-points li { padding: 3px 10px 3px 24px; position: relative; border-radius: 999px;
	background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); }
.pub-points li::before { content: "✓"; position: absolute; left: 9px; color: var(--pub-acc2); font-weight: 800; }
.pub-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 4px 24px 18px; }
.pub-cta { background: var(--pub-acc); color: #fff !important; font-weight: 700; font-size: 15px; padding: 10px 18px; border-radius: 10px; white-space: nowrap; }
.pub-cta:hover { filter: brightness(1.08); }
.pub-liens { display: flex; gap: 6px; flex-wrap: wrap; }
.pub-liens a { font: 600 11.5px var(--fi-mono); padding: 3px 8px; border-radius: 6px; border: 1px solid rgba(255,255,255,.22); }
@media (max-width: 560px) {
	.pub { grid-template-columns: 1fr; }
	.pub-marque { grid-row: auto; flex-direction: row; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.07); }
}

/* Cadre posé par forma-info.js autour des blocs de code (bouton Copier) */
.prose .code > pre.wp-block-code { margin: 0; }
