/* acheterdubitcoin.org — habillage au-dessus de GeneratePress.
   Tout est préfixé .adb pour gagner sur la spécificité du thème sans !important. */

body.adb {
	--ink: #14161C;
	--ink-2: #262A35;
	--ink-3: #3A3F4C;
	--paper: #FBFAF7;
	--card: #FFFFFF;
	--line: #E6E3DC;
	--text: #2B2E38;
	--muted: #4D5060;
	--muted-2: #6E7383;
	--on-dark: #B9BDC8;
	--on-dark-2: #8A8F9E;
	--orange: #F7931A;
	--orange-ink: #A85A00;
	--warn-bg: #FFF4E5;
	--warn-line: #F0D9B8;
	--display: "Sora", "Trebuchet MS", Helvetica, Arial, sans-serif;
	--body: "Source Sans 3", "Segoe UI", Helvetica, Arial, sans-serif;
	--wrap: 1200px;
	--gutter: clamp(20px, 5vw, 40px);

	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--body);
	font-size: 18px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

/* ── Neutralisation de la mise en page GeneratePress ─────────────── */
body.adb .site-header,
body.adb #site-navigation,
body.adb #mobile-menu-control-wrapper,
body.adb .footer-widgets,
body.adb .site-info { display: none; }
/* .site-footer est l'enveloppe dans laquelle GeneratePress exécute generate_footer :
   notre pied de page y est rendu, il ne faut surtout pas la masquer. */
body.adb .site-footer { background: none; padding: 0; margin: 0; }

/* GeneratePress affiche l'image mise en avant en bandeau au-dessus du contenu :
   la maquette n'en prévoit pas. Elle reste utilisée comme vignette de partage. */
body.adb .featured-image.page-header-image { display: none; }

body.adb .site.grid-container,
body.adb.separate-containers .site.grid-container {
	max-width: none;
	padding: 0;
	background: transparent;
}
body.adb .site-content { display: block; padding: 0; }

body.adb h1, body.adb h2, body.adb h3 {
	font-family: var(--display);
	color: inherit;
	margin: 0;
	text-wrap: balance;
}
body.adb p { margin: 0; text-wrap: pretty; }
body.adb a { color: var(--orange-ink); text-decoration: none; }
body.adb a:hover { color: #7A4200; }
body.adb a:focus-visible,
body.adb button:focus-visible,
body.adb summary:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; border-radius: 3px; }

.adb .adb-wrap {
	max-width: var(--wrap);
	margin-inline: auto;
	padding-inline: var(--gutter);
	box-sizing: content-box;
}

/* ── Éléments communs ────────────────────────────────────────────── */
.adb .adb-eyebrow {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--orange);
}
.adb .adb-eyebrow--muted { color: var(--muted-2); letter-spacing: 0.1em; font-size: 13px; }

.adb .adb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding-inline: 26px;
	border-radius: 6px;
	font-weight: 600;
	font-size: 17px;
	line-height: 1.2;
	transition: background-color .15s, border-color .15s, color .15s;
}
.adb .adb-btn--primary { background: var(--orange); color: var(--ink); }
.adb .adb-btn--primary:hover { background: #FFA436; color: var(--ink); }
.adb .adb-btn--outline { border: 1px solid #4A4F5C; color: #FFFFFF; }
.adb .adb-btn--outline:hover { border-color: #FFFFFF; color: #FFFFFF; }
.adb .adb-btn--ghost { min-height: 42px; padding-inline: 20px; border: 1px solid var(--orange); color: var(--orange); font-size: 15px; }
.adb .adb-btn--ghost:hover { background: var(--orange); color: var(--ink); }

.adb .adb-link-arrow { font-weight: 600; font-size: 16px; }
.adb .adb-link-arrow::after { content: " →"; }

.adb .adb-actions { display: flex; flex-wrap: wrap; gap: 14px; }

.adb .adb-crumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 15px; color: var(--muted-2); }
.adb .adb-crumbs span[aria-current] { color: var(--muted); }

/* ── En-tête ─────────────────────────────────────────────────────── */
.adb .adb-header { background: var(--ink); border-bottom: 1px solid var(--ink-2); }
.adb .adb-header__bar { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
.adb .adb-brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
/* Sans ça, dans la colonne étroite du pied de page, l'icône se fait écraser à 0 px. */
.adb .adb-brand__mark { flex-shrink: 0; }
.adb .adb-brand__name { font-family: var(--display); font-weight: 600; font-size: 19px; letter-spacing: -0.01em; color: #FFFFFF; }
.adb .adb-brand__name span { color: var(--on-dark-2); font-weight: 500; }

.adb .adb-nav { display: flex; align-items: center; gap: 34px; }
.adb .adb-nav__list { display: flex; gap: 30px; margin: 0; padding: 0; list-style: none; }
.adb .adb-nav__list a { color: #D9DBE1; font-size: 16px; }
.adb .adb-nav__list a:hover,
.adb .adb-nav__list a[aria-current] { color: var(--orange); }

.adb .adb-menu-toggle {
	display: none;
	width: 44px; height: 44px;
	align-items: center; justify-content: center;
	padding: 0; border: 0; border-radius: 6px;
	background: transparent; color: #FFFFFF; cursor: pointer;
}

/* ── Accueil ─────────────────────────────────────────────────────── */
.adb .adb-hero { position: relative; overflow: hidden; background: var(--ink); color: #FFFFFF; padding-block: 96px 136px; }
.adb .adb-hero__network { position: absolute; right: -60px; top: -40px; width: 620px; height: 620px; }
.adb .adb-hero__text { position: relative; max-width: 700px; display: flex; flex-direction: column; gap: 26px; }
.adb .adb-hero h1 { font-size: clamp(38px, 5vw, 60px); line-height: 1.06; font-weight: 700; letter-spacing: -0.025em; }
.adb .adb-hero__lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.55; color: var(--on-dark); }
.adb .adb-hero__note { font-size: 15px; color: var(--on-dark-2); }

.adb .adb-paths {
	position: relative;
	margin-top: -64px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.adb .adb-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 10px;
	padding: 28px;
	color: var(--ink);
	transition: border-color .15s, transform .15s;
}
.adb .adb-card:hover { color: var(--ink); border-color: #D4CFC4; }
.adb .adb-card--path { padding: 32px; gap: 14px; box-shadow: 0 12px 32px rgba(20, 22, 28, 0.08); }
.adb .adb-card--path:hover { transform: translateY(-2px); }
.adb .adb-card__title { font-family: var(--display); font-size: 21px; line-height: 1.3; font-weight: 600; }
.adb .adb-card__text { font-size: 16px; line-height: 1.55; color: var(--muted); }
.adb .adb-card--path .adb-card__text { font-size: 17px; }
.adb .adb-card__meta { font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted-2); }

.adb .adb-section { padding-block: 112px 0; display: flex; flex-direction: column; gap: 48px; }
.adb .adb-section--tight { padding-block: 96px 0; }
.adb .adb-main { padding-bottom: 112px; }
.adb .adb-section__head { display: flex; flex-direction: column; gap: 12px; max-width: 680px; }
.adb .adb-section__head h2 { font-size: clamp(30px, 3vw, 40px); line-height: 1.15; font-weight: 600; letter-spacing: -0.02em; }
.adb .adb-section__head p { font-size: 19px; color: var(--muted); }

.adb .adb-ideas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
.adb .adb-idea { display: flex; flex-direction: column; gap: 14px; border-top: 2px solid var(--ink); padding-top: 26px; }
.adb .adb-idea__num { font-family: var(--display); font-size: 15px; font-weight: 600; color: var(--orange-ink); }
.adb .adb-idea h3 { font-size: 22px; font-weight: 600; }
.adb .adb-idea p { font-size: 17px; color: var(--muted); }

.adb .adb-warning {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 64px;
	background: var(--warn-bg);
	border-radius: 12px;
	padding: clamp(28px, 5vw, 64px);
}
.adb .adb-warning__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.adb .adb-warning__intro h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.15; font-weight: 600; letter-spacing: -0.02em; }
.adb .adb-warning__intro p { font-size: 18px; color: var(--muted); }
.adb .adb-warning__list > div { display: flex; flex-direction: column; gap: 6px; padding-block: 20px; border-bottom: 1px solid var(--warn-line); }
.adb .adb-warning__list > div:first-child { padding-top: 0; }
.adb .adb-warning__list > div:last-child { border-bottom: 0; padding-bottom: 0; }
.adb .adb-warning__list h3 { font-size: 19px; font-weight: 600; }
.adb .adb-warning__list p { font-size: 17px; line-height: 1.55; color: var(--muted); }

.adb .adb-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }

.adb .adb-writer {
	display: flex;
	align-items: center;
	gap: 48px;
	border-block: 1px solid var(--line);
	padding-block: 56px;
}
.adb .adb-writer__avatar { width: 128px; height: 128px; border-radius: 50%; flex-shrink: 0; }
.adb .adb-writer__text { display: flex; flex-direction: column; gap: 10px; flex-grow: 1; }
.adb .adb-writer__text h2 { font-size: 30px; font-weight: 600; }
.adb .adb-writer__text p:last-child { color: var(--muted); max-width: 760px; }
.adb .adb-writer__links { display: flex; flex-direction: column; gap: 10px; flex-shrink: 0; }

/* ── Bandeau des rubriques ───────────────────────────────────────── */
.adb .adb-band--dark { background: var(--ink); color: #FFFFFF; padding-block: 56px 64px; }
.adb .adb-band--dark .adb-wrap { display: flex; flex-direction: column; gap: 20px; }
.adb .adb-band--dark .adb-crumbs,
.adb .adb-band--dark .adb-crumbs a { color: var(--on-dark-2); }
.adb .adb-band--dark .adb-crumbs span[aria-current] { color: var(--on-dark); }
.adb .adb-band h1 { font-size: clamp(36px, 4.4vw, 54px); line-height: 1.08; font-weight: 700; letter-spacing: -0.025em; max-width: 900px; }
.adb .adb-band__lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.55; color: var(--on-dark); max-width: 780px; }

.adb .adb-pillar__body,
.adb .adb-page__body { padding-block: 64px 0; }
.adb .adb-pillar__body .adb-prose,
.adb .adb-page__body .adb-prose { max-width: 760px; }

.adb .adb-siblings { gap: 16px; }
.adb .adb-siblings ul { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.adb .adb-siblings a {
	display: inline-flex; align-items: center; min-height: 44px; padding-inline: 18px;
	border: 1px solid var(--line); border-radius: 999px; background: var(--card);
	color: var(--ink); font-weight: 600; font-size: 16px;
}
.adb .adb-siblings a:hover { border-color: var(--orange); color: var(--ink); }

/* ── Guides ──────────────────────────────────────────────────────── */
.adb .adb-guide__head { padding-block: 56px 48px; border-bottom: 1px solid var(--line); }
.adb .adb-guide__head .adb-wrap { display: flex; flex-direction: column; gap: 20px; }
.adb .adb-guide__head h1 { font-size: clamp(34px, 4vw, 50px); line-height: 1.1; font-weight: 700; letter-spacing: -0.025em; max-width: 960px; }
.adb .adb-guide__lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.55; color: var(--muted); max-width: 820px; }

.adb .adb-byline { display: flex; align-items: center; gap: 14px; font-size: 16px; }
.adb .adb-byline__avatar { width: 48px; height: 48px; border-radius: 50%; }
.adb .adb-byline__text { display: flex; flex-direction: column; gap: 2px; }
.adb .adb-byline__text span:last-child { color: var(--muted-2); }
.adb .adb-byline a { font-weight: 600; }

.adb .adb-guide__layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 760px);
	gap: 80px;
	align-items: start;
	padding-block: 56px 0;
}
.adb .adb-guide__layout--single { grid-template-columns: minmax(0, 760px); }

.adb .adb-toc { position: sticky; top: 24px; }
.adb .adb-toc summary { list-style: none; cursor: default; margin-bottom: 14px; }
.adb .adb-toc summary::-webkit-details-marker { display: none; }
.adb .adb-toc ol { margin: 0; padding: 0; list-style: none; border-left: 2px solid var(--line); counter-reset: toc; }
.adb .adb-toc li { margin: 0; }
.adb .adb-toc a { display: block; padding: 7px 0 7px 16px; margin-left: -2px; border-left: 2px solid transparent; color: var(--muted); font-size: 16px; line-height: 1.4; }
.adb .adb-toc a:hover { color: var(--ink); border-left-color: var(--orange); }

.adb .adb-guide__article { display: flex; flex-direction: column; gap: 40px; }

/* ── Texte long (contenu éditable) ───────────────────────────────── */
.adb .adb-prose { font-size: 19px; line-height: 1.7; color: var(--text); }
.adb .adb-prose > * + * { margin-top: 1.1em; }
.adb .adb-prose h2 {
	font-size: clamp(26px, 2.6vw, 32px);
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: -0.015em;
	color: var(--ink);
	margin-top: 1.9em;
	scroll-margin-top: 24px;
}
.adb .adb-prose h3 { font-size: 22px; line-height: 1.3; font-weight: 600; color: var(--ink); margin-top: 1.6em; }
.adb .adb-prose h2 + *, .adb .adb-prose h3 + * { margin-top: 0.6em; }
.adb .adb-prose > :first-child { margin-top: 0; }
.adb .adb-prose ul, .adb .adb-prose ol { padding-left: 1.3em; margin-left: 0; margin-bottom: 0; }
.adb .adb-prose li + li { margin-top: 0.5em; }
.adb .adb-prose li::marker { color: var(--orange-ink); font-weight: 600; }
.adb .adb-prose strong { color: var(--ink); font-weight: 600; }
.adb .adb-prose a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.adb .adb-prose blockquote { margin-inline: 0; padding: 20px 24px; background: var(--warn-bg); border: 0; border-radius: 10px; font-style: normal; }
.adb .adb-prose table { width: 100%; border-collapse: collapse; font-size: 16px; background: var(--card); }
.adb .adb-prose .wp-block-table { overflow-x: auto; }
.adb .adb-prose th { background: #F4F1EA; text-align: left; font-weight: 600; }
.adb .adb-prose th, .adb .adb-prose td { padding: 12px 16px; border: 1px solid var(--line); font-variant-numeric: tabular-nums; }
.adb .adb-prose img { max-width: 100%; height: auto; border-radius: 8px; }

.adb .adb-prose figure { margin-inline: 0; }
.adb .adb-prose figure img, .adb .adb-prose > img { display: block; width: 100%; }

/* Encadrés produits par l'outil de rédaction (classes .wwc) — mis en forme aux couleurs du site */
.adb .adb-prose .wwc {
	padding: 20px 24px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 10px;
	font-size: 17px;
	line-height: 1.6;
}
.adb .adb-prose .wwc > * + * { margin-top: 0.6em; }
.adb .adb-prose .wwc ul { margin: 0; }
.adb .adb-prose .wwc-title { font-family: var(--display); font-size: 17px; font-weight: 600; color: var(--ink); }
.adb .adb-prose .wwc-info { background: #F2F5FA; border-color: #DCE4F0; }
.adb .adb-prose .wwc-tip { background: #EEF6F1; border-color: #D3E7DA; }
.adb .adb-prose .wwc-warning,
.adb .adb-prose .wwc-note { background: var(--warn-bg); border-color: var(--warn-line); }
.adb .adb-prose .wwc-book { background: #F4F1EA; border-color: var(--line); }
.adb .adb-prose .wwc-table { padding: 0; border: 0; background: none; overflow-x: auto; }
.adb .adb-prose .wwc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	padding: 0;
	border: 0;
	background: none;
}
.adb .adb-prose .wwc-grid > * + * { margin-top: 0; }
.adb .adb-prose .wwc-column { padding: 18px 20px; background: var(--card); border: 1px solid var(--line); border-radius: 10px; }
.adb .adb-prose .wwc-column > * + * { margin-top: 0.5em; }
.adb .adb-prose .wwc-icon-pro .wwc-title::before { content: "+ "; color: #1F7A4D; }
.adb .adb-prose .wwc-icon-con .wwc-title::before { content: "− "; color: #B3261E; }

.adb .adb-author { display: flex; gap: 24px; background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 32px; }
.adb .adb-author__avatar { width: 88px; height: 88px; border-radius: 50%; flex-shrink: 0; }
.adb .adb-author__text { display: flex; flex-direction: column; gap: 8px; }
.adb .adb-author__name { font-family: var(--display); font-size: 21px; font-weight: 600; }
.adb .adb-author__text p:not([class]) { font-size: 17px; color: var(--muted); }

.adb .adb-disclaimer { font-size: 14px; line-height: 1.6; color: var(--muted-2); }

.adb .adb-platform {
	display: flex; align-items: center; gap: 28px;
	margin-block: 1.4em;
	padding: 28px;
	background: var(--card);
	border: 1px solid var(--warn-line);
	border-radius: 10px;
}
.adb .adb-platform__logo { width: 72px; height: 72px; border-radius: 12px; object-fit: contain; flex-shrink: 0; }
.adb .adb-platform__text { display: flex; flex-direction: column; gap: 6px; flex-grow: 1; }
.adb .adb-platform__text .adb-eyebrow { color: var(--orange-ink); font-size: 13px; }
.adb .adb-platform__name { font-family: var(--display); font-size: 21px; font-weight: 600; color: var(--ink); }
.adb .adb-platform__facts { font-size: 16px; line-height: 1.5; color: var(--muted); }
.adb .adb-platform__cta { display: flex; flex-direction: column; align-items: center; gap: 8px; flex-shrink: 0; }
.adb .adb-platform__cta span { font-size: 13px; color: var(--muted-2); }
.adb .adb-prose .adb-platform a { text-decoration: none; }

/* ── Pied de page ────────────────────────────────────────────────── */
.adb .adb-footer { background: var(--ink); color: var(--on-dark); padding-block: 72px 40px; }
.adb .adb-footer__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 48px; }
.adb .adb-footer__about { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
/* Le nom de domaine est long : dans le pied de page il peut passer à la ligne plutôt que déborder. */
.adb .adb-footer .adb-brand { flex-shrink: 1; min-width: 0; }
.adb .adb-footer .adb-brand__name { font-size: 18px; overflow-wrap: anywhere; }
.adb .adb-footer__about p { font-size: 15px; }
.adb .adb-footer__title { color: #FFFFFF; font-weight: 600; font-size: 15px; margin-bottom: 14px; }
.adb .adb-footer ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.adb .adb-footer ul a { color: var(--on-dark); font-size: 15px; }
.adb .adb-footer ul a:hover { color: var(--orange); }
.adb .adb-footer__legal { margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--ink-2); font-size: 13px; line-height: 1.6; color: var(--on-dark-2); }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 1080px) {
	.adb .adb-menu-toggle { display: inline-flex; }
	.adb .adb-header__bar { flex-wrap: wrap; }
	.adb .adb-nav {
		display: none;
		flex-basis: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		padding-block: 8px 24px;
	}
	.adb .adb-nav.is-open { display: flex; }
	.adb .adb-nav__list { flex-direction: column; gap: 0; }
	.adb .adb-nav__list a { display: flex; align-items: center; min-height: 48px; font-size: 18px; border-bottom: 1px solid var(--ink-2); }
	.adb .adb-header__cta { align-self: flex-start; }

	.adb .adb-guide__layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.adb .adb-toc { position: static; background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 20px 24px; }
	.adb .adb-toc summary { cursor: pointer; margin-bottom: 0; }
	.adb .adb-toc details[open] summary { margin-bottom: 14px; }
	.adb .adb-hero__network { opacity: .45; }
}

@media (max-width: 860px) {
	.adb .adb-paths,
	.adb .adb-ideas,
	.adb .adb-grid-3 { grid-template-columns: minmax(0, 1fr); }
	.adb .adb-ideas { gap: 32px; }
	.adb .adb-warning { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.adb .adb-writer { flex-direction: column; align-items: flex-start; gap: 24px; }
	.adb .adb-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
	.adb .adb-footer__about { grid-column: 1 / -1; }
	.adb .adb-platform { flex-direction: column; align-items: flex-start; }
	.adb .adb-platform__cta { align-items: flex-start; }
}

@media (max-width: 600px) {
	body.adb { font-size: 17px; }
	.adb .adb-hero { padding-block: 44px 96px; }
	.adb .adb-hero__network { display: none; }
	.adb .adb-actions { flex-direction: column; }
	.adb .adb-actions .adb-btn { width: 100%; box-sizing: border-box; }
	.adb .adb-paths { margin-top: -48px; gap: 12px; }
	.adb .adb-card--path { padding: 22px; }
	.adb .adb-section { padding-block: 64px 0; gap: 28px; }
	.adb .adb-prose { font-size: 18px; }
	.adb .adb-author { flex-direction: column; padding: 24px; }
	.adb .adb-brand__name { font-size: 16px; }
	.adb .adb-brand__mark { width: 28px; height: 28px; }
	.adb .adb-main { padding-bottom: 72px; }
}

@media (prefers-reduced-motion: reduce) {
	.adb * { transition: none !important; }
	html { scroll-behavior: auto; }
}
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}
