/*!
 * Vino Veritas — Habillage WooCommerce (boutique, fiches vins, panier, commande)
 */

/* Boutons */
.woocommerce :is(a.button, button.button, input.button, #respond input#submit),
.woocommerce :is(a.button.alt, button.button.alt, input.button.alt, #respond input#submit.alt),
.woocommerce-page :is(a.button, button.button),
.wc-block-components-button:not(.is-link),
.wp-block-button__link.add_to_cart_button {
	font-family: var(--vv-font-display);
	font-weight: 500;
	font-size: var(--vv-text-bouton-size);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1;
	padding: 0.95em 1.9em;
	min-height: 48px;
	border-radius: var(--vv-radius-sm);
	border: var(--vv-stroke-trait) solid var(--vv-color-bordeaux);
	background-color: var(--vv-color-bordeaux);
	color: var(--vv-color-creme);
	transition: background-color var(--vv-motion-normal) var(--vv-motion-courbe), border-color var(--vv-motion-normal) var(--vv-motion-courbe);
}
.woocommerce :is(a.button, button.button, input.button, #respond input#submit):hover,
.woocommerce :is(a.button.alt, button.button.alt, input.button.alt):hover,
.wc-block-components-button:not(.is-link):hover {
	background-color: var(--vv-color-lie-de-vin);
	border-color: var(--vv-color-lie-de-vin);
	color: var(--vv-color-creme);
}
.woocommerce :is(a.button, button.button):disabled,
.woocommerce :is(a.button, button.button).disabled {
	background-color: var(--vv-color-pierre);
	border-color: var(--vv-color-pierre);
	color: var(--vv-color-sarment);
}
/* Bouton secondaire (ex. « Voir le panier », « Mettre à jour le panier ») */
.woocommerce :is(a.added_to_cart, button[name="update_cart"]) {
	background: transparent;
	color: var(--vv-color-encre);
	border: var(--vv-stroke-trait) solid var(--vv-color-encre);
}

/* Listes produits */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
	font-family: var(--vv-font-display);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--vv-color-encre);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-weight: 500; font-size: 1.25rem; line-height: 1.2; }
.woocommerce div.product .product_title { font-weight: 400; font-size: var(--vv-text-h1-size); line-height: 1.05; }

/* Prix */
.woocommerce :is(ul.products li.product .price, div.product p.price, div.product span.price),
.wc-block-components-product-price {
	font-family: var(--vv-font-display);
	font-weight: 500;
	color: var(--vv-color-bordeaux);
	letter-spacing: 0.02em;
}
.woocommerce :is(ul.products li.product .price, div.product p.price) del { color: var(--vv-color-sarment); opacity: 1; }
.woocommerce :is(ul.products li.product .price, div.product p.price) ins { text-decoration: none; }

/* Pastille promo */
.woocommerce span.onsale {
	min-height: 0;
	min-width: 0;
	line-height: 1.2;
	padding: 0.45em 0.9em;
	border-radius: var(--vv-radius-pill);
	background-color: var(--vv-color-bordeaux);
	color: var(--vv-color-creme);
	font-family: var(--vv-font-display);
	font-weight: 500;
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* Étoiles d'avis */
.woocommerce .star-rating span::before,
.woocommerce p.stars a { color: var(--vv-color-paille); }

/* Onglets fiche produit */
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--vv-color-pierre); border-color: var(--vv-color-pierre); border-radius: var(--vv-radius-sm) var(--vv-radius-sm) 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--vv-color-creme); border-bottom-color: var(--vv-color-creme); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--vv-font-display);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--vv-color-encre);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

/* Messages */
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	background-color: var(--vv-color-blanc);
	color: var(--vv-color-encre);
	border-top: 3px solid var(--vv-color-encre);
	border-radius: 0 0 var(--vv-radius-sm) var(--vv-radius-sm);
	font-family: var(--vv-font-text);
}
.woocommerce .woocommerce-message { border-top-color: var(--vv-color-feuille-de-vigne); }
.woocommerce .woocommerce-message::before { color: var(--vv-color-feuille-de-vigne); }
.woocommerce .woocommerce-info { border-top-color: var(--vv-color-encre); }
.woocommerce .woocommerce-info::before { color: var(--vv-color-encre); }
.woocommerce .woocommerce-error { border-top-color: var(--vv-color-bordeaux); }
.woocommerce .woocommerce-error::before { color: var(--vv-color-bordeaux); }

/* Champs */
.woocommerce :is(form .form-row input.input-text, form .form-row textarea, form .form-row select),
.woocommerce .quantity .qty {
	min-height: 48px;
	padding: 0.6em 0.9em;
	font-family: var(--vv-font-text);
	background: var(--vv-color-blanc);
	border: 1px solid var(--vv-color-galet);
	border-radius: var(--vv-radius-sm);
	color: var(--vv-color-encre);
}
.woocommerce :is(form .form-row input.input-text, form .form-row textarea, form .form-row select):focus,
.woocommerce .quantity .qty:focus { border-color: var(--vv-color-encre); outline: 2px solid var(--vv-color-encre); outline-offset: 1px; }
.woocommerce form .form-row label { font-weight: 700; font-size: var(--vv-text-petit-size); }
.woocommerce form .form-row .required { color: var(--vv-color-bordeaux); }

/* Tableaux (panier, commande) */
.woocommerce table.shop_table { border-color: var(--vv-color-pierre); border-radius: var(--vv-radius-md); background: var(--vv-color-blanc); }
.woocommerce table.shop_table th {
	font-family: var(--vv-font-display);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.8125rem;
	color: var(--vv-color-sarment);
}
.woocommerce table.shop_table :is(td, th) { border-color: var(--vv-color-pierre); }
.woocommerce .cart_totals .order-total .amount,
.woocommerce-checkout-review-order-table .order-total .amount { color: var(--vv-color-bordeaux); font-family: var(--vv-font-display); font-weight: 500; font-size: 1.25rem; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li { border-color: var(--vv-color-pierre); }
.woocommerce nav.woocommerce-pagination ul li :is(a, span) { font-family: var(--vv-font-display); color: var(--vv-color-encre); padding: 0.75em 1em; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--vv-color-encre); color: var(--vv-color-creme); }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--vv-color-pierre); color: var(--vv-color-bordeaux); }
