/* ==========================================================================
   Vandeto — Click To Contact
   Affordance visuelle des blocs Téléphone / WhatsApp actionnables.
   Soigné, moderne, discret — ne casse jamais le rendu AdForest existant.
   Tout est scopé sur les classes ajoutées par le plugin (.vct-*).
   ========================================================================== */

/* Avant dévoilement : le bloc entier devient « tappable » (déclenche l'affichage). */
.contact-box.vct-tappable,
.contact-detail-box.vct-tappable {
	cursor: pointer;
}

/* Bloc actionnable (numéro dévoilé) ---------------------------------------- */
.contact-box.vct-ready,
.contact-detail-box.vct-ready {
	cursor: pointer;
	position: relative;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
	-webkit-tap-highlight-color: transparent;
}

.contact-box.vct-ready:hover,
.contact-detail-box.vct-ready:hover,
.contact-box.vct-ready:focus-visible,
.contact-detail-box.vct-ready:focus-visible {
	transform: translateY(-2px);
	outline: none;
}

/* Téléphone : accent bleu */
.contact-box.vct-phone.vct-ready:hover,
.contact-detail-box.vct-phone.vct-ready:hover,
.contact-box.vct-phone.vct-ready:focus-visible,
.contact-detail-box.vct-phone.vct-ready:focus-visible {
	border-color: #2f6bff;
	box-shadow: 0 8px 22px -10px rgba(47, 107, 255, 0.55);
}

/* WhatsApp : accent vert */
.contact-box.vct-whatsapp.vct-ready:hover,
.contact-detail-box.vct-whatsapp.vct-ready:hover,
.contact-box.vct-whatsapp.vct-ready:focus-visible,
.contact-detail-box.vct-whatsapp.vct-ready:focus-visible {
	border-color: #25d366;
	box-shadow: 0 8px 22px -10px rgba(37, 211, 102, 0.55);
}

/* Légère mise en avant de l'icône au survol */
.contact-box.vct-ready:hover .icon,
.contact-box.vct-ready:hover .icon img,
.contact-detail-box.vct-ready:hover .icon-box {
	transform: scale(1.06);
	transition: transform 0.18s ease;
}

/* Puce d'action discrète au survol (Appeler / WhatsApp) -------------------- */
.contact-box.vct-ready::after,
.contact-detail-box.vct-ready::after {
	content: attr(data-vct-action);
	position: absolute;
	top: 8px;
	right: 10px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.3px;
	line-height: 1;
	padding: 4px 8px;
	border-radius: 999px;
	color: #fff;
	opacity: 0;
	transform: translateY(-3px);
	transition: opacity 0.18s ease, transform 0.18s ease;
	pointer-events: none;
	white-space: nowrap;
}

.contact-box.vct-phone.vct-ready::after,
.contact-detail-box.vct-phone.vct-ready::after {
	background: #2f6bff;
}

.contact-box.vct-whatsapp.vct-ready::after,
.contact-detail-box.vct-whatsapp.vct-ready::after {
	background: #25d366;
}

.contact-box.vct-ready:hover::after,
.contact-detail-box.vct-ready:hover::after,
.contact-box.vct-ready:focus-visible::after,
.contact-detail-box.vct-ready:focus-visible::after {
	opacity: 1;
	transform: translateY(0);
}

/* Petit « pulse » une seule fois lorsque le bloc devient actionnable -------- */
@keyframes vctPulse {
	0%   { box-shadow: 0 0 0 0 rgba(47, 107, 255, 0.0); }
	35%  { box-shadow: 0 0 0 6px rgba(47, 107, 255, 0.16); }
	100% { box-shadow: 0 0 0 0 rgba(47, 107, 255, 0.0); }
}
@keyframes vctPulseGreen {
	0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.0); }
	35%  { box-shadow: 0 0 0 6px rgba(37, 211, 102, 0.16); }
	100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.0); }
}

.contact-box.vct-phone.vct-ready,
.contact-detail-box.vct-phone.vct-ready {
	animation: vctPulse 1.1s ease-out 1;
}
.contact-box.vct-whatsapp.vct-ready,
.contact-detail-box.vct-whatsapp.vct-ready {
	animation: vctPulseGreen 1.1s ease-out 1;
}

/* Accessibilité : focus clavier visible et propre. */
.contact-box.vct-ready:focus-visible,
.contact-detail-box.vct-ready:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* Respect des préférences de réduction de mouvement. */
@media ( prefers-reduced-motion: reduce ) {
	.contact-box.vct-ready,
	.contact-detail-box.vct-ready,
	.contact-box.vct-ready:hover,
	.contact-detail-box.vct-ready:hover {
		transition: none;
		animation: none;
		transform: none;
	}
}
