/* =================================================================
   EL BARISTOCRATE — Styles WooCommerce (alignés sur les tokens)
   ================================================================= */

.woo-content { max-width: var(--container); }

/* Fil d'Ariane + barre du haut */
.woocommerce-breadcrumb { font-size: var(--step--1); color: var(--text-muted); margin-block-end: var(--space-m); }
.woocommerce-products-header__title { font-family: var(--font-display); }
.woocommerce-result-count { color: var(--text-muted); }
.woocommerce .woocommerce-ordering select,
.woocommerce-ordering select { border: 1.5px solid var(--line); border-radius: var(--radius); padding: .55rem .8rem; background: var(--paper); }

/* Grille produits */
.woocommerce ul.products { display: grid; gap: var(--space-l); grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); margin: 0; padding: 0; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important;
	background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--radius-lg); overflow: clip;
	transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); display: flex; flex-direction: column; }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--shadow-2); }
.woocommerce ul.products li.product a img { margin: 0; border-radius: 0; aspect-ratio: 4/3; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--font-display); font-size: var(--step-0); color: var(--text); padding: var(--space-s) var(--space-m) 0; }
.woocommerce ul.products li.product .price { color: var(--brand); font-weight: 700; padding: 0 var(--space-m); display: block; margin-top: .3rem; }
.woocommerce ul.products li.product .price del { color: var(--text-muted); font-weight: 400; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart { margin: var(--space-s) var(--space-m) var(--space-m); }

/* Badge promo */
.woocommerce span.onsale { background: var(--accent); color: #fff; border-radius: var(--radius-pill); font-weight: 700; min-height: auto; min-width: auto; padding: .25rem .8rem; top: 10px; left: 10px; line-height: 1.6; }

/* Boutons WooCommerce → style du thème */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	background: var(--brand); color: #fff; border-radius: var(--radius-pill);
	font-weight: 600; padding: .7rem 1.3rem; border: 1.5px solid var(--brand);
	transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--brand-strong); color: #fff; transform: translateY(-2px); box-shadow: var(--shadow-brand); }
.woocommerce .button.added::after { content: ""; }

/* Page produit */
.single-product div.product { display: grid; gap: var(--space-xl); grid-template-columns: 1fr; }
@media (min-width: 860px) { .single-product div.product { grid-template-columns: 1fr 1fr; } }
.single-product .product .images { border-radius: var(--radius-lg); overflow: clip; }
.single-product .product_title { font-family: var(--font-display); }
.single-product .price { color: var(--brand); font-weight: 700; font-size: var(--step-2); }
.single-product .woocommerce-product-details__short-description { color: var(--text-body); }
.single-product .quantity input { border: 1.5px solid var(--line); border-radius: var(--radius); padding: .6rem; max-width: 5rem; }
.woocommerce-tabs ul.tabs { padding: 0; margin-block-end: var(--space-m); border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: .25rem; }
.woocommerce-tabs ul.tabs::before { border: 0; }
.woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0; }
.woocommerce-tabs ul.tabs li.active a { color: var(--brand); border-bottom: 2px solid var(--brand); }
.woocommerce-tabs ul.tabs li a { font-family: var(--font-display); color: var(--text); padding: .6rem .9rem; }

/* Panier & commande */
.woocommerce table.shop_table { border-radius: var(--radius); border-color: var(--line); }
.woocommerce table.shop_table th { font-family: var(--font-display); }
.woocommerce .cart_totals, .woocommerce-checkout #order_review { background: var(--surface); border-radius: var(--radius-lg); padding: var(--space-m); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce-checkout .input-text, .select2-container--default .select2-selection--single {
	border: 1.5px solid var(--line); border-radius: var(--radius); padding: .75rem 1rem; }
.woocommerce form .form-row label { font-weight: 600; color: var(--text); }

/* Note paiement local */
.elb-pay-note { background: var(--brand-tint); border: 1px solid var(--brand-soft); border-left: 3px solid var(--brand);
	border-radius: var(--radius); padding: .9rem 1.1rem; margin-block-end: var(--space-m); font-size: var(--step--1); color: var(--text); }

/* Messages WooCommerce */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top: 0; border-radius: var(--radius); padding: 1rem 1rem 1rem 3rem; }
.woocommerce-message { background: color-mix(in oklch, var(--ok) 10%, white); }
.woocommerce-message::before { color: var(--ok); }
.woocommerce-info { background: var(--brand-tint); }
.woocommerce-info::before { color: var(--brand); }

/* Mon compte */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: .35rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .7rem 1rem; border-radius: var(--radius); border: 1px solid var(--line-soft); text-decoration: none; color: var(--text); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--brand); color: #fff; border-color: var(--brand); }

/* Mini-panier dans l'en-tête (si présent) */
.site-header .cart-contents { position: relative; }
