/* #PRODUIRE{fond=tarteaucitron_custom.css}
   md5:b412f1f81281985d1e149c89eeb7e5a4 */
/* Tarteaucitron, habillage complet du theme (surcharge du fichier du plugin, charge via insert_head).
   La CSS de la lib est desactivee (useExternalCss) : tout est defini ici.
   Code couleur : vert = accepter/autoriser, rouge = refuser/interdire. */

#tarteaucitronRoot,
.tac_activate {
	--tac-ok: var(--vert);
	--tac-ok-hover: var(--vert_hover);
	--tac-ko: var(--brique);
	--tac-ko-hover: var(--brique_hover);
	--tac-fond: #f9f7f6;
	/* Palette du logo Lao Voyage. */
	--lv-vert: #557d18;
	--lv-vert-hover: #466914;
	--lv-bleu: #1e5a80;
	--lv-bleu-hover: #134a6c;
	--lv-rouge: #c8453a;
	--lv-rouge-hover: #a8322b;
}

#tarteaucitronRoot {
	font-family: var(--font-texte);
	color: var(--gris-deep);
	line-height: 1.45;
}
#tarteaucitronRoot *,
#tarteaucitronRoot *::before,
#tarteaucitronRoot *::after { box-sizing: border-box; }
#tarteaucitronRoot ul { margin: 0; padding: 0; list-style: none; }
/* Neutralise le style global button du theme (min-width 18em, majuscules, line-height 3.75em...). */
#tarteaucitronRoot button,
.tac_activate button {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	font: inherit;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	text-align: left;
	color: inherit;
	cursor: pointer;
}
#tarteaucitronRoot button:hover { background: none; }
#tarteaucitronRoot a { color: var(--bleu); }
#tarteaucitronRoot a:focus-visible,
#tarteaucitronRoot button:focus-visible { outline: 2px dashed var(--bleu); outline-offset: 2px; }

.tac_visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.tarteaucitron-display-none { display: none; }
.tarteaucitron-display-block { display: block; }
.tarteaucitron-modal-open { overflow: hidden; }
#tarteaucitronRoot .tarteaucitronCheck,
#tarteaucitronRoot .tarteaucitronCross { display: none; }

#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronDeny,
.tac_activate .tarteaucitronAllow {
	display: inline-block;
	min-width: 7em;
	padding: .65em 1.1em;
	border: 1px solid;
	border-radius: var(--radius-md);
	font-family: var(--font-texte);
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
#tarteaucitronRoot .tarteaucitronAllow,
.tac_activate .tarteaucitronAllow { background: var(--tac-ok); border-color: var(--tac-ok); color: var(--blanc); }
#tarteaucitronRoot .tarteaucitronAllow:hover,
.tac_activate .tarteaucitronAllow:hover { background: var(--tac-ok-hover); border-color: var(--tac-ok-hover); color: var(--blanc); }
#tarteaucitronRoot .tarteaucitronDeny { background: var(--tac-ko); border-color: var(--tac-ko); color: var(--blanc); }
#tarteaucitronRoot .tarteaucitronDeny:hover { background: var(--tac-ko-hover); border-color: var(--tac-ko-hover); color: var(--blanc); }

#tarteaucitronRoot #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronPrivacyUrlDialog,
#tarteaucitronRoot #tarteaucitronClosePanelCookie {
	display: inline;
	padding: 0;
	border-bottom: 1px dotted currentColor;
	font-weight: 600;
	color: var(--bleu);
	white-space: nowrap;
}
#tarteaucitronRoot #tarteaucitronPrivacyUrl:hover,
#tarteaucitronRoot #tarteaucitronPrivacyUrlDialog:hover,
#tarteaucitronRoot #tarteaucitronClosePanelCookie:hover { color: var(--bleu_hover); border-bottom-style: solid; }


/* ---------- Bandeau (logo | texte | OK NON i) ---------- */
#tarteaucitronRoot #tarteaucitronAlertBig {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2147483645;
	width: 100%;
	margin: 0;
	/* Contenu aligne sur .container (1440px), fond plein ecran. */
	padding: 2.2em max(1.5em, calc((100% - 1440px) / 2));
	background: var(--tac-fond);
	color: var(--gris-deep);
	border-top: 1px solid var(--line);
	box-shadow: 0 -8px 24px rgba(var(--ink-rgb), .12);
	text-align: left;
	grid-template-columns: auto minmax(240px, 1fr) repeat(3, 4.5em);
	grid-template-areas: "logo content enable disable policy";
	align-items: center;
	column-gap: 1em;
	row-gap: .6em;
	animation: tac-slide-up .35s ease-out;
}
#tarteaucitronRoot.tarteaucitronSize-top #tarteaucitronAlertBig {
	top: 0;
	bottom: auto;
	border-top: 0;
	border-bottom: 1px solid var(--line);
	animation: none;
}
/* Le JS pose display:block en inline ; bascule en grille sans !important sur l'etat cache. */
#tarteaucitronRoot #tarteaucitronAlertBig[style*="display: block"] { display: grid !important; }
#tarteaucitronRoot #tarteaucitronAlertBig:focus { outline: 0; }

@keyframes tac-slide-up {
	from { transform: translateY(100%); }
	to { transform: translateY(0); }
}

/* Logo en ::before, sous-titre tournant en ::after. */
#tarteaucitronRoot #tarteaucitronAlertBig::before {
	content: "";
	grid-area: logo;
	display: block;
	width: 10em;
	height: 3.05em;
	margin-right: 1.2em;
	padding-right: 1.6em;
	border-right: 1px solid var(--line);
	background: url("https://luangprabang-laos.com/plugins/auto/template_travel/v1.3.6/images/logo-lao-voyage.png") no-repeat left top;
	background-size: 100% auto;
	background-origin: content-box;
}
#tarteaucitronRoot #tarteaucitronAlertBig::after {
	content: "luangprabang-laos.com";
	grid-area: logo;
	align-self: center;
	position: relative;
	top: 1.3em;
	justify-self: start;
	width: 11.75em;
	margin-right: 3.3em;
	font-family: var(--font-titres);
	font-size: .85em;
	line-height: 1;
	white-space: nowrap;
	overflow: hidden;
	color: #134a6c;
	animation: tac-logo-soustitre 13.5s ease-in-out infinite;
}
@keyframes tac-logo-soustitre {
	0%      { content: "luangprabang-laos.com"; letter-spacing: .01em; opacity: 0; }
	4%, 29% { opacity: 1; }
	33.32%  { content: "luangprabang-laos.com"; letter-spacing: .01em; opacity: 0; }
	33.33%  { content: "Info Provider"; letter-spacing: .16em; opacity: 0; }
	37%, 62% { opacity: 1; }
	66.65%  { content: "Info Provider"; letter-spacing: .16em; opacity: 0; }
	66.66%  { content: "Travel Designer"; letter-spacing: .12em; opacity: 0; }
	70%, 96% { opacity: 1; }
	100%    { content: "Travel Designer"; letter-spacing: .12em; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	#tarteaucitronRoot #tarteaucitronAlertBig::after { animation: none; }
}

#tarteaucitronRoot #tarteaucitronDisclaimerAlert {
	grid-area: content;
	display: block;
	margin-right: 1.2em;
	max-height: 40vh;
	overflow-y: auto;
	margin: 0;
	font-family: Arial, Helvetica, Verdana, sans-serif;
	font-size: .78em;
	line-height: 1.5;
	color: var(--gris-deep);
}
#tarteaucitronRoot #tarteaucitronDisclaimerAlert .tac-titre {
	display: block;
	margin-bottom: .35em;
	font-family: var(--font-titres);
	font-size: 1.3em;
	font-weight: 600;
	color: var(--titre);
}
#tarteaucitronRoot #tarteaucitronDisclaimerAlert p { margin: 0; }

/* Personnaliser masque : la gestion fine passe par le petit bandeau persistant. */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize { display: none; }

/* OK / NON / Confidentialite : 3 boutons pleins de meme taille. */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
	grid-area: policy;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0 !important; /* icone seule, le texte reste le nom accessible du bouton */
	border: 1px solid var(--lv-bleu);
	border-radius: var(--radius-md);
	background: var(--lv-bleu);
	color: var(--blanc);
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover { background: var(--lv-bleu-hover); border-color: var(--lv-bleu-hover); color: var(--blanc); }
/* Icone information pleine (disque, i en creux) en masque SVG, couleur du texte. */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl::before {
	content: "";
	flex-shrink: 0;
	width: 1.3rem;
	height: 1.3rem;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.25 8h2.5v7.5h-2.5zm0-4h2.5v2.5h-2.5z' fill-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.25 8h2.5v7.5h-2.5zm0-4h2.5v2.5h-2.5z' fill-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton {
	width: 100%;
	min-width: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 2.6rem; /* en rem : le bouton icone a un font-size nul */
	padding: 0 .4rem;
	line-height: 1.2;
	white-space: nowrap;
	font-family: var(--font-titres);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny { grid-area: disable; }
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronAllow { grid-area: enable; }
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronAllow { background: var(--lv-vert); border-color: var(--lv-vert); color: var(--blanc); }
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronAllow:hover { background: var(--lv-vert-hover); border-color: var(--lv-vert-hover); color: var(--blanc); }
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny { background: var(--lv-rouge); border-color: var(--lv-rouge); color: var(--blanc); }
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny:hover { background: var(--lv-rouge-hover); border-color: var(--lv-rouge-hover); color: var(--blanc); }

/* Croix de fermeture (closePopup, ajoutee par le JS en fin de bandeau) : hors grille, en haut a droite. */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross {
	position: absolute;
	top: .7rem;
	right: .7rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.2rem;
	height: 2.2rem;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--blanc);
	box-shadow: var(--shadow-card);
	font-size: 0;
	color: var(--gris-deep);
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross > span[aria-hidden] { display: none; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross::before {
	content: "\00d7";
	font-size: 1.7rem;
	line-height: 1;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross:hover { background: var(--gris-deep); border-color: var(--gris-deep); color: var(--blanc); }

#tarteaucitronPercentage {
	position: fixed;
	left: 0;
	z-index: 2147483644;
	width: 0;
	height: 3px;
	background: var(--vert);
}

@media (max-width: 980px) {
	#tarteaucitronRoot #tarteaucitronAlertBig {
		padding: 1.8em 1.2em;
		grid-template-columns: 1fr repeat(3, 4.5em) 1fr;
		grid-template-areas:
			"logo logo    logo    logo   logo"
			"content content content content content"
			".    enable  disable policy ."; 
		row-gap: .8em;
		column-gap: 1.1em;
	}
	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert { margin-right: 0; }
	#tarteaucitronRoot #tarteaucitronAlertBig::before {
		justify-self: center;
		margin-right: 0;
		padding-right: 0;
		border-right: 0;
		background-position: center top;
	}
	#tarteaucitronRoot #tarteaucitronAlertBig::after {
		justify-self: center;
		margin-right: 0;
		text-align: center;
	}
}


/* ---------- Petit bandeau persistant (Gestion des services + nombre de cookies) ---------- */
#tarteaucitronAlertSmall {
	display: none;
	position: fixed;
	right: 1em;
	bottom: 1em;
	z-index: 2147483646;
	background: var(--tac-fond);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	white-space: nowrap;
	font-size: 0;
}
#tarteaucitronAlertSmall[style*="display: block"] { display: flex !important; align-items: stretch; }
#tarteaucitronAlertSmall:hover { box-shadow: var(--shadow-card-hover); }

#tarteaucitronRoot #tarteaucitronAlertSmall #tarteaucitronManager {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	gap: .4em;
	padding: .6em .9em;
	font-family: var(--font-titres);
	font-size: .8rem;
	font-weight: 600;
	color: var(--gris-deep);
}
#tarteaucitronRoot #tarteaucitronAlertSmall #tarteaucitronManager:hover { color: var(--bleu); }

#tarteaucitronAlertSmall #tarteaucitronDot {
	display: flex;
	width: 100%;
	height: 4px;
	border-radius: 2px;
	background: var(--line);
	overflow: hidden;
}
#tarteaucitronAlertSmall #tarteaucitronDot span { display: block; height: 100%; width: 0; }
#tarteaucitronAlertSmall #tarteaucitronDotGreen { background: var(--vert); }
#tarteaucitronAlertSmall #tarteaucitronDotYellow { background: var(--jaune); }
#tarteaucitronAlertSmall #tarteaucitronDotRed { background: var(--brique); }

#tarteaucitronRoot #tarteaucitronAlertSmall #tarteaucitronCookiesNumber {
	min-width: 2.6em;
	padding: 0 .8em !important; /* le JS recalcule un padding vertical inline */
	border-left: 1px solid var(--line);
	border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
	font-family: var(--font-titres);
	font-size: 1.1rem;
	font-weight: 600;
	text-align: center;
	color: var(--bleu);
}
#tarteaucitronRoot #tarteaucitronAlertSmall #tarteaucitronCookiesNumber:hover { background: var(--gris-bg); }
/* Compteur et liste des cookies masques (choix du site) ; styles gardes si on les reaffiche. */
#tarteaucitronRoot #tarteaucitronAlertSmall #tarteaucitronCookiesNumber,
#tarteaucitronRoot #tarteaucitronAlertSmall #tarteaucitronCookiesListContainer { display: none !important; }


/* ---------- Liste des cookies (ouverte depuis le compteur) ---------- */
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer {
	display: none;
	position: fixed;
	right: 1em;
	bottom: 5.2rem !important; /* le JS le colle au petit bandeau, qui a ici une marge */
	width: calc(100% - 2em);
	max-width: 26em;
	max-height: 70vh;
	white-space: normal;
	font-size: .85rem;
	text-align: left;
	background: var(--blanc);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	box-shadow: 0 10px 30px rgba(var(--ink-rgb), .18);
	overflow: hidden;
}
#tarteaucitronRoot #tarteaucitronClosePanelCookie {
	position: absolute;
	top: 1.1em;
	right: 1.2em;
	font-size: .9em;
}
#tarteaucitronAlertSmall #tarteaucitronCookiesTitle {
	padding: .9em 1.2em;
	border-bottom: 1px solid var(--line);
	background: var(--tac-fond);
}
#tarteaucitronAlertSmall #tarteaucitronCookiesTitle .tarteaucitronH2 {
	font-family: var(--font-titres);
	font-size: 1.1em;
	font-weight: 600;
}
/* Meme correctif de hauteur inline que le panneau. */
#tarteaucitronAlertSmall #tarteaucitronCookiesList { height: auto !important; max-height: calc(70vh - 3.5rem); overflow: auto; }
#tarteaucitronAlertSmall #tarteaucitronCookiesList .tarteaucitronHidden {
	display: block;
	padding: .8em 1.2em .3em;
	font-size: .8em;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--gris);
}
#tarteaucitronAlertSmall #tarteaucitronCookiesList .tarteaucitron-spacer-20 { padding: 0; height: .8em; }

/* Ligne : nom | Detail | supprimer ; la valeur s'affiche dessous au clic (classe tac-ouvert, tarteaucitron_config.html). */
#tarteaucitronRoot li.tarteaucitronCookiesListMain {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	grid-template-areas:
		"nom    detail purge"
		"valeur valeur valeur";
	align-items: center;
	column-gap: .9em;
	padding: .55em 1.2em;
	border-top: 1px solid var(--gris-bg);
	cursor: pointer;
}
#tarteaucitronRoot li.tarteaucitronCookiesListMain:hover { background: var(--tac-fond); }
#tarteaucitronRoot li.tarteaucitronCookiesListMain .tarteaucitronCookiesListLeft { display: contents; }
#tarteaucitronRoot li.tarteaucitronCookiesListMain .tarteaucitronCookiesListLeft > strong {
	grid-area: nom;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 600;
}
#tarteaucitronRoot li.tarteaucitronCookiesListMain::after {
	content: "D\00e9tail \25BE";
	grid-area: detail;
	font-size: .85em;
	color: var(--bleu);
	white-space: nowrap;
}
#tarteaucitronRoot:lang(en) li.tarteaucitronCookiesListMain::after { content: "Details \25BE"; }
#tarteaucitronRoot li.tarteaucitronCookiesListMain.tac-ouvert::after { content: "D\00e9tail \25B4"; }
#tarteaucitronRoot:lang(en) li.tarteaucitronCookiesListMain.tac-ouvert::after { content: "Details \25B4"; }
#tarteaucitronRoot li.tarteaucitronCookiesListMain .tarteaucitronCookiesListRight {
	grid-area: valeur;
	display: none;
	margin-top: .4em;
	padding: .5em .7em;
	background: var(--gris-bg);
	border-radius: var(--radius-md);
	font-family: monospace;
	font-size: .85em;
	color: var(--gris);
	word-break: break-all;
}
#tarteaucitronRoot li.tarteaucitronCookiesListMain.tac-ouvert .tarteaucitronCookiesListRight { display: block; }
#tarteaucitronRoot .purgeBtn {
	grid-area: purge;
	width: 1.6em;
	height: 1.6em;
	border-radius: 50%;
	text-align: center;
	color: var(--gris);
	font-size: 1em;
	line-height: 1.6em;
}
#tarteaucitronRoot .purgeBtn strong { font-weight: 400; }
#tarteaucitronRoot .purgeBtn:hover { background: var(--tac-ko); color: var(--blanc); }
#tarteaucitronRoot div.tarteaucitronCookiesListMain { padding: .6em 1.2em; color: var(--gris); }


/* ---------- Panneau de gestion ---------- */
#tarteaucitronRoot #tarteaucitronBack {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 2147483646;
	width: 100%;
	height: 100%;
	background: var(--gris-deep); /* opacite .7 posee par le JS */
	cursor: default;
}
#tarteaucitronRoot #tarteaucitronBack:hover { background: var(--gris-deep); }

#tarteaucitron {
	display: none;
	position: fixed;
	top: 5vh;
	left: 0;
	right: 0;
	z-index: 2147483647;
	width: calc(100% - 2em);
	max-width: 760px;
	max-height: 90vh;
	margin: 0 auto;
	background: var(--blanc);
	border-radius: var(--radius-lg);
	box-shadow: 0 20px 60px rgba(var(--ink-rgb), .35);
	overflow: hidden;
}

#tarteaucitronRoot #tarteaucitronClosePanel {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 2;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 50%;
	font-size: 0;
	text-align: center;
	background: var(--gris-bg);
}
#tarteaucitronRoot #tarteaucitronClosePanel::before {
	content: "\00d7";
	font-size: 1.5rem;
	line-height: 2.2rem;
	color: var(--gris-deep);
}
#tarteaucitronRoot #tarteaucitronClosePanel:hover { background: var(--gris-deep); }
#tarteaucitronRoot #tarteaucitronClosePanel:hover::before { color: var(--blanc); }

/* Le JS pose une hauteur inline qui retrecit a chaque recalcul (bouton fermer en absolu) : neutralisee. */
#tarteaucitronServices { height: auto !important; max-height: 90vh; overflow-y: auto; }

#tarteaucitron .tarteaucitronMainLine {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .9em 1.5em;
	padding: 1.8em 2em 1.5em;
	border-bottom: 1px solid var(--line);
}
#tarteaucitron .tarteaucitronMainLine .tarteaucitronH1 {
	flex: 1 1 100%;
	padding-right: 2.5rem;
	font-family: var(--font-titres);
	font-size: 1.25em;
	font-weight: 600;
	line-height: 1.2;
	color: var(--titre);
}
#tarteaucitron #tarteaucitronInfo {
	flex: 1 1 100%;
	font-size: .8em;
	line-height: 1.6;
	color: var(--gris);
}
#tarteaucitron #tarteaucitronInfo p { display: inline; margin: 0; }
#tarteaucitron #tarteaucitronInfo br { display: none; }
#tarteaucitronRoot #tarteaucitronPrivacyUrlDialog { margin-left: .3em; }
#tarteaucitron .tarteaucitronMainLine .tarteaucitronName,
#tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk { margin-top: .4em; }
#tarteaucitron .tarteaucitronMainLine .tarteaucitronName { flex: 1 1 auto; }
#tarteaucitron .tarteaucitronMainLine .tarteaucitronH2 {
	font-family: var(--font-titres);
	font-size: 1.05em;
	font-weight: 600;
	color: var(--titre);
}
#tarteaucitron .tarteaucitronAsk { display: flex; flex-wrap: wrap; gap: .5em; flex-shrink: 0; }

#tarteaucitron #tarteaucitronServices .tarteaucitronHidden { display: none; }
#tarteaucitron .tarteaucitronBorder { padding: .3em 2em 1em; }
#tarteaucitron .tarteaucitronBorder > ul > li { border-bottom: 1px solid var(--line); padding-bottom: .5em; }
#tarteaucitron .tarteaucitronBorder > ul > li:last-child { border-bottom: 0; }

#tarteaucitron .tarteaucitronTitle { padding: 1em 0 .3em; }
#tarteaucitron .tarteaucitronTitle button,
#tarteaucitron .tarteaucitronTitle .asCatToggleBtn {
	display: flex;
	align-items: center;
	gap: .6em;
	font-family: var(--font-titres);
	font-size: 1.05em;
	font-weight: 600;
	color: var(--titre);
}
#tarteaucitron .tarteaucitronTitle button.catToggleBtn:hover { color: var(--bleu); }
#tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronTitle button { cursor: default; }
#tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronPlus { display: none; }
#tarteaucitronRoot .tarteaucitronPlus::before {
	content: "+";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.3rem;
	height: 1.3rem;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: .85rem;
	line-height: 1;
}
#tarteaucitronRoot [aria-expanded="true"] .tarteaucitronPlus::before { content: "\2212"; }

#tarteaucitron .tarteaucitronDetails {
	display: none;
	margin: .3em 0 .6em;
	padding: .7em 1em;
	background: var(--gris-bg);
	border-radius: var(--radius-md);
	font-size: .85em;
	line-height: 1.5;
}
#tarteaucitron .tarteaucitronDetailsInline { display: block; }

#tarteaucitron .tarteaucitronBorder .tarteaucitronLine {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .7em 1.5em;
	padding: .7em 0 .7em .9em;
	border-left: 3px solid var(--line);
}
#tarteaucitron .tarteaucitronBorder .tarteaucitronLine + .tarteaucitronLine { margin-top: .5em; }
#tarteaucitron .tarteaucitronBorder .tarteaucitronLine.tarteaucitronIsAllowed { border-left-color: var(--tac-ok); }
#tarteaucitron .tarteaucitronBorder .tarteaucitronLine.tarteaucitronIsDenied { border-left-color: var(--tac-ko); }
#tarteaucitron .tarteaucitronBorder .tarteaucitronLine .tarteaucitronName { flex: 1 1 16em; min-width: 0; }
#tarteaucitron .tarteaucitronBorder .tarteaucitronLine .tarteaucitronH3 {
	display: block;
	font-weight: 600;
	font-size: .95em;
	color: var(--titre);
}
#tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronLine { border-left-color: var(--gris-bg); }
#tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronH3 { font-weight: 400; font-size: .85em; line-height: 1.5; color: var(--gris); }
#tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronAsk { display: none; }
#tarteaucitron .tarteaucitronStatusInfo { display: none; }
#tarteaucitron .tarteaucitronListCookies { font-size: .8em; color: var(--gris); }
#tarteaucitron .tarteaucitronReadmoreInfo { font-size: .8em; color: var(--bleu); text-decoration: none; }
#tarteaucitron .tarteaucitronReadmoreInfo:hover { text-decoration: underline; }
/* "Voir le site officiel" masque. */
#tarteaucitron .tarteaucitronName > .tarteaucitronReadmoreSeparator,
#tarteaucitron .tarteaucitronReadmoreOfficial { display: none; }
#tarteaucitron #tarteaucitronNoServicesTitle { padding: 1em 0; font-size: .9em; color: var(--gris); }

#tarteaucitronRoot .tarteaucitron-toggle-group {
	margin-top: .3em;
	font-size: .8em;
	font-weight: 600;
	color: var(--bleu);
}
#tarteaucitronRoot .tarteaucitron-toggle-group::after { content: " \25BE"; }
#tarteaucitronRoot .tarteaucitronIsExpanded .tarteaucitron-toggle-group::after { content: " \25B4"; }

/* Choix par service et global : contour colore, plein une fois choisi. */
#tarteaucitron .tarteaucitronLine .tarteaucitronAllow { background: var(--blanc); color: var(--tac-ok); }
#tarteaucitron .tarteaucitronLine .tarteaucitronDeny { background: var(--blanc); color: var(--tac-ko); }
#tarteaucitron .tarteaucitronLine .tarteaucitronAllow:hover { background: var(--tac-ok); color: var(--blanc); }
#tarteaucitron .tarteaucitronLine .tarteaucitronDeny:hover { background: var(--tac-ko); color: var(--blanc); }
#tarteaucitron .tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitron #tarteaucitronAllAllowed.tarteaucitronIsSelected { background: var(--tac-ok); color: var(--blanc); }
#tarteaucitron .tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitron #tarteaucitronAllDenied.tarteaucitronIsSelected { background: var(--tac-ko); color: var(--blanc); }
#tarteaucitron .tarteaucitronIsAllowed .tarteaucitronAllow:hover,
#tarteaucitron #tarteaucitronAllAllowed.tarteaucitronIsSelected:hover { background: var(--tac-ok-hover); }
#tarteaucitron .tarteaucitronIsDenied .tarteaucitronDeny:hover,
#tarteaucitron #tarteaucitronAllDenied.tarteaucitronIsSelected:hover { background: var(--tac-ko-hover); }

#tarteaucitron #tarteaucitronSave {
	position: sticky;
	bottom: 0;
	padding: .9em 2em;
	background: var(--blanc);
	border-top: 1px solid var(--line);
	text-align: right;
}
#tarteaucitronRoot #tarteaucitronSaveButton { min-width: 10em; }

#tarteaucitronRoot .tarteaucitronSelfLink { display: block; padding: .8em; text-align: center; }
#tarteaucitronRoot .tarteaucitronSelfLink img { width: 119px; }

@media (max-width: 767px) {
	#tarteaucitron {
		top: 0 !important; /* le JS recalcule un top inline */
		width: 100%;
		max-height: 100%;
		height: 100%;
		border-radius: 0;
	}
	#tarteaucitronServices { max-height: 100vh; }
	#tarteaucitron .tarteaucitronMainLine { padding: 1.4em 1.2em 1.2em; }
	#tarteaucitron .tarteaucitronBorder { padding: .3em 1.2em 1em; }
	#tarteaucitron #tarteaucitronSave { padding: .8em 1.2em; }
	#tarteaucitron .tarteaucitronAsk { width: 100%; }
	#tarteaucitron .tarteaucitronAsk button,
	#tarteaucitronRoot #tarteaucitronSaveButton { flex: 1 1 0; width: 100%; }
	#tarteaucitronAlertSmall { right: .6em; bottom: .6em; }
}


/* ---------- Emplacements de services bloques (video, carte...) ---------- */
.tac_activate {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 10em;
	padding: 1.5em;
	background: var(--gris-deep);
	color: var(--blanc);
	font-size: .85rem;
	line-height: 1.5;
	text-align: center;
}
.tac_activate .tac_float {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1em;
	max-width: 30em;
}
.tac_activate .tac_float strong { color: var(--blanc); }
