/* ==========================================================================
   ADW – Gabarit article de blog
   Classes globales Elementor (adw-*) du gabarit « Article de blog – design 2026 »
   + contenu de l'article (widget « Contenu de la publication » .adw-article-content)
   ========================================================================== */

:root {
	--adw-green: var(--e-global-color-beef9c5, #2E3A33);
	--adw-terracotta: var(--e-global-color-secondary, #B35A42);
	--adw-terracotta-hover: #9A4632;
	--adw-ink: #1F2B25;
	--adw-text: #3A3A38;
	--adw-muted: #7A726B;
	--adw-cream: #FAF6F0;
	--adw-peach: #FCF1EB;
	--adw-peach-strong: #F8E5DB;
	--adw-peach-line: #F0DCD1;
	--adw-sage: #F1F0E8;
	--adw-border: #EAE1D9;
	/* Arrondi commun des boutons, cartes et encadrés (les cercles et formes organiques ne l'utilisent pas). */
	--adw-radius: 8px;
	--adw-serif: "DM Serif Display", Georgia, "Times New Roman", serif;
	--adw-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--adw-script: "Gentlemens", "Segoe Script", cursive;
	--adw-container: 1240px;
	--adw-gutter: 24px;
	--adw-measure: 820px;

	--adw-ico-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");
	--adw-ico-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3Cpath d='M6.6 18.3c1.3-2.1 3.1-3.1 5.4-3.1s4.1 1 5.4 3.1'/%3E%3C/svg%3E");
	--adw-ico-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E");
	/* Puce des listes (un point) : remplace la feuille, retirée en octobre 2026 comme tout décor végétal. */
	--adw-ico-puce: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4.5'/%3E%3C/svg%3E");
	/* Ancien nom, encore utilisé par style-apropos.css et style-offres.css. */
	--adw-ico-leaf: var(--adw-ico-puce);
	--adw-ico-trophy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h8v5.5a4 4 0 0 1-8 0V4Z'/%3E%3Cpath d='M8 6.5H5.6a2.2 2.2 0 0 0 0 4.4h2.7M16 6.5h2.4a2.2 2.2 0 0 1 0 4.4h-2.7M12 13.5V17M9.4 17h5.2l.6 3.5H8.8z'/%3E%3C/svg%3E");
	--adw-ico-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	--adw-ico-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12h19M15 6l6 6-6 6'/%3E%3C/svg%3E");
	--adw-ico-tool: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
	--adw-ico-doc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h7.5l4 4v14h-11.5z'/%3E%3Cpath d='M14 3v4h4M9.5 12h6M9.5 15.5h6M9.5 8.5h2.5'/%3E%3C/svg%3E");
	--adw-ico-gear: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E");
	--adw-ico-chart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='12.5' width='3.6' height='7.5' rx='1'/%3E%3Crect x='10.2' y='8.5' width='3.6' height='11.5' rx='1'/%3E%3Crect x='16.4' y='4.5' width='3.6' height='15.5' rx='1'/%3E%3C/svg%3E");
	/* Branche décorative retirée en octobre 2026 : masque vide, les décors qui l'utilisent n'affichent plus rien. */
	--adw-deco-branch: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'/%3E");
	--adw-deco-strokes: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M9 19 4 10M19 14l1-10M28 21l8-6'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   Gabarit : conteneurs
   -------------------------------------------------------------------------- */

body .elementor .adw-hero,
body .elementor .adw-article-body,
body .elementor .adw-cta-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--adw-container) + 2 * var(--adw-gutter));
	min-width: 0;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--adw-gutter);
	padding-right: var(--adw-gutter);
}

/* --------------------------------------------------------------------------
   En-tête de l'article
   -------------------------------------------------------------------------- */

body .elementor .adw-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	align-items: center;
	column-gap: clamp(40px, 5vw, 80px);
	row-gap: 36px;
	padding-top: 28px;
	padding-bottom: 60px;
}

body .elementor .adw-hero::after {
	content: "";
	position: absolute;
	top: 18px;
	right: calc(var(--adw-gutter) + 4px);
	width: 30px;
	height: 30px;
	background-color: var(--adw-terracotta);
	-webkit-mask: var(--adw-deco-strokes) center / contain no-repeat;
	mask: var(--adw-deco-strokes) center / contain no-repeat;
	transform: rotate(18deg);
	pointer-events: none;
}

body .elementor .adw-hero-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: 0;
}

body .elementor .adw-breadcrumb {
	display: flex;
	align-items: center;
	max-width: 100%;
	margin: 0 0 40px;
	overflow: hidden;
	white-space: nowrap;
	font-family: var(--adw-sans);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--adw-muted);
}

body .elementor .adw-breadcrumb a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

body .elementor .adw-breadcrumb a:hover,
body .elementor .adw-breadcrumb a:focus-visible {
	color: var(--adw-terracotta);
}

body .elementor .adw-breadcrumb a,
body .elementor .adw-breadcrumb span {
	flex: none;
}

body .elementor .adw-breadcrumb span {
	margin: 0 8px;
	color: #B9AFA6;
}

body .elementor .adw-breadcrumb span:last-child {
	flex: 0 1 auto;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	color: var(--adw-text);
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: bottom;
}

body .elementor .adw-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 18px;
	font-family: var(--adw-sans);
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--adw-terracotta);
}

body .elementor .adw-eyebrow a {
	color: inherit;
	text-decoration: none;
}

body .elementor .adw-title {
	display: block;
	margin: 0 0 28px;
	font-family: var(--adw-serif);
	font-size: clamp(36px, 3.7vw, 56px);
	font-weight: 400;
	font-style: normal;
	line-height: 1.08;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--adw-ink);
}

body .elementor .adw-title em {
	font-style: italic;
	color: var(--adw-terracotta);
}

body .elementor .adw-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 36px;
	margin: 0 0 28px;
	padding: 0;
}

body .elementor .adw-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-family: var(--adw-sans);
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--adw-text);
}

body .elementor .adw-meta-item::before {
	content: "";
	flex: none;
	width: 17px;
	height: 17px;
	background-color: var(--adw-terracotta);
	-webkit-mask: var(--adw-ico-calendar) center / contain no-repeat;
	mask: var(--adw-ico-calendar) center / contain no-repeat;
}

body .elementor .adw-meta-author::before {
	-webkit-mask-image: var(--adw-ico-user);
	mask-image: var(--adw-ico-user);
}

body .elementor .adw-meta-time::before {
	-webkit-mask-image: var(--adw-ico-clock);
	mask-image: var(--adw-ico-clock);
}

body .elementor .adw-chapo {
	display: block;
	max-width: 600px;
	margin: 0;
	font-family: var(--adw-sans);
	font-size: 15.5px;
	font-weight: 400;
	line-height: 1.75;
	color: var(--adw-text);
}

body .elementor .adw-chapo:empty {
	display: none;
}

body .elementor .adw-hero-visual {
	position: relative;
	isolation: isolate;
	min-width: 0;
	padding: 0;
	aspect-ratio: 1.12 / 1;
}

/* width / height auto : sans cela, le calque ::before des conteneurs Elementor (.e-con) impose 100 % et la forme déborde de la page */
body .elementor .adw-hero-visual::before {
	content: "";
	position: absolute;
	inset: -5% -3% 7% 9%;
	z-index: -1;
	width: auto;
	height: auto;
	background-color: var(--adw-peach-strong);
	border-radius: 62% 38% 55% 45% / 45% 50% 50% 55%;
}

body .elementor .adw-hero-visual::after {
	content: "";
	position: absolute;
	top: 26px;
	left: -86px;
	width: 78px;
	height: 108px;
	background-color: var(--adw-green);
	-webkit-mask: var(--adw-deco-branch) center / contain no-repeat;
	mask: var(--adw-deco-branch) center / contain no-repeat;
	transform: rotate(-16deg);
	pointer-events: none;
}

body .elementor .adw-hero-image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
}

body .elementor img.adw-hero-image,
body .elementor .adw-hero-image img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	border-radius: 58% 42% 47% 53% / 46% 41% 59% 54%;
}

body .elementor .adw-hero-visual:not(:has(img)) {
	display: none;
}

body .elementor .adw-hero:not(:has(.adw-hero-visual img)) {
	grid-template-columns: minmax(0, 1fr);
}

/* --------------------------------------------------------------------------
   Corps de l'article
   -------------------------------------------------------------------------- */

body .elementor .adw-article-body {
	padding-top: 0;
	padding-bottom: 0;
}

.adw-article-content {
	counter-reset: adw-h2;
	font-family: var(--adw-sans);
	color: var(--adw-text);
}

/* Articles créés avec Elementor : on neutralise la largeur de leurs conteneurs. */
.adw-article-content .e-con {
	--content-width: 100%;
	--container-max-width: 100%;
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
}

.adw-article-content .e-con > .e-con-inner {
	max-width: 100%;
	padding: 0;
}

.adw-article-content :is(p, li):not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) {
	font-family: var(--adw-sans);
	font-size: 17px;
	line-height: 1.8;
	color: var(--adw-text);
}

.adw-article-content p:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) {
	margin: 0 0 20px;
}

.adw-article-content :is(p, ul, ol, h3, h4, h5, h6, pre, figure, .wp-block-image, .wp-block-embed):not(:where(.adw-intro, .adw-bloc, .rank-math-block) *):not(.has-background) {
	max-width: var(--adw-measure);
}

.adw-article-content strong:not(:where(.adw-intro, .adw-bloc) *) {
	font-weight: 600;
	color: var(--adw-ink);
}

.adw-article-content a:not(:where(.adw-intro, .adw-faq-aside) *):not(.adw-faq-aside__note):not([class*="button"]) {
	color: var(--adw-terracotta);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.2s ease;
}

.adw-article-content a:not(:where(.adw-intro, .adw-faq-aside) *):not(.adw-faq-aside__note):not([class*="button"]):hover {
	color: var(--adw-terracotta-hover);
}

/* Titres H2 numérotés dans un cercle « 01 » */
.adw-article-content h2:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) {
	counter-increment: adw-h2;
	position: relative;
	box-sizing: border-box;
	max-width: 900px;
	min-height: 44px;
	margin: 72px 0 22px;
	padding: 2px 0 0 62px;
	font-family: var(--adw-serif) !important;
	font-size: clamp(26px, 2.4vw, 34px) !important;
	font-weight: 400 !important;
	font-style: normal;
	line-height: 1.2 !important;
	letter-spacing: -0.005em !important;
	text-transform: none;
	color: var(--adw-ink) !important;
	scroll-margin-top: 270px;
}

.adw-article-content h2:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *)::before {
	content: counter(adw-h2, decimal-leading-zero);
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1.5px solid var(--adw-terracotta);
	border-radius: 50%;
	font-family: var(--adw-sans);
	font-size: 13px;
	font-weight: 600;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0.02em;
	color: var(--adw-terracotta);
}

.adw-article-content h3:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) {
	margin: 40px 0 12px;
	font-family: var(--adw-serif) !important;
	font-size: clamp(21px, 1.8vw, 25px) !important;
	font-weight: 400 !important;
	font-style: normal;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	text-transform: none;
	color: var(--adw-ink) !important;
	scroll-margin-top: 270px;
}

.adw-article-content h4:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) {
	margin: 32px 0 10px;
	font-family: var(--adw-sans) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--adw-ink) !important;
}

/* Listes */
.adw-article-content ul:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.adw-article-content ul:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) > li {
	position: relative;
	margin: 0 0 10px;
	padding: 0 0 0 32px;
}

.adw-article-content ul:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) > li::before {
	content: "";
	position: absolute;
	top: 0.4em;
	left: 0;
	width: 17px;
	height: 17px;
	background-color: var(--adw-terracotta);
	-webkit-mask: var(--adw-ico-leaf) center / contain no-repeat;
	mask: var(--adw-ico-leaf) center / contain no-repeat;
}

.adw-article-content ol:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) {
	margin: 0 0 24px;
	padding: 0 0 0 1.4em;
}

.adw-article-content ol:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) > li {
	margin: 0 0 10px;
	padding-left: 6px;
}

.adw-article-content ol:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) > li::marker {
	font-weight: 600;
	color: var(--adw-terracotta);
}

/* Encadrés existants (paragraphes avec fond) : style « Conseil d'experte » */
.adw-article-content p.has-background {
	position: relative;
	box-sizing: border-box;
	margin: 36px 0;
	padding: 26px 32px 26px 100px !important;
	background: var(--adw-peach) !important;
	border: 1px solid var(--adw-peach-line) !important;
	border-radius: var(--adw-radius) !important;
	font-size: 15px;
	line-height: 1.75;
	color: var(--adw-text);
}

.adw-article-content p.has-background::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 26px;
	box-sizing: border-box;
	width: 52px;
	height: 52px;
	margin-top: -26px;
	border: 1px solid #EFCDBE;
	border-radius: 50%;
	background-color: #FAE5DB;
}

.adw-article-content p.has-background::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 40px;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	background-color: var(--adw-terracotta);
	-webkit-mask: var(--adw-ico-trophy) center / contain no-repeat;
	mask: var(--adw-ico-trophy) center / contain no-repeat;
}

.adw-article-content blockquote:has(p.has-background) {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-style: normal;
	quotes: none;
}

.adw-article-content blockquote:has(p.has-background)::before,
.adw-article-content blockquote:has(p.has-background)::after {
	content: none;
}

.adw-article-content blockquote:not(:has(p.has-background)) {
	max-width: var(--adw-measure);
	margin: 36px 0;
	padding: 4px 0 4px 26px;
	border: 0;
	border-left: 2px solid var(--adw-terracotta);
	background: none;
	font-family: var(--adw-serif);
	font-size: 19px;
	font-style: normal;
	line-height: 1.55;
	color: var(--adw-ink);
}

.adw-article-content blockquote:not(:has(p.has-background)) p {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

/* Décorations de l'ancien gabarit et doublons (image à la une déjà affichée en en-tête) */
.adw-article-content figure:has(> img[src*="/line-title"]),
.adw-article-content figure:has(> img[src*="/point-title"]),
.adw-article-content .wp-block-post-featured-image,
.adw-article-content ul:empty {
	display: none;
}

.adw-article-content blockquote:has(p.has-background) > .wp-block-group {
	display: block;
}

.adw-article-content hr {
	max-width: var(--adw-measure);
	height: 1px;
	margin: 40px 0;
	border: 0;
	background-color: var(--adw-border);
	opacity: 1;
}

.adw-article-content blockquote hr {
	margin: 0 0 16px;
	background-color: var(--adw-peach-line);
}

/* Images et tableaux */
.adw-article-content img {
	max-width: 100%;
	height: auto;
}

.adw-article-content :is(figure, .wp-block-image):not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) {
	margin: 32px 0;
}

.adw-article-content :is(figure, .wp-block-image) img:not([width="50"]) {
	border-radius: var(--adw-radius);
}

.adw-article-content figcaption {
	margin-top: 10px;
	font-size: 12.5px;
	line-height: 1.5;
	text-align: center;
	color: var(--adw-muted);
}

.adw-article-content table {
	width: 100%;
	margin: 28px 0;
	border: 1px solid var(--adw-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--adw-radius);
	overflow: hidden;
	font-size: 15px;
	line-height: 1.6;
}

.adw-article-content th,
.adw-article-content td {
	padding: 12px 16px;
	border: 0;
	border-bottom: 1px solid var(--adw-border);
	text-align: left;
	vertical-align: top;
}

.adw-article-content th {
	background-color: var(--adw-peach);
	font-weight: 600;
	color: var(--adw-ink);
}

.adw-article-content tr:last-child td {
	border-bottom: 0;
}

/* --------------------------------------------------------------------------
   Sommaire + À retenir (générés en tête du contenu)
   -------------------------------------------------------------------------- */

.adw-article-content .adw-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
	align-items: stretch;
	gap: 22px;
	margin: 0 0 64px;
}

.adw-article-content .adw-intro--sommaire-seul {
	grid-template-columns: minmax(0, 1fr);
}

.adw-article-content .adw-intro--retenir-seul {
	grid-template-columns: minmax(0, 660px);
}

.adw-article-content .adw-toc {
	box-sizing: border-box;
	padding: 28px 34px 22px;
	border-radius: var(--adw-radius);
	background-color: var(--adw-peach);
}

.adw-article-content .adw-toc__title {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 12px;
	font-family: var(--adw-serif);
	font-size: 21px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--adw-ink);
}

.adw-article-content .adw-toc__title .adw-icon {
	flex: none;
	width: 30px;
	height: 30px;
	color: var(--adw-green);
	stroke-width: 1.2;
}

.adw-article-content .adw-toc__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.adw-article-content .adw-toc__list li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--adw-peach-line);
	break-inside: avoid;
}

.adw-article-content .adw-toc__list a {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 9px 0;
	font-family: var(--adw-sans);
	font-size: 13.5px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--adw-text);
	text-decoration: none;
	transition: color 0.2s ease;
}

.adw-article-content .adw-toc__list a:hover,
.adw-article-content .adw-toc__list a:focus-visible {
	color: var(--adw-terracotta);
}

.adw-article-content .adw-toc__num {
	flex: none;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 23px;
	height: 23px;
	border: 1px solid var(--adw-terracotta);
	border-radius: 50%;
	font-size: 9.5px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1;
	color: var(--adw-terracotta);
}

.adw-article-content .adw-intro--sommaire-seul .adw-toc__list {
	columns: 2;
	column-gap: 48px;
}

.adw-article-content .adw-retenir {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	padding: 28px 34px 30px;
	border-radius: var(--adw-radius);
	background-color: var(--adw-green);
	color: var(--adw-cream);
}

.adw-article-content .adw-retenir::after {
	content: "";
	position: absolute;
	top: 12px;
	right: 20px;
	width: 50px;
	height: 68px;
	background-color: rgba(250, 246, 240, 0.55);
	-webkit-mask: var(--adw-deco-branch) center / contain no-repeat;
	mask: var(--adw-deco-branch) center / contain no-repeat;
	transform: rotate(20deg);
	pointer-events: none;
}

.adw-article-content .adw-retenir__title {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 22px;
	font-family: var(--adw-serif);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--adw-cream);
}

.adw-article-content .adw-retenir__list {
	display: grid;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adw-article-content .adw-retenir__item {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 0;
}

.adw-article-content .adw-retenir__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background-color: #F4ECE2;
	color: var(--adw-green);
}

.adw-article-content .adw-retenir__icon .adw-icon {
	width: 22px;
	height: 22px;
}

.adw-article-content .adw-retenir__item-title {
	display: block;
	margin: 0 0 3px;
	font-family: var(--adw-sans);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--adw-cream);
}

.adw-article-content .adw-retenir__item-text {
	display: block;
	font-family: var(--adw-sans);
	font-size: 12.5px;
	line-height: 1.55;
	color: rgba(250, 246, 240, 0.8);
}

/* --------------------------------------------------------------------------
   FAQ Rank Math
   -------------------------------------------------------------------------- */

.adw-article-content .rank-math-block {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	align-items: start;
	gap: 18px 40px;
	margin: 44px 0 56px;
}

.adw-article-content .rank-math-block .rank-math-list {
	grid-column: 1;
	grid-row: 1;
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
}

.adw-article-content .rank-math-list-item {
	margin: 0;
	padding: 0;
	border: 1px solid var(--adw-border);
	border-radius: var(--adw-radius);
	background-color: #FFFFFF;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.adw-article-content .rank-math-list-item.is-open {
	border-color: var(--adw-peach-line);
	box-shadow: 0 8px 22px rgba(46, 58, 51, 0.07);
}

.adw-article-content .rank-math-question {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--adw-sans) !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
	color: var(--adw-ink) !important;
}

.adw-article-content .adw-faq-toggle {
	all: unset;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	padding: 15px 20px;
	cursor: pointer;
	font: inherit;
	color: inherit;
}

.adw-article-content .adw-faq-toggle:focus-visible {
	outline: 2px solid var(--adw-terracotta);
	outline-offset: -2px;
	border-radius: var(--adw-radius);
}

.adw-article-content .adw-faq-icon {
	flex: none;
	width: 16px;
	height: 16px;
	background-color: var(--adw-terracotta);
	-webkit-mask: var(--adw-ico-plus) center / contain no-repeat;
	mask: var(--adw-ico-plus) center / contain no-repeat;
	transition: transform 0.25s ease;
}

.adw-article-content .rank-math-list-item.is-open .adw-faq-icon {
	transform: rotate(45deg);
}

.adw-article-content .rank-math-answer {
	padding: 0 20px 18px;
	font-family: var(--adw-sans);
	font-size: 15px;
	line-height: 1.75;
	color: var(--adw-text);
}

.adw-article-content .rank-math-answer p {
	margin: 0 0 10px;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.adw-article-content .rank-math-answer p:last-child {
	margin-bottom: 0;
}

.adw-article-content .adw-faq-ready .rank-math-list-item:not(.is-open) .rank-math-answer {
	display: none;
}

.adw-article-content .adw-faq-aside {
	grid-column: 2;
	grid-row: 1;
	position: relative;
	display: block;
	min-height: 260px;
}

.adw-article-content .adw-faq-aside::before {
	content: "";
	position: absolute;
	top: -18px;
	right: 6px;
	z-index: 2;
	width: 26px;
	height: 26px;
	background-color: var(--adw-terracotta);
	-webkit-mask: var(--adw-deco-strokes) center / contain no-repeat;
	mask: var(--adw-deco-strokes) center / contain no-repeat;
	transform: rotate(20deg);
}

.adw-article-content .adw-faq-aside__visual {
	display: block;
	width: 72%;
	aspect-ratio: 0.8;
	overflow: hidden;
	border-radius: 48% 52% 44% 56% / 40% 46% 54% 60%;
	background-color: var(--adw-peach-strong);
}

.adw-article-content .adw-faq-aside__visual img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center 20%;
	border-radius: 0;
}

.adw-article-content .adw-faq-aside__note {
	position: absolute;
	right: 0;
	bottom: 6%;
	box-sizing: border-box;
	width: 64%;
	padding: 30px 18px 30px 24px;
	border-radius: 58% 42% 50% 50% / 50% 46% 54% 50%;
	background-color: var(--adw-peach);
	font-family: var(--adw-script);
	font-size: 21px;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	color: var(--adw-ink);
	transform: rotate(-5deg);
	transition: color 0.2s ease;
}

.adw-article-content .adw-faq-aside__note:hover {
	color: var(--adw-terracotta);
}

/* --------------------------------------------------------------------------
   Encarts réutilisables (compositions « Audacieuse du Web – Article »)
   -------------------------------------------------------------------------- */

.adw-article-content .adw-bloc {
	box-sizing: border-box;
	margin: 36px 0;
}

.adw-article-content .adw-bloc p {
	margin: 0;
	font-family: var(--adw-sans);
	font-size: 15px;
	line-height: 1.7;
	color: var(--adw-text);
}

.adw-article-content .adw-conseil {
	position: relative;
	padding: 24px 32px 24px 100px;
	border: 1px solid var(--adw-peach-line);
	border-radius: var(--adw-radius);
	background-color: var(--adw-peach);
}

.adw-article-content .adw-conseil::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 26px;
	box-sizing: border-box;
	width: 52px;
	height: 52px;
	margin-top: -26px;
	border: 1px solid #EFCDBE;
	border-radius: 50%;
	background: #FAE5DB;
}

.adw-article-content .adw-conseil::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 40px;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	background-color: var(--adw-terracotta);
	-webkit-mask: var(--adw-ico-trophy) center / contain no-repeat;
	mask: var(--adw-ico-trophy) center / contain no-repeat;
}

.adw-article-content .adw-bloc .adw-conseil__titre {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 6px;
	font-family: var(--adw-serif);
	font-size: 19px;
	line-height: 1.3;
	color: var(--adw-ink);
}

.adw-article-content .adw-etapes {
	padding: 24px 28px 26px;
	border-radius: var(--adw-radius);
	background-color: var(--adw-sage);
}

.adw-article-content .adw-bloc .adw-etapes__titre {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 22px;
	font-family: var(--adw-serif);
	font-size: 17px;
	line-height: 1.3;
	color: var(--adw-ink);
}

.adw-article-content .adw-bloc .adw-etapes__titre::before {
	content: "";
	flex: none;
	width: 22px;
	height: 22px;
	background-color: var(--adw-terracotta);
	-webkit-mask: var(--adw-ico-tool) center / contain no-repeat;
	mask: var(--adw-ico-tool) center / contain no-repeat;
}

.adw-article-content .adw-etapes__liste {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: 20px 36px;
	counter-reset: adw-etape;
}

.adw-article-content .adw-bloc .adw-etape {
	position: relative;
	counter-increment: adw-etape;
	padding-top: 52px;
	font-size: 12.5px;
	line-height: 1.45;
	text-align: center;
	color: var(--adw-muted);
}

.adw-article-content .adw-bloc .adw-etape strong {
	display: block;
	margin-bottom: 2px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--adw-ink);
}

.adw-article-content .adw-etape::before {
	content: counter(adw-etape, decimal-leading-zero);
	position: absolute;
	top: 0;
	left: 50%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin-left: -20px;
	border: 1.5px solid var(--adw-terracotta);
	border-radius: 50%;
	font-size: 12px;
	font-weight: 600;
	color: var(--adw-terracotta);
}

.adw-article-content .adw-etape:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 10px;
	right: -30px;
	width: 22px;
	height: 20px;
	background-color: var(--adw-terracotta);
	-webkit-mask: var(--adw-ico-arrow) center / contain no-repeat;
	mask: var(--adw-ico-arrow) center / contain no-repeat;
}

.adw-article-content .adw-points {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
}

.adw-article-content .adw-bloc .adw-point {
	position: relative;
	padding: 22px 22px 22px 96px;
	border-radius: var(--adw-radius);
	background-color: var(--adw-peach);
	font-size: 13px;
	line-height: 1.55;
	color: var(--adw-text);
}

.adw-article-content .adw-bloc .adw-point strong {
	display: block;
	margin-bottom: 4px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--adw-ink);
}

.adw-article-content .adw-point::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 20px;
	width: 56px;
	height: 56px;
	margin-top: -28px;
	border-radius: 50%;
	background-color: var(--adw-peach-strong);
}

.adw-article-content .adw-point::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 34px;
	width: 28px;
	height: 28px;
	margin-top: -14px;
	background-color: var(--adw-terracotta);
	-webkit-mask: var(--adw-ico-doc) center / contain no-repeat;
	mask: var(--adw-ico-doc) center / contain no-repeat;
}

.adw-article-content .adw-point:nth-child(3n + 2)::after {
	-webkit-mask-image: var(--adw-ico-gear);
	mask-image: var(--adw-ico-gear);
}

.adw-article-content .adw-point:nth-child(3n)::after {
	-webkit-mask-image: var(--adw-ico-chart);
	mask-image: var(--adw-ico-chart);
}

.adw-article-content .adw-section-image {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	align-items: center;
	gap: 32px 56px;
}

.adw-article-content .adw-section-image--inverse {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
}

.adw-article-content .adw-section-image--inverse .adw-section-image__visuel {
	order: -1;
}

.adw-article-content .adw-section-image__texte p {
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 1.75;
}

.adw-article-content .adw-section-image__texte h3 {
	margin: 24px 0 10px;
	font-family: var(--adw-serif) !important;
	font-size: 23px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	color: var(--adw-ink) !important;
}

.adw-article-content .adw-section-image__visuel {
	position: relative;
	isolation: isolate;
	margin: 0;
}

.adw-article-content .adw-section-image__visuel::before {
	content: "";
	position: absolute;
	inset: 6% -4% -4% 8%;
	z-index: -1;
	border-radius: 56% 44% 50% 50% / 46% 52% 48% 54%;
	background-color: var(--adw-peach-strong);
}

.adw-article-content .adw-section-image__visuel img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 46% 54% 40% 60% / 52% 44% 56% 48% !important;
}

/* --------------------------------------------------------------------------
   Bandeau final (appel à l'action)
   -------------------------------------------------------------------------- */

body .elementor .adw-cta-wrap {
	padding-top: 32px;
	padding-bottom: 88px;
}

body .elementor .adw-cta {
	position: relative;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 28px 56px;
	overflow: hidden;
	padding: 46px 56px;
	border-radius: var(--adw-radius);
	background-color: var(--adw-green);
	color: var(--adw-cream);
}

body .elementor .adw-cta::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 46px;
	width: 92px;
	height: 124px;
	margin-top: -62px;
	background-color: rgba(250, 246, 240, 0.7);
	-webkit-mask: var(--adw-deco-branch) center / contain no-repeat;
	mask: var(--adw-deco-branch) center / contain no-repeat;
	transform: rotate(-22deg);
	pointer-events: none;
}

body .elementor .adw-cta-text {
	min-width: 0;
	padding: 0;
}

body .elementor .adw-cta-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 12px;
	font-family: var(--adw-sans);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 246, 240, 0.8);
}

body .elementor .adw-cta-title {
	display: block;
	margin: 0;
	font-family: var(--adw-serif);
	font-size: clamp(26px, 2.6vw, 36px);
	font-weight: 400;
	line-height: 1.15;
	color: var(--adw-cream);
}

body .elementor .adw-cta-actions {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 300px;
	padding: 0;
}

body .elementor .adw-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 15px 28px;
	border-radius: var(--adw-radius);
	font-family: var(--adw-sans);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.01em;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body .elementor .adw-btn-primary {
	border: 1px solid var(--adw-terracotta);
	background-color: var(--adw-terracotta);
	color: #FFFFFF;
}

body .elementor .adw-btn-primary:hover,
body .elementor .adw-btn-primary:focus-visible {
	border-color: var(--adw-terracotta-hover);
	background-color: var(--adw-terracotta-hover);
	color: #FFFFFF;
}

body .elementor .adw-btn-outline {
	border: 1px solid rgba(250, 246, 240, 0.65);
	background-color: transparent;
	color: var(--adw-cream);
}

body .elementor .adw-btn-outline:hover,
body .elementor .adw-btn-outline:focus-visible {
	border-color: var(--adw-cream);
	background-color: rgba(250, 246, 240, 0.08);
	color: var(--adw-cream);
}

/* --------------------------------------------------------------------------
   Tablette
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	body .elementor .adw-hero {
		grid-template-columns: minmax(0, 1fr);
		padding-bottom: 44px;
	}

	body .elementor .adw-hero::after {
		display: none;
	}

	body .elementor .adw-hero-visual {
		justify-self: center;
		width: 100%;
		max-width: 560px;
	}

	body .elementor .adw-hero-visual::after {
		top: -24px;
		left: -18px;
		width: 52px;
		height: 72px;
	}

	.adw-article-content .adw-intro {
		grid-template-columns: minmax(0, 1fr);
	}

	.adw-article-content .rank-math-block {
		grid-template-columns: minmax(0, 1fr) 220px;
	}

	body .elementor .adw-cta {
		grid-template-columns: minmax(0, 1fr);
		padding: 40px;
	}

	body .elementor .adw-cta-actions {
		min-width: 0;
		max-width: 380px;
	}
}

/* --------------------------------------------------------------------------
   Mobile
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
	:root {
		--adw-gutter: 20px;
	}

	body .elementor .adw-hero {
		padding-top: 18px;
	}

	body .elementor .adw-breadcrumb {
		margin-bottom: 26px;
	}

	body .elementor .adw-breadcrumb span:last-child,
	body .elementor .adw-breadcrumb span:nth-last-child(2) {
		display: none;
	}

	.adw-article-content :is(h2, h3) {
		scroll-margin-top: 180px;
	}

	body .elementor .adw-title {
		font-size: 34px;
	}

	body .elementor .adw-meta {
		gap: 10px 22px;
	}

	body .elementor .adw-hero-visual::after {
		display: none;
	}

	.adw-article-content :is(p, li):not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) {
		font-size: 16px;
	}

	.adw-article-content h2:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *) {
		margin-top: 56px;
		padding-left: 50px;
		min-height: 36px;
	}

	.adw-article-content h2:not(:where(.adw-intro, .adw-bloc, .rank-math-block) *)::before {
		width: 36px;
		height: 36px;
		font-size: 12px;
	}

	.adw-article-content p.has-background,
	.adw-article-content .adw-conseil {
		padding: 82px 22px 22px !important;
	}

	.adw-article-content p.has-background::before,
	.adw-article-content .adw-conseil::before {
		top: 18px;
		left: 22px;
		margin-top: 0;
	}

	.adw-article-content p.has-background::after,
	.adw-article-content .adw-conseil::after {
		top: 32px;
		left: 36px;
		margin-top: 0;
	}

	.adw-article-content .adw-toc,
	.adw-article-content .adw-retenir {
		padding: 24px 22px;
	}

	.adw-article-content .adw-intro--sommaire-seul .adw-toc__list {
		columns: 1;
	}

	.adw-article-content .rank-math-block {
		grid-template-columns: minmax(0, 1fr);
	}

	.adw-article-content .adw-faq-aside {
		grid-column: 1;
		grid-row: auto;
		width: 100%;
		max-width: 320px;
		min-height: 0;
		margin: 12px auto 0;
	}

	.adw-article-content .adw-etapes__liste {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.adw-article-content .adw-etape::after {
		display: none;
	}

	.adw-article-content .adw-section-image,
	.adw-article-content .adw-section-image--inverse {
		grid-template-columns: minmax(0, 1fr);
	}

	.adw-article-content .adw-section-image--inverse .adw-section-image__visuel {
		order: 0;
	}

	body .elementor .adw-cta {
		padding: 36px 24px;
	}

	body .elementor .adw-cta::before {
		display: none;
	}

	body .elementor .adw-cta-actions {
		max-width: none;
	}
}
