/* =========================================================
   Diwan Reem — animations des boutons (légères, cohérentes)
   - survol : léger soulèvement + reflet qui traverse le bouton
   - appui : petit enfoncement
   - focus clavier : anneau bronze
   Tout est désactivé si « réduire les animations » est activé.
   ========================================================= */

:root {
	--diwan-anim-duree: 220ms;
	--diwan-anim-courbe: cubic-bezier(0.22, 1, 0.36, 1);
	--diwan-ombre-survol: 0 8px 18px -10px rgba(22, 16, 27, 0.45);
}

/* ---------- Boutons pleins (actions) ---------- */
.wp-element-button,
.wp-block-button__link,
.wc-block-components-button:not(.is-link),
.wc-block-components-product-button__button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order,
.diwan-conseil__calculer,
.diwan-conseil__choisir {
	transition:
		transform var(--diwan-anim-duree) var(--diwan-anim-courbe),
		box-shadow var(--diwan-anim-duree) var(--diwan-anim-courbe),
		background-color var(--diwan-anim-duree) ease,
		color var(--diwan-anim-duree) ease,
		border-color var(--diwan-anim-duree) ease,
		background-position 700ms ease;
	background-image: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, 0.22) 50%, transparent 65%);
	background-size: 250% 100%;
	background-position: 140% 0;
	background-repeat: no-repeat;
	will-change: transform;
}

@media (hover: hover) {
	.wp-element-button:hover,
	.wp-block-button__link:hover,
	.wc-block-components-button:not(.is-link):not(:disabled):hover,
	.wc-block-components-product-button__button:not(:disabled):hover,
	.woocommerce a.button:hover,
	.woocommerce button.button:not(:disabled):hover,
	.woocommerce input.button:hover,
	.woocommerce #place_order:hover,
	.diwan-conseil__calculer:hover,
	.diwan-conseil__choisir:hover {
		transform: translateY(-2px);
		box-shadow: var(--diwan-ombre-survol);
		background-position: -40% 0;
	}
}

.wp-element-button:active,
.wp-block-button__link:active,
.wc-block-components-button:not(.is-link):not(:disabled):active,
.wc-block-components-product-button__button:not(:disabled):active,
.woocommerce a.button:active,
.woocommerce button.button:not(:disabled):active,
.woocommerce #place_order:active,
.diwan-conseil__calculer:active,
.diwan-conseil__choisir:active {
	transform: translateY(0) scale(0.97);
	box-shadow: none;
	transition-duration: 90ms;
}

/* Bouton désactivé (ex. « Ajouter au panier » avant le choix de la taille) : pas d'effet */
.wc-block-components-product-button__button:disabled,
.woocommerce button.button:disabled,
.wp-element-button:disabled {
	transform: none !important;
	box-shadow: none !important;
	background-image: none;
	cursor: not-allowed;
}

/* Bouton « lien discret » : pas de reflet, seulement le soulignement qui s'étire */
.wp-block-button.is-style-diwan-lien .wp-block-button__link {
	background-image: none;
	box-shadow: none !important;
	transform: none !important;
	transition: color var(--diwan-anim-duree) ease, text-underline-offset var(--diwan-anim-duree) var(--diwan-anim-courbe);
}
.wp-block-button.is-style-diwan-lien .wp-block-button__link:hover {
	text-underline-offset: 9px;
}

/* ---------- Pastilles taille / couleur ---------- */
.wc-block-product-filter-chips__item {
	transition:
		transform 180ms var(--diwan-anim-courbe),
		box-shadow 180ms ease,
		border-color 180ms ease,
		background-color 180ms ease;
}
@media (hover: hover) {
	.wc-block-product-filter-chips__item:not([aria-disabled="true"]):hover {
		transform: translateY(-2px) scale(1.04);
		box-shadow: 0 6px 12px -8px rgba(22, 16, 27, 0.5);
	}
}
.wc-block-product-filter-chips__item:not([aria-disabled="true"]):active {
	transform: scale(0.94);
	transition-duration: 90ms;
}
.wc-block-product-filter-chips__item[aria-checked="true"] {
	animation: diwan-choix 320ms var(--diwan-anim-courbe);
}
@keyframes diwan-choix {
	0% { transform: scale(0.9); }
	60% { transform: scale(1.06); }
	100% { transform: scale(1); }
}

/* Quantité − / + */
.wc-block-components-quantity-selector__button,
.quantity .minus,
.quantity .plus {
	transition: background-color 160ms ease, transform 120ms ease;
}
.wc-block-components-quantity-selector__button:active {
	transform: scale(0.9);
}

/* ---------- Liens en forme de bouton ---------- */
.diwan-epuisees__liste a {
	transition: border-color 200ms ease, background-color 200ms ease, transform 200ms var(--diwan-anim-courbe);
}
@media (hover: hover) {
	.diwan-epuisees__liste a:hover {
		border-style: solid;
		border-color: var(--wp--preset--color--zellige);
		background-color: rgba(47, 90, 87, 0.06);
		transform: translateY(-1px);
	}
}
.diwan-lien-fleche a {
	transition: color 200ms ease, border-color 200ms ease;
}
.diwan-lien-fleche a:hover {
	border-color: currentColor;
}
.diwan-question-whatsapp a svg {
	transition: transform 220ms var(--diwan-anim-courbe);
}
.diwan-question-whatsapp a:hover svg {
	transform: rotate(-8deg) scale(1.12);
}

/* Accordéons (FAQ, Trouver ma taille) */
.diwan-faq__item summary,
.diwan-conseil__ouvrir {
	transition: color 200ms ease;
}
.diwan-faq__item summary:hover,
.diwan-conseil__ouvrir:hover {
	color: var(--wp--preset--color--bronze);
}

/* ---------- Bouton WhatsApp fixe ---------- */
.diwan-whatsapp-fixe {
	transition: transform 240ms var(--diwan-anim-courbe), box-shadow 240ms ease, background-color 240ms ease;
	animation: diwan-apparition 600ms var(--diwan-anim-courbe) 800ms both;
}
@media (hover: hover) {
	.diwan-whatsapp-fixe:hover {
		transform: translateY(-3px) scale(1.06);
		box-shadow: 0 10px 22px -8px rgba(22, 16, 27, 0.5);
	}
}
.diwan-whatsapp-fixe:active {
	transform: scale(0.94);
}
@keyframes diwan-apparition {
	from { opacity: 0; transform: translateY(12px) scale(0.9); }
	to { opacity: 1; transform: none; }
}

/* ---------- Panier : la pastille du compteur « saute » à l'ajout ---------- */
.diwan-pop {
	animation: diwan-pop 450ms var(--diwan-anim-courbe);
}
@keyframes diwan-pop {
	0% { transform: scale(1); }
	40% { transform: scale(1.45); }
	100% { transform: scale(1); }
}

/* ---------- Focus clavier visible sur tous les boutons ---------- */
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible,
.wc-block-components-button:focus-visible,
.wc-block-product-filter-chips__item:focus-visible,
.diwan-whatsapp-fixe:focus-visible,
button:focus-visible {
	outline: 2px solid var(--wp--preset--color--bronze);
	outline-offset: 3px;
}

/* ---------- Respect de « réduire les animations » ---------- */
@media (prefers-reduced-motion: reduce) {
	.wp-element-button,
	.wp-block-button__link,
	.wc-block-components-button,
	.wc-block-components-product-button__button,
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce #place_order,
	.diwan-conseil__calculer,
	.diwan-conseil__choisir,
	.wc-block-product-filter-chips__item,
	.diwan-epuisees__liste a,
	.diwan-whatsapp-fixe,
	.diwan-question-whatsapp a svg {
		transition: none !important;
		animation: none !important;
		transform: none !important;
		background-image: none !important;
	}
	.diwan-pop,
	.wc-block-product-filter-chips__item[aria-checked="true"] {
		animation: none !important;
	}
}
