/**
 * SkelPress Address — infobulles e-mail / téléphone.
 *
 * Habille l'infobulle injectée par assets/js/contact-reveal.js. Les couleurs
 * s'alignent sur les tokens du thème (presets « contrast » / « base ») avec un
 * repli neutre, et sont surchargeables via les variables --skp-contact-*.
 */

/* Le lien sert d'ancre de positionnement. */
a[href^="mailto:"],
a[href^="tel:"],
a.skp-contact-masked {
	position: relative;
}

a.is-skp-contact-open {
	cursor: help;
}

/* Contrôle masqué (rendu serveur) tant que la valeur n'est pas révélée :
   signale l'interactivité sans imposer de couleur de marque. */
a.skp-contact-masked:not( .is-skp-revealed ) {
	cursor: pointer;
	text-decoration-line: underline;
	text-decoration-style: dotted;
	text-underline-offset: 0.2em;
}

a.skp-contact-masked__label,
.skp-contact-masked__label {
	white-space: nowrap;
}

/* Infobulle (enfant du lien, donc cliquable comme lui). */
.skp-contact-reveal {
	--skp-contact-bg: var( --wp--preset--color--contrast, #1e1e1e );
	--skp-contact-fg: var( --wp--preset--color--base, #ffffff );
	--skp-contact-radius: 4px;
	--skp-contact-shift: 0px;

	position: absolute;
	left: 50%;
	z-index: 100;
	transform: translateX( calc( -50% + var( --skp-contact-shift, 0px ) ) );
	display: inline-block;
	padding: 0.4em 0.7em;
	background: var( --skp-contact-bg );
	color: var( --skp-contact-fg );
	border-radius: var( --skp-contact-radius );
	font-size: 0.875em;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
	letter-spacing: 0.01em;
	box-shadow: 0 4px 14px rgba( 0, 0, 0, 0.18 );
	opacity: 0;
	transition: opacity 0.18s ease;
}

.skp-contact-reveal:not( [hidden] ) {
	opacity: 1;
}

.skp-contact-reveal[hidden] {
	display: none;
}

/* Variante basse (sous le lien). */
a[data-skp-contact-pos="bottom"] .skp-contact-reveal {
	top: 100%;
	margin-top: 0.6em;
}

/* Variante haute (au-dessus du lien). */
a[data-skp-contact-pos="top"] .skp-contact-reveal {
	bottom: 100%;
	margin-bottom: 0.6em;
}

/* Flèche — contre-décalée du shift pour rester pointée sur le lien. */
.skp-contact-reveal::after {
	content: "";
	position: absolute;
	left: calc( 50% - var( --skp-contact-shift, 0px ) );
	transform: translateX( -50% );
	border: 6px solid transparent;
}

a[data-skp-contact-pos="bottom"] .skp-contact-reveal::after {
	bottom: 100%;
	border-bottom-color: var( --skp-contact-bg );
}

a[data-skp-contact-pos="top"] .skp-contact-reveal::after {
	top: 100%;
	border-top-color: var( --skp-contact-bg );
}

/* Indice destiné aux lecteurs d'écran (masqué visuellement). */
.skp-contact-reveal__hint {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect( 0 0 0 0 );
	clip-path: inset( 50% );
	white-space: nowrap;
	border: 0;
}

@media ( prefers-reduced-motion: reduce ) {
	.skp-contact-reveal {
		transition: none;
	}
}
