/* WooCommerce (modules Divi et gabarits natifs) aux couleurs de la charte. Valeurs : tokens.css.
   Réf. visuelle : maquettes/site/pages/fiche-produit.html, panier.html, commande.html */

/* Boutons : un seul style principal (bleu de Prusse), un secondaire au trait */
.sg .woocommerce .button, .sg .woocommerce button.button, .sg .woocommerce a.button, .sg .woocommerce input.button,
.sg .single_add_to_cart_button, .sg .checkout-button, .sg #place_order, .sg .et_pb_wc_add_to_cart .button {
  background: var(--sg-encre) !important; color: var(--sg-blanc) !important; border: 1.5px solid var(--sg-encre) !important;
  border-radius: var(--sg-rayon) !important; font: 600 16px/1 var(--sg-sans) !important; min-height: 48px; padding: 15px 26px !important;
  letter-spacing: 0 !important; text-transform: none !important; transition: background var(--sg-duree) var(--sg-courbe);
}
.sg .woocommerce .button:hover, .sg .single_add_to_cart_button:hover, .sg #place_order:hover { background: var(--sg-encre-survol) !important; }
.sg .woocommerce .button::after, .sg .et_pb_wc_add_to_cart .button::after { display: none !important; }
.sg .woocommerce a.button.wc-backward, .sg .woocommerce .return-to-shop .button { background: transparent !important; color: var(--sg-encre) !important; }

/* Titres et prix */
.sg .product_title, .sg .et_pb_wc_title h1 { font: 700 var(--sg-t-h1)/var(--sg-lh-titre) var(--sg-serif) !important; color: var(--sg-encre) !important; }
.sg .woocommerce-loop-product__title { font: 400 var(--sg-t-carte)/1.3 var(--sg-serif) !important; color: var(--sg-encre) !important; }
.sg .price, .sg .woocommerce-Price-amount { color: var(--sg-encre) !important; font-family: var(--sg-sans); font-weight: 600; }
.sg .price del { color: var(--sg-gris); font-weight: 400; }
.sg .price ins { text-decoration: none; }
.sg .onsale { background: var(--sg-ocre) !important; color: var(--sg-encre) !important; border-radius: var(--sg-rayon) !important; font: 600 12px/1 var(--sg-sans) !important; padding: 6px 8px !important; min-height: 0 !important; min-width: 0 !important; }

/* Formats (variations) et quantité */
.sg .variations select, .sg .woocommerce .quantity .qty, .sg .woocommerce form .form-row .input-text, .sg .woocommerce form .form-row select,
.sg .woocommerce-checkout input.input-text, .sg .select2-container .select2-selection--single {
  height: 48px !important; border: 1px solid var(--sg-champ) !important; border-radius: var(--sg-rayon) !important;
  background: var(--sg-blanc) !important; padding: 0 14px !important; font: 400 16px var(--sg-sans) !important; color: var(--sg-encre) !important;
}
.sg .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding: 0; }
.sg .variations th.label, .sg .woocommerce form .form-row label { font: 500 15px var(--sg-sans) !important; color: var(--sg-encre); }
.sg .woocommerce form .form-row.woocommerce-invalid .input-text { border-color: var(--sg-erreur) !important; }
.sg :focus-visible { outline: none; box-shadow: var(--sg-focus); }

/* Réassurance du thème (inc/livraison.php) */
.sg .sg-reception { font: 600 15px var(--sg-sans); color: var(--sg-encre); margin: var(--sg-4) 0 var(--sg-2); }
.sg .et_pb_wc_add_to_cart .puces, .sg .woocommerce .puces { margin: 0 0 var(--sg-4); padding: 0; list-style: none; }
.sg .qwerty { font: 600 var(--sg-t-petit) var(--sg-sans); color: var(--sg-encre); background: var(--sg-ecume); display: inline-block; padding: 6px 10px; border-radius: var(--sg-rayon); }
.sg .sg-barre-livraison { margin: 0 0 var(--sg-5); font-size: var(--sg-t-petit); }
.sg .sg-barre-livraison .barre { height: 6px; background: var(--sg-ecume); margin-top: 8px; }
.sg .sg-barre-livraison .barre span { display: block; height: 100%; background: var(--sg-encre); }

/* Fil d'Ariane */
.sg .woocommerce-breadcrumb, .sg .et_pb_wc_breadcrumb { font: 400 var(--sg-t-legende) var(--sg-sans) !important; color: var(--sg-gris) !important; }
.sg .woocommerce-breadcrumb a { color: var(--sg-lien) !important; }

/* Panier et commande */
.sg .woocommerce table.shop_table { border: 1px solid var(--sg-trait); border-radius: 0; background: var(--sg-blanc); }
.sg .woocommerce table.shop_table th, .sg .woocommerce table.shop_table td { border-color: var(--sg-trait) !important; font-family: var(--sg-sans); }
.sg .woocommerce-checkout-review-order, .sg .cart_totals { background: var(--sg-blanc); padding: var(--sg-5); border: 1px solid var(--sg-trait); }
.sg .woocommerce-checkout #payment { background: var(--sg-papier) !important; border-radius: 0 !important; }
.sg .woocommerce-checkout #payment div.payment_box { background: var(--sg-ecume) !important; color: var(--sg-encre) !important; }
.sg .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--sg-ecume) !important; }
@media (max-width: 767px) {
  .sg .woocommerce table.shop_table_responsive tr { display: block; border-bottom: 1px solid var(--sg-trait); padding: var(--sg-3) 0; }
  .sg .woocommerce-cart .actions .coupon { float: none; width: 100%; }
}

/* Messages */
.sg .woocommerce-message, .sg .woocommerce-info { border-top-color: var(--sg-encre) !important; background: var(--sg-blanc) !important; color: var(--sg-encre) !important; }
.sg .woocommerce-message::before, .sg .woocommerce-info::before { color: var(--sg-encre) !important; }
.sg .woocommerce-error { border-top-color: var(--sg-erreur) !important; background: var(--sg-blanc) !important; color: var(--sg-erreur) !important; }

/* Avis : étoiles à la couleur de la charte */
.sg .star-rating span::before, .sg .comment-form-rating .stars a { color: var(--sg-encre) !important; }

/* Suggestion de clips au panier (inc/suggestion-clips.php) : l'argument est le port offert */
.sg .sg-suggestion { display: flex; gap: var(--sg-4); align-items: center; background: var(--sg-blanc); border: 1px solid var(--sg-trait); padding: var(--sg-4); margin: 0 0 var(--sg-5); }
.sg .sg-suggestion img { width: 72px; height: 72px; object-fit: cover; flex: none; border: 1px solid var(--sg-ecume); }
.sg .sg-suggestion .titre { font: 600 16px var(--sg-sans); color: var(--sg-encre); margin: 0 0 4px; }
.sg .sg-suggestion p { margin: 0; font-size: var(--sg-t-petit); color: var(--sg-gris); }
.sg .sg-suggestion .button { margin-left: auto; white-space: nowrap; background: transparent !important; color: var(--sg-encre) !important; }
.sg .sg-suggestion .button:hover { background: var(--sg-ecume) !important; }
@media (max-width: 767px) { .sg .sg-suggestion { flex-wrap: wrap; } .sg .sg-suggestion .button { margin-left: 0; width: 100%; text-align: center; } }

/* Fiche produit v2.2.0 : jamais de fil d'Ariane ni de bannière en haut (décisions de Léo) */
.sg.single-product .woocommerce-breadcrumb, .sg.single-product .et_pb_wc_breadcrumb, .sg.single-product .rank-math-breadcrumb,
.sg.single-product .bandeau, .sg.single-product .fiche-tete { display: none !important; }
/* Pastilles de format : visibles seulement quand fiche.js a tourné ; les listes de WooCommerce restent le repli sans JavaScript */
.sg .achat:not(.js-pastilles) .formats { display: none; }
.sg .achat.js-pastilles table.variations, .sg .achat.js-pastilles .reset_variations { display: none !important; }
.sg .achat form.cart { margin: 0; }
.sg .achat .single_add_to_cart_button { width: 100%; }
.sg .achat .woocommerce-variation-price { display: none; } /* le prix est déjà au-dessus, il suit le format */
.sg .achat .woocommerce-variation-add-to-cart { display: flex; gap: var(--sg-3); flex-wrap: wrap; }
.sg .achat .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 200px; }
.sg .achat .reassurance { list-style: none; padding-left: 0; }

/* Titre h1 du panier et de la commande (inc/titre-tunnel.php) : même gabarit que les autres titres de page, dans la largeur du site. */
.sg .titre-tunnel { max-width: var(--sg-wrap, 1200px); margin: var(--sg-8, 2rem) auto var(--sg-6, 1.5rem); padding-inline: var(--sg-4, 1rem); font: 700 var(--sg-t-h1)/var(--sg-lh-titre) var(--sg-serif); color: var(--sg-encre); }
