/*
 * Fenêtre d'invitation au jeu concours — habillage.
 *
 * Reprend le bandeau de la page d'inscription : même photo sous un voile noir,
 * titre beige Montserrat aux parenthèses fines, bouton pilule vert foncé.
 * Source : data_master_camille.json → charte_graphique (patch charte_rendu_site_20260907).
 *
 * Contrastes (texte sur le voile noir à 75 % : fond au plus #404040, même sous une photo blanche) :
 *   beige #ccb487 ≥ 5,16:1 · blanc ≥ 10,37:1 · blanc sur vert #456a0f 6,32:1 ·
 *   #333333 sur beige #ccb487 6,28:1 (survol — jamais de blanc sur le beige).
 * Les règles sont portées par `dialog.tbweb-popup-jeu` pour l'emporter sur le thème,
 * qui habille tout `button` d'un fond beige, sans recourir à `!important`.
 */

dialog.tbweb-popup-jeu {
	--beige: #ccb487;          /* charte_graphique.couleurs.accent */
	--vert-bouton: #456a0f;    /* rendu_site.bouton_plein_vert_fonce */
	--texte-sur-beige: #333333;
	--blanc: #ffffff;
	--voile: rgba(0, 0, 0, 0.75);       /* voile plus dense que la page (70 %) : le beige en petit texte exige 4,5:1 */
	--fond-assombri: rgba(29, 42, 58, 0.6); /* rendu_site.pied_de_page #1d2a3a */
	--rayon-bouton: 30px;      /* formes_graphiques.boutons */
	--ombre-bouton: 0 5px 11px -1px rgba(0, 0, 0, 0.22);
	--interlettrage: 1.9px;    /* titres de l'accueil */
	--largeur: 600px;
	--gouttiere: 16px;

	box-sizing: border-box;
	width: min(var(--largeur), calc(100vw - 2 * var(--gouttiere)));
	max-width: none;
	max-height: calc(100dvh - 2 * var(--gouttiere));
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 2px;
	overflow: auto;
	color: var(--blanc);
	background-color: #2b2b2b;
	background-image: linear-gradient(var(--voile), var(--voile)), var(--tbweb-popup-jeu-photo, none);
	background-size: cover;
	background-position: center;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
	font-family: Montserrat, Raleway, sans-serif;
	text-align: center;
}

dialog.tbweb-popup-jeu[open] {
	animation: tbweb-popup-jeu-entree 360ms ease-out;
}

dialog.tbweb-popup-jeu::backdrop {
	background: var(--fond-assombri);
}

dialog.tbweb-popup-jeu .tbweb-popup-jeu__contenu {
	position: relative;
	padding: 60px 48px 36px;
}

dialog.tbweb-popup-jeu .tbweb-popup-jeu__libelle {
	margin: 0 0 16px;
	color: var(--beige);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: var(--interlettrage);
	text-transform: uppercase;
}

dialog.tbweb-popup-jeu .tbweb-popup-jeu__titre {
	margin: 0;
	color: var(--beige);
	font-family: Montserrat, sans-serif;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: 0;
	text-transform: none;
	text-wrap: balance; /* deux lignes de longueur voisine */
}

/* Une parenthèse ne se sépare jamais du mot qu'elle encadre. */
dialog.tbweb-popup-jeu .tbweb-popup-jeu__insecable {
	white-space: nowrap;
}

dialog.tbweb-popup-jeu .tbweb-popup-jeu__paren {
	font-weight: 200;
	font-size: 1.6em;
	line-height: 0;
	vertical-align: -0.14em;
	padding: 0 0.06em;
}

dialog.tbweb-popup-jeu .tbweb-popup-jeu__filet {
	display: block;
	width: 49px;
	height: 3px;
	margin: 22px auto 22px;
	background: var(--beige);
}

dialog.tbweb-popup-jeu .tbweb-popup-jeu__texte {
	margin: 0 auto 10px;
	max-width: 400px;
	color: var(--blanc);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.55;
}

dialog.tbweb-popup-jeu .tbweb-popup-jeu__texte strong {
	color: var(--blanc);
	font-weight: 700;
}

dialog.tbweb-popup-jeu .tbweb-popup-jeu__precision {
	margin: 0 0 26px;
	color: var(--blanc);
	font-size: 14px;
	line-height: 1.5;
	opacity: 0.9;
}

dialog.tbweb-popup-jeu .tbweb-popup-jeu__bouton {
	display: inline-block;
	padding: 13px 34px;
	border: 1px solid var(--vert-bouton);
	border-radius: var(--rayon-bouton);
	background: var(--vert-bouton);
	box-shadow: var(--ombre-bouton);
	color: var(--blanc);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 200ms ease, background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}

dialog.tbweb-popup-jeu .tbweb-popup-jeu__bouton:hover,
dialog.tbweb-popup-jeu .tbweb-popup-jeu__bouton:focus-visible {
	transform: translateY(-3px); /* animation « float » des boutons de l'accueil */
	border-color: var(--beige);
	background: var(--beige);
	color: var(--texte-sur-beige);
}

dialog.tbweb-popup-jeu .tbweb-popup-jeu__echeance {
	margin: 16px 0 6px;
	color: var(--beige);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

dialog.tbweb-popup-jeu button.tbweb-popup-jeu__plus-tard,
dialog.tbweb-popup-jeu button.tbweb-popup-jeu__fermer {
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--blanc);
	font-family: inherit;
	cursor: pointer;
}

dialog.tbweb-popup-jeu button.tbweb-popup-jeu__plus-tard {
	padding: 8px 12px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: underline;
	text-underline-offset: 3px;
}

dialog.tbweb-popup-jeu button.tbweb-popup-jeu__fermer {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
}

dialog.tbweb-popup-jeu button.tbweb-popup-jeu__plus-tard:hover,
dialog.tbweb-popup-jeu button.tbweb-popup-jeu__fermer:hover {
	background: transparent;
	color: var(--beige);
}

dialog.tbweb-popup-jeu :focus-visible {
	outline: 2px solid var(--beige);
	outline-offset: 3px;
}

@keyframes tbweb-popup-jeu-entree {
	from { opacity: 0; transform: translateY(12px) scale(0.98); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	dialog.tbweb-popup-jeu[open] { animation: none; }
	dialog.tbweb-popup-jeu .tbweb-popup-jeu__bouton { transition: none; }
	dialog.tbweb-popup-jeu .tbweb-popup-jeu__bouton:hover { transform: none; }
}

@media (max-width: 767px) {
	dialog.tbweb-popup-jeu .tbweb-popup-jeu__contenu { padding: 52px 22px 24px; }
	dialog.tbweb-popup-jeu .tbweb-popup-jeu__titre { font-size: 26px; }
	dialog.tbweb-popup-jeu .tbweb-popup-jeu__libelle { letter-spacing: 1.2px; }
	dialog.tbweb-popup-jeu .tbweb-popup-jeu__paren { font-size: 1.4em; }
	dialog.tbweb-popup-jeu .tbweb-popup-jeu__texte { font-size: 16px; }
}
