/* WApp byPublilia: il pulsante WhatsApp fisso nell'angolo, con il fumetto. Colori di WhatsApp per il tondo, il resto
   prende carattere e colori del tema (variabili con riserva). */
.wapp {
	position: fixed;
	bottom: max(1.1rem, env(safe-area-inset-bottom));
	z-index: 90;
	display: flex;
	align-items: center;
	gap: .7rem;
	text-decoration: none !important;
	font-family: inherit;
}

.wapp--destra {
	right: max(1.1rem, env(safe-area-inset-right));
}

.wapp--sinistra {
	left: max(1.1rem, env(safe-area-inset-left));
	flex-direction: row-reverse;
}

.wapp__tondo {
	position: relative;
	display: grid;
	place-items: center;
	width: 3.6rem;
	height: 3.6rem;
	border-radius: 50%;
	background: #25D366;
	color: #fff;
	box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .45);
	transition: transform .3s cubic-bezier(.2, .7, .1, 1), box-shadow .3s;
}

/* Animazione sottile: un alone verde che si allarga e svanisce ogni pochi secondi, e il simbolo che «saluta». */
.wapp__tondo::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2px solid #25D366;
	opacity: 0;
	animation: wapp-alone 4.5s cubic-bezier(.2, .6, .3, 1) 3s infinite;
	pointer-events: none;
}

.wapp__tondo svg {
	animation: wapp-saluto 9s ease-in-out 4s infinite;
	transform-origin: 50% 60%;
}

@keyframes wapp-alone {
	0% {
		opacity: .55;
		transform: scale(1);
	}

	55%,
	100% {
		opacity: 0;
		transform: scale(1.65);
	}
}

@keyframes wapp-saluto {
	0%,
	88%,
	100% {
		transform: rotate(0);
	}

	91% {
		transform: rotate(-12deg);
	}

	94% {
		transform: rotate(10deg);
	}

	97% {
		transform: rotate(-4deg);
	}
}

.wapp:hover .wapp__tondo,
.wapp:focus-visible .wapp__tondo {
	transform: scale(1.07);
	box-shadow: 0 14px 30px -8px rgba(0, 0, 0, .5);
}

.wapp:focus-visible {
	outline: 3px solid var(--wp--preset--color--secondary, #25D366);
	outline-offset: 4px;
	border-radius: 2rem;
}

.wapp__fumetto {
	padding: .6rem .95rem;
	border-radius: .8rem;
	background: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast, #1a1a1a);
	font-size: .86rem;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
	box-shadow: 0 10px 28px -12px rgba(0, 0, 0, .45);
	border: 1px solid rgba(0, 0, 0, .08);
	animation: wapp-compare .5s cubic-bezier(.2, .7, .1, 1) 2.5s both;
}

@keyframes wapp-compare {
	from {
		opacity: 0;
		transform: translateY(.5rem);
	}
}

/* Con il pulsante «Torna all'inizio» di Ist wpCore, che sta nello stesso angolo: WhatsApp resta nell'angolo e la
   freccia sale sopra il tondo verde, centrata su di lui (la freccia è più piccola: metà della differenza di lato). */
body:has(.wapp--destra) .inst-su {
	right: calc(max(1.1rem, env(safe-area-inset-right)) + .3rem);
	bottom: calc(max(1.1rem, env(safe-area-inset-bottom)) + 3.6rem + .8rem);
}

@media (min-width: 782px) {
	body:has(.wapp--destra) .inst-su {
		right: calc(max(1.1rem, env(safe-area-inset-right)) + .175rem);
	}
}

/* Sul telefono resta solo il tondo: il fumetto coprirebbe il testo. */
@media (max-width: 600px) {
	.wapp__fumetto {
		display: none;
	}

	.wapp__tondo {
		width: 3.3rem;
		height: 3.3rem;
	}

	body:has(.wapp--destra) .inst-su {
		right: calc(max(1.1rem, env(safe-area-inset-right)) + .15rem);
		bottom: calc(max(1.1rem, env(safe-area-inset-bottom)) + 3.3rem + .7rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.wapp__fumetto,
	.wapp__tondo::before,
	.wapp__tondo svg {
		animation: none;
	}

	.wapp__tondo {
		transition: none;
	}
}

@media print {
	.wapp {
		display: none;
	}
}
