/* =====================================================================
   Pages WordPress et WooCommerce habillées comme la maquette
   (panier, commande, compte, fiches à plusieurs choix, blog, messages)
   ===================================================================== */

/* ── Pages larges : panier, commande, compte ─────────────────────────── */
.page-woo{max-width:1180px;margin:auto;padding:30px 0 100px}
.page-woo>h1{font:500 clamp(40px,5vw,64px)/1 var(--serif);margin-bottom:26px}
.woo-zone{font-size:15.5px;color:var(--encre)}
.woo-zone a{color:var(--accent-fonce);text-decoration:underline;text-underline-offset:3px}
.woo-zone a.button,.woo-zone .button,.woo-zone button.button,.woo-zone input.button,
.fiche-native .button,.fiche-native button.single_add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border-radius:999px;
  background:var(--encre);color:var(--fond);font:500 13.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;transition:background .25s}
.woo-zone .button:hover,.fiche-native .button:hover{background:var(--brun)}
.woo-zone .button.alt,.woo-zone #place_order{width:100%;height:58px;font-size:14px}
.woo-zone .button:disabled,.woo-zone .button.disabled{opacity:.5;cursor:not-allowed}

/* Champs */
.woo-zone input.input-text,.woo-zone textarea,.woo-zone select,.woo-zone .select2-container .select2-selection--single,
.fiche-native select,.fiche-native input.qty{
  width:100%;min-height:52px;border:1px solid var(--ligne);border-radius:12px;background:var(--carte);padding:12px 16px;font:400 15px var(--sans);color:var(--encre);outline:none;transition:border-color .2s}
.woo-zone input.input-text:focus,.woo-zone textarea:focus,.woo-zone select:focus{border-color:var(--encre)}
.woo-zone .select2-container .select2-selection--single{display:flex;align-items:center;height:52px}
.woo-zone .select2-container--default .select2-selection--single .select2-selection__arrow{height:50px;right:10px}
.woo-zone label{display:block;font-size:14px;margin-bottom:6px;color:var(--encre-2)}
.woo-zone .form-row{margin-bottom:16px}
.woo-zone .form-row-first,.woo-zone .form-row-last{width:calc(50% - 8px);display:inline-block;vertical-align:top}
.woo-zone .form-row-first{margin-right:12px}
.woo-zone .required{color:var(--promo);text-decoration:none}
.woo-zone input[type=checkbox],.woo-zone input[type=radio]{accent-color:var(--encre);width:18px;height:18px;vertical-align:middle;margin-right:8px}

/* Tableaux (panier, commandes) */
.woo-zone table.shop_table{width:100%;border-collapse:collapse;background:var(--carte);border:1px solid var(--ligne);border-radius:20px;overflow:hidden}
.woo-zone table.shop_table th{font:500 12.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--encre-2);text-align:left;padding:16px 18px;border-bottom:1px solid var(--ligne)}
.woo-zone table.shop_table td{padding:16px 18px;border-bottom:1px solid var(--ligne);vertical-align:middle}
.woo-zone table.shop_table tr:last-child td{border-bottom:0}
.woo-zone table.cart img{width:70px;height:92px;object-fit:cover;border-radius:10px}
.woo-zone table.cart .product-name a{font:500 20px/1.2 var(--serif);color:var(--encre);text-decoration:none}
.woo-zone table.cart .product-remove a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--fond-2);color:var(--encre)!important;text-decoration:none;font-size:18px}
.woo-zone table.cart td.actions{text-align:right}
.woo-zone .coupon{display:inline-flex;gap:10px;float:left}
.woo-zone .coupon input{width:200px}
.woo-zone .quantity input.qty{width:76px;text-align:center;min-height:44px}
.woo-zone .cart-collaterals{margin-top:30px;display:flex;justify-content:flex-end}
.woo-zone .cart_totals{width:min(460px,100%)}
.woo-zone .cart_totals h2,.woo-zone h3#order_review_heading,.woo-zone .woocommerce-billing-fields h3,.woo-zone .woocommerce-shipping-fields h3,.woo-zone .woocommerce-additional-fields h3{font:500 30px/1.1 var(--serif);margin:0 0 16px}
.woo-zone .wc-proceed-to-checkout{margin-top:18px}
.woo-zone .wc-proceed-to-checkout .checkout-button{width:100%;height:58px}

/* Commande : deux colonnes */
.woo-zone form.checkout{display:grid;grid-template-columns:1.25fr 1fr;gap:20px 46px;align-items:start}
.woo-zone form.checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
.woo-zone form.checkout #customer_details{grid-column:1}
.woo-zone form.checkout #order_review_heading,.woo-zone form.checkout #order_review{grid-column:2}
.woo-zone form.checkout #order_review_heading{grid-row:1;margin-bottom:-10px}
.woo-zone form.checkout #order_review{grid-row:2/span 3;position:sticky;top:130px;background:var(--carte);border:1px solid var(--ligne);border-radius:22px;padding:24px}
.woo-zone form.checkout #customer_details{grid-row:1/span 3}
.woo-zone #order_review table.shop_table{border:0;border-radius:0;background:none}
.woo-zone #payment{background:none;margin-top:18px}
.woo-zone #payment ul.payment_methods{list-style:none;padding:0;display:grid;gap:10px;margin:0 0 18px}
.woo-zone #payment ul.payment_methods li{border:1px solid var(--ligne);border-radius:14px;padding:14px 16px;background:var(--fond)}
.woo-zone #payment ul.payment_methods li label{display:inline;color:var(--encre);font-weight:500}
.woo-zone #payment .payment_box{margin-top:10px;font-size:14px;color:var(--encre-2)}
.woo-zone .woocommerce-terms-and-conditions-wrapper{font-size:13.5px;color:var(--encre-2);margin-bottom:16px}
.woo-zone #shipping_method{list-style:none;padding:0;margin:0}
.woo-zone #shipping_method li{margin-bottom:6px}

/* Compte cliente */
.woo-zone .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.woo-zone .woocommerce-MyAccount-navigation a{display:inline-block;padding:10px 18px;border-radius:999px;border:1px solid var(--ligne);color:var(--encre)!important;text-decoration:none!important;font-size:14px}
.woo-zone .woocommerce-MyAccount-navigation .is-active a{background:var(--encre);color:var(--fond)!important;border-color:var(--encre)}
.woo-zone .u-columns.col2-set,.woo-zone #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.woo-zone #customer_login>div,.woo-zone form.login,.woo-zone form.register{background:var(--carte);border:1px solid var(--ligne);border-radius:22px;padding:30px}
.woo-zone #customer_login h2{font:500 30px/1 var(--serif);margin-bottom:18px}
.woo-zone .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}

/* Messages WooCommerce */
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;background:var(--carte);border:1px solid var(--ligne);border-left:4px solid var(--accent);border-radius:14px;padding:16px 20px;margin:0 0 22px;font-size:15px;color:var(--encre);display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between}
.woocommerce-error{border-left-color:var(--promo)}
.woocommerce-message .button,.woocommerce-info .button{height:42px;padding:0 20px;font-size:12px}
.woocommerce-notices-wrapper:empty{display:none}

/* Fiche WooCommerce d'origine (articles à taille ou référence) */
.fiche-native{max-width:1180px}
.fiche-native .product{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.fiche-native .woocommerce-product-gallery{grid-column:1}
.fiche-native .woocommerce-product-gallery img{border-radius:20px}
.fiche-native .woocommerce-product-gallery__wrapper{margin:0}
.fiche-native .flex-control-thumbs{display:flex;gap:10px;list-style:none;padding:0;margin-top:10px}
.fiche-native .flex-control-thumbs img{width:76px;border-radius:10px;cursor:pointer}
.fiche-native .summary{grid-column:2}
.fiche-native .summary h1{font:500 clamp(36px,4vw,52px)/1.05 var(--serif);margin-bottom:12px}
.fiche-native .summary .price{font:500 26px var(--sans);margin-bottom:16px;display:block}
.fiche-native .summary .price del{opacity:.55;margin-left:8px}
.fiche-native .summary .price ins{text-decoration:none;color:var(--promo)}
.fiche-native table.variations{width:100%;margin:18px 0}
.fiche-native table.variations th,.fiche-native table.variations td{display:block;text-align:left;padding:0 0 8px}
.fiche-native .reset_variations{font-size:13px;color:var(--encre-2)}
.fiche-native form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px}
.fiche-native .woocommerce-tabs,.fiche-native .related,.fiche-native .upsells{grid-column:1/-1}
.fiche-native .woocommerce-tabs ul.tabs{list-style:none;padding:0;display:flex;gap:18px;border-bottom:1px solid var(--ligne);margin-bottom:18px}
.fiche-native .woocommerce-tabs ul.tabs a{font:500 14px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--encre)}
.fiche-native .related ul.products,.fiche-native .upsells ul.products{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fiche-native ul.products img{border-radius:16px}
.fiche-native .onsale{position:absolute;background:var(--promo);color:#fff;border-radius:999px;padding:4px 10px;font-size:12px}

/* Blog : pagination */
.pagination-blog{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:10px 0 40px}
.pagination-blog .page-numbers{min-width:42px;height:42px;padding:0 14px;display:grid;place-items:center;border:1px solid var(--ligne);border-radius:999px;color:var(--encre)}
.pagination-blog .current{background:var(--encre);color:var(--fond);border-color:var(--encre)}

/* Contenus d'anciennes pages (Flatsome) */
.contenu img{max-width:100%;height:auto;border-radius:14px}
.contenu details{border-bottom:1px solid var(--ligne);padding:12px 0}
.contenu summary{cursor:pointer;font-weight:500}
.wpcf7 input:not([type=submit]),.wpcf7 textarea{width:100%;border:1px solid var(--ligne);border-radius:12px;background:var(--carte);padding:12px 16px;font:400 15px var(--sans);margin-top:6px}
.wpcf7 input[type=submit]{height:52px;padding:0 28px;border-radius:999px;background:var(--encre);color:var(--fond);border:0;font:500 13.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}

/* Barre d'administration WordPress : l'en-tête fixe passe dessous */
.admin-bar .entete{top:32px}
@media (max-width:782px){.admin-bar .entete{top:46px}}

@media (max-width:900px){
  .woo-zone form.checkout{grid-template-columns:1fr}
  .woo-zone form.checkout #order_review_heading,.woo-zone form.checkout #order_review,.woo-zone form.checkout #customer_details{grid-column:1;grid-row:auto}
  .woo-zone form.checkout #order_review{position:static}
  .woo-zone .u-columns.col2-set,.woo-zone #customer_login,.woo-zone .woocommerce-Addresses{grid-template-columns:1fr}
  .woo-zone .form-row-first,.woo-zone .form-row-last{width:100%;margin-right:0}
  .woo-zone table.shop_table_responsive thead{display:none}
  .woo-zone table.shop_table_responsive tr{display:block;border-bottom:1px solid var(--ligne)}
  .woo-zone table.shop_table_responsive td{display:flex;justify-content:space-between;gap:12px;border:0;padding:10px 16px}
  .woo-zone table.shop_table_responsive td::before{content:attr(data-title);font-size:13px;color:var(--encre-2)}
  .woo-zone table.cart td.product-thumbnail::before,.woo-zone table.cart td.product-remove::before,.woo-zone table.cart td.actions::before{display:none}
  .woo-zone .coupon{float:none;width:100%;margin-bottom:12px}
  .woo-zone .coupon input{flex:1}
  .fiche-native .product{grid-template-columns:1fr}
  .fiche-native .summary,.fiche-native .woocommerce-product-gallery{grid-column:1}
  .fiche-native .related ul.products,.fiche-native .upsells ul.products{grid-template-columns:1fr 1fr}
}

/* Les icônes des messages WooCommerce chevauchaient le texte */
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important}
.woocommerce-message,.woocommerce-info,.woocommerce-error{padding-left:20px!important}
.woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-login-toggle .woocommerce-info{justify-content:flex-start}

/* « Expédier à une adresse différente ? » et récapitulatif de commande */
.woo-zone #ship-to-different-address{font:500 18px/1.3 var(--sans);margin:18px 0}
.woo-zone #ship-to-different-address label{display:flex;align-items:center;gap:10px;color:var(--encre);cursor:pointer}
.woo-zone #ship-to-different-address input{margin:0}
.woo-zone .woocommerce-additional-fields{clear:both;margin-top:18px}
.woo-zone #order_review table.shop_table th{font:400 14px var(--sans);letter-spacing:0;text-transform:none;padding:12px 8px}
.woo-zone #order_review table.shop_table td{padding:12px 8px;font-size:14.5px}
.woo-zone #order_review .order-total th,.woo-zone #order_review .order-total td{font-size:18px;font-weight:500;color:var(--encre)}
.woo-zone #order_review .woocommerce-shipping-totals td{font-size:14px}
.woo-zone .woocommerce-order-overview{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px 30px;margin:18px 0 26px}
.woo-zone .woocommerce-order-overview li{font-size:13px;color:var(--encre-2);text-transform:uppercase;letter-spacing:.08em}
.woo-zone .woocommerce-order-overview strong{display:block;margin-top:4px;font:500 18px var(--sans);text-transform:none;letter-spacing:0;color:var(--encre)}
.woo-zone .woocommerce-thankyou-order-received{font:500 30px/1.2 var(--serif);color:var(--encre)}
.woo-zone .woocommerce-customer-details address{background:var(--carte);border:1px solid var(--ligne);border-radius:16px;padding:18px;font-style:normal;line-height:1.6}

/* Compte : un seul cadre ; champs au style du thème même face aux règles de WooCommerce */
.woo-zone #customer_login form.login,.woo-zone #customer_login form.register{background:none;border:0;padding:0;margin:0}
.woo-zone input.input-text,.woo-zone textarea.input-text,.woo-zone select{min-height:52px!important;border:1px solid var(--ligne)!important;border-radius:12px!important;background:var(--carte)!important;padding:12px 16px!important;font:400 15px var(--sans)!important;color:var(--encre)!important;box-shadow:none!important}
.woo-zone input.input-text:focus,.woo-zone textarea.input-text:focus{border-color:var(--encre)!important}
.woo-zone textarea.input-text{min-height:110px!important}
.woo-zone .woocommerce-form-login__rememberme{display:inline-flex!important;align-items:center;gap:6px;margin:6px 16px 0 0;color:var(--encre)}
.woo-zone .lost_password{margin-top:14px;font-size:14px}
.woo-zone form .form-row .woocommerce-form__label-for-checkbox{display:flex;align-items:flex-start;gap:8px;color:var(--encre)}
.woo-zone .woocommerce-privacy-policy-text{font-size:13px;color:var(--encre-2);margin:10px 0}

/* Sélecteur de langue (TranslatePress) : au-dessus de la barre « Ajouter au panier » sur téléphone */
@media (max-width:900px){
  body.single-product #trp-floater-ls{bottom:86px!important}
}

/* Fiche d'origine : un seul badge « Promo » et galerie à sa place */
.fiche-native .product{position:relative}
.fiche-native .summary .onsale,.fiche-native .product>.onsale~.onsale{display:none}
.fiche-native .product>.onsale{top:14px;left:14px;z-index:2}
.fiche-native .woocommerce-product-gallery{position:relative;opacity:1!important}
.fiche-native .woocommerce-product-gallery__trigger{position:absolute;top:14px;right:14px;z-index:3;width:40px;height:40px;border-radius:50%;background:var(--carte);display:grid;place-items:center}
.fiche-native .product_meta{font-size:13.5px;color:var(--encre-2);margin-top:18px;display:grid;gap:4px}

/* Langues : plus de bouton flottant, liens en bas de page et dans le menu mobile */
#trp-floater-ls{display:none!important}
.langues{display:flex;align-items:center;gap:8px;font-size:13.5px}
.langues a{color:inherit;opacity:.7;text-decoration:none}
.langues a[aria-current]{opacity:1;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.langues span{opacity:.5}
.tiroir-bas .langues{margin-top:6px}

/* Message d'erreur de la commande : bien visible */
.woocommerce-NoticeGroup-checkout .woocommerce-error{border:1px solid var(--promo);border-left-width:4px;background:#fbefec;font-weight:500}

/* Erreurs de commande : tout en haut du formulaire, sur toute la largeur */
@media (min-width:901px){
  .woo-zone form.checkout>.woocommerce-NoticeGroup{grid-row:1}
  .woo-zone form.checkout #customer_details{grid-row:2/span 3}
  .woo-zone form.checkout #order_review_heading{grid-row:2}
  .woo-zone form.checkout #order_review{grid-row:3/span 3}
}
@media (max-width:900px){
  .woo-zone form.checkout>.woocommerce-NoticeGroup{order:-1}
  .woo-zone form.checkout{display:flex;flex-direction:column}
}

/* Accueil : le titre lu par Google porte les mots-clés (petit surtitre), le grand titre visuel reste identique */
.heros h1.surtitre{font:500 12.5px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;margin:0}
.heros .heros-titre{font:500 clamp(46px,7vw,96px)/.98 var(--serif);letter-spacing:-.02em;margin:22px 0 26px;color:var(--encre)}
.heros .heros-titre em{font-style:italic;color:var(--accent);display:block}
@media (max-width:900px){.heros .heros-titre{margin:16px 0 18px}}

/* Accueil sur téléphone : les deux petites arches à la même hauteur, entièrement visibles */
@media (max-width:900px){
  .arche-2,.arche-3{top:16%;bottom:auto;height:64%;width:31%}
  .arche-2{left:2%}
  .arche-3{right:2%}
}
