/* CTA "Candidater" collant en bas d'écran (classes/class-cta-candidater-mobile.php),
   remplace sous 1200px le CTA du header (masqué par header.css au même palier).
   Masqué quand le menu mobile est ouvert (fin de fichier). */
.cta-candidater-mobile {
	display: none;
}

@media (width <= 1200px) {
	/* Hauteur réservée en bas de page : 30px + hauteur du bouton (52px) */
	body.has-cta-candidater-mobile {
		--cta-candidater-mobile-offset: calc(30px + 3.25rem);
	}

	/* Page avec le hero d'accueil : le bouton est centré dans une bande de la
	   hauteur du padding-bottom du hero (core-columns.css). Hero en 100svh :
	   au chargement, la bande coïncide avec ce padding, le bouton semble posé
	   dans le hero, puis reste collé au même endroit au scroll. */
	body.has-cta-candidater-mobile:has(.hero-accueil-cover) {
		--cta-candidater-mobile-offset: calc(var(--hero-accueil-padding-bottom, 160px) / 2 + 1.625rem);
	}

	body:has(.hero-accueil-cover) .cta-candidater-mobile {
		display: flex;
		align-items: center;
		box-sizing: border-box;
		bottom: 0;
		height: var(--hero-accueil-padding-bottom, 160px);
		/* la bande transparente laisse passer les clics hors du bouton */
		pointer-events: none;
	}

	body:has(.hero-accueil-cover) .cta-candidater-mobile .wp-block-button__link {
		pointer-events: auto;
	}

	.cta-candidater-mobile {
		display: block;
		position: fixed;
		right: 0;
		bottom: 30px;
		left: 0;
		z-index: 50;
		padding-right: var(--wp--style--root--padding-right);
		padding-left: var(--wp--style--root--padding-left);
	}

	/* Couleurs du style de bouton "secondary" (styles/button/secondary.json) :
	   le style de variation n'est généré que pour les blocs rendus, pas pour ce
	   bouton injecté hors blocs. */
	.cta-candidater-mobile .wp-block-button__link {
		display: block;
		box-sizing: border-box;
		width: 100%;
		/* le CSS core du bouton pose height: 100% */
		height: auto;
		text-align: center;
		background-color: var(--wp--preset--color--secondary);
		border-color: var(--wp--preset--color--secondary);
		color: var(--wp--custom--color--primary-hover);
		box-shadow: var(--wp--preset--shadow--soft);
	}

	/* Fin de page : le footer se prolonge (même fond) sous le bouton pour ne
	   pas masquer ses dernières lignes. */
	body.has-cta-candidater-mobile footer.wp-block-template-part {
		padding-bottom: var(--cta-candidater-mobile-offset);
		background-color: var(--wp--preset--color--primary);
	}

	/* Bouton "Retour en haut" remonté au-dessus du CTA */
	body.has-cta-candidater-mobile .back-to-top {
		bottom: calc(var(--cta-candidater-mobile-offset) + 1rem);
	}

	/* Menu burger ouvert (classe posée sur <html> par le bloc core/navigation) :
	   le panneau reste pris dans le contexte d'empilement du header, son
	   z-index ne l'emporte pas sur celui du bouton, qui masquait le bas du
	   menu. Placée en dernier : même spécificité que la règle body:has(). */
	html.has-modal-open .cta-candidater-mobile {
		display: none;
	}
}
