/*
 * cta/flottant — porte depuis RdvFlottant.astro de la maquette de Chez Loeli. Engagement 5 : aucun
 * hexadecimal. Fixe en bas a droite ; cache quand un pied `data-ivy-in="live"` est a l'ecran.
 */
.ivy-cta--flottant { margin: 0; }
.ivy-cta--flottant .ivy-cta__float {
	position: fixed;
	inset-inline-end: max( 16px, env( safe-area-inset-right ) );
	inset-block-end: max( 16px, env( safe-area-inset-bottom ) );
	z-index: 40;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 22px;
	border-radius: var( --ivy-radius-action, 999px );
	background-color: var( --ivy-cta-background-color, var( --ivy-accent ) );
	color: var( --ivy-cta-color, var( --ivy-on-accent ) );
	font-size: var( --ivy-font-h5 ); font-weight: 600;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 14px 30px -12px color-mix( in srgb, var( --ivy-line-accent ) 70%, transparent );
	transition: background-color 200ms ease, transform 200ms ease, opacity 200ms ease;
}
.ivy-cta--flottant .ivy-cta__float:hover { background-color: var( --ivy-line-accent ); color: var( --ivy-on-accent ); transform: translateY( -2px ); }
.ivy-cta--flottant .ivy-cta__float:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.ivy-cta--flottant .ivy-cta__float-icon { width: 20px; height: 20px; background: currentColor; -webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 6.5h14v13H5zM5 10.5h14M9 4v4M15 4v4'/%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' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 6.5h14v13H5zM5 10.5h14M9 4v4M15 4v4'/%3E%3C/svg%3E" ) center / contain no-repeat; }
body:has( .ivy-in[data-ivy-in="live"] ) .ivy-cta--flottant .ivy-cta__float { opacity: 0; transform: translateY( 12px ); pointer-events: none; }
@media ( max-width: 479px ) { .ivy-cta--flottant .ivy-cta__float { padding: 0 18px; font-size: var( --ivy-font-h4 ); } }
