:root{--w-rouge:#dd3333;--w-rouge-fonce:#b02121;--w-sang:#7d1717;--w-nuit:#1d1919;--w-anthracite:#2b2b2b;--w-gris:#4f4f4f;--w-rose:#efd1c9;--w-rose-pale:#fbf2ef;--w-rose-voile:#f5e3de;--w-texte:#2b2b2b;--w-texte-doux:#5a4d4d;--w-trait:rgb(125 23 23 / .12);--w-police:"Roboto Condensed", "Arial Narrow", Arial, sans-serif;--w-degrade-rouge:linear-gradient(150deg, #d32f2f 0%, #a81e1e 100%);--w-degrade-nuit:linear-gradient(160deg, #3a3434 0%, #1d1919 100%);--w-ombre-panneau:0 40px 90px -30px rgb(29 25 25 / .7), 0 0 0 1px rgb(29 25 25 / .06);--w-ombre-carte:0 1px 2px rgb(79 33 33 / .05), 0 12px 28px -20px rgb(79 33 33 / .45);--w-ease:cubic-bezier(.2, .8, .2, 1);--w-ressort:cubic-bezier(.34, 1.56, .64, 1);--w-icone-x:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 6l12 12M18 6 6 18'/></svg>");
	--w-icone-check: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.6 4.6L19.2 7.4'/></svg>");
	--w-icone-fleche: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14m-5.5-5.5L19 12l-5.5 5.5'/></svg>");
	--w-icone-externe: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M14 5h5v5M19 5l-8.5 8.5M17 14v4a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 5 18V8.5A1.5 1.5 0 0 1 6.5 7H10'/></svg>");
	--w-icone-reglages: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 7h9m4 0h3M4 17h3m4 0h9'/><circle cx='15' cy='7' r='2.2' stroke='black' stroke-width='2.2'/><circle cx='9' cy='17' r='2.2' stroke='black' stroke-width='2.2'/></svg>");
	--w-icone-reinit: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'><path d='M4.5 12a7.5 7.5 0 1 0 2.2-5.3M4.5 4.5v4h4'/></svg>");
	--w-icone-bouclier: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3.2 5 6v5.4c0 4.3 2.9 8.1 7 9.4 4.1-1.3 7-5.1 7-9.4V6z'/><path d='M9 12.2l2.2 2.2 4-4.2' stroke='black' stroke-width='2.1'/></svg>");
	--w-icone-doc: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 3.5H7.5A1.5 1.5 0 0 0 6 5v14a1.5 1.5 0 0 0 1.5 1.5h9A1.5 1.5 0 0 0 18 19V7.5zM14 3.5v4h4M9 12.5h6M9 16h4'/></svg>");
}

@keyframes w-fondu { from { opacity: 0; } }
@keyframes w-pop { from { opacity: 0; transform: scale(.4); } }
@keyframes w-tiroir { from { opacity: 0; transform: translateX(40px) scale(.98); } }
@keyframes w-montee { from { opacity: 0; transform: translateY(60px); } }
@keyframes w-modale { from { opacity: 0; transform: translate(-50%, -46%) scale(.96); } }

/* =========================================================================
   1. Boutons flottants circulaires (accessibilité à droite, cookies à gauche)
   ========================================================================= */
.asw-menu-btn,
#tarteaucitronRoot #tarteaucitronManager {
	position: relative;
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	color: #fff;
	-webkit-tap-highlight-color: transparent;
	outline: 3px solid transparent; /* visible en mode Contraste élevé de Windows */
	box-shadow:
		0 0 0 3px #fff,
		0 14px 28px -10px rgb(90 16 16 / .65),
		0 3px 8px rgb(0 0 0 / .18),
		inset 0 1px 0 rgb(255 255 255 / .22);
	transition: transform .25s var(--w-ressort), box-shadow .25s ease, filter .2s ease;
	animation: w-pop .6s var(--w-ressort) .4s backwards;
}
.asw-menu-btn {
	position: fixed;
	z-index: 500000;
	top: var(--asw-top, auto);
	right: var(--asw-right, 20px);
	bottom: var(--asw-bottom, 20px);
	left: var(--asw-left, auto);
	background: var(--w-degrade-rouge);
}
#tarteaucitronRoot #tarteaucitronManager { background: var(--w-degrade-nuit); }

/* Halo animé au survol */
.asw-menu-btn::before,
#tarteaucitronRoot #tarteaucitronManager::before {
	content: "";
	position: absolute;
	inset: -7px;
	border-radius: 50%;
	border: 2px solid rgb(221 51 51 / .55);
	opacity: 0;
	transform: scale(.85);
	transition: opacity .25s ease, transform .35s var(--w-ressort);
	pointer-events: none;
}
.asw-menu-btn:hover,
#tarteaucitronRoot #tarteaucitronManager:hover { transform: translateY(-3px) scale(1.05); }
.asw-menu-btn:hover::before,
#tarteaucitronRoot #tarteaucitronManager:hover::before { opacity: 1; transform: scale(1); }
.asw-menu-btn:active,
#tarteaucitronRoot #tarteaucitronManager:active { transform: scale(.96); }

/* Focus clavier : double anneau blanc + noir, visible sur fond clair comme sombre */
.asw-menu-btn:focus-visible,
#tarteaucitronRoot #tarteaucitronManager:focus-visible {
	box-shadow:
		0 0 0 3px #fff,
		0 0 0 7px var(--w-nuit),
		0 14px 28px -10px rgb(90 16 16 / .65);
}

/* Icône accessibilité (SVG inline injecté par le script) */
.asw-menu-btn svg {
	width: 34px;
	height: 34px;
	display: block;
	overflow: visible;
	transition: transform .4s var(--w-ressort);
}
.asw-menu-btn .dslp-a11y-ring { opacity: .45; }
.asw-menu-btn:hover svg { transform: rotate(-8deg); }
.asw-menu-btn[aria-expanded="true"] { transform: scale(.92); filter: saturate(.85); }

/* Icône cookie : dessinée en CSS, l'image PNG d'origine est masquée */
#tarteaucitronRoot #tarteaucitronManager img { display: none; }
#tarteaucitronRoot #tarteaucitronManager::after {
	content: "";
	width: 36px;
	height: 36px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><defs><mask id='cm'><rect width='48' height='48' fill='white'/><circle cx='38.6' cy='9.4' r='7.4' fill='black'/><circle cx='43.4' cy='18.2' r='4.6' fill='black'/><circle cx='30.6' cy='4.6' r='4.2' fill='black'/></mask></defs><g mask='url(https://dusangsurlapage.fr/wp-content/themes/dslp-theme/assets/css/%23cm)'><circle cx='24' cy='24' r='18' fill='%23f2d6cd'/><circle cx='24' cy='24' r='17.2' fill='none' stroke='%23d9a698' stroke-width='1.6'/><circle cx='20' cy='19' r='9' fill='white' opacity='.18'/><circle cx='15.5' cy='17' r='2.6' fill='%23b02121'/><circle cx='25' cy='13.5' r='2.1' fill='%237d1717'/><circle cx='12.5' cy='27.5' r='2.2' fill='%237d1717'/><circle cx='21.5' cy='24.5' r='2.9' fill='%23b02121'/><circle cx='31' cy='23' r='2.2' fill='%237d1717'/><circle cx='18.5' cy='34.5' r='2.4' fill='%23b02121'/><circle cx='28.5' cy='32.5' r='2.7' fill='%237d1717'/><circle cx='35.6' cy='29.6' r='1.8' fill='%23b02121'/><circle cx='8.9' cy='21.2' r='1.6' fill='%23b02121'/></g><circle cx='44.8' cy='8.2' r='1.3' fill='%23f2d6cd'/><circle cx='41.4' cy='2.6' r='.9' fill='%23f2d6cd'/></svg>") center / contain no-repeat;
	transition: transform .45s var(--w-ressort);
}
#tarteaucitronRoot #tarteaucitronManager:hover::after { transform: rotate(-24deg) scale(1.06); }

#tarteaucitronRoot #tarteaucitronIcon {
	position: fixed;
	z-index: 499990;
	left: 20px;
	bottom: 20px;
	width: auto;
	background: none;
}

/* Infobulles (pointeur fin uniquement) */
@media (hover: hover) and (pointer: fine) {
	.asw-widget::after,
	#tarteaucitronRoot #tarteaucitronIcon::after {
		position: fixed;
		z-index: 500001;
		bottom: 50px;
		transform: translateY(50%) translateX(var(--w-bulle-dx, 6px));
		padding: 8px 14px;
		border-radius: 999px;
		background: var(--w-nuit);
		color: #fff;
		font: 700 14px/1 var(--w-police);
		letter-spacing: .04em;
		white-space: nowrap;
		box-shadow: 0 10px 24px -10px rgb(0 0 0 / .6);
		opacity: 0;
		pointer-events: none;
		transition: opacity .2s ease, transform .3s var(--w-ease);
	}
	.asw-widget::after {
		content: "Accessibilité";
		right: 96px;
	}
	#tarteaucitronRoot #tarteaucitronIcon::after {
		content: "Gérer les cookies";
		position: absolute;
		left: 76px;
		bottom: 30px;
		--w-bulle-dx: -6px;
	}
	.asw-widget:has(.asw-menu-btn:hover:not([aria-expanded="true"]))::after,
	.asw-widget:has(.asw-menu-btn:focus-visible:not([aria-expanded="true"]))::after,
	#tarteaucitronRoot #tarteaucitronIcon:has(#tarteaucitronManager:hover)::after,
	#tarteaucitronRoot #tarteaucitronIcon:has(#tarteaucitronManager:focus-visible)::after {
		opacity: 1;
		transform: translateY(50%) translateX(0);
	}
}

@media (max-width: 768px) {
	.asw-menu-btn,
	#tarteaucitronRoot #tarteaucitronManager { width: 52px; height: 52px; }
	.asw-menu-btn { right: var(--asw-right, 14px); bottom: var(--asw-bottom, 14px); }
	.asw-menu-btn svg { width: 30px; height: 30px; }
	#tarteaucitronRoot #tarteaucitronManager::after { width: 31px; height: 31px; }
	#tarteaucitronRoot #tarteaucitronIcon { left: 14px; bottom: 14px; }
}

/* =========================================================================
   2. Panneau d'accessibilité (Sienna)
   ========================================================================= */
.asw-container,
.asw-container * { box-sizing: border-box; }
.asw-container { font-family: var(--w-police); }

.asw-overlay {
	position: fixed;
	inset: 0;
	z-index: 500002;
	background: rgb(29 25 25 / .5);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	animation: w-fondu .3s ease backwards;
}

.asw-menu {
	position: fixed;
	z-index: 500003;
	top: 14px;
	right: 14px;
	bottom: 14px;
	width: min(440px, calc(100vw - 28px));
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--w-nuit);
	border-radius: 28px;
	box-shadow: var(--w-ombre-panneau);
	color: var(--w-texte);
	font: 500 16px/1.4 var(--w-police);
	text-align: left;
	-webkit-user-select: none;
	user-select: none;
	animation: w-tiroir .5s var(--w-ease) backwards;
}
.asw-menu :focus-visible {
	outline: 3px solid var(--w-rouge-fonce);
	outline-offset: 3px;
}

/* ---- En-tête sombre + coulure de sang ---- */
.asw-menu-header {
	position: relative;
	z-index: 2;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 22px 20px 22px 22px;
	background: var(--w-degrade-nuit);
	border-bottom: 3px solid var(--w-rouge);
	color: #fff;
}
.asw-menu-header::after {
	content: "";
	position: absolute;
	top: calc(100% - 2px);
	left: 50%;
	width: 260px;
	height: 42px;
	transform: translateX(-50%);
	background: var(--w-rouge);
	-webkit-mask: var(--coulure) center top / 260px 42px no-repeat;
	mask: var(--coulure) center top / 260px 42px no-repeat;
	pointer-events: none;
}
.asw-menu-title {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	color: #fff;
	font: 700 22px/1.1 var(--w-police);
	letter-spacing: .01em;
}
.asw-menu-title::before {
	content: "";
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round'><circle cx='16' cy='7.6' r='2.5' fill='white' stroke='none'/><path stroke-width='2.5' d='M7.2 12.4c2.9.85 5.85 1.3 8.8 1.3s5.9-.45 8.8-1.3'/><path stroke-width='2.5' d='M16 13.8v6m0 0-3.6 6.6m3.6-6.6 3.6 6.6'/></svg>") center / 28px no-repeat, var(--w-degrade-rouge);
	box-shadow: 0 0 0 3px rgb(255 255 255 / .12), 0 8px 18px -6px rgb(221 51 51 / .7);
}
.asw-gap-15 { display: flex; gap: 10px; }
.asw-menu-header .asw-menu-reset,
.asw-menu-close {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border-radius: 50%;
	border: 1px solid rgb(255 255 255 / .18);
	background: rgb(255 255 255 / .08);
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, transform .35s var(--w-ressort);
}
.asw-menu-header .asw-menu-reset svg,
.asw-menu-close svg { width: 20px; height: 20px; fill: #fff; }
.asw-menu-header .asw-menu-reset:hover,
.asw-menu-close:hover { background: var(--w-rouge-fonce); border-color: transparent; }
.asw-menu-header .asw-menu-reset:hover { transform: rotate(-120deg); }
.asw-menu-close:hover { transform: rotate(90deg); }
.asw-menu-header :focus-visible { outline-color: #fff; }

/* ---- Contenu défilant ---- */
.asw-menu-content {
	flex: 1 1 auto;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 40px 16px 6px;
	background: var(--w-rose-pale);
	scrollbar-width: thin;
	scrollbar-color: var(--w-rouge) transparent;
}
.asw-card {
	margin: 0 0 14px;
	padding: 18px;
	background: #fff;
	border: 1px solid var(--w-trait);
	border-radius: 22px;
	box-shadow: var(--w-ombre-carte);
}
.asw-card-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	color: var(--w-rouge-fonce);
	font: 700 13px/1 var(--w-police);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.asw-card-title::before {
	content: "";
	flex: none;
	width: 18px;
	height: 4px;
	border-radius: 4px;
	background: var(--w-degrade-rouge);
}
.asw-card-title::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--w-trait);
}

/* Choix de la langue */
.asw-menu .asw-select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0 48px 0 20px;
	border: 1.5px solid var(--w-rose);
	border-radius: 999px;
	background: var(--w-rose-pale) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b02121' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") right 18px center / 18px no-repeat;
	color: var(--w-texte);
	font: 700 16px var(--w-police);
	cursor: pointer;
	transition: border-color .2s ease;
}
.asw-menu .asw-select:hover { border-color: var(--w-rouge); }

/* ---- Profils ---- */
.asw-items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}
.asw-items.profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.asw-profile-btn {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 14px;
	border: 1.5px solid transparent;
	border-radius: 18px;
	background: var(--w-rose-pale);
	color: inherit;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
	transition: transform .25s var(--w-ease), background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.asw-profile-btn:hover {
	background: #fff;
	border-color: rgb(176 33 33 / .25);
	transform: translateY(-2px);
	box-shadow: 0 12px 22px -16px rgb(125 23 23 / .6);
}
.asw-profile-icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgb(221 51 51 / .1);
	color: var(--w-rouge-fonce);
	transition: background .2s ease, color .2s ease;
}
.asw-profile-icon svg { width: 22px; height: 22px; }
.asw-profile-content { width: 100%; }
.asw-profile-title {
	margin: 0 0 4px;
	padding-right: 4px;
	color: var(--w-texte);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
}
.asw-profile-desc { color: var(--w-texte-doux); font-size: 13px; line-height: 1.35; }
.asw-profile-toggle {
	position: absolute;
	top: 16px;
	right: 14px;
	width: 40px;
	height: 24px;
	border-radius: 999px;
	background: #e2cdc7;
	transition: background .25s ease;
}
.asw-profile-toggle::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgb(0 0 0 / .25);
	transition: transform .35s var(--w-ressort);
}
.asw-profile-btn.asw-selected {
	background: #fff;
	border-color: var(--w-rouge-fonce);
	box-shadow: 0 0 0 4px rgb(221 51 51 / .12);
}
.asw-profile-btn.asw-selected .asw-profile-icon { background: var(--w-degrade-rouge); color: #fff; }
.asw-profile-btn.asw-selected .asw-profile-toggle { background: var(--w-rouge-fonce); }
.asw-profile-btn.asw-selected .asw-profile-toggle::after { transform: translateX(16px); }

/* ---- Taille du texte ---- */
.asw-adjust-font {
	margin: 0 0 10px;
	padding: 14px;
	border-radius: 18px;
	background: var(--w-rose-pale);
}
.asw-adjust-font .asw-label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 15px;
	font-weight: 700;
}
.asw-adjust-font .asw-label svg { width: 22px; height: 22px; fill: var(--w-rouge-fonce); flex: none; }
.asw-adjust-font > div:last-child {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 12px;
	padding: 5px;
	border: 1px solid var(--w-trait);
	border-radius: 999px;
	background: #fff;
}
.asw-minus,
.asw-plus {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--w-rose-voile);
	cursor: pointer;
	transition: background .2s ease, transform .2s var(--w-ressort);
}
.asw-minus svg,
.asw-plus svg { width: 20px; height: 20px; fill: var(--w-rouge-fonce); }
.asw-minus:hover,
.asw-plus:hover { background: var(--w-degrade-rouge); }
.asw-minus:hover svg,
.asw-plus:hover svg { fill: #fff; }
.asw-minus:active,
.asw-plus:active { transform: scale(.9); }
.asw-amount { font-size: 19px; font-weight: 700; font-variant-numeric: tabular-nums; }

/* ---- Tuiles d'options ---- */
.asw-btn {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 100px;
	margin: 0;
	padding: 14px 6px 12px;
	border: 1.5px solid transparent;
	border-radius: 18px;
	background: var(--w-rose-pale);
	color: var(--w-texte);
	font-family: inherit;
	text-align: center;
	text-decoration: none;
	word-break: break-word;
	cursor: pointer;
	transition: transform .25s var(--w-ease), background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.asw-btn .asw-icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 3px 8px -3px rgb(125 23 23 / .3);
	transition: background .2s ease;
}
.asw-btn svg { width: 22px; height: 22px; fill: var(--w-rouge-fonce); }
.asw-btn .asw-translate { font-size: 13.5px; font-weight: 700; line-height: 1.2; }
.asw-btn:hover {
	background: #fff;
	border-color: rgb(176 33 33 / .25);
	transform: translateY(-2px);
	box-shadow: 0 12px 22px -16px rgb(125 23 23 / .6);
}
.asw-btn.asw-selected {
	background: var(--w-degrade-rouge);
	border-color: transparent;
	color: #fff;
	box-shadow: 0 12px 22px -12px rgb(176 33 33 / .8);
}
.asw-btn.asw-selected .asw-icon { background: rgb(255 255 255 / .16); box-shadow: none; }
.asw-btn.asw-selected svg { fill: #fff; }
.asw-btn.asw-selected::after {
	content: "";
	position: absolute;
	top: 8px;
	right: 8px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b02121' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.6 4.6L19.2 7.4'/></svg>") center / 12px no-repeat;
	animation: w-pop .35s var(--w-ressort) backwards;
}

/* ---- Réinitialiser ---- */
.asw-card:has(> .asw-menu-reset-footer-btn) {
	padding: 2px 0 4px;
	background: none;
	border: 0;
	box-shadow: none;
}
.asw-menu-reset-footer-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 52px;
	padding: 0 20px;
	border: 0;
	border-radius: 999px;
	background: var(--w-anthracite);
	color: #fff;
	font: 700 16px/1 var(--w-police);
	letter-spacing: .03em;
	cursor: pointer;
	transition: background .2s ease, transform .2s var(--w-ressort);
}
.asw-menu-reset-footer-btn::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--w-icone-reinit) center / contain no-repeat;
	mask: var(--w-icone-reinit) center / contain no-repeat;
}
.asw-menu-reset-footer-btn:hover { background: var(--w-rouge-fonce); }
.asw-menu-reset-footer-btn:active { transform: scale(.98); }

/* ---- Pied du panneau : déclaration d'accessibilité ---- */
.asw-footer {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 20px;
	background: #fff;
	border-top: 1px solid var(--w-trait);
}
.asw-footer-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 8px;
	border-radius: 8px;
	color: var(--w-rouge-fonce);
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 4px;
}
.asw-footer-link::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--w-icone-doc) center / contain no-repeat;
	mask: var(--w-icone-doc) center / contain no-repeat;
}
.asw-footer-link:hover { color: var(--w-sang); text-decoration-thickness: 3px; }

/* ---- Fenêtre « Structure de la page » (couleurs de la charte) ---- */
html body .asw-structure-overlay { background: rgb(29 25 25 / .5); }
html body .asw-structure-modal { font-family: var(--w-police); border-radius: 26px; background: var(--w-rose-pale); }
html body .asw-structure-header { padding: 18px 22px; background: var(--w-degrade-nuit); border-bottom: 3px solid var(--w-rouge); }
html body .asw-tab-btn { font-family: inherit; }
html body .asw-tab-btn:hover,
html body .asw-tab-btn.asw-active { color: var(--w-rouge-fonce); background: #fff; }
html body .asw-tab-btn.asw-active::after { background: var(--w-rouge-fonce); }
html body .asw-structure-item:hover,
html body .asw-structure-item:focus-within { background: #fff; border-color: rgb(176 33 33 / .3); box-shadow: 0 6px 14px rgb(125 23 23 / .08); }
html body .asw-structure-nested-wrapper { border-left-color: rgb(176 33 33 / .25); }
html body .asw-action-btn:hover { background: rgb(176 33 33 / .1); color: var(--w-rouge-fonce); }

/* ---- Mobile : panneau plein écran qui monte du bas ---- */
@media (max-width: 560px) {
	.asw-menu {
		top: 8px;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		border-radius: 26px 26px 0 0;
		animation-name: w-montee;
	}
	.asw-menu-header { padding: 18px 16px 18px 18px; }
	.asw-menu-title { font-size: 20px; gap: 12px; }
	.asw-menu-title::before { width: 40px; height: 40px; background-size: 25px, auto; }
	.asw-menu-content { padding: 36px 12px 4px; }
	.asw-card { padding: 14px; border-radius: 20px; }
	.asw-footer { padding-bottom: calc(14px + env(safe-area-inset-bottom)); }
}
@media (max-width: 400px) {
	.asw-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.asw-items.profiles { grid-template-columns: 1fr; }
	.asw-profile-btn { flex-direction: row; align-items: center; }
	.asw-profile-content { padding-right: 50px; }
}

/* =========================================================================
   3. Cookies — tarteaucitron (bandeau, panneau, bouton)
   ========================================================================= */
#tarteaucitronRoot {
	color: var(--w-texte);
	font: 500 16px/1.5 var(--w-police);
	text-align: left;
}
#tarteaucitronRoot *,
#tarteaucitronRoot *::before,
#tarteaucitronRoot *::after { box-sizing: border-box; }
#tarteaucitronRoot button { font-family: inherit; cursor: pointer; }
#tarteaucitronRoot ul { list-style: none; margin: 0; padding: 0; }
#tarteaucitronRoot :focus-visible { outline: 3px solid var(--w-rouge-fonce); outline-offset: 3px; }
#tarteaucitronRoot .tarteaucitronHidden { display: none; }
#tarteaucitronRoot .clear { display: none; }
.tac_visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.tarteaucitron-modal-open-noscroll { overflow: hidden; }

/* Icônes coche / croix des boutons */
#tarteaucitronRoot .tarteaucitronCheck,
#tarteaucitronRoot .tarteaucitronCross {
	display: inline-block;
	flex: none;
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: var(--w-icone-check) center / contain no-repeat;
	mask: var(--w-icone-check) center / contain no-repeat;
}
#tarteaucitronRoot .tarteaucitronCross {
	-webkit-mask-image: var(--w-icone-x);
	mask-image: var(--w-icone-x);
}

/* ---- Voile derrière le bandeau ---- */
#tarteaucitronRoot.tarteaucitronBeforeVisible::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 2147483645;
	background: rgb(29 25 25 / .55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	animation: w-fondu .4s ease backwards;
}

/* ---- Bandeau de consentement (fenêtre centrée) ---- */
#tarteaucitronRoot #tarteaucitronAlertBig {
	display: none;
	position: fixed;
	z-index: 2147483646;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(540px, calc(100vw - 32px));
	max-height: calc(100dvh - 32px);
	overflow-y: auto;
	padding: 34px 34px 24px;
	background: #fff;
	border-radius: 30px;
	box-shadow: var(--w-ombre-panneau);
	text-align: center;
	font-size: 0; /* neutralise les espaces entre les boutons */
	animation: w-modale .5s var(--w-ease) backwards;
}
/* Titre (texte « middleBarHead ») + badge cookie */
#tarteaucitronRoot #tarteaucitronAlertBig::before {
	content: var(--tacTitleBanner, "Vos cookies,vos choix");
	display: block;
	margin: 0 0 12px;
	padding-top: 96px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96'><defs><linearGradient id='g' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%233d3636'/><stop offset='1' stop-color='%231d1919'/></linearGradient></defs><circle cx='48' cy='48' r='46' fill='url(https://dusangsurlapage.fr/wp-content/themes/dslp-theme/assets/css/%23g)'/><circle cx='48' cy='48' r='44.5' fill='none' stroke='%23dd3333' stroke-width='3'/><g transform='translate(21 21) scale(1.125)'><defs><mask id='bm'><rect width='48' height='48' fill='white'/><circle cx='38.6' cy='9.4' r='7.4' fill='black'/><circle cx='43.4' cy='18.2' r='4.6' fill='black'/><circle cx='30.6' cy='4.6' r='4.2' fill='black'/></mask></defs><g mask='url(https://dusangsurlapage.fr/wp-content/themes/dslp-theme/assets/css/%23bm)'><circle cx='24' cy='24' r='18' fill='%23f2d6cd'/><circle cx='24' cy='24' r='17.2' fill='none' stroke='%23d9a698' stroke-width='1.6'/><circle cx='20' cy='19' r='9' fill='white' opacity='.18'/><circle cx='15.5' cy='17' r='2.6' fill='%23b02121'/><circle cx='25' cy='13.5' r='2.1' fill='%237d1717'/><circle cx='12.5' cy='27.5' r='2.2' fill='%237d1717'/><circle cx='21.5' cy='24.5' r='2.9' fill='%23b02121'/><circle cx='31' cy='23' r='2.2' fill='%237d1717'/><circle cx='18.5' cy='34.5' r='2.4' fill='%23b02121'/><circle cx='28.5' cy='32.5' r='2.7' fill='%237d1717'/><circle cx='35.6' cy='29.6' r='1.8' fill='%23b02121'/><circle cx='8.9' cy='21.2' r='1.6' fill='%23b02121'/></g><circle cx='44.8' cy='8.2' r='1.3' fill='%23f2d6cd'/><circle cx='41.4' cy='2.6' r='.9' fill='%23f2d6cd'/></g></svg>") center top / 80px 80px no-repeat;
	color: var(--w-nuit);
	font: 700 27px/1.15 var(--w-police);
	letter-spacing: .01em;
}
#tarteaucitronRoot #tarteaucitronDisclaimerAlert {
	display: block;
	max-width: 430px;
	margin: 0 auto 22px;
	color: var(--w-texte-doux);
	font-size: 16.5px;
	line-height: 1.55;
}
/* Coulure de sang sous le titre */
#tarteaucitronRoot #tarteaucitronDisclaimerAlert::before {
	content: "";
	display: block;
	width: 130px;
	height: 21px;
	margin: 0 auto 14px;
	background: var(--w-rouge);
	-webkit-mask: var(--coulure) center top / contain no-repeat;
	mask: var(--coulure) center top / contain no-repeat;
}
#tarteaucitronRoot .tarteaucitronPartnersList {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 10px;
	margin: 16px 0 0;
	padding: 10px 14px;
	border-radius: 16px;
	background: var(--w-rose-pale);
	color: var(--w-texte);
	font-size: 14px;
}
#tarteaucitronRoot .tarteaucitronPartnersList b { font-weight: 700; }
#tarteaucitronRoot #tarteaucitronCounter-list { display: flex; flex-wrap: wrap; gap: 6px; }
#tarteaucitronRoot #tarteaucitronCounter-list li {
	padding: 3px 11px;
	border: 1px solid var(--w-rose);
	border-radius: 999px;
	background: #fff;
	color: var(--w-rouge-fonce);
	font-size: 13px;
	font-weight: 700;
}

/* Boutons : Tout accepter et Tout refuser à égalité (recommandation CNIL) */
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton,
#tarteaucitronRoot #tarteaucitronCloseAlert {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	vertical-align: top;
	width: calc(50% - 5px);
	min-height: 54px;
	margin: 0;
	padding: 12px 16px;
	border: 0;
	border-radius: 999px;
	font: 700 16.5px/1.2 var(--w-police);
	letter-spacing: .02em;
	transition: transform .2s var(--w-ressort), box-shadow .2s ease, background .2s ease, color .2s ease;
}
#tarteaucitronRoot #tarteaucitronPersonalize2 {
	margin-right: 10px;
	background: var(--w-degrade-rouge);
	color: #fff;
	box-shadow: 0 12px 22px -12px rgb(176 33 33 / .85);
}
#tarteaucitronRoot #tarteaucitronAllDenied2 {
	background: var(--w-anthracite);
	color: #fff;
	box-shadow: 0 12px 22px -12px rgb(0 0 0 / .6);
}
#tarteaucitronRoot #tarteaucitronPersonalize2:hover,
#tarteaucitronRoot #tarteaucitronAllDenied2:hover { transform: translateY(-2px); }
#tarteaucitronRoot #tarteaucitronAllDenied2:hover { background: #000; }
#tarteaucitronRoot #tarteaucitronCloseAlert {
	width: 100%;
	margin-top: 10px;
	background: #fff;
	color: var(--w-texte);
	box-shadow: inset 0 0 0 1.5px var(--w-rose);
}
#tarteaucitronRoot #tarteaucitronCloseAlert::before {
	content: "";
	width: 18px;
	height: 18px;
	background: var(--w-rouge-fonce);
	-webkit-mask: var(--w-icone-reglages) center / contain no-repeat;
	mask: var(--w-icone-reglages) center / contain no-repeat;
}
#tarteaucitronRoot #tarteaucitronCloseAlert:hover {
	background: var(--w-rose-pale);
	box-shadow: inset 0 0 0 1.5px var(--w-rouge);
}
#tarteaucitronRoot #tarteaucitronPrivacyUrl {
	display: inline-block;
	margin: 16px auto 0;
	padding: 4px 8px;
	border: 0;
	border-radius: 8px;
	background: none;
	color: var(--w-rouge-fonce);
	font: 700 14.5px/1.3 var(--w-police);
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 4px;
}
#tarteaucitronRoot #tarteaucitronPrivacyUrl:hover { color: var(--w-sang); text-decoration-thickness: 3px; }

/* Bouton de fermeture du bandeau */
#tarteaucitronRoot #tarteaucitronCloseCross,
#tarteaucitronRoot #tarteaucitronClosePanel {
	position: absolute;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border-radius: 50%;
	font-size: 0;
	transition: background .2s ease, transform .35s var(--w-ressort), color .2s ease;
}
#tarteaucitronRoot #tarteaucitronCloseCross {
	top: 16px;
	right: 16px;
	border: 0;
	background: var(--w-rose-pale);
	color: var(--w-texte);
}
#tarteaucitronRoot #tarteaucitronCloseCross span[aria-hidden],
#tarteaucitronRoot #tarteaucitronClosePanel::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: currentColor;
	color: inherit;
	-webkit-mask: var(--w-icone-x) center / contain no-repeat;
	mask: var(--w-icone-x) center / contain no-repeat;
}
#tarteaucitronRoot #tarteaucitronCloseCross:hover {
	background: var(--w-rouge-fonce);
	color: #fff;
	transform: rotate(90deg);
}

/* ---- Fond derrière le panneau ---- */
#tarteaucitronRoot #tarteaucitronBack {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 2147483646;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: rgb(29 25 25 / .55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	cursor: default;
	animation: w-fondu .3s ease backwards;
}

/* ---- Panneau de gestion ---- */
#tarteaucitronRoot #tarteaucitron {
	display: none;
	position: fixed;
	z-index: 2147483647;
	top: 50% !important; /* le script calcule un « top » en ligne : on centre en CSS */
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(760px, calc(100vw - 32px));
	max-height: calc(100dvh - 40px);
	overflow: hidden;
	background: var(--w-nuit);
	border-radius: 30px;
	box-shadow: var(--w-ombre-panneau);
	animation: w-modale .5s var(--w-ease) backwards;
}
#tarteaucitronRoot #tarteaucitron:focus,
#tarteaucitronRoot #tarteaucitronAlertBig:focus { outline: none; }
#tarteaucitronRoot #tarteaucitronClosePanel {
	top: 22px;
	right: 22px;
	border: 1px solid rgb(255 255 255 / .2);
	background: rgb(255 255 255 / .08);
	color: #fff;
}
/* Croix centrée indépendamment du texte « Fermer » (masqué, lu par les lecteurs d'écran) */
#tarteaucitronRoot #tarteaucitronClosePanel::before {
	position: absolute;
	inset: 0;
	margin: auto;
}
#tarteaucitronRoot #tarteaucitronClosePanel:hover {
	background: var(--w-rouge-fonce);
	border-color: transparent;
	transform: rotate(90deg);
}
#tarteaucitronRoot #tarteaucitronClosePanel:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
#tarteaucitronRoot #tarteaucitronServices {
	height: auto !important; /* hauteur en ligne calculée par le script */
	max-height: calc(100dvh - 40px);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: var(--w-rouge) transparent;
}

/* En-tête du panneau */
#tarteaucitronRoot .tarteaucitronMainLine {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: stretch;
	gap: 0 20px;
	padding: 34px 36px 26px;
	background: var(--w-degrade-nuit);
	border-bottom: 3px solid var(--w-rouge);
	color: #fff;
}
#tarteaucitronRoot .tarteaucitronMainLine::after {
	content: "";
	position: absolute;
	top: calc(100% + 1px);
	left: 50%;
	width: 260px;
	height: 42px;
	transform: translateX(-50%);
	background: var(--w-rouge);
	-webkit-mask: var(--coulure) center top / 260px 42px no-repeat;
	mask: var(--coulure) center top / 260px 42px no-repeat;
	pointer-events: none;
}
#tarteaucitronRoot .tarteaucitronH1 {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 16px;
	padding-right: 56px;
	color: #fff;
	font: 700 27px/1.15 var(--w-police);
	letter-spacing: .01em;
}
#tarteaucitronRoot .tarteaucitronH1::before {
	content: "";
	flex: none;
	width: 58px;
	height: 58px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96'><defs><linearGradient id='g' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23e04141'/><stop offset='1' stop-color='%23a81e1e'/></linearGradient></defs><circle cx='48' cy='48' r='46' fill='url(https://dusangsurlapage.fr/wp-content/themes/dslp-theme/assets/css/%23g)'/><circle cx='48' cy='48' r='44.5' fill='none' stroke='%23ffffff' stroke-width='3'/><g transform='translate(21 21) scale(1.125)'><defs><mask id='bm'><rect width='48' height='48' fill='white'/><circle cx='38.6' cy='9.4' r='7.4' fill='black'/><circle cx='43.4' cy='18.2' r='4.6' fill='black'/><circle cx='30.6' cy='4.6' r='4.2' fill='black'/></mask></defs><g mask='url(https://dusangsurlapage.fr/wp-content/themes/dslp-theme/assets/css/%23bm)'><circle cx='24' cy='24' r='18' fill='%23f2d6cd'/><circle cx='24' cy='24' r='17.2' fill='none' stroke='%23d9a698' stroke-width='1.6'/><circle cx='20' cy='19' r='9' fill='white' opacity='.18'/><circle cx='15.5' cy='17' r='2.6' fill='%23b02121'/><circle cx='25' cy='13.5' r='2.1' fill='%237d1717'/><circle cx='12.5' cy='27.5' r='2.2' fill='%237d1717'/><circle cx='21.5' cy='24.5' r='2.9' fill='%23b02121'/><circle cx='31' cy='23' r='2.2' fill='%237d1717'/><circle cx='18.5' cy='34.5' r='2.4' fill='%23b02121'/><circle cx='28.5' cy='32.5' r='2.7' fill='%237d1717'/><circle cx='35.6' cy='29.6' r='1.8' fill='%23b02121'/><circle cx='8.9' cy='21.2' r='1.6' fill='%23b02121'/></g><circle cx='44.8' cy='8.2' r='1.3' fill='%23f2d6cd'/><circle cx='41.4' cy='2.6' r='.9' fill='%23f2d6cd'/></g></svg>") center / contain no-repeat;
	filter: drop-shadow(0 8px 14px rgb(221 51 51 / .45));
}
#tarteaucitronRoot #tarteaucitronInfo {
	grid-column: 1 / -1;
	margin: 16px 0 0;
	color: rgb(255 255 255 / .8);
	font-size: 15.5px;
	line-height: 1.6;
}
#tarteaucitronRoot #tarteaucitronInfo p { margin: 0; }
#tarteaucitronRoot #tarteaucitronInfo br { display: none; }
#tarteaucitronRoot #tarteaucitronPrivacyUrlDialog {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 12px 0 0;
	padding: 4px 0;
	border: 0;
	background: none;
	color: #fff;
	font: 700 15px/1.3 var(--w-police);
	text-decoration: underline;
	text-decoration-color: var(--w-rouge);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}
#tarteaucitronRoot #tarteaucitronPrivacyUrlDialog::after {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--w-icone-fleche) center / contain no-repeat;
	mask: var(--w-icone-fleche) center / contain no-repeat;
	transition: transform .25s var(--w-ease);
}
#tarteaucitronRoot #tarteaucitronPrivacyUrlDialog:hover::after { transform: translateX(4px); }
#tarteaucitronRoot #tarteaucitronPrivacyUrlDialog:focus-visible { outline-color: #fff; }
#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronName {
	display: flex;
	align-items: center;
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid rgb(255 255 255 / .12);
}
#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronH2 {
	color: var(--w-rose);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid rgb(255 255 255 / .12);
}
#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 20px;
	border-radius: 999px;
	font: 700 15.5px/1 var(--w-police);
	letter-spacing: .02em;
	transition: transform .2s var(--w-ressort), background .2s ease, border-color .2s ease;
}
#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAllow {
	border: 0;
	background: var(--w-degrade-rouge);
	color: #fff;
	box-shadow: 0 10px 20px -10px rgb(221 51 51 / .9);
}
#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronDeny {
	border: 1.5px solid rgb(255 255 255 / .4);
	background: rgb(255 255 255 / .06);
	color: #fff;
}
#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk button:hover { transform: translateY(-2px); }
#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronDeny:hover { border-color: #fff; background: rgb(255 255 255 / .14); }
#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk :focus-visible { outline-color: #fff; }

/* Corps du panneau : catégories et services */
#tarteaucitronRoot .tarteaucitronBorder { padding: 46px 32px 10px; background: #fff; }
#tarteaucitronRoot .tarteaucitronBorder > ul > li { margin: 0 0 26px; }
#tarteaucitronRoot .tarteaucitronTitle {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 8px;
	color: var(--w-rouge-fonce);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
#tarteaucitronRoot .tarteaucitronTitle::before {
	content: "";
	flex: none;
	width: 18px;
	height: 4px;
	border-radius: 4px;
	background: var(--w-degrade-rouge);
}
#tarteaucitronRoot .tarteaucitronTitle::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--w-trait);
}
#tarteaucitronRoot .tarteaucitronTitle button {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}
#tarteaucitronRoot .tarteaucitronDetails {
	display: block;
	margin: 0 0 12px;
	color: var(--w-texte-doux);
	font-size: 15px;
	line-height: 1.55;
}
#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronLine {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 20px;
	margin: 0 0 10px;
	padding: 18px 20px;
	border: 1px solid var(--w-trait);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--w-ombre-carte);
	transition: border-color .25s ease, box-shadow .25s ease;
}
#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronLine.tarteaucitronIsAllowed {
	border-color: rgb(176 33 33 / .45);
	box-shadow: 0 0 0 4px rgb(221 51 51 / .08), var(--w-ombre-carte);
}
#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronName { flex: 1 1 260px; min-width: 0; }
#tarteaucitronRoot .tarteaucitronH3 {
	display: block;
	color: var(--w-texte);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.25;
}
#tarteaucitronRoot .tarteaucitronStatusInfo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 8px 0;
	color: var(--w-texte-doux);
	font-size: 13.5px;
}
#tarteaucitronRoot .tarteaucitronStatusInfo .tarteaucitronReadmoreSeparator { display: none; }
#tarteaucitronRoot .tacCurrentStatus {
	padding: 4px 10px;
	border-radius: 999px;
	background: #efe6e3;
	color: var(--w-gris);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
#tarteaucitronRoot .tarteaucitronIsAllowed .tacCurrentStatus { background: rgb(221 51 51 / .12); color: var(--w-rouge-fonce); }
#tarteaucitronRoot .tarteaucitronIsDenied .tacCurrentStatus { background: var(--w-anthracite); color: #fff; }
#tarteaucitronRoot .tarteaucitronReadmoreInfo,
#tarteaucitronRoot .tarteaucitronReadmoreOfficial {
	color: var(--w-rouge-fonce);
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}
#tarteaucitronRoot .tarteaucitronReadmoreInfo:hover,
#tarteaucitronRoot .tarteaucitronReadmoreOfficial:hover { color: var(--w-sang); text-decoration-thickness: 2.5px; }
#tarteaucitronRoot .tarteaucitronName > .tarteaucitronReadmoreSeparator { margin: 0 4px; color: #c9b0aa; }
#tarteaucitronRoot .tarteaucitronListCookies:empty { display: none; }

/* Interrupteur Autoriser / Interdire (contrôle segmenté) */
#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronAsk {
	display: inline-flex;
	flex: none;
	gap: 4px;
	padding: 4px;
	border: 1px solid var(--w-trait);
	border-radius: 999px;
	background: var(--w-rose-pale);
}
#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronAsk button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 42px;
	padding: 8px 18px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--w-texte);
	font: 700 15px/1 var(--w-police);
	letter-spacing: .02em;
	transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronAsk button:hover { background: #fff; }
#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronIsAllowed .tarteaucitronAllow {
	background: var(--w-degrade-rouge);
	color: #fff;
	box-shadow: 0 8px 16px -8px rgb(176 33 33 / .8);
}
#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronIsDenied .tarteaucitronDeny {
	background: var(--w-anthracite);
	color: #fff;
	box-shadow: 0 8px 16px -8px rgb(0 0 0 / .6);
}

/* Cookies obligatoires : carte d'information */
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronLine {
	flex-wrap: nowrap;
	justify-content: flex-start;
	background: var(--w-rose-pale);
	border-style: dashed;
	border-color: rgb(176 33 33 / .25);
	box-shadow: none;
}
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronLine::before {
	content: "";
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 3px 8px -3px rgb(125 23 23 / .3);
}
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronName {
	position: relative;
	flex: 1;
}
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronName::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -53px;
	width: 22px;
	height: 22px;
	transform: translateY(-50%);
	background: var(--w-rouge-fonce);
	-webkit-mask: var(--w-icone-bouclier) center / contain no-repeat;
	mask: var(--w-icone-bouclier) center / contain no-repeat;
}
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronH3 {
	color: var(--w-texte-doux);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
}
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronName br { display: none; }

#tarteaucitronRoot #tarteaucitronNoServicesTitle {
	padding: 18px 20px;
	border-radius: 20px;
	background: var(--w-rose-pale);
	color: var(--w-texte-doux);
}

/* Crédit tarteaucitron, discret */
#tarteaucitronRoot .tarteaucitronSelfLink {
	display: block;
	width: max-content;
	margin: 4px auto 14px;
	opacity: .45;
	filter: grayscale(1);
	transition: opacity .2s ease;
}
#tarteaucitronRoot .tarteaucitronSelfLink:hover { opacity: .9; }
#tarteaucitronRoot .tarteaucitronSelfLink img { display: block; height: 18px; width: auto; }

/* Barre d'enregistrement collante */
#tarteaucitronRoot #tarteaucitronSave {
	position: sticky;
	bottom: 0;
	z-index: 2;
	display: flex;
	justify-content: flex-end;
	padding: 14px 32px;
	background: #fff;
	border-top: 1px solid var(--w-trait);
}
#tarteaucitronRoot #tarteaucitronSaveButton {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--w-degrade-rouge);
	color: #fff;
	font: 700 16px/1 var(--w-police);
	letter-spacing: .03em;
	box-shadow: 0 12px 22px -12px rgb(176 33 33 / .85);
	transition: transform .2s var(--w-ressort);
}
#tarteaucitronRoot #tarteaucitronSaveButton::before {
	content: "";width:16px;height:16px;background:currentColor;-webkit-mask:var(--w-icone-check) center / contain no-repeat;mask:var(--w-icone-check) center / contain no-repeat}#tarteaucitronRoot #tarteaucitronSaveButton:hover{transform:translateY(-2px)}#tarteaucitronRoot #tarteaucitronPercentage{position:fixed;top:0;left:0;z-index:2147483644;width:0;height:3px;background:var(--w-degrade-rouge)}.tac_activate{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;padding:24px;border-radius:20px;background:var(--w-degrade-nuit);color:#fff;font:500 15px/1.5 var(--w-police);text-align:center}.tac_activate .tac_float{max-width:420px}.tac_activate .tac_float strong{display:block;margin-bottom:6px;font-size:18px}.tac_activate .tarteaucitronAllow{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:10px 20px;border:0;border-radius:999px;background:var(--w-degrade-rouge);color:#fff;font:700 15px/1 var(--w-police);cursor:pointer}@media (max-width:600px){#tarteaucitronRoot #tarteaucitronAlertBig{top:auto;right:0;bottom:0;left:0;transform:none;width:100%;max-height:92dvh;padding:26px 18px calc(18px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;animation-name:w-montee}#tarteaucitronRoot #tarteaucitronAlertBig::before{padding-top:80px;background-size:66px 66px;font-size:24px}#tarteaucitronRoot #tarteaucitronDisclaimerAlert{font-size:15.5px;margin-bottom:18px}#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton,#tarteaucitronRoot #tarteaucitronCloseAlert{min-height:50px;font-size:16px}#tarteaucitronRoot #tarteaucitronCloseCross{top:12px;right:12px}#tarteaucitronRoot #tarteaucitron{top:auto!important;bottom:0;left:0;transform:none;width:100%;max-height:calc(100dvh - 8px);border-radius:28px 28px 0 0;animation-name:w-montee}#tarteaucitronRoot #tarteaucitronServices{max-height:calc(100dvh - 8px)}#tarteaucitronRoot #tarteaucitronClosePanel{top:16px;right:16px}#tarteaucitronRoot .tarteaucitronMainLine{grid-template-columns:1fr;padding:26px 20px 22px}#tarteaucitronRoot .tarteaucitronH1{font-size:23px;gap:12px;padding-right:50px}#tarteaucitronRoot .tarteaucitronH1::before{width:48px;height:48px}#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk{margin-top:12px;padding-top:0;border-top:0}#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk button{flex:1;justify-content:center}#tarteaucitronRoot .tarteaucitronBorder{padding:44px 14px 6px}#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronLine{padding:16px}#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronAsk{width:100%}#tarteaucitronRoot .tarteaucitronBorder .tarteaucitronAsk button{flex:1;justify-content:center}#tarteaucitronRoot #tarteaucitronSave{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}#tarteaucitronRoot #tarteaucitronSaveButton{width:100%;justify-content:center}}@media (prefers-reduced-motion:reduce){.asw-menu-btn,.asw-menu-btn *,.asw-menu,.asw-menu *,.asw-overlay,.asw-widget::after,#tarteaucitronRoot,#tarteaucitronRoot *,#tarteaucitronRoot *::before,#tarteaucitronRoot *::after,#tarteaucitronRoot::before{animation:none!important;transition:none!important}}@media (forced-colors:active){.asw-menu-btn,#tarteaucitronRoot #tarteaucitronManager{border:2px solid ButtonText}.asw-btn.asw-selected,.asw-profile-btn.asw-selected{outline:3px solid Highlight}}@media print{.asw-container,#tarteaucitronRoot{display:none!important}}