/*========================
* 
* 			WOO COMMERCE
* 
* ======================*/

/* RESET STYLE DE BASE */
.woocommerce-page.fl-full-width .container,
.woocommerce.fl-full-width .container {
	width: min(100% - 32px, 1216px) !important;
	max-width: 1216px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.has-blocks .fl-post-content .alignwide {
	margin: 0 !important;
}
/* ----------------------------------------------------------
WooCommerce Blocks - Boutons CTA
---------------------------------------------------------- */

/* Bouton */
.wc-block-components-button:not(.is-link),
.wc-block-components-button:not(.is-link):visited {
	position: relative;
	background-color: var(--blanc) !important;
	border: 1px solid var(--couleur-principale) !important;
	border-radius: var(--radius-cta-principal) !important;
	color: var(--couleur-secondaire) !important;
	text-decoration: none !important;

	transition:
		background-color 320ms ease,
		border-color 220ms ease,
		color 320ms ease,
		transform 320ms ease,
		box-shadow 320ms ease;

	will-change: transform;
}

/* Texte */
.wc-block-components-button:not(.is-link) .wc-block-components-button__text {
	position: relative;
	display: inline-block;

	font-family: var(--typo-secondaire);
	font-weight: var(--medium);
	font-size: var(--size-cta-principal);
	color: inherit !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-decoration: none;

	transition:
		color 320ms ease,
		transform 320ms ease;
}

/* Soulignement animé */
.wc-block-components-button:not(.is-link) .wc-block-components-button__text::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 1px;

	width: 100%;
	height: 1px;

	background-color: currentColor;

	transform: scaleX(0);
	transform-origin: left;
	transition: transform 320ms ease;
}

/* Hover / focus */
.wc-block-components-button:not(.is-link):hover,
.wc-block-components-button:not(.is-link):focus,
.wc-block-components-button:not(.is-link):focus-visible,
.wc-block-components-button:not(.is-link):active {
	background-color: var(--couleur-principale) !important;
	border-color: var(--couleur-principale) !important;
	color: var(--blanc) !important;
	text-decoration: none !important;
}

/* Soulignement au hover / focus clavier */
.wc-block-components-button:not(.is-link):hover .wc-block-components-button__text::after,
.wc-block-components-button:not(.is-link):focus-visible .wc-block-components-button__text::after {
	transform: scaleX(1);
}

/* Micro mouvement */
.wc-block-components-button:not(.is-link):hover {
	transform: translateY(0);
}

/* Clic */
.wc-block-components-button:not(.is-link):active {
	transform: translateY(0);
}

/* Focus accessibilité */
.wc-block-components-button:not(.is-link):focus-visible {
	outline: 2px solid var(--couleur-principale);
	outline-offset: 2px;
	box-shadow: none !important;
}

/* Désactiver le focus navigateur classique si focus-visible est supporté */
.wc-block-components-button:not(.is-link):focus:not(:focus-visible) {
	outline: none;
	box-shadow: none !important;
}

/* Texte pendant les états */
.wc-block-components-button:not(.is-link):hover .wc-block-components-button__text,
.wc-block-components-button:not(.is-link):focus .wc-block-components-button__text,
.wc-block-components-button:not(.is-link):focus-visible .wc-block-components-button__text,
.wc-block-components-button:not(.is-link):active .wc-block-components-button__text {
	color: inherit !important;
}

/*========================
*
*  CTA PANIER VIDE WOOCOMMERCE
*
*=========================*/

/* Conteneur du CTA */
.wp-block-woocommerce-empty-cart-block .cta-principal {
	display: inline-block;
	width: auto;
	margin: 0;
}

/* Style de base */
.wp-block-woocommerce-empty-cart-block .cta-principal > a,
.wp-block-woocommerce-empty-cart-block .cta-principal > a:visited,
.wp-block-woocommerce-empty-cart-block .cta-principal > a:active,
.wp-block-woocommerce-empty-cart-block .cta-principal > a:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 10px 20px !important;

	font-family: var(--typo-secondaire);
	font-weight: var(--medium);
	font-size: var(--size-cta-principal);
	line-height: 1.2;

	color: var(--couleur-secondaire);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-decoration: none;

	background-color: var(--blanc);
	border: 1px solid transparent !important;
	border-radius: var(--radius-cta-principal) !important;

	box-sizing: border-box;

	transition:
		background-color 320ms ease,
		border-color 220ms ease,
		color 320ms ease,
		transform 320ms ease,
		box-shadow 320ms ease;
}

/* CTA avec bordure */
.wp-block-woocommerce-empty-cart-block
.cta-principal.cta-principal-border > a,
.wp-block-woocommerce-empty-cart-block
.cta-principal.cta-principal-border > a:visited,
.wp-block-woocommerce-empty-cart-block
.cta-principal.cta-principal-border > a:active,
.wp-block-woocommerce-empty-cart-block
.cta-principal.cta-principal-border > a:focus {
	border-color: var(--couleur-principale) !important;
}

/* CTA avec fond principal */
.wp-block-woocommerce-empty-cart-block
.cta-principal.cta-principal-border.cta-principal-bg > a,
.wp-block-woocommerce-empty-cart-block
.cta-principal.cta-principal-border.cta-principal-bg > a:visited,
.wp-block-woocommerce-empty-cart-block
.cta-principal.cta-principal-border.cta-principal-bg > a:active,
.wp-block-woocommerce-empty-cart-block
.cta-principal.cta-principal-border.cta-principal-bg > a:focus {
	color: var(--blanc) !important;
	background-color: var(--couleur-principale) !important;
}

/* Hover */
.wp-block-woocommerce-empty-cart-block .cta-principal > a:hover {
	color: var(--couleur-secondaire);
	background-color: var(--couleur-3);
	border-color: transparent !important;
}

/* Hover avec bordure */
.wp-block-woocommerce-empty-cart-block
.cta-principal.cta-principal-border > a:hover {
	border-color: var(--couleur-principale) !important;
}

/* Conservation du texte blanc pour le CTA avec fond */
.wp-block-woocommerce-empty-cart-block
.cta-principal.cta-principal-border.cta-principal-bg > a:hover {
	color: var(--blanc) !important;
}

/* Focus clavier */
.wp-block-woocommerce-empty-cart-block .cta-principal > a:focus-visible {
	outline-width: 3px !important;
	outline-style: solid;
	outline-color: var(--couleur-principale);
	outline-offset: 3px;
}

/* Clic */
.wp-block-woocommerce-empty-cart-block .cta-principal > a:active {
	transform: translateY(0);
}

/* Responsive */
@media (max-width: 768px) {

	.wp-block-woocommerce-empty-cart-block .cta-principal {
		display: block;
		width: 100%;
	}

	.wp-block-woocommerce-empty-cart-block .cta-principal > a {
		width: 100% !important;
	}
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {

	.wp-block-woocommerce-empty-cart-block .cta-principal > a {
		transition: none;
		transform: none;
	}
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
	.wc-block-components-button:not(.is-link),
	.wc-block-components-button:not(.is-link) .wc-block-components-button__text,
	.wc-block-components-button:not(.is-link) .wc-block-components-button__text::after {
		transition: none;
		transform: none;
	}
}

/*========== Responsive ==========*/
@media (max-width: 768px) {
	.wc-block-components-button:not(.is-link) {
		width: 100% !important;
	}
}