/* Studio Lintz : adaptations WooCommerce cote galerie. */

/**
 * Boutons WooCommerce.
 */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .checkout-button,
.woocommerce .single_add_to_cart_button {
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--ar-blue-dark) !important;
	color: #ffffff !important;

	font-family: var(--ar-font-body);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .checkout-button:hover,
.woocommerce .single_add_to_cart_button:hover {
	background: transparent !important;
	color: #ffffff !important;
	transform: none !important;
	opacity: 0.96;
}

.woocommerce .single_add_to_cart_button {
	background-image: url("../img/btn-primary-brush.png") !important;
	background-color: transparent !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 100% auto !important;

	min-width: 330px;
	min-height: 76px;
	padding: 0 3.8rem 0 2.4rem !important;
}



/**
 * TECHNIQUE SOUS LE TITRE.
 */

.ar-product-technique {
	margin-top: -0.4rem;
	margin-bottom: 1.6rem;

	color: var(--ar-blue);
	font-family: var(--ar-font-body);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}



/**
 * MASQUER LES PAIEMENTS EXPRESS.
 */

.single-product .wc-stripe-express-checkout-element,
.single-product .wc-stripe-express-checkout-wrapper,
.single-product .wc-stripe-payment-request-wrapper,
.single-product #wc-stripe-payment-request-wrapper,
.single-product .wcpay-payment-request-wrapper,
.single-product .payment_method_stripe_googlepay,
.single-product .payment_method_stripe_link,
.single-product [id*="express"],
.single-product [class*="express"] {
	display: none !important;
}



/**
 * Empêche tout déplacement du bouton au survol ou après ajout.
 */

.single-product .single_add_to_cart_button,
.single-product .single_add_to_cart_button:hover,
.single-product .single_add_to_cart_button:focus,
.single-product .single_add_to_cart_button:active,
.single-product .single_add_to_cart_button.added {
	transform: none !important;
	background-position: center center !important;
	opacity: 1 !important;
}



/**
 * Texte centré, sans flèche.
 */

.single-product .wc-block-components-product-button__button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 2.4rem !important;
	text-align: center !important;
}

.single-product .wc-block-components-product-button__button::after,
.single-product .single_add_to_cart_button::after {
	content: none !important;
	display: none !important;
}

.single-product .wc-block-components-product-button__button span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100%;
	text-align: center !important;
}



.single-product .wc-block-components-product-button__button {
	justify-content: center !important;
	text-align: center !important;
}

.single-product .wc-block-components-product-button__button span {
	display: block !important;
	width: 100%;
	text-align: center !important;
}

/**
 * Galerie produits.
 * prix au hover + mention vendue.
 */

/**
 * Carte produit.
 */
.wc-block-product {
	position: relative;
}

/**
 * Prix caché par défaut, mais l'espace reste réservé.
 */
.wc-block-product .wp-block-woocommerce-product-price {
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 180ms ease, transform 180ms ease;
}

/**
 * Prix visible au survol de la carte.
 */
.wc-block-product:hover .wp-block-woocommerce-product-price {
	opacity: 1;
	transform: translateY(0);
}

/**
 * Produit vendu : on masque totalement le prix.
 */
.wc-block-product.outofstock .wp-block-woocommerce-product-price {
	display: none;
}

/**
 * Produit vendu : mention sous le titre.
 */
.wc-block-product.outofstock .wp-block-post-title::after {
	content: "Vendue";
	display: block;
	margin-top: 0.4rem;

	color: var(--ar-terra);
	font-family: var(--ar-font-title);
	font-size: 0.95rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/**
 * Optionnel : image légèrement désaturée pour les oeuvres vendues.
 */
.wc-block-product.outofstock .wc-block-components-product-image img {
	filter: grayscale(0.25);
	opacity: 0.82;
}

/**
 * Lightbox produit.
 */
.ar-product-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: clamp(1rem, 4vw, 3rem);
	background: rgba(31, 37, 40, 0.88);
	backdrop-filter: blur(4px);
}

.ar-product-lightbox.is-open {
	display: flex;
}

.ar-product-lightbox__image {
	max-width: min(100%, 1200px);
	max-height: 88vh;
	width: auto;
	height: auto;
	object-fit: contain;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
}

.ar-product-lightbox__close {
	position: fixed;
	top: 1.2rem;
	right: 1.2rem;
	z-index: 2;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 999px;
	background: #f4eee7;
	color: #1f2528;
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
}

.ar-lightbox-open {
	overflow: hidden;
}

.ar-product-lightbox__nav {
	position: fixed;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;

	width: 52px;
	height: 52px;
	border: 0;
	border-radius: 999px;

	background: #f4eee7;
	color: #1f2528;
	font-size: 3rem;
	line-height: 1;
	cursor: pointer;

	transform: translateY(-50%);
}

.ar-product-lightbox__nav--prev {
	left: 1.2rem;
}

.ar-product-lightbox__nav--next {
	right: 1.2rem;
}

.ar-product-lightbox__nav:hover,
.ar-product-lightbox__close:hover {
	background: #b99252;
	color: #f4eee7;
}

@media (max-width: 768px) {
	.ar-product-lightbox__nav {
		width: 44px;
		height: 44px;
		font-size: 2.4rem;
	}

	.ar-product-lightbox__nav--prev {
		left: 0.6rem;
	}

	.ar-product-lightbox__nav--next {
		right: 0.6rem;
	}
}

/**
 * Indique que l'image produit est zoomable.
 */
.single-product .ar-product-gallery .wc-block-product-gallery-large-image__container .wp-block-woocommerce-product-image a {
	position: relative;
	display: block;
	cursor: zoom-in;
}

/**
 * Badge discret.
 */
.single-product .ar-product-gallery .wc-block-product-gallery-large-image__container .wp-block-woocommerce-product-image a::after {
	content: "Voir en grand";
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 2;

	padding: 0.55rem 0.85rem;
	border-radius: 999px;

	background: rgba(31, 37, 40, 0.82);
	color: #f4eee7;

	font-family: var(--ar-font-body);
	font-size: 0.85rem;
	letter-spacing: 0.04em;

	opacity: 0;
	transform: translateY(6px);
	transition: opacity 180ms ease, transform 180ms ease;
	pointer-events: none;
}

/**
 * Affichage au hover.
 */
.single-product .ar-product-gallery .wc-block-product-gallery-large-image__container .wp-block-woocommerce-product-image a:hover::after {
	opacity: 1;
	transform: translateY(0);
}

/* Studio Lintz : notice WooCommerce plus douce sur fiche oeuvre. */
.single-product .wc-block-components-notice-banner.is-error {
    border-color: var(--ar-gold) !important;
    background: rgba(229, 159, 113, 0.08) !important;
    color: var(--ar-text) !important;
}

.single-product .wc-block-components-notice-banner.is-error svg {
    fill: var(--ar-gold) !important;
}


.single-product .wc-block-components-notices {
    min-height: 40px;
}

.single-product .wc-block-components-notice-banner.is-error {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    color: var(--ar-gold);
    font-size: 0.9rem;
}

/* Studio Lintz : place la notice WooCommerce sous le bouton sur fiche oeuvre. */
.single-product .wc-block-components-notices {
    display: flex;
    flex-direction: column-reverse;
}

.single-product .wc-block-components-notice-banner.is-error {
    margin-top: 1rem !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    color: var(--ar-gold) !important;
    font-size: 0.9rem;
}

.single-product .wc-block-components-notice-banner.is-error svg {
    display: none !important;
}

.single-product .wc-block-components-notices {
    min-height: 2rem;
}

.single-product .wc-block-components-notice-banner.is-error {
    margin-top: 0.75rem !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    color: var(--ar-gold) !important;
    font-size: 0.95rem;
    justify-content: center;
}

.flex-start {
    align-items: flex-start;
}

/* Studio Lintz : mini panier - simplifie le compteur du titre. */
.wp-block-woocommerce-mini-cart-title-items-counter-block {
    font-size: 0 !important;
}

.wp-block-woocommerce-mini-cart-title-items-counter-block::before {
    content: "(";
    font-size: 1em;
}

.wp-block-woocommerce-mini-cart-title-items-counter-block::after {
    content: attr(data-wp-text) ")";
    font-size: 1em;
}