/* ==========================================================================
   FICHIER CSS GLOBAL - ADD-ON SYNEXTA WOOCOMMERCE
   Nettoyé : Ne contient plus le module Boutique (voir assets/css/boutique.css)
   ========================================================================== */

/* --- 6. ARIANE (GLOBAL) --- */
/* Conservé ici car utilisé potentiellement ailleurs ou demandé tel quel */
.synexta-ariane-wrapper { width: 100%; margin-bottom: 20px; font-size: 0.85em; }
.synexta-ariane-nav ol { display: flex; list-style: none !important; margin: 0 !important; padding: 0 !important; overflow-x: auto; align-items: center; gap: 8px; }
.synexta-ariane-item { display: flex; align-items: center; font-size: 14px; color: #666; margin: 0 !important; text-transform: uppercase; }
.synexta-ariane-link { text-decoration: none; color: inherit; font-weight: 500; }
.synexta-ariane-sep { margin: 0 0 0 8px; opacity: 0.4; }
.syn-home-icon { vertical-align: middle; position: relative; top: 2px; }
.syn-home-icon svg { width: 16px; height: 16px; }


/* ==========================================================================
   MODULE : FICHE PRODUIT & AUTRES
   ========================================================================== */
.synexta-product-gallery { max-width: 100%; width: 100%; margin: auto; }
.main-image { width: 100%; aspect-ratio: 1/1; object-fit: cover; margin: 10px 0px; overflow: hidden; position: relative; cursor: pointer; }
.main-image img { width: 100%; height: auto; object-fit: contain; display: block; transition: transform 0.2s ease; }
.other_images.two-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.other_images.three-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.other_images.four-columns { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.other_images.five-columns { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.image-square { width: 100%; padding-top: 100%; position: relative; overflow: hidden; }
.image-square img { position: absolute; top: 0; left: 0; width: 100%; max-width: 100%; height: 100% !important; object-fit: cover; }
.image-square.youtube-thumbnail img { position: absolute; top: 70%; left: 50%; width: 100%; height: 100%; transform: scale(1.5) translate(-50%, -50%); object-fit: cover; }
.image-square.youtube-thumbnail img.video-icon { position: absolute; top: 50%; left: 50%; width: 70px; height: 70px; transform: translate(-50%, -50%); pointer-events: none; object-fit: contain; }
.modal { z-index: 9; display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.9); justify-content: center; align-items: center; }
.modal-content { position: relative; z-index: 9; margin: auto; display: block; max-width: 90%; max-height: 90%; }
.close { position: absolute; top: 80px; right: 35px; color: #fff; font-size: 70px; font-weight: bold; cursor: pointer; }
.purchase { margin: 20px 0; display: inline-block; background: white; border: 1px solid var(--primaire); }
.description_variation, .description_variation a, .description_variation p, .description_variation li { font-size: 15px; }
.variation-dropdown { width: 100%; height: 46px; font-size: 16px; padding: 5px 10px; font-weight: 500; font-family: var(--globalfont); }
.description_variation { margin: 15px 0; padding: 5px 0 5px 10px; border-left: 8px solid var(--contrast); }
.purchase button { background: #fff; color: var(--primaire); border: none; padding: 5px 15px; font-size: 1em; border-radius: 0px; width: 200px; right: 0px; text-align: center; }
.purchase button:hover { font-weight: 700; }
.stock, .delais, .retours, .accessoires { font-size: 0.9em; margin: 0; display: block; color: #212121 !important; }
.servicetag { width: 32px; position: relative; top: 11px; margin-right: 30px; }
.purchase table { border-collapse: collapse; border-spacing: 0; width: 100%; }
.purchase th { font-size: 13px; text-align: center; font-weight: 400; color: var(--contrast); background-color: var(--primaire); margin-bottom: 15px; }
.purchase td { border: 1px solid #efefef; padding-left: 15px; }
.purchase .quantity { max-width: 60px; width: 60px; padding: 10px 5px; font-size: 1em; height: 42px; background: white; color: var(--primaire); border: none; }
.liste-accessoires { margin-top: 20px; color: #212121 !important; }
.liste-accessoires p { text-align: center; padding: 8px 10px !important; border: 1px solid var(--primaire); font-weight: 400; margin: 0 0 5px 0; font-size: 0.8em; text-transform: uppercase; }
.liste-accessoires ul { list-style: none !important; padding: 0 !important; }
.liste-accessoires .upsell-quantity { padding: 0 10px; aspect-ratio: 2 / 1; font-size: 1em; border: 0px solid #afafaf; height: 32px; position: relative; top: -1px; }
.produit_lie_image { width: 32px; height: 32px; display: inline-block; object-fit: contain; position: relative; top: 9px; margin: 0 15px; }
.upsell_price { margin-left: 5px; font-size: 1em; }
.upsell_price:before { content: "pour "; text-transform: lowercase; }
@media (max-width: 786px) { .upsell_price { text-align: right; display: block; } .hidemobile { display: none; } }
.tagline { margin-top: 10px; }
.tagline p { background: var(--primaire); color: var(--contrast); border-radius: 20px; display: inline-block; padding: 3px 10px 3px !important; font-size: 0.8em; line-height: 1.5em; }
.oldprice bdi { font-size: 0.8em !important; margin-right: 10px; font-weight: 400; text-decoration: line-through; position: relative; top: -5px; }
.productshortdescription { display: block; margin: 30px 0; line-height: 1.3em; }
.starting_at { font-size: 0.8em; margin-right: 10px; }
.attribut_array .label { font-weight: 700; }
.attribut_array p { padding: 0 0 5px 0; font-size: 0.9em; line-height: 1.6em; }

/* CHECKOUT */
.custom-checkout { max-width: 1200px; margin: 0 auto; padding: 20px; }
.checkout-columns { display: flex; flex-wrap: wrap; gap: 20px; }
.checkout-left, .checkout-right { width: calc(50% - 10px); padding: 20px; background-color: #ffffff; border: 1px solid #afafaf; }
@media (max-width: 980px) { .checkout-left, .checkout-right { width: 100%; } }
.woocommerce-billing-fields h3 { display: none !important; }
.custom-checkout h3 { display: block; margin: 10px 0 20px; font-size: 1.6em; color: #333; }
.custom-checkout input, .custom-checkout textarea { border: 1px solid #afafaf; font-size: 1em; padding: 5px 10px; font-family: var(--globalfont); }
.custom-checkout p, .custom-checkout, .custom-checkout label { font-family: var(--globalfont); }
.destinataire { margin-bottom: 10px; }
.destinataire input, .destinataire textarea { width: 48%; margin-right: 2%; box-sizing: border-box; }
.destinataire input:last-child, .destinataire textarea { margin-right: 0; }
.woocommerce-input-wrapper textarea { min-height: 110px; }
.select2-container--default .select2-selection--single { background-color: #eee !important; border: 1px solid #eee !important; border-radius: 0px; padding: 15px 0 40px 0; }
.shoppinglist table { width: 100%; border-collapse: collapse; margin-top: 43px; }
.shoppinglist th, .shoppinglist td { border-bottom: 1px solid #e0e0e0; padding: 10px; text-align: left; }
.shoppinglist th { background-color: #f8f8f8; font-weight: bold; }
.lignetitre { font-weight: 400 !important; font-size: 13px !important; text-transform: lowercase; background-color: #eee !important; }
.totalligne, .total_tva, .grand_total { white-space: nowrap; }
.commande_recap, .commande_recap a, .commande_recap p { font-size: 14px; line-height: 1.1em; color: #313131; }
.totalligne button { background: white; border: 1px solid #212121; width: 25px; font-size: 16px; height: 25px; line-height: 15px; text-align: center; }
.totalligne button:hover { background: #212121; border: 1px solid #212121; color: white; }
.checkout-payment { padding: 20px; margin-top: 20px; background-color: #ffffff; border-radius: 8px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); border: 1px solid #afafaf; }
.checkout-payment label { color: #313131 !important; }
.checkout-payment .checkbox { display: block; margin-top: 15px !important; }
.checkout-payment button { float: none !important; font-family: var(--globalfont); background: #fff; padding: 11px 15px; font-size: 15px; border-radius: 0px; width: 200px; text-align: center; border: 1px solid var(--primaire); margin-top: 50px; color: var(--primaire) !important; opacity: 1 !important; }
.checkout-payment button:hover { font-weight: 700; }
.checkout-payment button.disabled-btn { background:black; color:white !important; }
#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box, #add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment { background: white !important; }
.grand_total { font-weight: 700 !important; font-size: 1.1em !important; }
.total_tva { font-size: 0.8em !important; }
.totalcommande { display: block; padding: 25px 20px !important; margin: 20px 0; border: 1px solid #bfbfbf; max-width: 450px; float: right; }
.totalcommande .amount { font-size: 1.2em; font-weight: 600; }
.fraislivraison { font-weight: 400; font-size: 13px; line-height: 1em !important; padding: 0px; margin: 10px 0 0 0; display: inline-block; }
.fraislivraison .amount { font-weight: 600; }
.checkout-errors-container { margin: 10px; border-top: 1px solid gray; border-bottom: 1px solid gray; padding: 10px; list-style-type: disc; }
.checkout-errors-container.is-valid { border:none; }
.checkout-errors-container li { font-size:13px; color:red !important; }
.checkout_addontext { margin: 40px 0 !important; }
.checkout_ventescroisees h3 { padding: 30px 0 5px 0 !important; margin: 0px !important; }
.checkout_ventescroisees .smalltext { line-height: 1.2; margin-bottom: 30px; }
.checkout_ventescroisees h4, .checkout_ventescroisees p { font-size: 14px; margin: 0px; padding: 0px; }
.return_shop { margin-top: 20px; background: white; border: 1px solid var(--primaire); padding: 10px 20px; font-size: 1em; }
.nothing-buy-message { color: #313131; }

.synexta-woo-commande-recente { font-family: Arial, sans-serif; padding: 20px; background-color: #f9f9f9; border-radius: 8px; }
.synexta-woo-commande-titre { font-size: 22px; font-weight: bold; margin-bottom: 15px; color: #333; }
.synexta-woo-recap-title { font-size: 18px; text-decoration: underline; text-transform: uppercase; margin: 17px 0px; font-weight: bold; }
.synexta-woo-commande-numero, .synexta-woo-commande-statut, .synexta-woo-commande-client { margin-bottom: 10px; color: #555; }
.synexta-woo-commande-total { font-weight: bold; margin-bottom: 10px; color: #333; }
.synexta-woo-commande-adresses { margin-top: 20px; }
.synexta-woo-adresse-titre, .synexta-woo-commentaire-titre, .synexta-woo-commande-details-titre { font-size: 17px; font-weight: bold; color: #333; margin-bottom:7px; }
.synexta-woo-commande-liste-produits { list-style-type: none; padding: 0; margin-top: 20px; }
.synexta-woo-produit-item { display: flex; margin-bottom: 15px; border-bottom: 1px solid #ddd; padding-bottom: 10px; }
.synexta-woo-produit-img { margin-right: 20px; width: 100px; }
.synexta-woo-produit-img img { width: 100%; height: auto; border-radius: 8px; }
.synexta-woo-produit-info { display: flex; flex-direction: column; justify-content: center; font-size: 1em; color: #555; }
.synexta-woo-produit-nom a { font-weight: bold; margin-bottom: 5px; color: #000; }
.synexta-woo-produit-total { font-weight: bold; color: #333; }

.woolist-price { display: block; text-align: right; }
.autre_produits { margin-top: 5px; padding: 20px 0; }
.autre_produits h4 { margin: 15px 0; font-size: 1.1em; text-transform: uppercase; font-weight: 300; }
.post-categories .post-cat { font-size: 10px; }
.post-categories { position: absolute; background: white; padding: 0px 5px; margin: 10px 0 0 10px; }
@media (max-width: 782px) { .post-categories { display: none; } }
.post-date { float: right; margin: -34px 10px 0px 0px; position: relative; z-index: 1; background: white; padding: 0px 10px; font-size: 15px; }

.autre_documents_grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.autre_documents_grille a { display: block; text-align: center; padding: 10px; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px; text-decoration: none; color: #333; transition: background-color 0.3s; }
.autre_documents_grille a:hover { background-color: #e9e9e9; }
.autre_documents_grille img { width: 100%; height: auto; aspect-ratio: 2/1; object-fit: contain; margin-bottom: 15px; }
.autre_documents_grille h4 { line-height: 1.2em; font-size: 0.8em; }

.accordeon-button { display: none; }
.nodisplay { visibility: hidden; }
.detail_categorie { margin: 50px 0 50px; display: flex; padding: 0 15px; max-width: 750px; gap: 15px; }
.image_categorie { width: 150px; flex-shrink: 0; }
.image_categorie img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 100%; border: 1px solid #dfdfdf; }
.description_categorie { flex-grow: 1; padding: 15px 0 }
.description_categorie_inner { font-size: 16px; opacity: 0.8; }
@media (max-width: 992px) { .image_categorie { display: none; } .description_categorie { width: 100%; } }
.searchbox { display: block; margin-bottom: 20px; }
.searchbox input { width: 100%; max-width: 290px; height: 35px; border: 1px solid #bfbfbf; padding: 10px; }