/*!
 * Takwa Collection — socle WooCommerce (thème takwa)
 * ATTENTION : WooCommerce pose aussi les classes « woocommerce », « woocommerce-page », « woocommerce-checkout »… sur
 * le <body> : un sélecteur doit viser le balisage WooCommerce (.form-row, .shop_table, #payment…), jamais une balise
 * seule (« .woocommerce-checkout h3 » restylerait les titres du pied de page).
 * Remplace les feuilles par défaut de WooCommerce (woocommerce-general, -layout, -smallscreen : retirées dans
 * inc/woocommerce.php) avec les jetons du système de design. Couvre ce que les gabarits WooCommerce classiques
 * affichent partout : avis (messages), boutons, champs, tableaux (panier, récapitulatif, commandes), colonnes de la
 * commande et du compte, moyens de paiement (WooPayments), surcouche de chargement.
 * Les mises en page détaillées du prototype (panier.css, commande.css, compte.css, boutique.css, produit.css)
 * s'ajoutent à la phase suivante, gabarit par gabarit.
 */

/* ============================================================ 1. AVIS (ajouté au panier, erreurs de formulaire…) */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
  position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--e-3) var(--e-5);
  margin: 0 0 var(--e-6); padding: var(--e-4) var(--e-5);
  list-style: none; font-size: var(--fs-petit); line-height: 1.5;
  background: var(--fond-carte); color: var(--texte);
  border: 1px solid var(--filet); border-left: 3px solid var(--accent); border-radius: var(--r-2);
}
.woocommerce-info { border-left-color: var(--or-deco); }
.woocommerce-error { border-left-color: var(--c-erreur); color: var(--c-erreur); display: grid; }
.woocommerce-error li { margin: 0; }
.woocommerce-error li + li { margin-top: var(--e-2); }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a:not(.button) { color: inherit; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; }

/* ============================================================ 2. BOUTONS */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce-page a.button, .woocommerce-page button.button, .woocommerce-page input.button,
.woocommerce .button, .wc-forward, #place_order, .checkout-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .6em;
  min-height: 2.75rem; padding: .6rem 1.3rem;
  font-family: var(--f-texte); font-size: .72rem; font-weight: 500; line-height: 1.2; letter-spacing: .16em; text-transform: uppercase;
  text-decoration: none; text-align: center; cursor: pointer;
  color: var(--accent); background: transparent; border: 1px solid var(--accent); border-radius: var(--r-1);
  transition: background-color var(--t-rapide) var(--ease), color var(--t-rapide) var(--ease), border-color var(--t-rapide) var(--ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce .button:hover, .wc-forward:hover {
  background: var(--accent); color: var(--accent-contraste);
}
.woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce a.button.alt, #place_order, .checkout-button,
.woocommerce .single_add_to_cart_button, .woocommerce button.woocommerce-form-login__submit, .woocommerce button.woocommerce-form-register__submit,
.woocommerce button.woocommerce-Button[name="save_account_details"], .woocommerce button.woocommerce-Button[name="save_address"] {
  color: var(--accent-contraste); background: var(--accent); border-color: var(--accent);
}
.woocommerce .button.alt:hover, #place_order:hover, .checkout-button:hover, .woocommerce .single_add_to_cart_button:hover,
.woocommerce button.woocommerce-form-login__submit:hover, .woocommerce button.woocommerce-form-register__submit:hover {
  background: var(--accent-survol); border-color: var(--accent-survol); color: var(--accent-contraste);
}
.woocommerce .button:disabled, .woocommerce .button.disabled, .woocommerce .woocommerce-form-login__submit,
.woocommerce .woocommerce-form-register__submit { width: 100%; }
.woocommerce .button:disabled, .woocommerce .button.disabled, .woocommerce button.button:disabled[disabled] { opacity: .45; cursor: not-allowed; pointer-events: none; }
#place_order, .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 3.5rem; font-size: .8rem; }
.woocommerce a.added_to_cart { display: inline-block; margin-top: var(--e-2); font-size: var(--fs-mini); color: var(--accent); }

/* ============================================================ 3. CHAMPS */
.woocommerce form .form-row, .woocommerce-page form .form-row { display: grid; gap: .4rem; margin: 0 0 var(--e-5); padding: 0; }
.woocommerce form .form-row label, .woocommerce-page form .form-row label { font-size: .72rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--texte); line-height: 1.4; }
.woocommerce form .form-row label.checkbox, .woocommerce form .form-row .woocommerce-form__label-for-checkbox,
.woocommerce-form__label-for-checkbox { display: flex; align-items: flex-start; gap: .6rem; font-size: var(--fs-petit); text-transform: none; letter-spacing: 0; font-weight: 400; cursor: pointer; }
.woocommerce form .form-row .required { color: var(--c-erreur); text-decoration: none; border: 0; }
.woocommerce form .form-row .optional { text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--texte-doux); }
.woocommerce form .input-text, .woocommerce-page form .input-text, .woocommerce form .form-row select,
.woocommerce form .form-row textarea, .woocommerce .quantity .qty, #coupon_code {
  width: 100%; min-height: 3rem; padding: .7rem 1rem; font-size: 1rem; font-family: var(--f-texte);
  color: var(--texte); background: var(--fond-champ); border: 1px solid var(--filet-fort); border-radius: var(--r-1);
  transition: border-color var(--t-rapide) var(--ease), box-shadow var(--t-rapide) var(--ease);
}
.woocommerce form .input-text:focus-visible, .woocommerce form .form-row select:focus-visible, .woocommerce form .form-row textarea:focus-visible, .woocommerce .quantity .qty:focus-visible, #coupon_code:focus-visible {
  outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);
}
.woocommerce form .form-row.woocommerce-invalid .input-text, .woocommerce form .form-row.woocommerce-invalid select { border-color: var(--c-erreur); }
.woocommerce form .form-row.woocommerce-validated .input-text { border-color: var(--c-succes); }
.woocommerce form .form-row textarea { min-height: 6rem; resize: vertical; }
.woocommerce .quantity { display: inline-flex; }
.woocommerce .quantity .qty { width: 4.5rem; text-align: center; padding-inline: .4rem; }
.woocommerce form .form-row input[type="checkbox"], .woocommerce-form__input-checkbox, .woocommerce #payment input[type="radio"],
#shipping_method input[type="radio"], .woocommerce-shipping-methods input[type="radio"] { width: 1.15rem; height: 1.15rem; margin: .15rem 0 0; accent-color: var(--accent); flex: none; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { min-width: 0; }
@media (min-width: 600px) {
  .woocommerce form .form-row-first, .woocommerce-page form .form-row-first { float: left; width: calc(50% - .5rem); }
  .woocommerce form .form-row-last, .woocommerce-page form .form-row-last { float: right; width: calc(50% - .5rem); }
  .woocommerce form .form-row-wide, .woocommerce .clear { clear: both; }
}
.woocommerce-input-wrapper { display: block; }
.woocommerce .password-input { position: relative; display: block; }
.woocommerce .show-password-input { position: absolute; right: .6rem; top: 50%; transform: translateY(-50%); width: 2rem; height: 2rem; opacity: .6; }
.woocommerce .show-password-input::before { content: ""; display: block; width: 1.1rem; height: 1.1rem; margin: auto; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; }
/* Listes de pays (selectWoo / select2) */
.select2-container .select2-selection--single { height: 3rem; border: 1px solid var(--filet-fort); border-radius: var(--r-1); background: var(--fond-champ); }
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 3rem; padding-left: 1rem; color: var(--texte); }
.select2-container .select2-selection--single .select2-selection__arrow { height: 3rem; right: .5rem; }
.select2-dropdown { border-color: var(--filet-fort); border-radius: var(--r-1); }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--accent); color: var(--accent-contraste); }

/* ============================================================ 4. TABLEAUX (panier, récapitulatif, commandes) */
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; margin: 0 0 var(--e-7); font-size: var(--fs-petit); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: var(--e-4) var(--e-3); border-bottom: 1px solid var(--filet); text-align: left; vertical-align: middle; }
.woocommerce table.shop_table thead th { font-size: .7rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--texte-doux); }
.woocommerce table.shop_table tfoot th { font-weight: 500; }
.woocommerce table.shop_table .order-total td, .woocommerce table.shop_table .order-total th { font-family: var(--f-titre); font-size: 1.25rem; color: var(--titre); }
.woocommerce table.shop_table td.product-thumbnail img, .woocommerce table.cart img { width: 4.5rem; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r-1); background: var(--c-velours); }
.woocommerce table.shop_table td.product-name a { color: var(--titre); text-decoration: none; font-family: var(--f-titre); font-size: 1.15rem; }
.woocommerce table.shop_table dl.variation, .woocommerce .wc-item-meta { margin: .35rem 0 0; padding: 0; list-style: none; font-size: var(--fs-mini); color: var(--texte-doux); }
.woocommerce dl.variation dt, .woocommerce dl.variation dd { display: inline; margin: 0; }
.woocommerce dl.variation dd p, .woocommerce .wc-item-meta p { display: inline; margin: 0; }
.woocommerce a.remove { display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; color: var(--texte-doux) !important; text-decoration: none; font-size: 1.4rem; line-height: 1; }
.woocommerce a.remove:hover { background: var(--filet); color: var(--c-erreur) !important; }
.woocommerce table.cart td.actions { padding-top: var(--e-5); }
.woocommerce table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: var(--e-2); margin-bottom: var(--e-3); }
.woocommerce table.cart td.actions .coupon .input-text { width: auto; flex: 1 1 12rem; }
@media (max-width: 767.98px) {
  /* Tableaux en cartes sur téléphone (repris de woocommerce-smallscreen) */
  .woocommerce table.shop_table_responsive thead { display: none; }
  .woocommerce table.shop_table_responsive tbody th { display: none; }
  .woocommerce table.shop_table_responsive tr { display: block; padding: var(--e-3) 0; border-bottom: 1px solid var(--filet); }
  .woocommerce table.shop_table_responsive tr td { display: flex; justify-content: space-between; gap: var(--e-4); padding: .4rem 0; border: 0; text-align: right; }
  .woocommerce table.shop_table_responsive tr td::before { content: attr(data-title); font-family: var(--f-texte); font-size: .7rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--texte-doux); text-align: left; }
  /* Livraison (modes, adresse, « Calculer les frais ») : en colonne, pas en ligne */
  .woocommerce table.shop_table_responsive tr.woocommerce-shipping-totals td { display: grid; gap: .6rem; justify-items: start; text-align: left; }
  .woocommerce table.shop_table_responsive tr td.product-remove::before, .woocommerce table.shop_table_responsive tr td.actions::before, .woocommerce table.shop_table_responsive tr td.product-thumbnail::before { content: none; }
  .woocommerce table.shop_table_responsive tr td.product-thumbnail, .woocommerce table.shop_table_responsive tr td.actions { display: block; text-align: left; }
}

/* ============================================================ 5. PANIER & COMMANDE : COLONNES ET TOTAUX */
.woocommerce .cart-collaterals, .woocommerce-cart .cart-collaterals { display: grid; gap: var(--e-7); }
.woocommerce .cart_totals h2, .woocommerce form.woocommerce-checkout h3, #order_review_heading, .woocommerce-billing-fields h3, .woocommerce-shipping-fields h3, .woocommerce-additional-fields h3, .woocommerce-column__title, .woocommerce-order-details__title {
  font-family: var(--f-titre); font-size: var(--fs-h3); font-weight: 500; color: var(--titre); margin: 0 0 var(--e-5);
}
.woocommerce .col2-set, .woocommerce-page .col2-set { display: grid; gap: var(--e-7); }
@media (min-width: 1024px) {
  .woocommerce .cart-collaterals { grid-template-columns: minmax(0, 1fr) minmax(0, 26rem); }
  .woocommerce .cart-collaterals .cart_totals { grid-column: 2; }
  .woocommerce .col2-set, .woocommerce-page .col2-set { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-9); }
  .woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0 var(--e-10); align-items: start; }
  .woocommerce-checkout form.checkout > .col2-set { grid-column: 1; grid-row: 1 / span 3; grid-template-columns: 1fr; gap: var(--e-7); }
  .woocommerce-checkout form.checkout > #order_review_heading, .woocommerce-checkout form.checkout > #order_review { grid-column: 2; }
}
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { min-width: 0; }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register, .woocommerce-form-login, .woocommerce-form-register {
  padding: var(--e-6); margin: 0 0 var(--e-7); border: 1px solid var(--filet); border-radius: var(--r-2); background: var(--fond-carte);
}
.woocommerce #order_review { padding: var(--e-6); border: 1px solid var(--filet); border-radius: var(--r-2); background: var(--fond-carte); }
.woocommerce-shipping-methods, #shipping_method { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e-2); text-align: left; }
.woocommerce-shipping-methods li, #shipping_method li { display: flex; align-items: flex-start; gap: .5rem; }

/* Moyens de paiement (WooPayments : carte, Apple Pay, Google Pay) */
.woocommerce #payment { margin-top: var(--e-5); }
.woocommerce #payment ul.payment_methods { list-style: none; margin: 0 0 var(--e-5); padding: 0; display: grid; gap: var(--e-3); }
.woocommerce #payment ul.payment_methods li { padding: var(--e-4); border: 1px solid var(--filet-fort); border-radius: var(--r-2); background: var(--fond); }
.woocommerce #payment ul.payment_methods li > label { display: inline-flex; align-items: center; gap: .5rem; font-weight: 500; cursor: pointer; }
.woocommerce #payment ul.payment_methods li img { display: inline-block; max-height: 1.5rem; width: auto; vertical-align: middle; margin-left: .3rem; }
.woocommerce #payment div.payment_box { margin-top: var(--e-3); font-size: var(--fs-petit); color: var(--texte-doux); }
.woocommerce #payment div.payment_box p:last-child { margin-bottom: 0; }
.woocommerce #payment .place-order { padding: 0; margin: 0; display: grid; gap: var(--e-4); }
.woocommerce-terms-and-conditions-wrapper, .woocommerce-privacy-policy-text { font-size: var(--fs-mini); color: var(--texte-doux); }
.woocommerce-terms-and-conditions-wrapper a, .woocommerce-privacy-policy-text a { color: var(--accent); }
.wcpay-express-checkout-wrapper, #wcpay-express-checkout-element { margin-bottom: var(--e-5); }

/* ============================================================ 6. MON COMPTE */
.woocommerce-account .woocommerce { display: grid; gap: var(--e-7); }
@media (min-width: 1024px) { .woocommerce-account.logged-in .woocommerce { grid-template-columns: 15rem minmax(0, 1fr); gap: var(--e-10); } }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--e-2); }
@media (min-width: 1024px) { .woocommerce-MyAccount-navigation ul { display: grid; gap: 0; border-top: 1px solid var(--filet); } }
.woocommerce-MyAccount-navigation a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .4rem 1rem; border: 1px solid var(--filet-fort); border-radius: var(--r-pilule); text-decoration: none; font-size: var(--fs-petit); color: var(--texte); }
@media (min-width: 1024px) { .woocommerce-MyAccount-navigation a { display: flex; border: 0; border-bottom: 1px solid var(--filet); border-radius: 0; padding: .6rem 0; } }
.woocommerce-MyAccount-navigation .is-active a { color: var(--accent); font-weight: 500; border-color: var(--accent); }
.woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce .lost_password { font-size: var(--fs-petit); }
.woocommerce-Address { padding: var(--e-5); border: 1px solid var(--filet); border-radius: var(--r-2); }
.woocommerce-Address address { font-style: normal; }

/* ============================================================ 7. PRIX, BADGES, CHARGEMENT */
.woocommerce .price, .woocommerce-Price-amount { font-variant-numeric: lining-nums; white-space: nowrap; }
.woocommerce .price del, .woocommerce-Price-amount del { opacity: .6; }
.woocommerce .price ins { text-decoration: none; }
.woocommerce span.onsale { display: none; }  /* pas de badge « Promo ! » : prix barrés masqués (config afficherPrixBarres) */
.woocommerce .star-rating { display: none; } /* aucun avis affiché tant que la fiche du thème n'est pas en place */
.woocommerce .blockUI.blockOverlay { background: var(--fond) !important; opacity: .6 !important; cursor: wait; }
.woocommerce .blockUI.blockOverlay::after { content: ""; position: absolute; top: 50%; left: 50%; width: 1.6rem; height: 1.6rem; margin: -.8rem 0 0 -.8rem; border: 2px solid var(--filet-fort); border-top-color: var(--accent); border-radius: 50%; animation: tk-tourne .8s linear infinite; }
@keyframes tk-tourne { to { transform: rotate(360deg); } }
.woocommerce-store-notice, p.demo_store { position: relative; margin: 0; padding: var(--e-3) var(--gouttiere); text-align: center; font-size: var(--fs-petit); background: var(--c-emeraude-nuit); color: var(--c-ivoire); }
.woocommerce-store-notice a { color: var(--c-or-lumiere); }

/* ============================================================ 8. MINI-PANIER : requête en cours */
.tiroir.est-en-cours [data-qte], .tiroir.est-en-cours [data-retirer] { opacity: .5; pointer-events: none; }
.tiroir .champ__erreur { margin: 0 0 var(--e-4); }

/* ============================================================ 9. DÉTAILS DE LA COMMANDE */
.woocommerce form.woocommerce-checkout h3#ship-to-different-address { font-family: var(--f-texte); font-size: var(--fs-corps); margin: var(--e-3) 0 var(--e-5); }
.woocommerce form.woocommerce-checkout h3#ship-to-different-address label { font-size: var(--fs-corps); }
.woocommerce-checkout .create-account, .woocommerce-account-fields { margin-bottom: var(--e-5); }

/* ============================================================ 10. GABARITS WOOCOMMERCE PAR DÉFAUT (transition)
   Mise en page minimale de la boutique, des catégories et de la fiche tant que la phase suivante n'a pas fourni les
   gabarits du thème (woocommerce/archive-product.php, single-product.php : balisage du prototype, autres classes). */
.woocommerce ul.products { list-style: none; margin: 0 0 var(--e-9); padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-7) var(--e-3); }
@media (min-width: 820px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e-8) var(--e-5); } }
@media (min-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none; }
.woocommerce ul.products li.product { margin: 0; padding: 0; width: auto; float: none; display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.woocommerce ul.products li.product a.woocommerce-loop-product__link { display: grid; gap: .5rem; text-decoration: none; color: inherit; }
.woocommerce ul.products li.product img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; background: var(--c-velours); border-radius: var(--r-1); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--f-titre); font-size: 1.15rem; font-weight: 500; color: var(--titre); line-height: 1.2; margin: 0; }
.woocommerce ul.products li.product .price { font-size: var(--fs-petit); color: var(--texte); }
.woocommerce ul.products li.product .button { margin-top: auto; align-self: flex-start; }
.woocommerce .related > h2, .woocommerce .upsells > h2, .woocommerce .cross-sells > h2 { font-family: var(--f-titre); font-size: var(--fs-h2); font-weight: 500; color: var(--titre); margin: var(--e-9) 0 var(--e-6); }
.woocommerce .woocommerce-result-count { font-size: var(--fs-petit); color: var(--texte-doux); margin: 0 0 var(--e-4); }
.woocommerce .woocommerce-ordering { margin: 0 0 var(--e-6); }
.woocommerce .woocommerce-ordering select { min-height: 2.75rem; padding: .5rem 2.5rem .5rem .9rem; font-size: 1rem; border: 1px solid var(--filet-fort); border-radius: var(--r-1); background: var(--fond-champ); }
.woocommerce nav.woocommerce-pagination ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem; padding: 0; margin: var(--e-8) 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: grid; place-items: center; min-width: 2.75rem; height: 2.75rem; border-radius: var(--r-pilule); text-decoration: none; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--accent); color: var(--accent-contraste); }
.woocommerce-products-header__title { font-family: var(--f-titre); font-size: var(--fs-h1); font-weight: 500; color: var(--titre); text-align: center; margin: var(--e-5) 0 var(--e-7); }
.principal--woocommerce { padding-bottom: var(--section-y); }
/* Fiche produit par défaut */
.woocommerce div.product { display: grid; gap: var(--e-6); margin-top: var(--e-4); }
@media (min-width: 1024px) {
  .woocommerce div.product { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--e-6) var(--e-10); align-items: start; }
  .woocommerce div.product > .woocommerce-tabs, .woocommerce div.product > .related, .woocommerce div.product > .upsells { grid-column: 1 / -1; }
}
.woocommerce div.product .woocommerce-product-gallery { position: relative; margin: 0; opacity: 1 !important; }
.woocommerce div.product .woocommerce-product-gallery__wrapper { margin: 0; display: grid; gap: var(--e-3); }
.woocommerce div.product .woocommerce-product-gallery__image img { width: 100%; height: auto; border-radius: var(--r-1); background: var(--c-velours); }
.woocommerce div.product .product_title { font-family: var(--f-titre); font-size: var(--fs-h1); font-weight: 500; color: var(--titre); margin: 0 0 var(--e-3); }
.woocommerce div.product .summary > * + * { margin-top: var(--e-4); }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-family: var(--f-titre); font-size: 1.6rem; color: var(--texte); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: var(--e-3); align-items: stretch; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 12rem; min-height: 3rem; }
.woocommerce div.product form.variations_form { display: grid; gap: var(--e-4); }
.woocommerce div.product table.variations { border-collapse: collapse; width: 100%; }
.woocommerce div.product table.variations th, .woocommerce div.product table.variations td { display: block; padding: 0 0 .4rem; text-align: left; }
.woocommerce div.product table.variations select { width: 100%; min-height: 3rem; padding: .6rem 1rem; font-size: 1rem; border: 1px solid var(--filet-fort); border-radius: var(--r-1); background: var(--fond-champ); }
.woocommerce div.product .reset_variations { font-size: var(--fs-mini); }
.woocommerce div.product .product_meta { font-size: var(--fs-mini); color: var(--texte-doux); display: grid; gap: .2rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { list-style: none; display: flex; flex-wrap: wrap; gap: var(--e-2); padding: 0; margin: var(--e-6) 0 var(--e-4); border-bottom: 1px solid var(--filet); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: inline-flex; padding: .6rem .2rem; margin-right: var(--e-4); text-decoration: none; font-size: .72rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--texte-doux); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--accent); box-shadow: inset 0 -2px 0 var(--accent); }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: var(--largeur-texte); }
