/**
 * Les annonces du site — le bandeau.
 *
 * Les couleurs viennent des variables de la palette (brand.css) : changer la
 * palette dans « Couleurs du site » change aussi les annonces, sans repasser ici.
 * Les valeurs après la virgule ne servent que si brand.css n'est pas chargé.
 */

.dks-annonce {
	font-family: inherit;
	line-height: 1.45;
}

/* ---------------------------------------------------------------
 * Le bandeau
 * ------------------------------------------------------------ */

/*
 * Deux états, et c'est voulu.
 *
 * Le bandeau est écrit dans le pied de page, puis le script le glisse dans la
 * barre de menu — c'est là qu'il vit normalement, et la règle
 * .dks-annonce--dans-menu plus bas décrit cet état.
 *
 * Les valeurs ci-dessous sont le repli : si aucune barre de menu n'est
 * reconnue, le bandeau reste ancré en bas de l'écran plutôt que de se
 * retrouver perdu au milieu du pied de page. Deux tentatives précédentes ont
 * essayé de le poser PAR-DESSUS le menu en mesurant sa hauteur ; elle change
 * au défilement et selon l'écran, et les deux ont échoué.
 */
.dks-annonce--bandeau {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	top: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 11px 46px;
	/* La barre système des iPhone mange le bas de l'écran. */
	padding-bottom: calc(11px + env(safe-area-inset-bottom, 0px));
	text-align: center;
	font-size: 14px;
	/* Sous les fenêtres du site (popup portes ouvertes), au-dessus du reste. */
	z-index: 90;
	box-shadow: 0 -2px 14px rgba(0, 0, 0, .13);
}

/*
 * Dans la barre de menu — l'état normal.
 *
 * Le bandeau redevient un élément ordinaire, posé sous le menu comme une ligne
 * de plus, et c'est la barre qui l'emmène avec elle au défilement. Tout ce qui
 * servait à le faire tenir en bas de l'écran est annulé ici.
 */
.dks-annonce--dans-menu {
	/*
	 * `relative` et non `static` : la croix de fermeture est positionnée en
	 * absolu par rapport au bandeau. Sans contexte de positionnement ici, elle
	 * se calait sur un ancêtre quelconque — elle atterrissait n'importe où, et
	 * on cliquait à côté en croyant qu'elle ne marchait pas.
	 */
	position: relative;
	bottom: auto;
	padding-bottom: 11px;
	box-shadow: none;
	width: 100%;
}

.dks-annonce--bandeau .dks-annonce-in {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px 14px;
	flex-wrap: wrap;
	max-width: 1100px;
}

.dks-annonce--bandeau .dks-annonce-txt {
	margin: 0;
	font-size: inherit;
	font-weight: 700;
	letter-spacing: .01em;
}

/* Le bouton de fermeture : discret, mais assez large pour le pouce. */
.dks-annonce-x {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: 0;
	padding: 0;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	color: inherit;
	opacity: .6;
	transition: opacity .15s ease;
}

.dks-annonce-x:hover,
.dks-annonce-x:focus-visible {
	opacity: 1;
}

/* ---------------------------------------------------------------
 * Les trois tons
 * ------------------------------------------------------------ */

.dks-annonce--ink {
	background: var(--dk-ink, #1C1816);
	color: var(--dk-white, #FFFFFF);
}

.dks-annonce--yellow {
	background: var(--dk-yellow, #FFE62B);
	color: var(--dk-ink, #1C1816);
}

.dks-annonce--light {
	background: var(--dk-light, #F5F5F5);
	color: var(--dk-ink, #1C1816);
}

/* Sur fond clair, un trait sépare le bandeau de la page. */
.dks-annonce--light.dks-annonce--bandeau {
	border-bottom: 1px solid rgba(28, 24, 22, .12);
}

/*
 * Le ton personnalisé n'a pas de couleurs ici : le fond et le texte sont posés
 * sur l'élément lui-même, et celle du lien arrive par cette variable — le lien
 * étant un enfant, il ne peut pas la recevoir en direct.
 */
.dks-annonce--perso .dks-annonce-lien,
.dks-annonce--perso .dks-annonce-lien:hover,
.dks-annonce--perso .dks-annonce-lien:focus-visible {
	color: var(--dks-annonce-lien, inherit) !important;
}

/* ---------------------------------------------------------------
 * Le lien
 * ------------------------------------------------------------ */

/*
 * Chaque couleur de lien est écrite noir sur blanc, et marquée !important.
 *
 * Ce n'est pas de la facilité : le bandeau est glissé DANS la barre de menu,
 * donc en plein territoire du thème, qui colore les liens de son en-tête avec
 * ses propres règles. Un simple `color: inherit` perdait l'arbitrage — dans la
 * bande claire, le lien ressortait en blanc, illisible.
 */
.dks-annonce-lien {
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
	transition: opacity .15s ease;
}

.dks-annonce-lien:hover,
.dks-annonce-lien:focus-visible {
	opacity: .7;
}

/* Sur fond sombre, le lien se démarque en jaune — la seule touche de couleur. */
.dks-annonce--ink .dks-annonce-lien,
.dks-annonce--ink .dks-annonce-lien:hover,
.dks-annonce--ink .dks-annonce-lien:focus-visible {
	color: var(--dk-yellow, #FFE62B) !important;
}

/* Sur les deux fonds clairs, le lien reprend l'encre du texte. */
.dks-annonce--yellow .dks-annonce-lien,
.dks-annonce--yellow .dks-annonce-lien:hover,
.dks-annonce--yellow .dks-annonce-lien:focus-visible,
.dks-annonce--light .dks-annonce-lien,
.dks-annonce--light .dks-annonce-lien:hover,
.dks-annonce--light .dks-annonce-lien:focus-visible {
	color: var(--dk-ink, #1C1816) !important;
}

/* ---------------------------------------------------------------
 * Le repère du mode test
 * ------------------------------------------------------------ */

/*
 * L'étiquette, et rien d'autre. Un contour en pointillés rouges entourait le
 * bandeau : il débordait sur l'en-tête et ressemblait à un défaut d'affichage
 * plus qu'à une indication.
 */
.dks-annonce-test {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 3px;
	background: var(--dk-danger, #E11D2E);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	flex: 0 0 auto;
}

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

@media (max-width: 782px) {
	.dks-annonce--bandeau {
		padding: 10px 42px;
		font-size: 13px;
		text-align: center;
	}

	.dks-annonce--dans-menu {
		padding-bottom: 10px;
	}

	.dks-annonce--bandeau .dks-annonce-in {
		gap: 4px 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dks-annonce-x,
	.dks-annonce-lien {
		transition: none;
	}
}
