/* ==========================================================================
   Appels à l'action mis en valeur sur tout le site (Laura, 2026-11-01 : « mettre en valeur tous les
   call to actions du site comme le footer »). Chargé en dernier.
   - Actions principales (contact, devis, réservation, appel découverte, carte cadeau, envois de
     formulaire) : doré plein en dégradé, halo, reflet qui passe de temps en temps.
   - Autres boutons (en savoir plus, voir plus…) : liseré doré, se remplit au survol.
   La flèche (::after) vient de ui.css ; le reflet utilise ::before.
   ========================================================================== */

:root {
	--cta-gold-1: #f0d9a8;
	--cta-gold-2: #d4b073;
	--cta-gold-3: #b8914f;
	--cta-ink: #1a1208;
	--cta-line: #b8914f;
	--cta-text: #7a5a24;
}

:root:not([data-psu-theme="light"]) {
	--cta-text: #e8cf98;
	--cta-line: #d4b073;
}

/* ---------------------------------------------------------------- tous les boutons */

.wp-block-button__link,
.wp-element-button,
div.wpforms-container-full .wpforms-form button[type=submit],
.entry-content .psu-imm a.psu-imm__tier-cta,
a.psb-promo__cta,
.psu-greviews__btn {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: 1em 1.85em !important;
	border: 1.5px solid var(--cta-line) !important;
	border-radius: 999px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: .015em !important;
	color: var(--cta-text) !important;
	background: color-mix(in srgb, var(--cta-gold-2) 9%, transparent) !important;
	text-decoration: none !important;
	/* La flèche reste sur la même ligne que le texte (elle passait dessous sur petit écran). */
	white-space: nowrap;
}

.psu-greviews__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: background-color .4s, color .4s, box-shadow .5s, transform .5s cubic-bezier(.22, .61, .36, 1);
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.wp-block-button__link:focus-visible,
.entry-content .psu-imm a.psu-imm__tier-cta:hover,
.psu-greviews__btn:hover {
	border-color: var(--cta-gold-2) !important;
	background: var(--cta-gold-2) !important;
	color: var(--cta-ink) !important;
	transform: translateY(-3px);
	box-shadow: 0 16px 38px -14px color-mix(in srgb, var(--cta-gold-2) 75%, transparent) !important;
}

/* Sur une photo ou une vidéo : texte clair, liseré doré, verre dépoli. */
.wp-block-cover .wp-block-button__link:not(:hover) {
	color: #fff !important;
	border-color: rgba(240, 217, 168, .85) !important;
	background: rgba(20, 14, 8, .22) !important;
}

/* ---------------------------------------------------------------- actions principales */

.wp-block-button__link:is([href*="contact"], [href*="devis"], [href*="reserv"], [href*="appel-decouverte"], [href*="carte-cadeau"], [href*="booking"]),
div.wpforms-container-full .wpforms-form button[type=submit],
button.wp-block-button__link[type=submit],
.wp-block-button__link.psb-submit,
.wp-block-button__link.psb-quote__submit,
.wp-block-button__link.psu-modal__cta,
.entry-content .psu-imm .is-featured a.psu-imm__tier-cta,
a.psb-promo__cta,
.psu-greviews__btn--solid,
.wp-block-cover .wp-block-button__link:is([href*="contact"], [href*="devis"], [href*="reserv"], [href*="appel-decouverte"], [href*="carte-cadeau"]):not(:hover) {
	border-color: transparent !important;
	color: var(--cta-ink) !important;
	background: linear-gradient(135deg, var(--cta-gold-1) 0%, var(--cta-gold-2) 45%, var(--cta-gold-3) 100%) !important;
	/* Le dégradé couvre aussi la bordure transparente : sinon il s'y répète et laisse un filet foncé à gauche. */
	background-origin: border-box !important;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--cta-gold-2) 18%, transparent), 0 16px 40px -16px color-mix(in srgb, var(--cta-gold-2) 85%, transparent) !important;
}

.wp-block-button__link:is([href*="contact"], [href*="devis"], [href*="reserv"], [href*="appel-decouverte"], [href*="carte-cadeau"], [href*="booking"]):hover,
div.wpforms-container-full .wpforms-form button[type=submit]:hover,
button.wp-block-button__link[type=submit]:hover,
.wp-block-button__link.psb-submit:hover,
.wp-block-button__link.psb-quote__submit:hover,
.wp-block-button__link.psu-modal__cta:hover,
.entry-content .psu-imm .is-featured a.psu-imm__tier-cta:hover,
a.psb-promo__cta:hover,
.psu-greviews__btn--solid:hover {
	background: linear-gradient(135deg, #f6e6c4 0%, #e0c085 45%, #c9a565 100%) !important;
	background-origin: border-box !important;
	color: var(--cta-ink) !important;
	box-shadow: 0 0 0 6px color-mix(in srgb, var(--cta-gold-2) 22%, transparent), 0 22px 48px -16px color-mix(in srgb, var(--cta-gold-2) 90%, transparent) !important;
	transform: translateY(-3px);
}

/* Reflet doré qui traverse les actions principales toutes les quelques secondes. */
.wp-block-button__link:is([href*="contact"], [href*="devis"], [href*="reserv"], [href*="appel-decouverte"], [href*="carte-cadeau"], [href*="booking"])::before,
div.wpforms-container-full .wpforms-form button[type=submit]::before,
button.wp-block-button__link[type=submit]::before,
.wp-block-button__link.psb-submit::before,
.wp-block-button__link.psb-quote__submit::before,
.wp-block-button__link.psu-modal__cta::before,
.entry-content .psu-imm .is-featured a.psu-imm__tier-cta::before,
a.psb-promo__cta::before,
.psu-greviews__btn--solid::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .55) 50%, transparent 65%);
	transform: translateX(-120%);
	animation: psu-cta-shine 5s cubic-bezier(.22, .61, .36, 1) infinite;
	pointer-events: none;
}

@keyframes psu-cta-shine {
	0%, 60% { transform: translateX(-120%); }
	88%, 100% { transform: translateX(120%); }
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-button__link::before,
	div.wpforms-container-full .wpforms-form button[type=submit]::before,
	a.psb-promo__cta::before,
	.psu-greviews__btn--solid::before,
	.entry-content .psu-imm a.psu-imm__tier-cta::before {
		animation: none !important;
	}
}

/* Téléphone : boutons un peu plus hauts, faciles à toucher. */
@media (max-width: 600px) {
	.wp-block-button__link,
	.wp-element-button {
		padding: 1.05em 1.6em !important;
	}
}

/* Boutons de l'encart des avis Google : ce sont des liens du contenu ; la règle générale des liens
   (ui.css, couleur du texte !important) leur donnait un texte blanc sur fond blanc en mode sombre
   (Laura, 2026-11-02). Règle plus précise, dans les deux modes. */
html .entry-content .psu-greviews a.psu-greviews__btn {
	color: var(--cta-text) !important;
}

html .entry-content .psu-greviews a.psu-greviews__btn--solid,
html .entry-content .psu-greviews a.psu-greviews__btn:hover {
	color: var(--cta-ink) !important;
}

/* Téléphone : bandeaux d'appel à l'action sur photo (« Voyages photo » de Particuliers et
   Professionnels) — trop de texte, on ne voyait plus la photo (2026-11-10). Textes plus petits,
   interlignes et marges resserrés, sur téléphone seulement ; l'ordinateur garde les réglages de l'éditeur. */
@media (max-width: 780px) {
	.entry-content .wp-block-group .wp-block-cover:has(.wp-block-buttons) {
		/* Hauteur suffisante pour voir la photo ; marges égales en haut et en bas (le haut était
		   remis à 0 par une autre règle sur Particuliers : texte collé en haut). */
		min-height: 440px !important;
		padding-top: 56px !important;
		padding-bottom: 56px !important;
	}

	.entry-content .wp-block-group .wp-block-cover:has(.wp-block-buttons) .wp-block-cover__inner-container > p {
		margin-top: 0;
		margin-bottom: 10px;
		letter-spacing: 0 !important;
	}

	.entry-content .wp-block-group .wp-block-cover:has(.wp-block-buttons) .wp-block-cover__inner-container > p:first-child {
		font-size: clamp(30px, 8.6vw, 40px) !important;
		line-height: 1.05;
		margin-bottom: 8px;
	}

	.entry-content .wp-block-group .wp-block-cover:has(.wp-block-buttons) .wp-block-cover__inner-container > p:nth-child(2) {
		font-size: 19px !important;
		line-height: 1.3;
		margin-bottom: 14px;
	}

	.entry-content .wp-block-group .wp-block-cover:has(.wp-block-buttons) .wp-block-cover__inner-container > p:nth-child(n+3) {
		font-size: 14px !important;
		line-height: 1.5;
		max-width: 30em;
		margin-left: auto;
		margin-right: auto;
	}

	.entry-content .wp-block-group .wp-block-cover:has(.wp-block-buttons) .wp-block-buttons {
		margin-top: 18px;
	}
}
