/* ===================================================================
 * Page article — piste éditoriale
 * ================================================================= */

/* Bandeau générique du thème (titre/fil d'Ariane par défaut) — remplacé
   par notre propre hero, à masquer sur les articles. */
body.single-post .page-header {
	display: none;
}

/* Bloc FAQ Yoast SEO (contenu de l'article) — masqué visuellement pour
   éviter le doublon avec le module FAQ stylisé en fin d'article. Le
   balisage schema.org FAQPage (JSON-LD, généré par Yoast dans le <head>)
   reste inchangé : seul l'affichage brut disparaît. */
.art-body .wp-block-yoast-faq-block,
.art-body .schema-faq {
	display: none;
}

.measure { max-width: 700px; margin: 0 auto; }

/* ============ progress bar + sticky back bar ============ */
#readProgress {
	position: fixed; top: 0; left: 0; height: 3px; width: 0%;
	background: linear-gradient(90deg, #43BAFF, #2C7FBF);
	z-index: 101; transition: width .08s linear;
}
#stickyBack {
	position: fixed; top: 3px; left: 0; right: 0; z-index: 100;
	background: rgba(15,23,32,.97); backdrop-filter: blur(6px);
	padding: 13px 24px;
	display: flex; align-items: center; gap: 18px;
	transform: translateY(-120%); transition: transform .25s ease;
	border-bottom: 1px solid rgba(255,255,255,.08);
}
#stickyBack.is-visible { transform: translateY(0); }
#stickyBack .back-link {
	display: flex; align-items: center; gap: 7px;
	font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 13.5px; color: #fff; text-decoration: none;
	flex-shrink: 0;
}
#stickyBack .back-link svg { width: 14px; height: 14px; }
#stickyBack .sticky-title {
	font-family: 'Nunito Sans', sans-serif; font-weight: 600; font-size: 13px; color: #8A9BAA;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	border-left: 1px solid rgba(255,255,255,.15); padding-left: 18px;
}

/* ============ hero ============ */
.hero {
	position: relative; overflow: hidden; min-height: 460px;
	display: flex; align-items: flex-end; background-size: cover; background-position: center;
	background-color: #0F1720;
}
.hero::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(0deg, rgba(8,10,14,.94) 0%, rgba(8,10,14,.45) 55%, transparent 100%);
}
.hero-ring { position: absolute; border-radius: 50%; border: 4px solid #F6C812; width: 150px; height: 150px; right: 6%; top: 14%; opacity: .5; }
.hero-inner { position: relative; max-width: 780px; margin: 0 auto; padding: 26px 24px 44px; width: 100%; }

.hero-back {
	display: inline-flex; align-items: center; gap: 7px;
	font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 13px; color: rgba(255,255,255,.85);
	text-decoration: none; margin-bottom: 34px;
	padding-bottom: 2px; border-bottom: 1px solid rgba(255,255,255,.3);
	transition: color .15s, border-color .15s;
}
.hero-back:hover { color: #fff; border-color: #fff; }
.hero-back svg { width: 13px; height: 13px; }

.art-meta-top { display: flex; align-items: center; gap: 10px; font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #F6C812; margin-bottom: 16px; }
.art-meta-top .dot { width: 6px; height: 6px; border-radius: 50%; background: #F6C812; }
.hero h1 { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: clamp(28px, 4.2vw, 44px); color: #fff; margin: 0 0 20px; line-height: 1.1; }

.byline { display: flex; align-items: center; gap: 10px; }
.avatar { width: 34px; height: 34px; border-radius: 50%; background: #5799D2; color: #fff; display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px; flex-shrink: 0; }
.byline-text { font-size: 13px; color: rgba(255,255,255,.82); }
.byline-text b { color: #fff; font-weight: 600; }

/* ============ audio player — waveform "compact" ============ */
.content-wrap { padding: 40px 24px 80px; }

.audio-player {
	display: flex; align-items: center; gap: 18px;
	background: #0F1720; border-radius: 14px; padding: 20px 24px;
	margin: 0 0 36px;
}
.audio-player .play {
	width: 46px; height: 46px; border-radius: 50%; flex-shrink: 0;
	background: #F6C812; border: none; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: transform .15s;
}
.audio-player .play:hover { transform: scale(1.06); }
.audio-player .play svg { width: 16px; height: 16px; fill: #1A1300; }
.audio-player .play svg.pause { display: none; }
.audio-player .play.is-playing svg.play { display: none; }
.audio-player .play.is-playing svg.pause { display: block; }

.audio-player .body { flex: 1; min-width: 0; }
.audio-player .label {
	display: flex; align-items: center; gap: 8px;
	font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .04em;
	color: #fff; margin-bottom: 10px;
}
.audio-player .badge {
	font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	background: rgba(246,200,18,.15); color: #F6C812; padding: 3px 8px; border-radius: 4px;
}
.audio-player .wave { display: flex; align-items: center; gap: 2px; height: 32px; cursor: pointer; }
.audio-player .wave span {
	flex: 1; background: rgba(255,255,255,.18); border-radius: 2px; min-width: 2px;
	transition: background .1s;
}
.audio-player .wave span.played { background: #F6C812; }
.audio-player .meta { display: flex; justify-content: space-between; margin-top: 8px; font-family: 'Nunito Sans', sans-serif; font-size: 11px; color: #8A9BAA; font-variant-numeric: tabular-nums; }

/* ============ body typography ============ */
.art-body > p:first-of-type {
	font-size: 19px; line-height: 1.7; color: #1B1D21;
	padding: 22px 26px; border-left: 3px solid #43BAFF;
	background: #fff; border-radius: 0 8px 8px 0; margin: 0 0 36px;
}
.art-body p { font-size: 17px; line-height: 1.75; color: #3A3E44; margin: 0 0 22px; }
.art-body h2 { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 25px; margin: 46px 0 18px; line-height: 1.3; }
.art-body h3 { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 20px; margin: 34px 0 14px; line-height: 1.3; }
.art-body ul, .art-body ol { margin: 0 0 22px; padding: 0 0 0 4px; list-style: none; }
.art-body li { font-size: 16px; line-height: 1.65; color: #3A3E44; padding-left: 26px; position: relative; margin-bottom: 12px; }
.art-body li::before { content: ""; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: #43BAFF; }
.art-body li b, .art-body li strong { color: #1B1D21; }
.art-body a { color: #2C7FBF; text-decoration: underline; }
.art-body img { border-radius: 8px; margin: 24px 0; }

/* ============ stat band ============ */
.stat-band {
	display: grid; grid-template-columns: repeat(3, 1fr);
	background: #0F1720; border-radius: 12px; overflow: hidden; margin: 40px 0;
}
@media (max-width: 560px) { .stat-band { grid-template-columns: 1fr; } }
.stat-cell { padding: 28px 22px; text-align: center; }
.stat-cell:not(:last-child) { border-right: 1px solid rgba(255,255,255,.1); }
@media (max-width: 560px) { .stat-cell:not(:last-child) { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); } }
.stat-num { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 44px; color: #F6C812; line-height: 1; margin-bottom: 10px; }
.stat-label { font-size: 13px; color: #9AA7B4; line-height: 1.4; }

/* ============ facts ============ */
.fs-wrap { margin: 40px 0; }
.fs-head { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: #1B1D21; margin-bottom: 18px; display: flex; align-items: center; gap: 10px; }
.fs-head::after { content: ""; flex: 1; height: 1px; background: #E4E9EF; }
.fs-card { display: flex; gap: 18px; align-items: flex-start; border-bottom: 1px solid #E4E9EF; padding: 20px 0; }
.fs-card:last-child { border-bottom: none; }
.fs-num { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 28px; color: #F6C812; flex-shrink: 0; width: 44px; }
.fs-card p { font-size: 15.5px; line-height: 1.55; color: #1B1D21; margin: 0; }
.fs-card p b { color: #1B1D21; }

/* ============ FAQ ============ */
.faq-wrap { background: #fff; border-radius: 14px; padding: 36px 36px 10px; border: 1px solid #E4E9EF; margin: 56px 0 20px; }
@media (max-width: 560px) { .faq-wrap { padding: 26px 20px 6px; } }
.faq-title { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 22px; margin: 0 0 6px; }
.faq-sub { font-size: 14px; color: #6D6D6D; margin: 0 0 24px; }
.faq-item { border-bottom: 1px solid #E4E9EF; }
.faq-q {
	width: 100%; text-align: left; background: none; border: none; cursor: pointer;
	padding: 18px 0; display: flex; align-items: center; justify-content: space-between; gap: 16px;
	font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 15.5px; color: #1B1D21;
}
.faq-q .icon { width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid #E4E9EF; flex-shrink: 0; display: flex; align-items: center; justify-content: center; position: relative; }
.faq-q .icon::before, .faq-q .icon::after { content: ""; position: absolute; background: #6D6D6D; }
.faq-q .icon::before { width: 9px; height: 1.5px; }
.faq-q .icon::after { width: 1.5px; height: 9px; }
.faq-item[open] .faq-q .icon::after { display: none; }
.faq-a { padding: 0 0 20px; font-size: 15px; line-height: 1.65; color: #6D6D6D; max-width: 65ch; }
