/*************************************************
 CHOUCHOU —
**************************************************/
body::after{content:"CSS ACTIF";position:fixed;bottom:10px;right:10px;background:#111;color:#fff;padding:4px 6px;font:12px/1 sans-serif;z-index:99999}

:root{
  --cc-bordeaux:#8B3A3A;
  --cc-rose:#F8E7E2;
  --cc-creme:#F6EBDD;
  --cc-encre:#2B2B2B;
  --cc-blanc:#fff;
  --cc-vert:#4AAE63;
  --cc-ombre:0 28px 65px rgba(0,0,0,.14);
  --cc-ombre-soft:0 18px 40px rgba(0,0,0,.10);
  --cc-radius:22px;
  --cc-radius-img:16px;
  --cc-gap:24px;
  --cc-title:"Playfair Display", serif;
  --cc-body:"Inter", system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

/* Base */
body{ background:var(--cc-creme); color:var(--cc-encre); font-family:var(--cc-body); }
h1,h2,h3,h4,h5,h6{ font-family:var(--cc-title); color:var(--cc-bordeaux); }

/* ===================== ARCHIVE / CATÉGORIES « NOS FORMULES » ===================== */
body.post-type-archive-product .site-main,
body.tax-product_cat .site-main{
  background:var(--cc-bordeaux) !important;
  max-width:1440px; margin:0 auto; padding:56px 60px 80px;
}

/* Titre + sous-titre */
.post-type-archive-product .page-title,
.tax-product_cat .page-title{
  text-align:center; color:var(--cc-blanc);
  text-transform:uppercase; letter-spacing:.02em;
  font-size:46px; line-height:1.05; margin:0 0 10px;
}
.post-type-archive-product .page-title::after,
.tax-product_cat .page-title::after{
  content:"Tous nos Chouchous sont à base de crème mascarpone vanille maison, certains délicieusement agrémentés de glaçages, fruits de saison, toppings ou nappages.";
  display:block; font-family:var(--cc-body);
  color:#FBEDE8; opacity:.95; font-size:15px; line-height:1.5;
  margin:8px auto 26px; max-width:860px; text-transform:none;
}

/* Fil d’Ariane  */
.woocommerce-breadcrumb{ color:#F1D6D2; opacity:.95; }
.woocommerce-breadcrumb a{ color:#FFEAE6; }

/* Grille */
.woocommerce ul.products{ 
  display:grid !important; grid-template-columns:1fr !important;
  gap:32px !important; justify-items:stretch !important;
}

/* Carte produit */
.woocommerce ul.products li.product{
  position:relative; width:100% !important; float:none !important; margin:0 !important;
  background:var(--cc-rose); border:1px solid #EADBD6; border-radius:var(--cc-radius);
  box-shadow:var(--cc-ombre); padding:18px; overflow:hidden; min-height:300px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover{ transform:translateY(-4px); box-shadow:var(--cc-ombre-soft); }

/* Image à gauche (60%) */
.woocommerce ul.products li.product a img{
  float:left !important; width:60% !important; max-width:60% !important;
  aspect-ratio:4/3; object-fit:cover; margin:0 !important;
  border-radius:var(--cc-radius-img); box-shadow:0 8px 24px rgba(0,0,0,.12);
}

/* Titre colonne droite */
.woocommerce ul.products li.product :is(.woocommerce-loop-product__title,h2){
  font-family:var(--cc-title); color:var(--cc-bordeaux);
  font-size:22px; line-height:1.25;
  margin:8px 16px 6px calc(60% + 24px) !important;
}

/* Prix (badge) */
.woocommerce ul.products li.product .price{
  position:absolute; top:16px; right:16px;
  background:var(--cc-bordeaux); color:#fff; font-weight:800; font-size:14px;
  padding:6px 12px; border-radius:999px; line-height:1;
  box-shadow:0 6px 14px rgba(139,58,58,.28);
}

/* Bouton + quantité */
.woocommerce ul.products li.product .button{
  position:absolute; right:16px; bottom:16px;
  background:var(--cc-bordeaux) !important; color:#fff !important;
  border-radius:999px; padding:12px 18px; font-weight:800;
  box-shadow:0 10px 22px rgba(139,58,58,.28);
}
.woocommerce ul.products li.product .button:hover{ filter:saturate(1.06) brightness(1.02); transform:translateY(-1px); }

.woocommerce ul.products li.product .quantity{
  position:absolute; bottom:16px; right:170px; display:flex; align-items:center; gap:8px;
}
.woocommerce ul.products li.product .qty{
  width:54px; height:40px; border-radius:12px; border:1px solid #EADBD6; padding:0 10px;
}

/* Select de tri */
.woocommerce-ordering select{
  border-radius:999px; padding:10px 16px; border:1px solid #E9D6D1;
  background:#fff; color:var(--cc-encre);
}

/* ===================== PANIER ===================== */
.woocommerce-cart .woocommerce{
  display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:28px; align-items:start;
  max-width:1200px; margin:0 auto; padding:32px 20px 80px;
}
@media (max-width:1100px){ .woocommerce-cart .woocommerce{ grid-template-columns:1fr; } }
.woocommerce-cart :is(.entry-title,.page-title){ display:none; }

.woocommerce-cart table.shop_table{
  background:var(--cc-rose); border:1px solid #EADBD6;
  border-radius:var(--cc-radius); box-shadow:var(--cc-ombre-soft);
  overflow:hidden; width:100%; margin:0; border-collapse:separate;
}
.woocommerce-cart .shop_table::before{
  content:"Votre panier"; display:block; font-family:var(--cc-title);
  font-size:28px; color:var(--cc-bordeaux);
  padding:18px 20px 12px; border-bottom:1px solid #EADBD6;
}
.woocommerce-cart table.shop_table thead{ display:none; }

.woocommerce-cart table.shop_table tr.cart_item{
  display:grid; grid-template-columns:24px 80px 1fr 110px 110px 110px;
  align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid #EADBD6;
}
@media (max-width:860px){
  .woocommerce-cart table.shop_table tr.cart_item{
    grid-template-columns:24px 64px 1fr 90px; grid-auto-rows:auto;
  }
}
.woocommerce-cart table.shop_table :is(td,th){
  border:none !important; background:none !important; padding:6px 8px !important;
}

.woocommerce-cart .product-remove a{
  display:inline-grid; place-items:center; width:22px; height:22px;
  border-radius:999px; background:#F9D4D0; color:#8B3A3A; font-weight:700; text-decoration:none;
  box-shadow:0 2px 6px rgba(0,0,0,.08);
}
.woocommerce-cart .product-remove a:hover{ background:#f5c2bd; }

.woocommerce-cart .product-thumbnail img{
  width:72px; height:72px; object-fit:cover; border-radius:12px;
  box-shadow:0 4px 10px rgba(0,0,0,.12);
}
@media (max-width:860px){ .woocommerce-cart .product-thumbnail img{ width:64px; height:64px; } }

.woocommerce-cart .product-name{ font-family:var(--cc-title); color:var(--cc-encre); font-size:16px; }
.woocommerce-cart .product-name a{ color:var(--cc-encre); text-decoration:none; font-weight:600; }
.woocommerce-cart .product-name a:hover{ color:var(--cc-bordeaux); }
.woocommerce-cart .product-name .variation{ margin-top:6px; font-size:14px; color:#5a5a5a; }

.woocommerce-cart .product-price{ text-align:right; color:var(--cc-bordeaux); font-weight:600; }
.woocommerce-cart .product-quantity{ text-align:right; }
.woocommerce-cart .product-subtotal{ text-align:right; font-weight:700; color:var(--cc-bordeaux); }

.woocommerce-cart .quantity .qty{
  width:64px; height:42px; border-radius:12px; border:1px solid #EADBD6;
  padding:0 10px; background:#fff; text-align:center;
}
@media (max-width:860px){
  .woocommerce-cart .product-price,
  .woocommerce-cart .product-quantity,
  .woocommerce-cart .product-subtotal{ grid-column:3 / -1; text-align:left; }
}

.woocommerce-cart .actions{ padding:0 !important; border-top:1px solid #EADBD6; }
.woocommerce-cart .actions .coupon{ display:none; }

.woocommerce-cart button[name="update_cart"]{
  display:block; width:100%; background:#edd9d4; color:#8B3A3A;
  border-radius:999px; padding:12px 18px; font-weight:700; margin:10px auto; border:0;
}
.woocommerce-cart button[name="update_cart"]:hover{ background:#e9cfc9; }

.woocommerce-cart .cart-collaterals .cart_totals{
  position:sticky; top:24px; background:var(--cc-rose); border:1px solid #EADBD6;
  border-radius:20px; padding:22px; box-shadow:var(--cc-ombre-soft);
}
.woocommerce-cart .cart_totals h2{
  font-family:var(--cc-title); color:var(--cc-bordeaux); font-size:28px; margin:0 0 14px;
}
.woocommerce-cart .cart_totals table{ width:100%; margin:0 0 16px; border-collapse:collapse; }
.woocommerce-cart .cart_totals :is(th,td){ border:none; padding:6px 0; font-size:16px; color:var(--cc-encre); }
.woocommerce-cart .cart_totals .order-total td{ font-weight:700; font-size:18px; color:var(--cc-bordeaux); }

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width:100%; background:var(--cc-bordeaux) !important; color:#fff !important;
  border-radius:12px; padding:14px 22px; font-weight:800; text-align:center;
  box-shadow:0 12px 26px rgba(139,58,58,.22);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{ filter:brightness(1.05); }

/* ===================== CHECKOUT ===================== */
body.woocommerce-checkout{ background:var(--cc-bordeaux) !important; }
.woocommerce-checkout .site-main{
  background:
    radial-gradient(1200px 600px at 80% 15%, rgba(0,0,0,.06), transparent 60%),
    radial-gradient(900px 500px at 15% 60%, rgba(0,0,0,.04), transparent 60%),
    var(--cc-bordeaux) !important;
  padding:56px 20px 80px !important;
}

/* Grille */
.woocommerce-checkout .woocommerce{
  display:grid; grid-template-columns:minmax(0,1fr) 420px;
  gap:32px; align-items:start; max-width:1200px; margin:0 auto;
  filter: drop-shadow(0 24px 60px rgba(0,0,0,.18));
}
@media (max-width:1100px){ .woocommerce-checkout .woocommerce{ grid-template-columns:1fr; } }

/* Masquer le titre de page */
.woocommerce-checkout :is(.entry-title,.page-title){ display:none !important; }

/* Carte gauche (facturation + infos) */
.woocommerce-checkout #customer_details{
  background:var(--cc-rose) !important; border:1px solid #EADBD6 !important;
  border-radius:22px !important; box-shadow:var(--cc-ombre-soft) !important;
  padding:24px !important; position:relative; overflow:hidden; margin:0 !important;
}
.woocommerce-billing-fields > h3, .woocommerce-additional-fields > h3{ display:none !important; }
.woocommerce-checkout #customer_details::before{
  content:"Détails de facturation"; display:block; font-family:var(--cc-title);
  font-size:26px; color:var(--cc-bordeaux); margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid #EADBD6;
}

/* Grille des champs + inputs */
.woocommerce-billing-fields__field-wrapper{
  display:grid !important; grid-template-columns:1fr 1fr; gap:16px !important; margin:0 !important;
}
.woocommerce-billing-fields__field-wrapper > p{ margin:0 !important; }
@media (max-width:780px){
  .woocommerce-billing-fields__field-wrapper{ grid-template-columns:1fr !important; }
  .woocommerce-billing-fields__field-wrapper > p{ grid-column:1/2 !important; }
}
.woocommerce form .form-row{ margin:0 0 16px !important; padding:0 !important; }
.woocommerce form .form-row .woocommerce-input-wrapper{
  display:block; width:100% !important; padding:0 !important; margin:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important;
}
.woocommerce form .form-row label{ display:none !important; }
.woocommerce form .form-row :is(input.input-text,textarea,select){
  box-sizing:border-box !important; width:100% !important; min-height:54px !important;
  background:#FBEDE8 !important; border:1px solid #EADBD6 !important; border-radius:14px !important;
  padding:14px 16px !important; font-size:16px !important; color:var(--cc-encre) !important; box-shadow:none !important;
}
.woocommerce form .form-row textarea{ min-height:96px !important; resize:vertical; }
.woocommerce form .form-row :is(input,textarea,select):focus{
  background:#fff !important; border-color:var(--cc-bordeaux) !important; box-shadow:0 0 0 3px rgba(139,58,58,.18) !important; outline:0 !important;
}
.woocommerce form .form-row :is(input,textarea)::placeholder{ color:#7a6f6f !important; }

/* Select2 */
.select2-container{ width:100% !important; }
.select2-container .select2-selection--single{
  height:54px !important; background:#FBEDE8 !important; border:1px solid #EADBD6 !important; border-radius:14px !important;
}
.select2-container .select2-selection__rendered{ line-height:52px !important; padding:0 16px !important; color:var(--cc-encre) !important; }
.select2-container .select2-selection__arrow{ height:54px !important; right:12px !important; }

/* Infos complémentaires */
.woocommerce-checkout .woocommerce-additional-fields{
  margin-top:20px !important; padding-top:16px !important; border-top:1px solid #EADBD6;
}
.woocommerce-checkout .woocommerce-additional-fields::before{
  content:"Informations complémentaires"; display:block; font-family:var(--cc-title);
  font-size:22px; color:var(--cc-bordeaux); margin:0 0 10px;
}
#order_comments{ width:100% !important; min-height:96px !important; background:#FBEDE8 !important; border:1px solid #EADBD6 !important; border-radius:14px !important; padding:14px 16px !important; font-size:16px !important; }

/* Checkboxes */
.woocommerce-account-fields, .woocommerce-terms-and-conditions-wrapper{ margin-top:10px; font-size:14px; color:#6a6a6a; }
.woocommerce-terms-and-conditions-wrapper a{ color:var(--cc-bordeaux); text-decoration:underline; text-underline-offset:2px; }
.woocommerce form .form-row input[type="checkbox"]{
  width:18px; height:18px; border:1.5px solid #C9A9A4; border-radius:4px; appearance:none; display:inline-grid; place-content:center; background:#fff; margin-right:8px;
}
.woocommerce form .form-row input[type="checkbox"]:checked{ background:var(--cc-bordeaux); border-color:var(--cc-bordeaux); }
.woocommerce form .form-row input[type="checkbox"]:checked::after{ content:""; width:10px; height:10px; background:#fff; border-radius:2px; }

/* Carte droite : votre commande (capot + corps en une pastille) */
#order_review_heading{
  background:var(--cc-rose) !important; border:1px solid #EADBD6 !important; border-bottom:none !important;
  border-radius:22px 22px 0 0 !important; box-shadow:var(--cc-ombre-soft) !important;
  padding:24px !important; margin:0 !important; position:relative;
  font-family:var(--cc-title) !important; font-size:26px !important; color:var(--cc-bordeaux) !important; letter-spacing:.2px;
}
#order_review_heading + *[role="separator"],
#order_review_heading + hr,
#order_review_heading + .separator,
#order_review_heading + .elementor-divider,
#order_review_heading + .wp-block-separator{ display:none !important; }
#order_review_heading::after{ content:""; position:absolute; left:24px; right:24px; bottom:0; height:1px; background:#EADBD6; }

.woocommerce-checkout #order_review{
  background:var(--cc-rose) !important; border:1px solid #EADBD6 !important; border-top:none !important;
  border-radius:0 0 22px 22px !important; box-shadow:var(--cc-ombre-soft) !important;
  padding:24px !important; margin:0 !important;
}

/* Tableau récap */
.woocommerce-checkout #order_review table.shop_table{
  width:100%; border-collapse:collapse; margin:0 0 16px; background:transparent;
}
.woocommerce-checkout #order_review :is(th,td){ border:none; padding:10px 0; font-size:15px; color:var(--cc-encre); }
.woocommerce-checkout #order_review .cart_item td{ border-bottom:1px solid #EADBD6; }
.woocommerce-checkout #order_review .product-total{ text-align:right; color:var(--cc-bordeaux); font-weight:600; }
.woocommerce-checkout #order_review .order-total td{ font-weight:700; font-size:16px; color:var(--cc-bordeaux); }

/* Paiement */
.woocommerce-checkout #payment{
  background:#FBEDE8 !important; border:1px solid #EADBD6 !important;
  border-radius:12px !important; padding:16px !important; margin-top:12px !important;
}
.woocommerce-checkout #payment:before{
  content:"Paiement"; display:block; font-family:var(--cc-title);
  font-size:22px; color:var(--cc-bordeaux); margin:2px 0 10px;
}

/* CTA Commander */
.woocommerce-checkout #place_order{
  display:block; width:100%; background:var(--cc-bordeaux) !important; color:#fff !important;
  border-radius:12px !important; padding:16px 24px !important; font-weight:800; text-transform:uppercase;
  margin-top:16px; box-shadow:0 12px 26px rgba(139,58,58,.22); border:0;
}
.woocommerce-checkout #place_order:hover{ background:#6f2f2f !important; }

/* Notices checkout */
.woocommerce-checkout :is(.woocommerce-message,.woocommerce-error,.woocommerce-info){
  border-radius:999px; background:#FBEDE8 !important; border:1px solid #EADBD6 !important;
  padding:12px 18px; font-size:14px; color:var(--cc-encre); margin-bottom:18px;
}

/* Stack tablette */
@media (max-width:1100px){
  #order_review_heading{ border-radius:22px 22px 0 0 !important; }
  .woocommerce-checkout #order_review{ margin-top:0 !important; }
}

/* ==== Fond Bordeaux UNIQUEMENT sur les pages voulues ==== */
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.post-type-archive-product .site-main,
body.tax-product_cat .site-main{ background:var(--cc-bordeaux) !important; }

/* ==== Fond par défaut (autres pages) ==== */
body, body .site-main{ background:var(--cc-creme) !important; }

/* ===================== DIVERS ===================== */
.woocommerce a.button.alt, .button.alt{ background:var(--cc-bordeaux); color:#fff; border-radius:999px; }
.woocommerce ul.products li.product .star-rating{ display:none; }
/* Masques “résultats affichés” et fil d’Ariane */
.woocommerce-result-count{ display:none !important; }
.woocommerce-breadcrumb{ display:none !important; }

/*************************************************
 MOBILE — Optimisations (à placer APRÈS tout le reste)
**************************************************/
@media (max-width:680px){
  html, body{ overscroll-behavior-y:none; }
  .site, .site-main, #content, .content-area{
    padding-left:max(16px, env(safe-area-inset-left));
    padding-right:max(16px, env(safe-area-inset-right));
  }

  /* Archive */
  .post-type-archive-product .page-title,
  .tax-product_cat .page-title{ font-size:28px; margin-bottom:6px; }
  .post-type-archive-product .page-title::after,
  .tax-product_cat .page-title::after{ font-size:13px; line-height:1.45; margin-top:6px; padding:0 6px; }

  .woocommerce ul.products{ gap:18px !important; }
  .woocommerce ul.products li.product{ min-height:unset; padding:14px; }
  .woocommerce ul.products li.product a img{
    float:none !important; width:100% !important; max-width:100% !important;
    aspect-ratio:1/1; margin:0 0 12px !important; border-radius:16px;
  }
  .woocommerce ul.products li.product :is(.woocommerce-loop-product__title,h2){
    margin:0 0 8px !important; font-size:18px; line-height:1.25;
  }
  .woocommerce ul.products li.product .price{
    position:static; display:inline-block; margin:0 0 10px; padding:6px 10px; font-size:13px; border-radius:999px;
  }
  .woocommerce ul.products li.product .button{
    position:static; width:100%; display:block; text-align:center;
    padding:14px 16px; border-radius:12px; font-weight:800;
    box-shadow:0 10px 22px rgba(139,58,58,.18);
  }
  .woocommerce ul.products li.product .quantity{
    position:static; margin:0 0 10px; display:grid; grid-template-columns:110px 1fr; gap:10px; align-items:center;
  }
  .woocommerce ul.products li.product .qty{ width:100%; height:44px; border-radius:12px; font-size:16px; text-align:center; }
  .woocommerce-ordering select{ padding:10px 12px; font-size:14px; }

  /* Panier */
  .woocommerce-cart .woocommerce{ padding:20px 0 70px; gap:16px; }
  .woocommerce-cart table.shop_table{ border-radius:18px; }
  .woocommerce-cart table.shop_table tr.cart_item{
    grid-template-columns:22px 64px 1fr; gap:10px; padding:12px 14px;
  }
  .woocommerce-cart .product-thumbnail img{ width:64px; height:64px; border-radius:10px; }
  .woocommerce-cart .product-name{ font-size:15px; }
  .woocommerce-cart .product-price,
  .woocommerce-cart .product-quantity,
  .woocommerce-cart .product-subtotal{ grid-column:3 / -1; text-align:left; margin-top:4px; }
  .woocommerce-cart .quantity .qty{ height:44px; font-size:16px; width:86px; }
  .woocommerce-cart .cart-collaterals .cart_totals{ position:static; margin-top:8px; padding:18px; border-radius:18px; }
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{ position:sticky; bottom:12px; margin-top:10px; padding:16px; border-radius:14px; }

  /* Checkout */
  .woocommerce-checkout .woocommerce{ grid-template-columns:1fr; gap:18px; padding-bottom:70px; }
  .woocommerce-checkout #customer_details{ padding:18px; border-radius:18px; }
  .woocommerce-checkout #customer_details::before{ font-size:22px; margin-bottom:12px; padding-bottom:8px; }
  .woocommerce-billing-fields__field-wrapper{ grid-template-columns:1fr !important; gap:12px !important; }
  .woocommerce form .form-row :is(input.input-text,textarea,select){ min-height:50px !important; font-size:16px !important; border-radius:12px !important; }
  .select2-container .select2-selection--single{ height:50px !important; border-radius:12px !important; }
  .select2-container .select2-selection__rendered{ line-height:48px !important; }
  #order_review_heading{ padding:18px; font-size:22px; border-radius:18px 18px 0 0 !important; }
  .woocommerce-checkout #order_review{ padding:18px; border-radius:0 0 18px 18px !important; }
  .woocommerce-checkout #order_review :is(th,td){ padding:8px 0; font-size:14px; }
  .woocommerce-checkout #payment{ padding:14px; border-radius:12px !important; }
  .woocommerce-checkout #payment:before{ font-size:18px; margin-bottom:8px; }
  .woocommerce-checkout #place_order{
    position:sticky; bottom:12px; z-index:5; padding:16px 18px !important; border-radius:14px !important;
    font-size:16px; letter-spacing:.02em; box-shadow:0 16px 30px rgba(0,0,0,.18);
  }
  .woocommerce-checkout :is(.woocommerce-message,.woocommerce-error,.woocommerce-info){
    font-size:13px; padding:10px 14px; border-radius:999px;
  }
}

/* Très petit mobile */
@media (max-width:480px){
  .post-type-archive-product .page-title,
  .tax-product_cat .page-title{ font-size:24px; }
  .woocommerce ul.products li.product a img{ aspect-ratio:4/5; }
  .woocommerce ul.products li.product .price{ font-size:12px; padding:5px 9px; }
  .woocommerce ul.products li.product .button{ padding:13px 14px; }
  .woocommerce-cart table.shop_table tr.cart_item{ padding:10px 12px; }
  .woocommerce-cart .cart-collaterals .cart_totals{ padding:16px; }
  #order_review_heading{ padding:16px; font-size:20px; }
  .woocommerce-checkout #order_review{ padding:16px; }
  .woocommerce-checkout #payment{ padding:12px; }
}
/* Cacher le tri et le compteur sur boutique & catégories  */
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.post-type-archive-product .wc-block-catalog-sorting,
body.tax-product_cat .wc-block-catalog-sorting,
body.post-type-archive-product .wc-block-components-sort-select,
body.tax-product_cat .wc-block-components-sort-select,
body.post-type-archive-product select.orderby,
body.tax-product_cat select.orderby{
  display:none !important;
}
/******** FICHE PRODUIT — Titre design + Prix bordeaux ********/

/* Carte produit neutre */
body.single-product div.product{
  background:#fff; border:1px solid #eee; border-radius:16px;
  padding:24px; max-width:900px; margin:30px auto;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}

/* TITRE — élégant, avec petite touche design */
body.single-product .product_title,
body.single-product h1.product_title.entry-title{
  font-family:"Playfair Display", serif !important;
  font-size:34px !important; line-height:1.2 !important;
  font-weight:700 !important; letter-spacing:.5px !important;
  color:#2c2c2c !important; text-align:center !important;
  margin:0 0 20px !important;
  position:relative;
}
body.single-product .product_title::after{
  content:"";
  display:block;
  width:60px; height:3px;
  background:#8B3A3A;
  margin:10px auto 0;
  border-radius:2px;
  opacity:.8;
}

/* PRIX — pastille bordeaux plus “badge” */
body.single-product .summary .price,
body.single-product .entry-summary .price,
body.single-product .summary p.price,
body.single-product .entry-summary p.price{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  gap:6px !important; padding:10px 20px !important; margin:0 0 20px !important;
  background:#8B3A3A !important; color:#fff !important; border-radius:999px !important;
  font-weight:700 !important; font-size:20px !important; line-height:1 !important;
  text-decoration:none !important;
  box-shadow:0 6px 16px rgba(139,58,58,.25);
}
body.single-product .summary .price *,
body.single-product .entry-summary .price *{
  color:#fff !important; text-decoration:none !important;
}

/* BOUTON — Ajouter au panier */
body.single-product form.cart .single_add_to_cart_button,
body.single-product .single_add_to_cart_button{
  display:block !important; width:100% !important; text-align:center !important;
  padding:18px 22px !important; border:0 !important; border-radius:14px !important;
  background:linear-gradient(180deg,#9c3d3d,#7a2d2d) !important; color:#fff !important;
  font-weight:800 !important; font-size:17px !important; letter-spacing:.04em !important;
  text-transform:uppercase !important;
  box-shadow:0 12px 28px rgba(139,58,58,.28), inset 0 -2px 0 rgba(255,255,255,.18) !important;
  transition:transform .15s ease, filter .15s ease, box-shadow .15s ease !important;
}
body.single-product form.cart .single_add_to_cart_button:hover,
body.single-product .single_add_to_cart_button:hover{
  transform:translateY(-2px) !important; filter:brightness(1.06) !important;
  box-shadow:0 18px 36px rgba(139,58,58,.35), inset 0 -2px 0 rgba(255,255,255,.25) !important;
}

/* QUANTITÉ — inchangé */
body.single-product .quantity{ position:relative !important; width:160px !important; margin:16px auto !important; }
body.single-product .quantity input.qty{
  width:100% !important; height:48px !important; text-align:center !important;
  padding:0 56px !important; background:#fff !important;
  border:1px solid #e6e6e6 !important; border-radius:999px !important;
  font-size:16px !important; box-shadow:0 2px 6px rgba(0,0,0,.06) inset !important;
  -moz-appearance:textfield;
}
body.single-product .quantity input.qty::-webkit-outer-spin-button,
body.single-product .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* Boutons + / − */
body.single-product .quantity .minus,
body.single-product .quantity .plus,
body.single-product button.minus,
body.single-product button.plus{
  position:absolute !important; top:50% !important; transform:translateY(-50%) !important;
  width:38px !important; height:38px !important; border-radius:50% !important; border:0 !important;
  background:#8B3A3A !important; color:#fff !important; font-weight:900 !important; font-size:20px !important;
  display:inline-flex !important; align-items:center; justify-content:center; cursor:pointer !important;
  opacity:1 !important; visibility:visible !important; pointer-events:auto !important;
  box-shadow:0 4px 10px rgba(139,58,58,.25) !important;
}
body.single-product .quantity .minus, body.single-product button.minus{ left:6px !important; }
body.single-product .quantity .plus,  body.single-product button.plus { right:6px !important; }
body.single-product .quantity .minus:hover,
body.single-product .quantity .plus:hover,
body.single-product button.minus:hover,
body.single-product button.plus:hover{ background:#6f2f2f !important; }

/* Mobile */
@media (max-width:480px){
  body.single-product .product_title{ font-size:26px !important; }
  body.single-product .quantity{ width:140px !important; }
}
.elementor-4042 .elementor-element.elementor-element-5fa88aa {
    display: none;
}
.elementor-5173 .elementor-element.elementor-element-a822315 .elementor-heading-title {
	display:none;
}

.login_form #user-860099f {
    padding: 20px 20px 20px 20px !important;
	    border: 1px solid #8B3A3A;
}
.login_form #password-860099f  {
    padding: 20px 20px 20px 20px !important;
	border: 1px solid #8B3A3A;
}

body .login_form.elementor-widget-login .elementor-form-fields-wrapper label {
    color: #8B3A3A !important;
}
.login_form #elementor-login-remember-me:checked {
    accent-color: #8B3A3A;
}
.login_form #elementor-login-remember-me {
    accent-color: #8B3A3A !important;
}
.xoo-el-form-container ul.xoo-el-tabs{
	display:none;
}
form.xoo-el-action-form {
    margin-top: 0px;
    margin-bottom: 0;
}
.xoo-aff-input-group .xoo-aff-input-icon{
	display:none;
}
.xoo-aff-group input[type="text"]{
	background-color: #ffffff00;
}
.xoo-aff-required.xoo-aff-email
 {
    padding: 30px !important;
    border-radius: 10px !important;
	 background-color:#ffffff00 !important;
	 border:1px solid #8B3A3A !important;
	 color:#8B3A3A !important;
}
.xoo-el-form-container button.btn.button.xoo-el-action-btn {
	border-radius:50px;
}
.xoo-aff-group label{
	font-size:16px;
	color:#8B3A3A;
	font-weight:400 !important;
	line-height:25px;
}
.xoo-aff-checkbox_single input{
	display:none;
}
input.xoo-aff-required.xoo-aff-email {
    margin-top: -10px;
}
.elementor-5388 .elementor-element.elementor-element-c2c91e4 .cart_totals .shop_table {
    background-color: #02010100;
    border: none;
}
.elementor-5388 .elementor-element.elementor-element-c2c91e4 .cart_totals .shop_table tr th{
	background-color:#FEEEE5;
	color:#8B3A3A;
}
.elementor-5388 .elementor-element.elementor-element-c2c91e4 .cart_totals .shop_table tr.cart-subtotal td{
	background:#FEEEE5;
}
tr.order-total::hover {
    background: #FEEEE5 !important;
}
body .elementor-5388 .elementor-element.elementor-element-c2c91e4 .wc-proceed-to-checkout .button.checkout-button{
	width:100%;
	text-align:center;
}
body .elementor-5388 .elementor-element.elementor-element-c2c91e4 .wc-proceed-to-checkout .button.checkout-button{
	text-align:right;
}
.elementor-5173 .elementor-element.elementor-element-c329436 .cart_totals .shop_table {
  box-shadow: none !important;
}
.woocommerce-cart .shop_table::before{
	display:none;
}
.elementor-5173 .elementor-element.elementor-element-c329436 .cart_totals .shop_table tr.cart-subtotal td{
	text-align:right;
}
.elementor-5173 .elementor-element.elementor-element-c329436 .cart_totals .shop_table tr.order-total td{
	text-align:right;
}