/* ===========================================================
   Loulou Illustration — Commerce (produit / panier / checkout)
   =========================================================== */

/* ---------- Feuille ---------- */
.lcx-sheet{background:var(--paper);border-radius:40px;box-shadow:var(--sh-soft);border:1.5px solid var(--line);
  margin:22px auto 40px;padding:clamp(24px,4vw,56px);max-width:1300px;}
@media(max-width:640px){.lcx-sheet{border-radius:24px;margin:12px auto 30px;padding:22px 18px;}}

/* ---------- Header : reprend le menu de la home (mêmes classes) ---------- */
.lcx-headwrap{max-width:1220px;margin:0 auto;padding:14px clamp(16px,4vw,40px) 0;}
/* padding latéral du ruban/nav sur les pages commerce (la home a le sien via Elementor) */
body.lcx-page .lou-ribbon,body.lcx-page .lou-nav{box-sizing:border-box;}
/* pas de soulignement des liens du menu (le thème bloc souligne par défaut) */
body.lcx-page .lou-nav a,body.lcx-page .lou-menu a{text-decoration:none!important;}
/* alignement vertical parfait de la nav (neutralise le nudge top:16px de la home) */
body.lcx-page .lou-menu .elementor-nav-menu--main{top:0!important;position:static!important;margin-top:0!important;margin-bottom:0!important;}
body.lcx-page .lou-nav-inner{align-items:center!important;}
body.lcx-page .lou-nav-inner > *{align-self:center!important;}

/* ---------- Fil d'ariane ---------- */
.lcx-crumbs{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;
  color:var(--ink-soft);margin:0 0 22px;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.lcx-crumbs a{color:var(--sage-deep);text-decoration:none;}
.lcx-crumbs a:hover{color:var(--terracotta);}
.lcx-crumbs i{font-style:normal;opacity:.5;}

/* ---------- Grille produit ---------- */
.lcx-product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,60px);align-items:start;}
@media(max-width:900px){.lcx-product{grid-template-columns:1fr;gap:26px;}}
.lcx-gallery{position:relative;}
.lcx-desktop-gallery{display:block;}
.lcx-gallery-main{position:relative;border-radius:26px;overflow:hidden;border:1px solid var(--line);
  background:var(--cream);box-shadow:var(--sh-card);aspect-ratio:1/1;}
.lcx-gallery-main img{width:100%;height:100%;object-fit:cover;display:block;}
.lcx-badge{position:absolute;top:16px;left:16px;z-index:2;background:var(--sage-deep);color:var(--cream);
  font-family:var(--f-body);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;padding:.4rem .8rem;border-radius:100px;}
.lcx-thumbs{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;}
.lcx-thumb{padding:0;border:2px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;
  background:var(--cream);width:70px;height:70px;transition:border-color .2s;}
.lcx-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.lcx-thumb.is-active{border-color:var(--sage);}
.lcx-mobile-track,.lcx-dots,.lcx-nav{display:none;}
@media(max-width:900px){
  .lcx-desktop-gallery{display:none;}
  .lcx-mobile-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;}
  .lcx-mobile-track::-webkit-scrollbar{display:none;}
  .lcx-slide{flex:0 0 86%;scroll-snap-align:center;position:relative;border-radius:26px;overflow:hidden;border:1px solid var(--line);background:var(--cream);box-shadow:var(--sh-card);aspect-ratio:1/1;}
  .lcx-slide img{width:100%;height:100%;object-fit:cover;display:block;}
  .lcx-dots{display:flex;gap:8px;justify-content:center;margin-top:14px;}
  .lcx-dot{width:8px;height:8px;border-radius:50%;background:var(--line);border:0;padding:0;cursor:pointer;transition:background .2s;}
  .lcx-dot.is-active{background:var(--sage);}
  /* produit avec une seule image : slide pleine largeur (pas de carrousel) */
  .lcx-mobile-track.is-single{overflow:visible;scroll-snap-type:none;}
  .lcx-mobile-track.is-single .lcx-slide{flex:0 0 100%;scroll-snap-align:none;}
}

/* Buy box */
.lcx-buy{padding-top:6px;}
.lcx-eyebrow{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--terracotta);display:inline-block;margin-bottom:.5rem;}
.lcx-title{font-family:var(--f-display);font-size:clamp(2rem,4.4vw,2.9rem);line-height:1.05;color:var(--ink);margin:0 0 .5rem;}
.lcx-price{font-family:var(--f-display);font-size:1.9rem;color:var(--sage-deep);margin:.2rem 0 .4rem;}
.lcx-price del{color:var(--ink-soft);font-size:1.2rem;margin-right:.5rem;opacity:.7;}
.lcx-price ins{text-decoration:none;color:var(--terracotta);}
.lcx-stars{display:flex;align-items:center;gap:.55rem;color:var(--mustard);font-size:1rem;letter-spacing:.08em;margin-bottom:1.1rem;}
.lcx-stars span{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;color:var(--ink-soft);}

/* descriptions : Baskervville, casse d'origine (1re lettre maj) */
.lou .lcx-short,.lou .lcx-short p,.lou .lcx-acc-body,.lou .lcx-acc-body p,.lou .lcx-madeto{
  font-family:"Baskervville",Georgia,serif!important;text-transform:none!important;}
.lcx-short{font-size:1.08rem;line-height:1.65;color:var(--ink-soft);margin-bottom:1.1rem;}
.lcx-short p{margin:0 0 .6rem;}
.lcx-madeto{background:var(--cream);border:1px dashed var(--sage-soft);border-radius:16px;padding:.8rem 1rem;
  font-size:.98rem;color:var(--ink-soft);margin-bottom:1.2rem;line-height:1.5;}
.lcx-madeto span{color:var(--terracotta);}
.lou .lcx-madeto b{color:var(--sage-deep);font-family:var(--f-body)!important;font-size:.82rem;text-transform:uppercase!important;letter-spacing:.03em;}

/* Add to cart (produit simple) — quantité + bouton alignés (même hauteur) */
.lcx-atc{display:flex;gap:10px;align-items:center;margin-bottom:1.2rem;flex-wrap:nowrap;}
.lcx-qty{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:100px;background:var(--paper);overflow:hidden;flex:0 0 auto;height:52px;box-sizing:border-box;}
.lcx-qty-btn{border:none;background:transparent;width:34px;height:100%;font-size:1rem;color:var(--sage-deep);cursor:pointer;line-height:1;}
.lcx-qty-btn:hover{color:var(--terracotta);}
.lcx-qty-in{width:34px;height:100%;border:none;background:transparent;text-align:center;font-family:var(--f-body);font-size:.95rem;color:var(--ink);-moz-appearance:textfield;}
.lcx-qty-in::-webkit-outer-spin-button,.lcx-qty-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.lcx-add{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;height:44px;min-height:0;box-sizing:border-box;
  background:var(--sage-deep);color:var(--cream);border-radius:100px;text-decoration:none;padding:0 1.5rem;
  font-family:var(--f-body);text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;
  box-shadow:var(--sh-card);transition:transform .2s var(--ease-spring),background .2s;}
.lcx-add:hover{background:var(--sage);transform:translateY(-2px);}
.lcx-add-arrow{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.16);}
.lcx-oos{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;color:var(--berry);background:var(--cream);border-radius:14px;padding:.9rem 1.1rem;text-align:center;}
.lcx-atc .added_to_cart{display:none!important;}

/* ---------- Produit VARIABLE (finitions : brillant / mat / holographique...) ---------- */
.lou .lcx-variable .variations{width:100%;margin:0 0 .4rem;border:0;}
.lou .lcx-variable .variations tbody,.lou .lcx-variable .variations tr,.lou .lcx-variable .variations td,.lou .lcx-variable .variations th{display:block;padding:0;border:0;background:none;text-align:left;width:auto;}
.lou .lcx-variable .variations tr{margin-bottom:1rem;}
.lou .lcx-variable .variations label{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;color:var(--ink);margin:0 0 .5rem;display:block;}
.lou .lcx-variable .variations select{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.lcx-swatches{display:flex;flex-wrap:wrap;gap:10px;}
.lcx-swatch{border:1.5px solid var(--line);background:var(--paper);border-radius:100px;padding:.55rem 1.1rem;font-family:var(--f-body);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;color:var(--sage-deep);cursor:pointer;transition:all .2s;}
.lcx-swatch:hover{border-color:var(--sage);}
.lcx-swatch.is-sel{background:var(--sage-deep);color:var(--cream);border-color:var(--sage-deep);}
.lou .lcx-variable .single_variation{margin-bottom:.8rem;}
.lou .lcx-variable .single_variation .price{display:none!important;} /* prix affiché en haut (.lcx-price) */
.lou .lcx-variable .woocommerce-variation-add-to-cart{display:flex;gap:10px;align-items:center;flex-wrap:nowrap;margin-top:.3rem;}
.lou .lcx-variable .quantity{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:100px;overflow:hidden;height:52px;box-sizing:border-box;flex:0 0 auto;background:var(--paper);}
.lou .lcx-variable .quantity .lcx-qty-btn{width:34px;height:100%;border:0;background:transparent;font-size:1rem;color:var(--sage-deep);cursor:pointer;line-height:1;}
.lou .lcx-variable .quantity .lcx-qty-btn:hover{color:var(--terracotta);}
.lou .lcx-variable .quantity input.qty{width:34px;height:100%;border:0;background:transparent;text-align:center;font-family:var(--f-body);color:var(--ink);-moz-appearance:textfield;}
.lou .lcx-variable .quantity input.qty::-webkit-outer-spin-button,.lou .lcx-variable .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.lou .lcx-variable .single_add_to_cart_button{flex:1 1 auto;height:52px;min-height:0;display:inline-flex;align-items:center;justify-content:center;background:var(--sage-deep)!important;color:var(--cream)!important;border:0!important;border-radius:100px!important;font-family:var(--f-body)!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-size:.82rem!important;box-shadow:var(--sh-card)!important;cursor:pointer;padding:0 1.5rem!important;transition:background .2s!important;}
.lou .lcx-variable .single_add_to_cart_button:hover{background:var(--sage)!important;}
.lou .lcx-variable .single_add_to_cart_button.disabled{opacity:.45;pointer-events:none;}
.lou .lcx-variable .reset_variations{font-family:"Baskervville",Georgia,serif;color:var(--ink-soft);font-size:.85rem;margin-left:.4rem;}

/* ---------- Réassurance mascottes COMPACTE (sous la quantité / ajout panier) ---------- */
.lcx-reassure-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.lcx-reassure-items li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;}
.lcx-ri-img{display:block;}
.lcx-ri-img img{max-height:150px;width:auto;margin:0 auto;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(60,58,49,.15));}
.lou .lcx-ri-t{font-family:var(--f-body)!important;text-transform:uppercase;letter-spacing:.04em;font-size:.92rem;color:var(--sage-deep);}
/* version mini (buy box + panier/checkout) */
.lcx-reassure-items.lcx-mini{gap:6px 10px;margin:0 0 1.4rem;padding:1.1rem 0 0;border-top:1px solid var(--line);}
.lcx-reassure-items.lcx-mini li{gap:6px;}
.lcx-reassure-items.lcx-mini .lcx-ri-img img{max-height:52px;}
.lou .lcx-reassure-items.lcx-mini .lcx-ri-t{font-size:.62rem;letter-spacing:.03em;line-height:1.2;}
@media(max-width:420px){.lcx-reassure-items.lcx-mini .lcx-ri-img img{max-height:44px;}.lou .lcx-reassure-items.lcx-mini .lcx-ri-t{font-size:.56rem;}}

/* Accordéon */
.lcx-acc details{border-bottom:1px solid var(--line);}
.lcx-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-family:var(--f-display);font-size:1.12rem;color:var(--ink);}
.lcx-acc summary::-webkit-details-marker{display:none;}
.lcx-acc summary::after{content:"+";font-family:var(--f-body);color:var(--sage-deep);font-size:1.3rem;transition:transform .2s;}
.lcx-acc details[open] summary::after{content:"\2212";}
.lcx-acc-body{padding:0 0 16px;font-size:1rem;line-height:1.65;color:var(--ink-soft);}
.lcx-acc-body p{margin:0 0 .6rem;}
.lcx-acc-body b,.lou .lcx-acc-body b{color:var(--sage-deep);}

/* Produits liés */
.lcx-related{margin-top:clamp(30px,4vw,46px);}
/* alignement mini-panier (tiroir) : image à gauche, prix à droite */
body.lou .lou-cartdrawer li.woocommerce-mini-cart-item{display:flex;align-items:center;gap:12px;padding:14px 26px 14px 0;position:relative;}
body.lou .lou-cartdrawer li.woocommerce-mini-cart-item > a:not(.remove){display:flex!important;align-items:center;gap:12px;flex:1 1 auto;min-width:0;text-decoration:none;}
body.lou .lou-cartdrawer .woocommerce-mini-cart-item img{order:-1;flex:0 0 56px;width:56px;height:56px;margin:0;}
body.lou .lou-cartdrawer .woocommerce-mini-cart-item .quantity{flex:0 0 auto;margin-left:auto;white-space:nowrap;text-align:right;display:block;}
body.lou .lou-cartdrawer .woocommerce-mini-cart-item .remove{top:16px;}
.lcx-related-head{text-align:center;margin-bottom:26px;}
.lou .lcx-related-head .lcx-eyebrow{font-family:var(--f-body)!important;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;transform:none;display:inline-block;color:var(--terracotta);}
.lou .lcx-related-head h2{font-family:var(--f-display)!important;font-size:clamp(1.6rem,3.5vw,2.3rem);color:var(--ink)!important;margin-top:.5rem;}
/* cartes produits liés = identiques à la home (aucun override spécifique) */

/* Réassurance panier / checkout (mascottes mini centrées) */
.lcx-reassure{max-width:900px;margin:8px auto 0;}
.lcx-reassure .lcx-reassure-items.lcx-mini{border-top:none;max-width:560px;margin:0 auto;}
.lcx-reassure .lcx-reassure-items.lcx-mini .lcx-ri-img img{max-height:64px;}
.lou .lcx-reassure .lcx-reassure-items.lcx-mini .lcx-ri-t{font-size:.7rem;}
.lcx-reassure-note{text-align:center;font-family:"Baskervville",Georgia,serif;font-size:1rem;color:var(--ink-soft);margin:1.2rem 0 0;}

/* ---------- Barre d'ajout STICKY (mobile, page produit) ---------- */
.lcx-stickybar{display:none;}
@media(max-width:760px){
  .lcx-stickybar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--paper);
    border-top:1.5px solid var(--line);box-shadow:0 -10px 26px -14px rgba(60,58,49,.35);
    padding:9px 14px calc(9px + env(safe-area-inset-bottom,0px));}
  .lcx-stickybar.inactive{display:none!important;}
  .lcx-stickybar-in{display:flex;align-items:center;gap:14px;max-width:600px;margin:0 auto;flex-wrap:nowrap;}
  .lcx-stickybar-info{display:flex;flex-direction:column;justify-content:center;line-height:1.2;min-width:0;flex:1 1 auto;}
  .lcx-stickybar-name{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.03em;font-size:.62rem;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px;}
  .lou .lcx-stickybar-price{font-family:var(--f-display)!important;color:var(--sage-deep);font-size:1.15rem;line-height:1.1;white-space:nowrap;}
  .lcx-stickybar .lcx-sticky-add{flex:0 0 auto;height:48px;min-height:0;margin:0;padding:0 1.7rem;}
  body.lcx-page{padding-bottom:74px;}
}

/* ===========================================================
   FOOTER — identique à la home (pas de soulignement des liens)
   =========================================================== */
.lcx-footsheet{max-width:1300px;margin:0 auto 46px;background:var(--paper);border:1.5px solid var(--line);
  border-radius:40px;box-shadow:var(--sh-soft);padding:0 clamp(26px,4vw,56px) 10px;}
@media(max-width:640px){.lcx-footsheet{border-radius:24px;padding:0 20px 8px;margin-bottom:28px;}}
body.lou .lcx-footsheet a,body.lou .lcx-footsheet .lou-foot a{text-decoration:none!important;}
body.lou .lcx-footsheet .lou-foot a:hover{color:var(--sage-deep)!important;}

/* ===========================================================
   Réassurance home — mobile : illustration + titre seulement
   =========================================================== */
@media(max-width:640px){
  body.lou .lou-reassure-item .lou-reassure-cap{display:none!important;}
  body.lou .lou-reassure-item{padding:14px 10px 18px!important;gap:8px;}
  body.lou .lou-reassure-item .elementor-widget-image img{max-height:104px!important;}
}

/* ===========================================================
   Bannière code promo (tiroir menu mobile + tiroir panier)
   =========================================================== */
.lou-promo-banner{padding:15px 16px;background:var(--cream);border:1.6px dashed var(--sage);border-radius:18px;text-align:center;}
.lou-mdrawer .lou-promo-banner{margin:auto 0 2px;}
.lou-cartdrawer .lou-promo-banner{margin:16px 24px 4px;}
.lou-promo-banner .code{display:inline-block;font-family:var(--f-body);text-transform:uppercase;letter-spacing:.12em;
  background:var(--sage-deep);color:var(--cream);border-radius:100px;padding:.4rem 1rem;font-size:.82rem;margin-bottom:.5rem;}
.lou-promo-banner .txt{display:block;font-family:"Baskervville",Georgia,serif;color:var(--ink-soft);font-size:.94rem;line-height:1.45;}

/* ===========================================================
   WooCommerce Cart / Checkout blocks — habillage Loulou
   =========================================================== */
.lou .wc-block-components-button,
.lou .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button,
.lou .wc-block-cart__submit-button{background:var(--sage-deep)!important;color:var(--cream)!important;border-radius:100px!important;font-family:var(--f-body)!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-size:.85rem!important;box-shadow:var(--sh-card)!important;border:none!important;transition:background .2s,transform .2s!important;}
.lou .wc-block-components-button:hover,.lou .wc-block-cart__submit-button:hover{background:var(--sage)!important;transform:translateY(-2px);}
.lou .wc-block-components-totals-item__value,.lou .wc-block-formatted-money-amount,.lou .wc-block-components-product-price{font-family:var(--f-body)!important;color:var(--ink)!important;}
.lou .wc-block-cart-items__header,.lou .wc-block-components-order-summary__title{font-family:var(--f-display)!important;color:var(--ink)!important;}
.lou .wc-block-components-product-name{font-family:var(--f-display)!important;color:var(--ink)!important;text-decoration:none!important;}
.lou table.wc-block-cart-items{border-color:var(--line)!important;}
.lou .wc-block-cart-item__wrap,.lou .wc-block-cart-items__row{border-color:var(--line)!important;}
.lou .wc-block-components-text-input input,.lou .wc-block-components-text-input textarea,.lou .wc-block-checkout .wc-block-components-text-input input{border-radius:14px!important;border:1.5px solid var(--line)!important;background:var(--cream)!important;font-family:var(--f-body)!important;}
.lou .wc-block-components-text-input input:focus{border-color:var(--sage)!important;box-shadow:0 0 0 3px rgba(147,166,126,.18)!important;}
.lou .wc-block-components-title,.lou .wc-block-checkout__form h2,.lou .wc-block-components-checkout-step__title{font-family:var(--f-display)!important;color:var(--ink)!important;}
.lou .wc-block-components-quantity-selector{border-radius:100px!important;border:1.5px solid var(--line)!important;}
.lou .wc-block-cart__empty-cart__title,.lou .wp-block-woocommerce-empty-cart-block h2{font-family:var(--f-display)!important;color:var(--ink)!important;}
.lou .wp-block-woocommerce-checkout-order-summary-block,.lou .wp-block-woocommerce-cart-order-summary-block{
  background:var(--cream)!important;border-radius:22px!important;border:1px solid var(--line)!important;padding:20px 24px!important;}
@media(max-width:640px){.lou .wp-block-woocommerce-checkout-order-summary-block,.lou .wp-block-woocommerce-cart-order-summary-block{padding:16px 16px!important;}}
.lou .wc-block-components-panel,.lou .wc-block-components-shipping-rates-control{background:transparent!important;}
.lou .wp-block-woocommerce-cart-items-block{padding-right:10px;}
@media(max-width:781px){.lou .wp-block-woocommerce-cart-items-block{padding-right:0;}}


/* ============ Fiche produit Elementor natif (widgets Woo) ============ */
body.lcx-page .lcx-el-sheet{max-width:1180px;margin:22px auto 40px;}
body.lcx-page .lcx-product{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px)!important;align-items:start!important;}
@media(max-width:900px){body.lcx-page .lcx-product{grid-template-columns:1fr!important;}}
body.lcx-page .lcx-gallery,body.lcx-page .lcx-buy{width:auto!important;max-width:none!important;}
@media(min-width:901px){body.lcx-page .lcx-gallery{position:sticky;top:24px;}}
/* fil ariane */
body.lcx-page .lcx-el-crumbs .woocommerce-breadcrumb{font-family:var(--f-body)!important;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;color:var(--ink-soft);margin-bottom:20px;}
body.lcx-page .lcx-el-crumbs a{color:var(--sage-deep);text-decoration:none;}
/* galerie */
body.lcx-page .lcx-gallery .woocommerce-product-gallery{margin:0!important;width:100%!important;}
body.lcx-page .lcx-gallery .woocommerce-product-gallery__image img,body.lcx-page .lcx-gallery img{border-radius:26px!important;border:1px solid var(--line);box-shadow:var(--sh-card);}
/* titre */
body.lcx-page .lcx-el-title .product_title{font-family:var(--f-display)!important;font-size:clamp(2rem,4vw,2.8rem)!important;color:var(--ink)!important;line-height:1.05!important;}
/* prix */
body.lcx-page .lcx-el-price .price,body.lcx-page .lcx-el-price .woocommerce-Price-amount{font-family:var(--f-display)!important;color:var(--sage-deep)!important;font-size:1.7rem!important;}
body.lcx-page .lcx-el-price{margin:.2rem 0 1rem!important;}
/* description courte */
body.lcx-page .lcx-el-short,body.lcx-page .lcx-el-short p{font-family:"Baskervville",Georgia,serif!important;text-transform:none!important;font-size:1.05rem!important;line-height:1.6!important;color:var(--ink-soft)!important;}
/* ajout panier : quantité + bouton pilule vert alignés */
body.lcx-page .lcx-el-atc form.cart{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 1.2rem!important;}
body.lcx-page .lcx-el-atc .quantity{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:100px;overflow:hidden;height:52px;background:var(--paper);}
body.lcx-page .lcx-el-atc .quantity input.qty{width:48px;height:100%;border:0!important;background:transparent!important;text-align:center;font-family:var(--f-body);-moz-appearance:textfield;}
body.lcx-page .lcx-el-atc .quantity input.qty::-webkit-outer-spin-button,body.lcx-page .lcx-el-atc .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
body.lcx-page .lcx-el-atc .single_add_to_cart_button{height:52px;background:var(--sage-deep)!important;color:var(--cream)!important;border:0!important;border-radius:100px!important;font-family:var(--f-body)!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-size:.85rem!important;padding:0 2rem!important;box-shadow:var(--sh-card)!important;transition:background .2s!important;}
body.lcx-page .lcx-el-atc .single_add_to_cart_button:hover{background:var(--sage)!important;}
/* onglets produit */
body.lcx-page .lcx-el-tabs .woocommerce-tabs ul.tabs{padding:0;margin:0 0 12px;border:0;}
body.lcx-page .lcx-el-tabs ul.tabs li{background:transparent!important;border:0!important;border-radius:100px!important;}
body.lcx-page .lcx-el-tabs ul.tabs li a{font-family:var(--f-body)!important;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;color:var(--sage-deep)!important;}
body.lcx-page .lcx-el-tabs .panel{font-family:"Baskervville",Georgia,serif!important;text-transform:none!important;color:var(--ink-soft)!important;}
body.lcx-page .lcx-el-tabs .panel h2{display:none;}
/* produits liés */
body.lcx-page .lcx-el-related .related>h2,body.lcx-page .lcx-el-related h2{font-family:var(--f-display)!important;text-align:center;color:var(--ink)!important;font-size:clamp(1.6rem,3vw,2.2rem)!important;margin-bottom:22px;}
body.lcx-page .lcx-el-related ul.products li.product .price{color:var(--terracotta)!important;font-family:var(--f-body)!important;}
body.lcx-page .lcx-el-related ul.products li.product a.button{background:var(--sage-deep)!important;color:var(--cream)!important;border-radius:100px!important;font-family:var(--f-body)!important;text-transform:uppercase!important;font-size:.72rem!important;letter-spacing:.04em;}

/* ---- fix grille (enfants dans .e-con-inner) + galerie visible ---- */
body.lcx-page .lcx-product > .e-con-inner{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:clamp(28px,4vw,56px)!important;align-items:start!important;width:100%!important;}
@media(max-width:900px){body.lcx-page .lcx-product > .e-con-inner{grid-template-columns:1fr!important;}}
body.lcx-page .woocommerce-product-gallery{opacity:1!important;width:100%!important;margin:0!important;float:none!important;}
body.lcx-page .lcx-gallery .woocommerce-product-gallery__wrapper{margin:0!important;}
body.lcx-page .lcx-gallery .woocommerce-product-gallery img{width:100%!important;height:auto!important;display:block;border-radius:26px!important;}
body.lcx-page .lcx-gallery .woocommerce-product-gallery__trigger{display:none!important;}

/* galerie en statique (pas de flexslider JS) */
body.lcx-page .woocommerce-product-gallery__wrapper{transform:none!important;width:100%!important;height:auto!important;position:static!important;}
body.lcx-page .woocommerce-product-gallery__image{position:relative!important;width:100%!important;opacity:1!important;float:none!important;left:auto!important;top:auto!important;}
body.lcx-page .woocommerce-product-gallery__image img{position:static!important;width:100%!important;height:auto!important;opacity:1!important;display:block!important;}
body.lcx-page .woocommerce-product-gallery .flex-viewport{height:auto!important;overflow:visible!important;}
body.lcx-page .woocommerce-product-gallery ol.flex-control-thumbs{display:flex;gap:8px;padding:10px 0 0;margin:0;list-style:none;}
body.lcx-page .woocommerce-product-gallery ol.flex-control-thumbs li{width:64px;}
/* form ajout panier : quantité + bouton propres */
body.lcx-page .lcx-el-atc .single_add_to_cart_button{white-space:nowrap!important;flex:1 1 auto!important;}
body.lcx-page .lcx-el-atc .quantity{flex:0 0 auto!important;}
body.lcx-page .lcx-el-atc .quantity input.qty{width:44px!important;}

/* ============ Panier / Checkout Elementor natif (widgets Woo classiques) ============ */
body.lcx-page .lcx-el-woo{font-family:var(--f-body);}
body.lcx-page .lcx-el-woo table.cart,body.lcx-page .lcx-el-woo .cart_totals table{border:0!important;}
body.lcx-page .lcx-el-woo table.cart th{font-family:var(--f-body)!important;text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;color:var(--ink-soft)!important;border:0!important;}
body.lcx-page .lcx-el-woo table.cart td{border-color:var(--line)!important;background:transparent!important;}
body.lcx-page .lcx-el-woo .product-name a,body.lcx-page .lcx-el-woo .product-name{font-family:var(--f-display)!important;color:var(--ink)!important;text-decoration:none!important;font-size:1.05rem;}
body.lcx-page .lcx-el-woo .woocommerce-Price-amount{color:var(--ink)!important;}
body.lcx-page .lcx-el-woo img{border-radius:12px!important;border:1.5px solid var(--line);}
body.lcx-page .lcx-el-woo .cart_totals h2,body.lcx-page .lcx-el-woo #order_review_heading,body.lcx-page .lcx-el-woo h3{font-family:var(--f-display)!important;color:var(--ink)!important;}
body.lcx-page .lcx-el-woo .cart_totals{background:var(--cream)!important;border:1px solid var(--line)!important;border-radius:22px!important;padding:22px 24px!important;}
/* boutons -> pilule verte */
body.lcx-page .lcx-el-woo .button,body.lcx-page .lcx-el-woo button,body.lcx-page .lcx-el-woo input[type=submit],body.lcx-page .lcx-el-woo .checkout-button,body.lcx-page .lcx-el-woo #place_order{background:var(--sage-deep)!important;color:var(--cream)!important;border:0!important;border-radius:100px!important;font-family:var(--f-body)!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-size:.82rem!important;padding:.85rem 1.6rem!important;box-shadow:var(--sh-card)!important;transition:background .2s!important;}
body.lcx-page .lcx-el-woo .button:hover,body.lcx-page .lcx-el-woo #place_order:hover,body.lcx-page .lcx-el-woo .checkout-button:hover{background:var(--sage)!important;}
/* champs */
body.lcx-page .lcx-el-woo input:not([type=submit]):not([type=checkbox]):not([type=radio]),body.lcx-page .lcx-el-woo select,body.lcx-page .lcx-el-woo textarea,body.lcx-page .lcx-el-woo .input-text{border:1.5px solid var(--line)!important;border-radius:12px!important;background:var(--paper)!important;font-family:var(--f-body)!important;padding:.7rem .9rem!important;}
body.lcx-page .lcx-el-woo input:focus{border-color:var(--sage)!important;outline:none!important;}
body.lcx-page .lcx-el-woo .coupon{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
/* checkout : deux colonnes propres */
body.lcx-page .lcx-el-woo form.checkout{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:start;}
@media(max-width:820px){body.lcx-page .lcx-el-woo form.checkout{grid-template-columns:1fr;}}
body.lcx-page .lcx-el-woo #order_review,body.lcx-page .lcx-el-woo .woocommerce-checkout-review-order{background:var(--cream)!important;border:1px solid var(--line)!important;border-radius:22px!important;padding:22px 24px!important;}
body.lcx-page .lcx-el-woo label{font-family:var(--f-body)!important;font-size:.8rem;color:var(--ink);text-transform:none;}

/* ============ Pages légales ============ */
body.lou .lcx-legal{max-width:820px;margin:22px auto 40px;padding:clamp(28px,4vw,56px);}
body.lou .lcx-legal-body{font-family:"Baskervville",Georgia,serif;color:var(--ink);line-height:1.7;}
body.lou .lcx-legal-body h1{font-family:var(--f-display)!important;font-size:clamp(2rem,4vw,2.7rem);color:var(--ink);margin:0 0 .3rem;}
body.lou .lcx-legal-body h2{font-family:var(--f-display)!important;font-size:1.3rem;color:var(--sage-deep);margin:2rem 0 .6rem;}
body.lou .lcx-legal-body p,body.lou .lcx-legal-body li{font-family:"Baskervville",Georgia,serif!important;font-size:1.04rem;color:var(--ink-soft);}
body.lou .lcx-legal-body ul{padding-left:1.2rem;margin:.4rem 0 1rem;}
body.lou .lcx-legal-body li{margin:.3rem 0;}
body.lou .lcx-legal-body a{color:var(--sage-deep);text-decoration:underline;}
body.lou .lcx-legal-body a:hover{color:var(--terracotta);}
body.lou .lcx-legal-body strong{color:var(--ink);}
body.lou .lcx-legal-upd{font-family:var(--f-body)!important;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;color:var(--sage);margin:0 0 1.5rem;}
body.lou .lcx-todo{background:#FBECEC;color:#B0564F;font-family:var(--f-body);font-size:.72rem;padding:.1rem .5rem;border-radius:6px;text-transform:uppercase;letter-spacing:.04em;}

/* filet de sécurité : le contenu à révéler ne reste jamais invisible si le JS échoue */
@keyframes lou-reveal-failsafe{to{opacity:1;transform:none;}}
body.lou .lou-reveal{animation:lou-reveal-failsafe .01s linear 1.3s forwards;}
body.lou .lou-reveal.in{animation:none;}

/* ===== barre livraison offerte (gamification) ===== */
.lou-freeship{margin:0 0 16px;font-family:var(--f-body);}
.lou-cartdrawer .lou-freeship{margin:0 0 16px;}
.lcx-sheet .lou-freeship{max-width:640px;margin:0 auto 22px;}
.lou-freeship-msg{font-family:"Baskervville",Georgia,serif;font-size:.95rem;color:var(--ink-soft);text-align:center;margin:0 0 8px;text-transform:none;}
.lou-freeship-msg b{color:var(--sage-deep);font-family:"Baskervville",Georgia,serif;}
.lou-freeship-msg.is-done{color:var(--sage-deep);font-weight:600;}
.lou-freeship-track{height:9px;border-radius:100px;background:var(--cream-2);overflow:hidden;border:1px solid var(--line);}
.lou-freeship-track span{display:block;height:100%;border-radius:100px;background:linear-gradient(90deg,var(--sage),var(--sage-deep));transition:width .5s var(--ease);}
.lou-freeship-msg .woocommerce-Price-amount{font-family:"Baskervville",Georgia,serif!important;color:var(--sage-deep)!important;}

/* carrousels mobile : pas de troncature (marge négative neutralisée) + logo centré */
@media(max-width:860px){
  body.lou .lou-season-grid,body.lou .lou-prod-grid{margin-inline:0!important;padding:6px 18px 22px 18px!important;scroll-padding-left:18px!important;}
  body.lou .lou-season-grid>*,body.lou .lou-prod-grid>*{scroll-snap-align:start!important;flex:0 0 78%!important;max-width:290px!important;}
  body.lou .lou-nav-inner{position:relative;}
  body.lou .lou-nav-inner .lou-logo-img{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;}
}

/* ===== page contact ===== */
body.lou .lou-contact-info{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:1rem;}
@media(max-width:700px){body.lou .lou-contact-info{grid-template-columns:1fr;}}
body.lou .lou-ci-item{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:22px 18px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center;}
body.lou .lou-ci-ic{font-size:1.7rem;}
body.lou .lou-ci-item b{font-family:var(--f-body)!important;text-transform:uppercase;letter-spacing:.05em;font-size:.76rem;color:var(--sage-deep);}
body.lou .lou-ci-item a,body.lou .lou-ci-item span{font-family:"Baskervville",Georgia,serif!important;color:var(--ink-soft);text-decoration:none;font-size:.95rem;}
body.lou .lou-ci-item a:hover{color:var(--terracotta);}
/* WPForms au thème Loulou */
body.lou .lou-contact-form .wpforms-field-label{font-family:var(--f-body)!important;text-transform:uppercase;letter-spacing:.04em;font-size:.76rem!important;color:var(--ink)!important;font-weight:600!important;}
body.lou .lou-contact-form input[type=text],body.lou .lou-contact-form input[type=email],body.lou .lou-contact-form input[type=tel],body.lou .lou-contact-form textarea,body.lou .lou-contact-form select{border:1.5px solid var(--line)!important;border-radius:14px!important;background:var(--cream)!important;font-family:var(--f-body)!important;padding:.8rem 1rem!important;color:var(--ink)!important;box-shadow:none!important;}
body.lou .lou-contact-form input:focus,body.lou .lou-contact-form textarea:focus{border-color:var(--sage)!important;outline:none!important;box-shadow:0 0 0 3px rgba(147,166,126,.18)!important;}
body.lou .lou-contact-form .wpforms-submit{background:var(--sage-deep)!important;color:var(--cream)!important;border:0!important;border-radius:100px!important;font-family:var(--f-body)!important;text-transform:uppercase!important;letter-spacing:.06em!important;padding:.9rem 2.2rem!important;font-size:.85rem!important;box-shadow:var(--sh-card)!important;cursor:pointer;transition:background .2s;}
body.lou .lou-contact-form .wpforms-submit:hover{background:var(--sage)!important;}
body.lou .lou-contact-form .wpforms-form{max-width:620px;margin:0 auto;}

/* ===== Scrollytelling « histoire » ===== */
body.lou .lou-story{margin:clamp(30px,5vw,60px) 0;}
body.lou .lou-story-head{text-align:center;margin-bottom:clamp(24px,4vw,44px);}
body.lou .lou-story-head .lou-eyebrow{display:inline-block;}
body.lou .lou-story-head h2{font-family:var(--f-display)!important;font-size:clamp(1.8rem,4vw,2.6rem);color:var(--ink);margin-top:.3rem;}
body.lou .lou-story-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px max(16px,calc((100vw - 1180px)/2)) 14px;margin:0 calc(50% - 50vw);width:100vw;box-sizing:border-box;}
body.lou .lou-story-track::-webkit-scrollbar{display:none;}
body.lou .lou-story-slide{flex:0 0 62%;scroll-snap-align:center;display:flex;flex-direction:column;gap:12px;}
body.lou .lou-story-figure{position:relative;border-radius:28px;overflow:hidden;border:1.5px solid var(--line);box-shadow:var(--sh-card);background:var(--cream);aspect-ratio:1/1;}
body.lou .lou-story-figure img{width:100%;height:100%;object-fit:cover;display:block;}
body.lou .lou-story-num{font-family:var(--f-body)!important;color:var(--sage);letter-spacing:.14em;font-size:.85rem;}
body.lou .lou-story-slide h3{font-family:var(--f-display)!important;font-size:clamp(1.4rem,3vw,2rem);color:var(--ink);margin:.1rem 0 .5rem;line-height:1.1;}
body.lou .lou-story-slide p{font-family:"Baskervville",Georgia,serif!important;font-size:1.05rem;line-height:1.65;color:var(--ink-soft);max-width:46ch;}
body.lou .lou-story-cta{text-align:center;margin-top:clamp(20px,4vw,34px);}
@media(min-width:901px){body.lou .lou-story-slide{flex-basis:38%;}}

/* footer : même largeur que le body (1300) + espace au-dessus */
body.lou .lou-footer-outer{width:100%!important;max-width:none!important;padding:0!important;}
body.lou .lcx-footsheet{margin-top:44px!important;}

/* formulaire contact : moins vertical, plus large, prénom/nom côte à côte */
body.lou .lou-contact-form .wpforms-form{max-width:760px!important;margin:0 auto;}
body.lou .lou-contact-form .wpforms-field-row{display:flex!important;gap:16px!important;}
body.lou .lou-contact-form .wpforms-field-row-block{float:none!important;width:auto!important;flex:1 1 0!important;margin:0!important;padding:0!important;}
body.lou .lou-contact-form .wpforms-field{padding:0 0 16px 0!important;}
body.lou .lou-contact-form .wpforms-field-label{margin:0 0 6px 0!important;}
body.lou .lou-contact-form .wpforms-field-sublabel{margin-top:5px!important;font-size:.7rem!important;color:var(--ink-soft)!important;text-transform:none!important;letter-spacing:0!important;}
body.lou .lou-contact-form textarea{min-height:130px!important;max-height:220px;}
body.lou .lou-contact-form .wpforms-submit-container{margin-top:6px!important;text-align:center;}
@media(max-width:520px){ body.lou .lou-contact-form .wpforms-field-row{flex-direction:column!important;gap:16px!important;} }

/* formulaire : remplir toute la largeur (le parent flex le rétrécissait) */
body.lou .lou-contact-form{align-self:stretch!important;width:100%!important;max-width:none!important;text-align:left!important;}
body.lou .lou-contact-form .wpforms-container,body.lou .lou-contact-form .wpforms-form{max-width:100%!important;width:100%!important;margin:0!important;}
body.lou .lou-contact-form input,body.lou .lou-contact-form textarea,body.lou .lou-contact-form select{width:100%!important;box-sizing:border-box!important;}
/* espace en haut de la page contact (avant le bloc projet perso) */
body.page-id-33 .lou-sheet{padding-top:34px!important;}

/* footer : logo + accroche centrés en mobile */
@media(max-width:640px){
  body.lou .lou-foot-grid > div:first-child{text-align:center;}
  body.lou .lou-foot-grid .lou-logo{justify-content:center;}
  body.lou .lou-foot-grid > div:first-child p{margin-left:auto;margin-right:auto;}
}


/* ===========================================================
   Page Contact — design sur-mesure (shortcode [loulou_contact])
   =========================================================== */
body.lou .lou-ct{max-width:1060px;margin:0 auto;}
body.lou .lou-ct-hero{text-align:center;max-width:650px;margin:0 auto clamp(26px,4vw,44px);}
body.lou .lou-ct-eyebrow{font-family:var(--f-hand)!important;color:var(--terracotta);font-size:1.55rem;line-height:1;display:inline-block;transform:rotate(-2deg);}
body.lou .lou-ct-title{font-family:var(--f-display)!important;font-size:clamp(2.1rem,5vw,3.2rem);line-height:1.05;color:var(--ink);margin:.35rem 0 .7rem;}
body.lou .lou-ct-title em{font-style:italic;color:var(--sage-deep);}
body.lou .lou-ct-lead{font-family:"Baskervville",Georgia,serif!important;font-size:1.1rem;line-height:1.65;color:var(--ink-soft);margin:0;}

body.lou .lou-ct-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr);gap:clamp(18px,2.6vw,30px);align-items:stretch;}
@media(max-width:860px){body.lou .lou-ct-grid{grid-template-columns:1fr;}}

body.lou .lou-ct-formcol{background:var(--paper);border:1.5px solid var(--line);border-radius:28px;box-shadow:var(--sh-card);padding:clamp(22px,3vw,38px);}
body.lou .lou-ct-formtitle{display:block;font-family:var(--f-display)!important;font-size:1.5rem;color:var(--ink);margin:0 0 1rem;}

body.lou .lou-ct-aside{background:var(--cream);border:1.5px solid var(--line);border-radius:28px;padding:clamp(22px,3vw,30px);display:flex;flex-direction:column;gap:20px;}
body.lou .lou-ct-mascot{text-align:center;}
body.lou .lou-ct-mascot img{max-height:140px;width:auto;filter:drop-shadow(0 10px 16px rgba(60,58,49,.16));}
body.lou .lou-ct-info{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
body.lou .lou-ct-info li{display:flex;gap:12px;align-items:center;}
body.lou .lou-ct-info .ic{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--paper);border:1.5px solid var(--sage-soft);display:flex;align-items:center;justify-content:center;color:var(--sage-deep);font-size:1rem;}
body.lou .lou-ct-info b{display:block;font-family:var(--f-body)!important;text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;color:var(--sage-deep);margin-bottom:1px;}
body.lou .lou-ct-info a,body.lou .lou-ct-info li>div>span{font-family:"Baskervville",Georgia,serif!important;color:var(--ink-soft);text-decoration:none;font-size:.98rem;word-break:break-word;}
body.lou .lou-ct-info a:hover{color:var(--terracotta);}
body.lou .lou-ct-note{font-family:var(--f-hand)!important;color:var(--ink-soft);font-size:1.22rem;line-height:1.35;margin:0;padding-top:14px;border-top:1px dashed var(--sage-soft);}

body.lou .lou-ct-faqwrap{margin-top:clamp(34px,5vw,56px);}
body.lou .lou-ct-faqhead{text-align:center;margin-bottom:clamp(18px,3vw,26px);}
body.lou .lou-ct-faqhead .lou-ct-eyebrow{font-size:1.4rem;}
body.lou .lou-ct-faqtitle{font-family:var(--f-display)!important;font-size:clamp(1.6rem,3.4vw,2.3rem);color:var(--ink);margin:.2rem 0 0;}
body.lou .lou-ct-faq{max-width:760px;margin:0 auto;}
body.lou .lou-ct-faq details{background:var(--paper);border:1.5px solid var(--line);border-radius:16px;margin-bottom:10px;padding:2px 20px;}
body.lou .lou-ct-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;font-family:var(--f-display)!important;font-size:1.08rem;color:var(--ink);}
body.lou .lou-ct-faq summary::-webkit-details-marker{display:none;}
body.lou .lou-ct-faq summary::after{content:"+";color:var(--sage-deep);font-family:var(--f-body);font-size:1.3rem;line-height:1;}
body.lou .lou-ct-faq details[open] summary::after{content:"\2212";}
body.lou .lou-ct-faq details p{font-family:"Baskervville",Georgia,serif!important;color:var(--ink-soft);font-size:1rem;line-height:1.6;margin:0 0 14px;}

/* le formulaire remplit la carte gauche */
body.lou .lou-ct-formcol .lou-contact-form{align-self:stretch;width:100%;}

/* ===== Fiche produit — réassurance conversion (sous le CTA) ===== */
body.lou .lcx-trust{list-style:none;margin:1.2rem 0 0;padding:0;display:flex;flex-direction:column;gap:9px;}
body.lou .lcx-trust li{display:flex;align-items:center;gap:10px;font-family:"Baskervville",Georgia,serif;font-size:1rem;color:var(--ink-soft);line-height:1.3;}
body.lou .lcx-trust b{color:var(--sage-deep);font-family:"Baskervville",Georgia,serif;}
body.lou .lcx-trust-ic{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--cream);border:1.5px solid var(--sage-soft);display:flex;align-items:center;justify-content:center;color:var(--sage-deep);font-size:.8rem;}
body.lou .lcx-pay{display:flex;align-items:center;gap:10px 12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);flex-wrap:wrap;}
body.lou .lcx-pay .lcx-pay-label{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;color:var(--ink-soft);display:inline-flex;align-items:center;gap:.35rem;}
body.lou .lcx-pay .lcx-pay-label::before{content:"\1F512";font-size:.8rem;}
body.lou .lcx-pay-logos{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
body.lou .lou-pay-b{display:inline-flex;line-height:0;filter:drop-shadow(0 1px 2px rgba(60,58,49,.08));transition:transform .3s var(--ease);}
body.lou .lou-pay-b:hover{transform:translateY(-2px);}
body.lou .lou-pay-b svg{height:26px;width:auto;display:block;}

/* ===== order-received : hero chaleureux (remplace le double « merci ») ===== */
body.woocommerce-order-received .lou-oc{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem;max-width:600px;margin:.5rem auto 0;}
body.woocommerce-order-received .lou-oc-art{width:132px;line-height:0;filter:drop-shadow(0 14px 26px rgba(92,110,76,.28));animation:lou-oc-float 4s ease-in-out infinite;}
body.woocommerce-order-received .lou-oc-art img{width:100%;height:auto;display:block;}
@keyframes lou-oc-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
body.woocommerce-order-received .lou-oc-hello{font-family:"Aboreto",var(--f-body);font-size:1.7rem;line-height:1.2;color:var(--terracotta);text-transform:none;letter-spacing:.04em;}
/* masquer le gros titre noir « Commande reçue » (WC) — le héro suffit */
body.woocommerce-order-received .wc-block-order-confirmation-status h1{display:none!important;}
/* « Détails de la commande » centré */
body.woocommerce-order-received .wc-block-order-confirmation-totals-wrapper .wp-block-heading{text-align:center!important;}

/* Icône Ko-fi du footer masquée (pas de compte fourni) */
body.lou .lou-soc[aria-label="Ko-fi"]{display:none !important;}

/* =========================================================
   PAGE 404 (design + alignement + boutons)
   ========================================================= */
body.error404 .wp-site-blocks{padding-top:12px !important;}
body.lou .lou-404{max-width:1300px;margin:10px auto 44px;padding:0 16px;text-align:center;}
body.lou .lou-404-card{background:var(--paper);border:1.5px solid var(--line);border-radius:36px;padding:clamp(40px,6vw,72px) clamp(24px,4vw,56px);box-shadow:var(--sh-soft);display:flex;flex-direction:column;align-items:center;}
body.lou .lou-404-art{width:min(190px,56%);margin:0 auto .4rem;}
body.lou .lou-404-art img{width:100%;height:auto;display:block;border-radius:0;box-shadow:none;filter:drop-shadow(0 16px 28px rgba(92,110,76,.28));}
body.lou .lou-404-eyebrow{margin:0 0 .35rem;font-family:var(--f-hand);font-size:1.4rem;letter-spacing:.01em;text-transform:none;color:var(--terracotta);}
body.lou .lou-404-title{margin:.05rem 0 .7rem;font-family:var(--f-display);font-size:clamp(1.9rem,4vw,2.9rem);color:var(--ink);line-height:1.12;}
body.lou .lou-404-title em{color:var(--sage-deep);font-style:italic;}
body.lou .lou-404-lead{max-width:42ch;margin:0 auto 1.7rem;font-family:var(--f-body);font-size:1.02rem;line-height:1.6;color:var(--ink-soft);}
body.lou .lou-404-actions{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;}
body.lou .lou-404-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-body);font-weight:700;font-size:1rem;padding:.82rem 1.7rem;border-radius:100px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
body.lou .lou-404-btn--primary{background:var(--sage-deep);color:var(--cream);box-shadow:0 12px 26px -14px rgba(60,58,49,.5);}
body.lou .lou-404-btn--primary:hover{transform:translateY(-2px);}
body.lou .lou-404-btn--primary span{transition:transform .35s var(--ease);}
body.lou .lou-404-btn--primary:hover span{transform:translateX(3px);}
body.lou .lou-404-btn--ghost{background:transparent;color:var(--sage-deep);border-color:var(--line);}
body.lou .lou-404-btn--ghost:hover{background:var(--cream-2);}
body.lou .lou-404-search{display:flex;gap:.5rem;margin:1.6rem auto 0;width:min(380px,100%);justify-content:center;}
body.lou .lou-404-search input{flex:1;background:var(--cream);border:1.5px solid var(--line);border-radius:100px;padding:.78rem 1.2rem;font-family:var(--f-body);font-size:1rem;color:var(--ink);}
body.lou .lou-404-search input:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px rgba(147,166,126,.2);}
body.lou .lou-404-search button{border:none;background:var(--sage-deep);color:var(--cream);border-radius:50%;width:46px;height:46px;flex:none;cursor:pointer;display:grid;place-items:center;transition:transform .3s var(--ease);}
body.lou .lou-404-search button:hover{transform:scale(1.07);}
body.lou .lou-404-search button svg{width:20px;height:20px;}
body.lou .lou-404-links{display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:center;align-items:center;margin-top:1.6rem;font-family:var(--f-body);font-size:.92rem;}
body.lou .lou-404-links span{color:var(--ink-soft);}
body.lou .lou-404-links a{color:var(--sage-deep);text-decoration:underline;text-underline-offset:3px;font-weight:600;}
body.lou .lou-404-links a:hover{color:var(--terracotta);}

/* =========================================================
   COMPTE CLIENT (connexion + tableau de bord + pages liées)
   ========================================================= */
body.woocommerce-account .lou-acc-hero,
body.woocommerce-account .lou-acc-greet{text-align:center;max-width:640px;margin:6px auto 30px;display:flex;flex-direction:column;align-items:center;gap:.35rem;}
body.woocommerce-account .lou-acc-title{font-family:var(--f-display);font-size:clamp(1.9rem,4vw,2.7rem);color:var(--ink);line-height:1.1;margin:0;}
body.woocommerce-account .lou-acc-title em{font-style:italic;color:var(--sage-deep);}
body.woocommerce-account .lou-acc-lead{color:var(--ink-soft);margin:0;}

body.woocommerce-account .woocommerce{max-width:1080px;margin:0 auto;}

/* --- Connexion / inscription (visiteur) --- */
body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register,
body.woocommerce-account:not(.logged-in) .u-column1,
body.woocommerce-account:not(.logged-in) .u-column2{max-width:460px;margin-inline:auto;}
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register{background:var(--paper);border:1.5px solid var(--line);border-radius:26px;box-shadow:var(--sh-card);padding:30px 28px;}
body.woocommerce-account form .form-row{margin-bottom:16px;display:flex;flex-direction:column;}
body.woocommerce-account form label{font-family:var(--f-body);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:800;margin-bottom:.4rem;}
body.woocommerce-account input[type=text],
body.woocommerce-account input[type=email],
body.woocommerce-account input[type=password],
body.woocommerce-account input[type=tel],
body.woocommerce-account input.input-text,
body.woocommerce-account select,
body.woocommerce-account textarea{width:100%;background:var(--cream);border:1.5px solid var(--line);border-radius:100px;padding:.82rem 1.25rem;font-family:var(--f-body);color:var(--ink);font-size:1rem;box-sizing:border-box;transition:border-color .3s,box-shadow .3s;}
body.woocommerce-account textarea{border-radius:20px;}
body.woocommerce-account input:focus,
body.woocommerce-account select:focus,
body.woocommerce-account textarea:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px rgba(147,166,126,.2);}
body.woocommerce-account .woocommerce-form-login__rememberme,
body.woocommerce-account .woocommerce-form__label-for-checkbox{flex-direction:row;align-items:center;gap:.5rem;text-transform:none;letter-spacing:0;font-weight:600;color:var(--ink-soft);}
body.woocommerce-account .button,
body.woocommerce-account button[type=submit],
body.woocommerce-account .woocommerce-Button{background:var(--sage-deep) !important;color:var(--cream) !important;border:1.5px solid transparent !important;border-radius:100px !important;padding:.82rem 1.9rem !important;font-family:var(--f-body) !important;font-weight:700 !important;font-size:1rem !important;cursor:pointer;box-shadow:0 12px 26px -14px rgba(60,58,49,.5);transition:transform .35s var(--ease);text-transform:none;letter-spacing:0;}
body.woocommerce-account .button:hover,
body.woocommerce-account button[type=submit]:hover{transform:translateY(-2px);}
body.woocommerce-account .woocommerce-LostPassword a,
body.woocommerce-account .woocommerce-privacy-policy-text a{color:var(--sage-deep);text-underline-offset:3px;}

/* --- Espace connecté : nav + contenu --- */
body.woocommerce-account.logged-in .woocommerce{display:flex;flex-wrap:wrap;gap:26px;align-items:flex-start;}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{flex:0 0 240px;width:240px;float:none;}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content{flex:1;min-width:0;float:none;width:auto;}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:10px;display:flex;flex-direction:column;gap:5px;background:var(--paper);border:1.5px solid var(--line);border-radius:22px;box-shadow:var(--sh-card);}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li{margin:0;border:0;}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a{display:block;padding:.72rem 1.05rem;border-radius:100px;font-family:var(--f-body);font-weight:600;color:var(--ink);text-decoration:none;transition:background .3s,color .3s;}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{background:var(--cream-2);}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{background:var(--sage-deep);color:var(--cream);}
body.woocommerce-account .woocommerce-MyAccount-content{background:var(--paper);border:1.5px solid var(--line);border-radius:22px;padding:28px clamp(20px,3vw,32px);box-shadow:var(--sh-card);}
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button){color:var(--sage-deep);}
body.woocommerce-account .woocommerce-MyAccount-content mark{background:var(--cream-2);color:var(--sage-deep);}

/* --- Tableaux (commandes) --- */
body.woocommerce-account table.shop_table,
body.woocommerce-account table.woocommerce-orders-table,
body.woocommerce-account table.woocommerce-MyAccount-orders{border:1.5px solid var(--line);border-radius:16px;border-collapse:separate;border-spacing:0;overflow:hidden;background:var(--cream);width:100%;}
body.woocommerce-account table.shop_table th{background:var(--cream-2);font-family:var(--f-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);padding:12px 14px;border:0;}
body.woocommerce-account table.shop_table td{padding:13px 14px;border-top:1px solid var(--line);border-left:0;border-right:0;color:var(--ink);}
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error{border-radius:16px;border:1.5px solid var(--line);background:var(--cream);padding:14px 18px;color:var(--ink);border-left:4px solid var(--sage-deep);}
body.woocommerce-account .woocommerce-error{border-left-color:var(--berry);}

@media(max-width:782px){
  body.woocommerce-account.logged-in .woocommerce{flex-direction:column;}
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{flex-basis:auto;width:100%;}
}
body.woocommerce-order-received .lou-oc-sub{font-family:var(--f-body);font-size:1rem;line-height:1.6;color:var(--ink-soft);text-transform:none;letter-spacing:0;max-width:46ch;}
body.woocommerce-order-received .lou-oc-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem 1.5rem;margin:.7rem 0 .2rem;}
body.woocommerce-order-received .lou-oc-step{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--f-body);font-size:.9rem;color:var(--ink);text-transform:none;letter-spacing:0;}
body.woocommerce-order-received .lou-oc-step b{font-size:1.05rem;font-weight:400;}
body.woocommerce-order-received .lou-oc-cta{display:inline-block;margin-top:.8rem;background:var(--sage-deep);color:var(--cream);text-decoration:none;font-family:var(--f-body);font-weight:700;font-size:1rem;padding:.8rem 1.7rem;border-radius:100px;box-shadow:0 12px 26px -14px rgba(60,58,49,.5);transition:transform .4s var(--ease);text-transform:none;letter-spacing:0;}
body.woocommerce-order-received .lou-oc-cta:hover{transform:translateY(-2px);}
@media(prefers-reduced-motion:reduce){body.woocommerce-order-received .lou-oc-art{animation:none;}}

/* =========================================================
   REDESIGN 2026-07-16b : miniatures produit, accordéon,
   slides « histoire », bouton « voir toute la boutique ».
   ========================================================= */

/* ----- Miniatures fiche produit : cadre doux « passe-partout » ----- */
body.lou .lcx-thumbs{gap:12px;margin-top:18px;}
body.lou .lcx-thumb{width:78px;height:78px;border:none!important;border-radius:18px;padding:4px;background:var(--paper);
  box-shadow:0 6px 16px -10px rgba(92,110,76,.4);position:relative;transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
body.lou .lcx-thumb img{width:100%;height:100%;object-fit:cover;border-radius:13px;display:block;}
body.lou .lcx-thumb::after{content:"";position:absolute;inset:0;border-radius:18px;border:2px solid transparent;pointer-events:none;transition:border-color .3s var(--ease);}
body.lou .lcx-thumb:hover{transform:translateY(-3px);box-shadow:0 13px 22px -12px rgba(92,110,76,.5);}
body.lou .lcx-thumb.is-active{border:none!important;box-shadow:0 12px 24px -10px rgba(92,110,76,.55);}
body.lou .lcx-thumb.is-active::after{border-color:var(--sage-deep);}

/* ----- Accordéon : panneaux crème arrondis, marqueur en pastille ----- */
body.lou .lcx-acc{display:flex;flex-direction:column;gap:12px;margin-top:10px;}
body.lou .lcx-acc details{border:1.5px solid var(--line)!important;border-radius:18px;background:var(--cream);overflow:hidden;
  transition:box-shadow .35s var(--ease),background .3s,border-color .3s;}
body.lou .lcx-acc details[open]{background:var(--paper);box-shadow:var(--sh-card);border-color:var(--sage-soft)!important;}
body.lou .lcx-acc summary{padding:15px 18px!important;gap:12px;font-family:var(--f-display)!important;font-size:1.1rem;color:var(--ink);}
body.lou .lcx-acc details[open] summary{color:var(--sage-deep);}
body.lou .lcx-acc summary::after{content:"+"!important;width:28px;height:28px;border-radius:50%;background:var(--cream-2);
  color:var(--sage-deep);display:grid;place-items:center;font-family:var(--f-body)!important;font-size:1.35rem;line-height:1;flex:none;
  transition:transform .4s var(--ease-spring),background .3s,color .3s;}
body.lou .lcx-acc details[open] summary::after{transform:rotate(45deg);background:var(--sage-deep);color:var(--cream);}
body.lou .lcx-acc-body{padding:0 18px 18px!important;}

/* ----- Slides « Comment tout a commencé » : mis en valeur (cadre matté + n° en badge) ----- */
body.lou .lou-story-slide{position:relative;}
@media(min-width:901px){body.lou .lou-story-slide{flex-basis:46%;}}
body.lou .lou-story-figure{padding:9px!important;background:var(--cream-2)!important;border:1.5px solid var(--line)!important;
  border-radius:32px!important;box-shadow:var(--sh-soft)!important;overflow:visible!important;aspect-ratio:1/1;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);}
body.lou .lou-story-figure img{border-radius:23px;transition:transform .8s var(--ease);}
body.lou .lou-story-slide:hover .lou-story-figure{transform:translateY(-6px);box-shadow:var(--sh-soft),0 30px 50px -30px rgba(92,110,76,.5)!important;}
body.lou .lou-story-figure{overflow:hidden!important;}
body.lou .lou-story-slide:hover .lou-story-figure img{transform:scale(1.05);}
body.lou .lou-story-num{position:absolute!important;top:20px;left:20px;z-index:3;width:48px;height:48px;border-radius:50%;
  background:rgba(255,253,248,.94);border:1.5px solid var(--line);color:var(--sage-deep)!important;
  display:grid;place-items:center;font-family:var(--f-display)!important;font-size:1.05rem!important;letter-spacing:0!important;
  box-shadow:var(--sh-card);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
@media(max-width:600px){body.lou .lou-story-num{width:40px;height:40px;font-size:.92rem!important;top:15px;left:15px;}}

/* ----- Bouton « Voir toute la boutique » : centré ----- */
body.lou .lou-seeall{display:flex!important;flex-direction:column;align-items:center!important;justify-content:center;text-align:center;width:100%;}
body.lou .lou-seeall .elementor-widget-button,body.lou .lou-seeall .lou-btn{align-self:center!important;margin-inline:auto!important;width:auto!important;}
body.lou .lou-seeall .elementor-button-wrapper{text-align:center;}

/* ===== Footer — réseaux sociaux ===== */
body.lou .lou-social{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;}
body.lou .lou-soc{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--sage-soft);background:var(--paper);color:var(--sage-deep);text-decoration:none!important;transition:transform .2s,background .2s,color .2s,border-color .2s;}
body.lou .lou-soc svg{width:20px;height:20px;display:block;}
body.lou .lou-soc:hover{background:var(--sage-deep);color:var(--cream)!important;border-color:var(--sage-deep);transform:translateY(-2px);}
@media(max-width:640px){body.lou .lou-social{justify-content:center;}}


/* ===== Page A propos - design sur-mesure ([loulou_about]) ===== */
body.lou .lou-ab{max-width:1080px;margin:0 auto;padding-top:var(--lou-ab-top,48px);}
body.lou .lou-ab-hero.lou-ab-noimg{grid-template-columns:1fr;}
body.lou .lou-ab-hero.lou-ab-noimg .lou-ab-hero-txt{max-width:660px;}
body.lou .lou-ab-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,52px);align-items:center;margin-bottom:clamp(30px,5vw,54px);}
@media(max-width:820px){body.lou .lou-ab-hero{grid-template-columns:1fr;text-align:center;}}
body.lou .lou-ab-title{font-family:var(--f-display)!important;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05;color:var(--ink);margin:.35rem 0 1rem;}
body.lou .lou-ab-title em{font-style:italic;color:var(--sage-deep);}
body.lou .lou-ab-lead{font-family:"Baskervville",Georgia,serif!important;font-size:1.1rem;line-height:1.7;color:var(--ink-soft);margin:0 0 1rem;}
body.lou .lou-ab-sign{font-family:var(--f-hand)!important;color:var(--terracotta);font-size:1.7rem;margin:.4rem 0 0;}
body.lou .lou-ab-arch{border:1.5px solid var(--line);box-shadow:var(--sh-card);background:var(--cream);border-radius:220px 220px 28px 28px;overflow:hidden;aspect-ratio:4/5;}
body.lou .lou-ab-arch img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:820px){body.lou .lou-ab-arch{aspect-ratio:1/1;max-width:400px;margin:0 auto;}}
body.lou .lou-ab-values{margin-top:clamp(34px,5vw,60px);}
body.lou .lou-ab-valhead{text-align:center;margin-bottom:clamp(20px,3vw,30px);}
body.lou .lou-ab-h2{font-family:var(--f-display)!important;font-size:clamp(1.7rem,3.6vw,2.4rem);color:var(--ink);margin:.2rem 0 0;}
body.lou .lou-ab-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:820px){body.lou .lou-ab-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:460px){body.lou .lou-ab-grid{grid-template-columns:1fr;}}
body.lou .lou-ab-card{background:var(--cream);border:1.5px solid var(--line);border-radius:22px;padding:24px 18px;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center;}
body.lou .lou-ab-card .ic{font-size:1.9rem;line-height:1;}
body.lou .lou-ab-card b{font-family:var(--f-body)!important;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;color:var(--sage-deep);}
body.lou .lou-ab-card .d{font-family:"Baskervville",Georgia,serif!important;font-size:.95rem;line-height:1.5;color:var(--ink-soft);}
body.lou .lou-ab-cta{margin-top:clamp(34px,5vw,60px);background:var(--cream);border:1.5px dashed var(--sage-soft);border-radius:28px;padding:clamp(28px,4vw,48px);text-align:center;}
body.lou .lou-ab-cta p{font-family:"Baskervville",Georgia,serif!important;font-size:1.08rem;line-height:1.6;color:var(--ink-soft);max-width:60ch;margin:.6rem auto 1.4rem;}
body.lou .lou-ab-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--sage-deep);color:var(--cream)!important;border-radius:100px;padding:.9rem 1.8rem;font-family:var(--f-body);text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;text-decoration:none!important;box-shadow:var(--sh-card);transition:transform .2s,background .2s;}
body.lou .lou-ab-btn:hover{background:var(--sage);transform:translateY(-2px);}
body.lou .lou-ab-btn span{display:inline-flex;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.16);align-items:center;justify-content:center;}

/* ===== Fiche produit : CTA une ligne, sticky tous produits, espacement paiement ===== */
body.lou .lcx-add-txt{white-space:nowrap;}
body.lou .lcx-add{white-space:nowrap;}
body.lou .lcx-variable .single_add_to_cart_button{white-space:nowrap!important;}
body.lou .lcx-pay{margin-top:22px;}
@media(max-width:760px){body.lou .lcx-stickybar .lcx-sticky-add{padding:0 1.15rem;}}
@keyframes lcx-flash{0%,100%{transform:none;}25%{transform:translateX(-3px);}50%{transform:translateX(3px);}75%{transform:translateX(-2px);}}
body.lou .lcx-swatches.lcx-flash{animation:lcx-flash .42s ease;}
body.lou .lcx-swatches.lcx-flash .lcx-swatch{border-color:var(--terracotta);}

/* ===== Footer redesign (.lou-ft) ===== */
body.lou .lou-ft-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,2fr);gap:clamp(28px,5vw,64px);padding:clamp(30px,4vw,48px) 0 28px;}
@media(max-width:820px){body.lou .lou-ft-main{grid-template-columns:1fr;gap:32px;}}
body.lou .lou-ft-tag{font-family:"Baskervville",Georgia,serif;color:var(--ink-soft);line-height:1.6;max-width:34ch;margin:.7rem 0 1.2rem;font-size:1rem;}
body.lou .lou-ft-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:520px){body.lou .lou-ft-cols{grid-template-columns:1fr 1fr;gap:20px 16px;}}
body.lou .lou-ft-col h5{font-family:var(--f-body)!important;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:var(--sage-deep);margin:0 0 .9rem;}
body.lou .lou-ft-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem;}
body.lou .lou-ft-col a{font-family:"Baskervville",Georgia,serif!important;color:var(--ink-soft);text-decoration:none!important;font-size:.98rem;transition:color .2s;}
body.lou .lou-ft-col a:hover{color:var(--sage-deep)!important;}
body.lou .lou-ft-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1.5px dashed var(--sage-soft);padding:18px 0 8px;margin-top:6px;}
body.lou .lou-ft-copy{font-family:"Baskervville",Georgia,serif!important;color:var(--ink-soft);font-size:.9rem;}
body.lou .lou-ft-pay{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
body.lou .lou-ft-pay span{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.05em;font-size:.66rem;color:var(--ink-soft);}
body.lou .lou-ft-pay i{font-style:normal;font-family:var(--f-body);font-weight:700;font-size:.7rem;background:var(--cream-2);border:1.5px solid var(--line);border-radius:6px;padding:.2rem .5rem;color:var(--sage-deep);}
@media(max-width:640px){body.lou .lou-ft-bottom{flex-direction:column;text-align:center;}body.lou .lou-ft-brand{text-align:center;}body.lou .lou-ft-brand .lou-logo{justify-content:center;}body.lou .lou-ft-tag{margin-left:auto;margin-right:auto;}}

/* ===== Panier vide : illustration ===== */
body.lou .wp-block-woocommerce-empty-cart-block{text-align:center;}
body.lou .wp-block-woocommerce-empty-cart-block .lou-empty-ill{margin:0 0 1.2rem;}
body.lou .wp-block-woocommerce-empty-cart-block .lou-empty-ill img{max-height:200px;width:auto;filter:drop-shadow(0 14px 22px rgba(60,58,49,.16));}
body.lou .wp-block-woocommerce-empty-cart-block > .wp-block-image:first-of-type,
body.lou .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__image,
body.lou .wp-block-woocommerce-empty-cart-block img.wc-block-cart__empty-cart__image{display:none!important;}

/* ===== Header commerce (block-template) : même compacité que les pages Elementor =====
   Les conteneurs Elementor du header HFE 158 gardaient un min-height/espace sur les
   pages produit/panier/checkout (.lcx-page) -> pill trop haute. On neutralise. */
body.lcx-page .elementor-158 .e-con,
body.lcx-page .elementor-158 .e-con-inner,
body.lcx-page .elementor-158 .lou-nav,
body.lcx-page .elementor-158 .lou-nav-inner,
body.lcx-page .elementor-158 .lou-ribbon-wrap{min-height:0!important;}
body.lcx-page .elementor-158 .lou-nav-inner{align-items:center!important;}
body.lcx-page .elementor-158 .lou-nav-inner > *{align-self:center!important;margin-top:0!important;margin-bottom:0!important;}
body.lcx-page .elementor-158 .lou-nav-inner .elementor-widget-container{margin-top:0!important;margin-bottom:0!important;}

body.lcx-page .elementor-158 .lou-nav,
body.lcx-page .elementor-158 .lou-ribbon-wrap{height:auto!important;gap:0!important;}
body.lcx-page .elementor-158 .lou-nav > *:empty,
body.lcx-page .elementor-158 .lou-ribbon-wrap > *:empty{display:none!important;}



/* ============================================================
   Session 2026-07-15 (suite 3) — correctifs
   ============================================================ */

/* --- Fiche produit : fix débordement horizontal (CTA nowrap) --- */
body.lou .lcx-product > *{min-width:0;}
body.lou .lcx-buy,body.lou .lcx-gallery{min-width:0;max-width:100%;}
body.lou .lcx-atc,body.lou .lcx-variable .woocommerce-variation-add-to-cart{min-width:0;}
body.lou .lcx-add{min-width:0;flex-shrink:1;}

/* --- Petits titres (eyebrows) en Aboreto, comme la home --- */
body.lou .lou-ct-eyebrow{font-family:"Aboreto","Mulish",system-ui,sans-serif!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-size:.78rem!important;color:var(--terracotta)!important;transform:none!important;display:inline-block;line-height:1.4;}
body.lou .lou-ct-faqhead .lou-ct-eyebrow,body.lou .lou-404 .lou-ct-eyebrow{font-size:.78rem!important;}
/* accents manuscrits -> serif élégant (plus de Caveat, cohérence home) */
body.lou .lou-ct-note,body.lou .lou-ab-sign{font-family:"Baskervville",Georgia,serif!important;font-style:italic;}

/* --- Panier vide : masquer le smiley par défaut + bouton aux couleurs du site --- */
body.lou .wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
body.lou .wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before{content:none!important;display:none!important;background:none!important;-webkit-mask:none!important;mask:none!important;}
body.lou .wp-block-woocommerce-empty-cart-block .wp-block-button__link,
body.lou .wp-block-woocommerce-empty-cart-block .wp-element-button{background:var(--sage-deep)!important;color:var(--cream)!important;border:0!important;border-radius:100px!important;font-family:var(--f-body)!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-size:.85rem!important;padding:.95rem 2.1rem!important;box-shadow:var(--sh-card)!important;transition:background .2s!important;}
body.lou .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover{background:var(--sage)!important;}
body.lou .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{margin-top:0!important;}

/* --- Menu mobile RECONSTRUIT (prioritaire, marche sur tout le site) --- */
body.lou .lou-mdrawer{position:fixed!important;inset:0!important;z-index:100000!important;visibility:hidden;}
body.lou .lou-mdrawer.open{visibility:visible;}
body.lou .lou-mdrawer-bg{position:absolute!important;inset:0!important;background:rgba(60,58,49,.45)!important;opacity:0;transition:opacity .3s ease;}
body.lou .lou-mdrawer.open .lou-mdrawer-bg{opacity:1;}
body.lou .lou-mdrawer-panel{position:absolute!important;top:0!important;left:0!important;bottom:0!important;right:auto!important;width:300px!important;max-width:85vw!important;background:var(--paper)!important;box-shadow:24px 0 60px -24px rgba(60,58,49,.5)!important;transform:translateX(-100%)!important;transition:transform .38s cubic-bezier(.32,.72,0,1)!important;padding:22px 20px calc(22px + env(safe-area-inset-bottom,0px))!important;display:flex!important;flex-direction:column!important;gap:2px!important;overflow-y:auto!important;}
body.lou .lou-mdrawer.open .lou-mdrawer-panel{transform:translateX(0)!important;}
body.lou .lou-mdrawer-title{font-family:"Aboreto","Mulish",system-ui,sans-serif!important;text-transform:uppercase;color:var(--terracotta)!important;font-size:.8rem!important;letter-spacing:.16em!important;margin:2px 0 12px!important;}
body.lou .lou-mdrawer-menu{list-style:none!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;}
body.lou .lou-mdrawer-menu li{border-bottom:1.5px solid var(--line)!important;}
body.lou .lou-mdrawer-menu a{display:block!important;padding:1rem .2rem!important;font-family:"Aboreto","Mulish",system-ui,sans-serif!important;text-transform:uppercase;letter-spacing:.06em;font-size:.95rem!important;color:var(--ink)!important;text-decoration:none!important;}
body.lou .lou-mdrawer-menu a:hover{color:var(--sage-deep)!important;}
body.lou .lou-mdrawer .lou-promo-banner{margin-top:auto!important;}

/* ===== CTA ajout panier : wrapper bloc (immunise du wpautop) + pas de débordement ===== */
body.lou .lcx-addwrap{flex:1 1 auto;min-width:0;display:flex;margin:0;}
body.lou .lcx-addwrap .lcx-add{flex:1 1 auto;min-width:0;width:100%;}
/* si wpautop crée quand même un <p> dans le formulaire, on le neutralise */
body.lou .lcx-atc > p{flex:1 1 auto;min-width:0;margin:0;display:flex;}
body.lou .lcx-atc > p > .lcx-add{flex:1 1 auto;min-width:0;width:100%;}
body.lou .lcx-atc{overflow:visible;}
/* le texte peut rétrécir proprement au lieu de sortir du cadre */
body.lou .lcx-add{overflow:hidden;}
body.lou .lcx-add-txt{overflow:hidden;text-overflow:ellipsis;}
body.lou .lcx-add-arrow{flex:0 0 24px;}

/* ===== Espace entre la réassurance et la ligne « Paiement sécurisé » ===== */
body.lou .lcx-pay{margin-top:26px!important;padding-top:20px!important;}

/* ===== Header : immuniser les icônes du wpautop (le lien panier était enrobé dans un <p>
   -> marges -> header ~50px trop haut sur produit/panier/checkout) ===== */
body.lou .lou-cartwrap{display:flex;align-items:center;margin:0;flex:0 0 auto;}
/* filet de sécurité si un <p> est quand même créé dans la barre d'icônes */
body.lou .lou-nav-icons > p{margin:0!important;padding:0!important;display:flex;align-items:center;flex:0 0 auto;}
body.lou .lou-nav-inner p:empty,body.lou .lou-nav-icons p:empty{display:none!important;}

/* ===== Bouton menu mobile : même gabarit que recherche/panier (44px) ===== */
body.lou .lou-menu-btn{width:44px!important;height:44px!important;min-width:44px!important;border-radius:50%!important;flex:0 0 44px!important;align-self:center!important;}

/* ===== Cartes produit : le prix reste collé en bas (plus d'espace variable) ===== */
body.lou .lou-card .core{display:flex!important;flex-direction:column!important;height:100%;}
body.lou .lou-card .body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;}
body.lou .lou-card .body .row{margin-top:auto!important;}

/* ===== Boutique v2 : héro centré + filtres latéraux + grille ===== */
body.lou .lou-shop2-head{text-align:center;max-width:660px;margin:0 auto clamp(26px,4vw,44px);}
body.lou .lou-shop2-title{font-family:var(--f-display)!important;font-size:clamp(2rem,4.6vw,3rem);line-height:1.06;color:var(--ink);margin:.35rem 0 .7rem;}
body.lou .lou-shop2-lead{font-family:"Baskervville",Georgia,serif!important;font-size:1.05rem;line-height:1.6;color:var(--ink-soft);margin:0;}
body.lou .lou-shop2-layout{display:grid;grid-template-columns:222px minmax(0,1fr);gap:clamp(24px,3vw,46px);align-items:start;}
@media(max-width:900px){body.lou .lou-shop2-layout{grid-template-columns:1fr;gap:16px;}}
body.lou .lou-shop2-side{position:sticky;top:20px;display:flex;flex-direction:column;gap:22px;}
@media(max-width:900px){body.lou .lou-shop2-side{position:static;gap:12px;}}
body.lou .lou-shop2-gtitle{font-family:"Aboreto","Mulish",system-ui,sans-serif!important;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem!important;color:var(--terracotta)!important;margin:0 0 .7rem!important;}
body.lou .lou-shop2-chips{display:flex;flex-wrap:wrap;gap:8px;}
@media(min-width:901px){body.lou .lou-shop2-chips{flex-direction:column;align-items:stretch;}}
@media(max-width:900px){
  body.lou .lou-shop2-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;}
  body.lou .lou-shop2-chips::-webkit-scrollbar{display:none;}
  body.lou .lou-shop2-chips .chip{flex:0 0 auto;}
}
body.lou .lou-shop2 .chip{border:1.5px solid var(--line);background:var(--paper);border-radius:100px;padding:.55rem 1rem;font-family:var(--f-body);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;color:var(--sage-deep);cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap;text-align:left;}
body.lou .lou-shop2 .chip:hover{border-color:var(--sage);}
body.lou .lou-shop2 .chip.active{background:var(--sage-deep);color:var(--cream);border-color:var(--sage-deep);}
body.lou .lou-shop2-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line);}
body.lou .lou-shop2-count{font-family:"Baskervville",Georgia,serif!important;color:var(--ink-soft);font-size:.95rem;}
body.lou .lou-shop2-count b{color:var(--sage-deep);font-family:"Baskervville",Georgia,serif!important;}
body.lou .lou-shop2-reset{border:0;background:none;font-family:var(--f-body);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;color:var(--terracotta);cursor:pointer;text-decoration:underline;padding:0;}
body.lou .lou-shop2 .lou-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,20px);margin:0!important;padding:0!important;}
@media(max-width:1100px){body.lou .lou-shop2 .lou-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px){body.lou .lou-shop2 .lou-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}}
body.lou .lou-shop-empty{text-align:center;font-family:"Baskervville",Georgia,serif!important;color:var(--ink-soft);padding:40px 0;}

/* ===== 1. Logo aligné avec les boutons du header en mobile (44px, comme menu/recherche/panier) ===== */
@media(max-width:900px){
  body.lou .lou-nav-inner .lou-logo-img{height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
  body.lou .lou-nav-inner .lou-logo-img .elementor-widget-container,
  body.lou .lou-nav-inner .lou-logo-img a{height:44px!important;display:flex!important;align-items:center!important;}
  body.lou .lou-nav-inner .lou-logo-img img{height:44px!important;width:auto!important;max-height:44px!important;}
}

/* ===== 2. Boutique mobile : la colonne de filtres doit pouvoir rétrécir (chips scrollables) ===== */
body.lou .lou-shop2-layout > *{min-width:0;}
body.lou .lou-shop2-side,
body.lou .lou-shop2-group,
body.lou .lou-shop2-chips,
body.lou .lou-shop2-main{min-width:0;max-width:100%;}
@media(max-width:900px){
  body.lou .lou-shop2-side{width:100%;overflow:hidden;}
  body.lou .lou-shop2-chips{width:100%;-webkit-overflow-scrolling:touch;}
}

/* ===== 3. Espace body -> footer identique partout (produit/panier/checkout) ===== */
body.lcx-page .lcx-sheet{margin-bottom:0!important;}

/* Footer sur pages block-template : mêmes artefacts que le header (hauteur explicite,
   gap:20px, <p> vides ajoutés par wpautop) -> ~30px d'espace en trop avant le footer. */
body.lcx-page .elementor-159 .elementor-element,
body.lcx-page .elementor-159 .e-con,
body.lcx-page .elementor-159 .e-con-inner{height:auto!important;gap:0!important;}
body.lcx-page .elementor-159 p:empty,
body.lcx-page .elementor-158 p:empty{display:none!important;}

/* Le conteneur Elementor du footer garde ~30px résiduels sur les pages block-template
   (artefact Elementor/wpautop non réductible proprement). On compense la marge du
   footsheet pour obtenir le MÊME espace body->footer que les pages Elementor (44px). */
body.lcx-page .lcx-footsheet{margin-top:25px!important;}

/* ===== Bloc « Paiement sécurisé » : espace équilibré entre les deux lignes ===== */
body.lou .lcx-pay{padding-top:20px!important;padding-bottom:20px!important;}

/* ===== Cartes : prix sur UNE ligne, bouton « + » jamais écrasé (alignement identique
   entre produits avec et sans finition) ===== */
body.lou .lou-card .row{gap:8px;align-items:center;}
body.lou .lou-card .price{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.lou .lou-card .add{flex:0 0 44px!important;width:44px!important;height:44px!important;}
/* « dès » devant le prix des produits à finitions */
body.lou .lou-card .lou-from{font-family:var(--f-body)!important;font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-right:.2rem;}

/* ===========================================================
   Tap mobile : plus de carré noir au clic
   Par défaut iOS/Android peignent un rectangle gris-noir translucide
   (-webkit-tap-highlight-color) sur tout élément cliquable.
   On le supprime et on le remplace par un retour tactile discret.
   =========================================================== */
html,body.lou,body.lou *,body.lou *::before,body.lou *::after{
  -webkit-tap-highlight-color:transparent;
}

/* Pas d'anneau de focus au clic souris/tactile... */
body.lou a:focus:not(:focus-visible),
body.lou button:focus:not(:focus-visible),
body.lou summary:focus:not(:focus-visible),
body.lou [tabindex]:focus:not(:focus-visible){outline:none;}

/* ...mais focus clavier bien visible (accessibilité) */
body.lou a:focus-visible,
body.lou button:focus-visible,
body.lou summary:focus-visible,
body.lou [tabindex]:focus-visible,
body.lou input:focus-visible,
body.lou select:focus-visible,
body.lou textarea:focus-visible{
  outline:2.5px solid var(--sage);
  outline-offset:3px;
}

/* Retour tactile subtil au lieu du carré noir (appareils sans survol) */
@media (hover:none){
  body.lou .lou-icon:active,
  body.lou .lou-menu-btn:active,
  body.lou .chip:active,
  body.lou .lcx-swatch:active,
  body.lou .lcx-qty-btn:active,
  body.lou .lou-soc:active,
  body.lou .lcx-add:active,
  body.lou .lou-ab-btn:active,
  body.lou .add:active,
  body.lou .single_add_to_cart_button:active,
  body.lou .wp-block-button__link:active,
  body.lou .wc-block-components-button:active{
    opacity:.7;
    transform:scale(.97);
    transition:opacity .12s ease,transform .12s ease;
  }
  /* liens de texte et cartes : simple atténuation, pas de mise à l'échelle */
  body.lou .lou-card a:active,
  body.lou .lou-mdrawer-menu a:active,
  body.lou .lou-ft-col a:active,
  body.lou .lcx-crumbs a:active,
  body.lou .elementor-nav-menu a:active{
    opacity:.6;
    transition:opacity .12s ease;
  }
}

@media (prefers-reduced-motion:reduce){
  body.lou *:active{transform:none!important;}
}

/* ===== Header : centrer verticalement les liens du menu =====
   Le widget menu était bien centré (cy 120) mais le <ul> restait collé en haut
   (cy 104) -> les liens paraissaient décalés vs logo / recherche / panier. */
/* bloc retire : display:flex forcait le menu desktop a s'afficher en mobile */
body.lou .lou-nav-inner .lou-menu .elementor-nav-menu{align-items:center!important;margin:0!important;top:0!important;position:static!important;}

/* ===== Espace header -> feuille blanche (identique aux autres pages) ===== */
body.lcx-page .lcx-sheet{margin-top:20px!important;}
@media(max-width:640px){ body.lcx-page .lcx-sheet{margin-top:12px!important;} }

/* Le widget menu avait une hauteur imposée (64px) avec son <nav> (31px) collé en haut
   -> liens 16px plus haut que logo/recherche/panier. Hauteur auto = centrage naturel. */
@media(min-width:981px){body.lou .lou-nav-inner .lou-menu{height:auto!important;min-height:0!important;align-self:center!important;}}
body.lou .lou-nav-inner .lou-menu > .elementor-widget-container{height:auto!important;min-height:0!important;}

/* ===========================================================
   Menu aligné avec logo / recherche / panier sur TOUT le site
   loulou-tweaks.css poussait la nav de 16px vers le bas en desktop
   (`top:16px`) pour compenser un widget menu trop haut (64px alors que
   la nav fait 31px et restait collée en haut). On corrige la CAUSE
   (hauteur auto -> centrage naturel) et on annule le décalage.
   loulou-commerce.css étant chargé après tweaks, ces règles gagnent.
   =========================================================== */
@media(min-width:981px){body.lou .lou-nav-inner .lou-menu{height:auto!important;min-height:0!important;align-self:center!important;}}
body.lou .lou-nav-inner .lou-menu > .elementor-widget-container{height:auto!important;min-height:0!important;}
body.lou .lou-nav-inner .lou-menu .elementor-nav-menu--main{position:static!important;top:auto!important;margin-top:0!important;margin-bottom:0!important;}
body.lou .lou-nav-inner .lou-menu .elementor-nav-menu{margin:0!important;align-items:center!important;}

/* ===========================================================
   Arches / rectangles (demande 2026-07-15)
   - HÉRO : on GARDE l'arche, et la photo la REMPLIT (cover).
   - Section à propos (home) + page à propos : RECTANGLE.
   Surcharge le bloc #7 de loulou-tweaks.css (object-fit:contain,
   aspect-ratio:auto) : remplir l'arche implique de recadrer.
   =========================================================== */

/* --- Héro : arche conservée, photo qui remplit --- */
body.lou .lou-hero-frame{aspect-ratio:1/1.08!important;overflow:hidden!important;}
body.lou .lou-hero-frame .elementor-widget-image,
body.lou .lou-hero-frame .elementor-widget-image .elementor-widget-container,
body.lou .lou-hero-frame .elementor-widget-image a,
body.lou .lou-hero-frame .elementor-widget-container{height:100%!important;}
body.lou .lou-hero-frame img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;}

/* --- Section à propos (home) : RECTANGLE, photo qui remplit --- */
body.lou .lou-arch{border-radius:26px!important;overflow:hidden!important;}
body.lou .lou-arch .inner{border-radius:22px!important;aspect-ratio:4/5!important;overflow:hidden!important;}
body.lou .lou-arch .inner .elementor-widget-image,
body.lou .lou-arch .inner .elementor-widget-image .elementor-widget-container,
body.lou .lou-arch .inner .elementor-widget-image a,
body.lou .lou-arch .inner .elementor-widget-container{height:100%!important;}
body.lou .lou-arch img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;}

/* --- Page à propos : RECTANGLE (l'image remplit déjà) --- */
body.lou .lou-ab-arch{border-radius:26px!important;}

/* La photo doit ÉPOUSER la forme du cadre, sinon elle reste rectangulaire
   et on voit le fond du cadre dans les angles hauts de l'arche.
   Héro : cadre 519px, bordure 7px + padding 10px = 17px d'inset
   -> rayon photo = rayon cadre (230/24) moins 17 = 213 / 7. */
body.lou .lou-hero-frame img{border-radius:213px 213px 7px 7px!important;}
/* Section à propos : rectangle (inner 22px, inset 10px) -> photo 12px */
body.lou .lou-arch .inner img{border-radius:12px!important;}

/* Page à propos : la photo (plus haute que la colonne texte) venait coller au bord
   supérieur de la feuille blanche (12px seulement, contre 92px pour le texte).
   On la descend en desktop. En mobile elle est empilée sous le texte : rien à faire. */
@media(min-width:821px){
  body.lou .lou-ab-hero-img{margin-top:48px;}
}

/* ===========================================================
   Elementor génère son propre menu déroulant + burger dans le widget menu.
   Ils sont INUTILISÉS : le site a son tiroir sur-mesure (.lou-mdrawer,
   ouvert par .lou-menu-btn injecté par loulou.js).
   loulou-tweaks.css les forçait en `display:block!important` (sans media query) :
   -> +33px dans le widget menu en desktop (widget 64px au lieu de 31 -> menu
      désaligné vs logo/recherche/panier)
   -> dropdown visible dans le header en mobile + débordement horizontal.
   On les masque complètement.
   =========================================================== */
body.lou .lou-menu .elementor-nav-menu--dropdown,
body.lou .lou-menu .elementor-menu-toggle,
body.lou .lou-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown{display:none!important;}

/* ===========================================================
   ORDER CONFIRMATION (order-received / thank you page)
   WooCommerce blocks order-confirmation blocks.
   Classes: wc-block-order-confirmation-status, -summary,
   -totals, -billing-address, -shipping-address, -downloads, etc.
   =========================================================== */

/* --- Cacher le tiroir panier / promo / reassure sur la page merci --- */
body.woocommerce-order-received .lou-mdrawer,
body.woocommerce-order-received .lou-mdrawer-overlay,
body.woocommerce-order-received .lou-promo-banner,
body.woocommerce-order-received .lcx-reassure{display:none!important;}

/* --- Conteneur principal merci --- */
body.woocommerce-order-received .lcx-sheet{padding-top:20px!important;padding-bottom:40px!important;}
body.woocommerce-order-received .wc-block-order-confirmation-status{margin-top:8px!important;margin-bottom:24px!important;}

/* --- Message "Merci" en grand Aboreto --- */
body.woocommerce-order-received .wc-block-order-confirmation-status p{
  font-family:var(--f-heading,Aboreto,serif)!important;
  font-size:clamp(1.6rem,4vw,2.8rem)!important;
  line-height:1.3!important;
  letter-spacing:.02em!important;
  color:var(--c-terra,#C2704E)!important;
  text-align:center!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-status.has-large-font-size p{
  font-size:clamp(1.6rem,4vw,2.8rem)!important;
}

/* --- Description sous le merci --- */
body.woocommerce-order-received .wc-block-order-confirmation-status-description{
  text-align:center!important;
  max-width:560px!important;
  margin:0 auto 32px!important;
  font-family:var(--f-body,Mulish,sans-serif)!important;
  font-size:1rem!important;
  line-height:1.7!important;
  color:var(--c-charcoal,#3A3A3A)!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-status-description a.button{
  display:inline-block!important;
  margin-top:8px!important;
  padding:10px 28px!important;
  background:var(--c-sage,#8FA88A)!important;
  color:#fff!important;
  border-radius:40px!important;
  font-family:var(--f-heading,Aboreto,serif)!important;
  font-size:.85rem!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  transition:background .25s,transform .25s!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-status-description a.button:hover{
  background:var(--c-terra,#C2704E)!important;
  transform:translateY(-1px)!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-status-description a.button::after{display:none!important;}

/* --- Order Summary (numéro, date, email, total) --- */
body.woocommerce-order-received .wc-block-order-confirmation-summary{
  background:var(--c-ivoire,#FAF9F6)!important;
  border-radius:24px!important;
  padding:28px 24px!important;
  margin:0 auto 32px!important;
  max-width:680px!important;
  border:1px solid color-mix(in srgb,var(--c-sage,#8FA88A) 25%,transparent)!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-summary ul{
  gap:12px!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-summary ul li{
  font-family:var(--f-body,Mulish,sans-serif)!important;
  font-size:.95rem!important;
  color:var(--c-charcoal,#3A3A3A)!important;
  line-height:1.5!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-summary ul li .wc-block-order-confirmation-summary-list-item__key{
  font-family:var(--f-heading,Aboreto,serif)!important;
  font-size:.75rem!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--c-terra,#C2704E)!important;
  display:block!important;
  margin-bottom:2px!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-summary ul li .wc-block-order-confirmation-summary-list-item__value{
  font-weight:600!important;
  display:block!important;
}

/* --- Address Wrapper (billing + shipping côte à côte) --- */
body.woocommerce-order-received .wc-block-order-confirmation-address-wrapper{
  max-width:800px!important;
  margin:0 auto 32px!important;
  gap:20px!important;
}

/* --- Billing & Shipping individual cards --- */
body.woocommerce-order-received .wc-block-order-confirmation-billing-address,
body.woocommerce-order-received .wc-block-order-confirmation-shipping-address,
body.woocommerce-order-received .wc-block-order-confirmation-order-note{
  background:var(--c-ivoire,#FAF9F6)!important;
  border-radius:20px!important;
  padding:20px 24px!important;
  border:1px solid color-mix(in srgb,var(--c-sage,#8FA88A) 25%,transparent)!important;
  height:100%!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-billing-address address,
body.woocommerce-order-received .wc-block-order-confirmation-shipping-address address,
body.woocommerce-order-received .wc-block-order-confirmation-billing-address p,
body.woocommerce-order-received .wc-block-order-confirmation-shipping-address p{
  font-family:var(--f-body,Mulish,sans-serif)!important;
  font-size:.9rem!important;
  line-height:1.6!important;
  color:var(--c-charcoal,#3A3A3A)!important;
  font-style:normal!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-billing-address p strong,
body.woocommerce-order-received .wc-block-order-confirmation-shipping-address p strong{
  font-family:var(--f-heading,Aboreto,serif)!important;
  font-size:.7rem!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:var(--c-terra,#C2704E)!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-billing-address p strong::after,
body.woocommerce-order-received .wc-block-order-confirmation-shipping-address p strong::after{content:""!important;}

/* --- Headings dans les wrappers (ex: "Adresse de facturation") --- */
body.woocommerce-order-received .wp-block-woocommerce-order-confirmation-billing-wrapper .wp-block-heading,
body.woocommerce-order-received .wp-block-woocommerce-order-confirmation-shipping-wrapper .wp-block-heading,
body.woocommerce-order-received .wp-block-woocommerce-order-confirmation-totals-wrapper .wp-block-heading{
  font-family:var(--f-heading,Aboreto,serif)!important;
  font-size:.85rem!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--c-terra,#C2704E)!important;
  margin:0 0 12px!important;
  padding:0!important;
}

/* --- Totals Table --- */
body.woocommerce-order-received .wc-block-order-confirmation-totals{
  max-width:560px!important;
  margin:0 auto 32px!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-totals table{
  border:1px solid color-mix(in srgb,var(--c-sage,#8FA88A) 25%,transparent)!important;
  border-radius:16px!important;
  overflow:hidden!important;
  font-family:var(--f-body,Mulish,sans-serif)!important;
  font-size:.9rem!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-totals table th{
  font-family:var(--f-heading,Aboreto,serif)!important;
  font-size:.7rem!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:var(--c-terra,#C2704E)!important;
  background:var(--c-ivoire,#FAF9F6)!important;
  padding:12px 16px!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-totals table td{
  padding:10px 16px!important;
  color:var(--c-charcoal,#3A3A3A)!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-totals table tfoot th{
  border-top:1px solid color-mix(in srgb,var(--c-sage,#8FA88A) 25%,transparent)!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-totals table tfoot tr:last-child th,
body.woocommerce-order-received .wc-block-order-confirmation-totals table tfoot tr:last-child td{
  font-weight:700!important;
  color:var(--c-terra,#C2704E)!important;
}

/* --- Downloads section --- */
body.woocommerce-order-received .wc-block-order-confirmation-downloads{
  max-width:680px!important;
  margin:0 auto 32px!important;
  background:var(--c-ivoire,#FAF9F6)!important;
  border-radius:20px!important;
  padding:20px 24px!important;
  border:1px solid color-mix(in srgb,var(--c-sage,#8FA88A) 25%,transparent)!important;
}
body.woocommerce-order-received .wc-block-order-confirmation-downloads .wp-block-heading{
  font-family:var(--f-heading,Aboreto,serif)!important;
  font-size:.85rem!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--c-terra,#C2704E)!important;
  margin-bottom:16px!important;
}

/* --- CTA Continue shopping --- */
body.woocommerce-order-received .woocommerce-order-received-actions{
  text-align:center!important;
  margin-top:16px!important;
}
body.woocommerce-order-received .woocommerce-order-received-actions a{
  display:inline-block!important;
  padding:12px 36px!important;
  background:var(--c-sage,#8FA88A)!important;
  color:#fff!important;
  border-radius:40px!important;
  font-family:var(--f-heading,Aboreto,serif)!important;
  font-size:.85rem!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  transition:background .25s,transform .25s!important;
}
body.woocommerce-order-received .woocommerce-order-received-actions a:hover{
  background:var(--c-terra,#C2704E)!important;
  transform:translateY(-1px)!important;
}

/* --- Responsive --- */
@media(max-width:640px){
  body.woocommerce-order-received .wc-block-order-confirmation-address-wrapper{gap:16px!important;}
  body.woocommerce-order-received .wc-block-order-confirmation-summary{padding:20px 16px!important;}
  body.woocommerce-order-received .wc-block-order-confirmation-billing-address,
  body.woocommerce-order-received .wc-block-order-confirmation-shipping-address,
  body.woocommerce-order-received .wc-block-order-confirmation-order-note{padding:16px!important;}
  body.woocommerce-order-received .wc-block-order-confirmation-summary ul li{width:100%!important;}
  body.woocommerce-order-received .wc-block-order-confirmation-summary ul li .wc-block-order-confirmation-summary-list-item__key,
  body.woocommerce-order-received .wc-block-order-confirmation-summary ul li .wc-block-order-confirmation-summary-list-item__value{display:inline!important;}
}

/* --- Fix: greet sur sa propre ligne (ne pas casser la grille nav/contenu) --- */
body.woocommerce-account.logged-in .woocommerce > .lou-acc-greet{flex:0 0 100%;width:100%;max-width:100%;}

/* 404 : forcer les sections du header en ligne. Sur la 404 le CSS conteneur Elementor
   ne s'applique pas (directions par defaut = colonne + gap 20px) -> header gonfle a ~277px. */
body.error404 .elementor-158 .e-con{flex-direction:row;}
body.error404 .elementor-158 .lou-ribbon,
body.error404 .elementor-158 .track{flex-direction:row;}

/* ===== BLOG / ARTICLE au design boutique ===== */
body.single-post .elementor-158 .e-con{flex-direction:row;}
body.single-post .elementor-158 .lou-ribbon,body.single-post .elementor-158 .track{flex-direction:row;}
body.single-post .wp-block-post-title{font-family:var(--f-display);font-size:clamp(2rem,5vw,3.1rem);line-height:1.12;color:var(--ink);text-align:center;max-width:20ch;margin:1.4rem auto .4rem;}
body.single-post .wp-block-post-date,body.single-post .wp-block-post-terms,body.single-post .wp-block-post-author,body.single-post .wp-block-post-meta{text-align:center;}
body.single-post .wp-block-post-content,body.single-post .entry-content{max-width:740px;margin-inline:auto;font-family:var(--f-display);}
body.single-post .wp-block-post-content p,body.single-post .entry-content p{font-family:var(--f-display) !important;font-size:1.12rem;line-height:1.8;color:var(--ink);margin:0 0 1.25rem;text-transform:none !important;}
body.single-post .wp-block-post-content h2{font-family:var(--f-display);font-size:clamp(1.5rem,3vw,2rem);color:var(--sage-deep);margin:2.2rem 0 .8rem;line-height:1.15;}
body.single-post .wp-block-post-content h3{font-family:var(--f-display);font-size:1.3rem;color:var(--ink);margin:1.6rem 0 .6rem;}
body.single-post .wp-block-post-content a{color:var(--sage-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;}
body.single-post .wp-block-post-content a:hover{color:var(--terracotta);}
body.single-post .wp-block-post-content ul{margin:0 0 1.25rem;padding-left:1.2rem;}
body.single-post .wp-block-post-content li{font-family:var(--f-display) !important;font-size:1.12rem;line-height:1.7;color:var(--ink);margin:.35rem 0;text-transform:none !important;}
body.single-post .wp-block-post-content li::marker{color:var(--sage);}
body.single-post .wp-block-post-content>p:first-of-type::first-letter{font-family:var(--f-display);font-size:3.2rem;line-height:.78;float:left;margin:.12rem .5rem 0 0;color:var(--terracotta);}
.lou-xsell{max-width:900px;margin:3rem auto 0;padding-top:2rem;border-top:1.5px solid var(--line);text-align:center;}
.lou-xsell-eyebrow{font-family:var(--f-hand);font-size:1.3rem;color:var(--terracotta);margin:0;}
.lou-xsell-title{font-family:var(--f-display);font-size:clamp(1.5rem,3vw,2.1rem);color:var(--ink);margin:.1rem 0 1.5rem;}
.lou-xsell-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.lou-xsell-card{display:flex;flex-direction:column;text-decoration:none;background:var(--paper);border:1.5px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--sh-card);transition:transform .35s var(--ease),box-shadow .35s;}
.lou-xsell-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px -18px rgba(60,58,49,.4);}
.lou-xsell-img{display:block;aspect-ratio:1/1;background:var(--cream);}
.lou-xsell-img img{width:100%;height:100%;object-fit:cover;display:block;}
.lou-xsell-name{font-family:var(--f-display);font-weight:600;color:var(--ink);padding:.8rem 1rem .2rem;font-size:1rem;line-height:1.3;}
.lou-xsell-price{font-family:var(--f-body);color:var(--sage-deep);font-weight:700;padding:0 1rem 1rem;font-size:.95rem;}
.lou-xsell-price .amount{color:var(--sage-deep);}
.lou-xsell-btn{display:inline-block;margin-top:1.6rem;background:var(--sage-deep);color:var(--cream);font-family:var(--f-body);font-weight:700;padding:.8rem 2rem;border-radius:100px;text-decoration:none;box-shadow:0 12px 26px -14px rgba(60,58,49,.5);transition:transform .35s var(--ease);}
.lou-xsell-btn:hover{transform:translateY(-2px);}
@media(max-width:680px){.lou-xsell-grid{grid-template-columns:1fr 1fr;gap:12px;}}

/* Blog : masquer commentaires + query loop (autres articles) pour un article propre */
body.single-post .wp-block-comments,body.single-post .comment-respond,body.single-post .wp-block-post-comments-form,body.single-post .wp-block-query.alignwide,body.single-post main>.wp-block-group.alignwide:last-child,body.single-post .wp-block-post-navigation-link{display:none !important;}

/* Header 404/article : centrer le ruban annonce pour l'aligner au menu */
body.error404 .elementor-158 .elementor-element-lh0156>.elementor-element,body.single-post .elementor-158 .elementor-element-lh0156>.elementor-element{margin-left:auto !important;margin-right:auto !important;}

/* annonce padding-inline 0 : alignement exact ruban/menu (404+article) */
body.error404 .elementor-158 .elementor-element-lh0156,body.single-post .elementor-158 .elementor-element-lh0156{padding-left:0 !important;padding-right:0 !important;}

/* lh0155 largeur exacte = menu (1180) pour alignement parfait */
body.error404 .elementor-158 .elementor-element-lh0156>.elementor-element,body.single-post .elementor-158 .elementor-element-lh0156>.elementor-element{max-width:1180px !important;width:1180px !important;margin-left:auto !important;margin-right:auto !important;}
body.error404 .elementor-158 .lou-ribbon,body.single-post .elementor-158 .lou-ribbon{margin-left:0 !important;margin-right:0 !important;max-width:100% !important;}

/* ===== BLOG v2 fixes (titre, cross-sell boutique, related, espace bas) ===== */
body.single-post .wp-block-post-title{max-width:820px !important;}
body.single-post .lou-xsell a,body.single-post .lou-related a{text-decoration:none !important;}
body.single-post .lou-xsell .lou-card h3 a{color:var(--ink) !important;}
body.single-post .lou-xsell .lou-card .price,body.single-post .lou-xsell .lou-card .price .amount{color:var(--sage-deep) !important;}
body.single-post .lou-xsell-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch;}
body.single-post .lou-xsell-grid .lou-card{margin:0;}
body.single-post .lou-xsell-btn{display:inline-block;background:var(--sage-deep) !important;color:#FBF7EC !important;font-family:var(--f-body) !important;font-weight:700;padding:.85rem 2.1rem;border-radius:100px;text-decoration:none !important;box-shadow:0 12px 26px -14px rgba(60,58,49,.5);transition:transform .35s var(--ease);}
body.single-post .lou-xsell-btn:hover{color:#FBF7EC !important;background:var(--sage-deep) !important;transform:translateY(-2px);}
body.single-post .lou-related{max-width:960px;margin:2.6rem auto 0;padding-top:2rem;border-top:1.5px solid var(--line);text-align:center;}
body.single-post .lou-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:.4rem;}
body.single-post .lou-artcard{display:flex;flex-direction:column;background:var(--paper);border:1.5px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--sh-card);text-align:left;transition:transform .35s var(--ease),box-shadow .35s;}
body.single-post .lou-artcard:hover{transform:translateY(-4px);box-shadow:0 18px 34px -18px rgba(60,58,49,.4);}
body.single-post .lou-artcard-img{display:block;aspect-ratio:4/3;background:var(--cream);overflow:hidden;}
body.single-post .lou-artcard-img img{width:100%;height:100%;object-fit:cover;display:block;}
body.single-post .lou-artcard-ph{display:block;width:100%;height:100%;min-height:150px;background:repeating-linear-gradient(45deg,var(--cream),var(--cream) 12px,var(--cream-2) 12px,var(--cream-2) 24px);}
body.single-post .lou-artcard-body{padding:.9rem 1.1rem 1.1rem;}
body.single-post .lou-artcard-cat{font-family:var(--f-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta);font-weight:700;}
body.single-post .lou-artcard-title{display:block;font-family:var(--f-display) !important;font-size:1.05rem;line-height:1.25;color:var(--ink) !important;margin-top:.3rem;}
body.single-post .wp-site-blocks{margin-bottom:8px !important;padding-bottom:28px !important;}
body.single-post main{margin-top:0 !important;}
@media(max-width:680px){body.single-post .lou-xsell-grid,body.single-post .lou-related-grid{grid-template-columns:1fr 1fr;gap:12px;}}

/* cross-sell : + du bouton ajout visible (cream) */
body.single-post .lou-xsell .lou-card .add{color:#FBF7EC !important;text-decoration:none !important;}

/* Washi tape sous le titre d'article */
body.single-post .lou-washi{max-width:300px;margin:.4rem auto 2.4rem;transform:rotate(-1.6deg);filter:drop-shadow(0 6px 11px rgba(60,58,49,.13));}
body.single-post .lou-washi img{display:block;width:100%;height:auto;}

/* header fixes page-journal (miroir article) */
body.page-journal .elementor-158 .e-con{flex-direction:row;}
body.page-journal .elementor-158 .lou-ribbon,body.page-journal .elementor-158 .track{flex-direction:row;}
body.page-journal .elementor-158 .elementor-element-lh0156{padding-left:0 !important;padding-right:0 !important;}
body.page-journal .elementor-158 .elementor-element-lh0156>.elementor-element{max-width:1180px !important;width:1180px !important;margin-left:auto !important;margin-right:auto !important;}
body.page-journal .elementor-158 .lou-ribbon{margin-left:0 !important;margin-right:0 !important;max-width:100% !important;}

/* ===== PAGE JOURNAL styles ===== */
body.page-journal .lou-journal{max-width:1120px;margin:0 auto;padding:1rem 0;}
body.page-journal .lou-journal-hero{text-align:center;max-width:640px;margin:1rem auto 2rem;}
body.page-journal .lou-journal-title{font-family:var(--f-display);font-size:clamp(2rem,4.5vw,3rem);color:var(--ink);line-height:1.1;margin:.3rem 0 .6rem;}
body.page-journal .lou-journal-lead{font-family:var(--f-display);color:var(--ink-soft);font-size:1.05rem;line-height:1.6;margin:0;}
body.page-journal .lou-journal-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 2.2rem;}
body.page-journal .lou-jf{font-family:var(--f-body);font-size:.88rem;font-weight:600;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:100px;padding:.5rem 1.2rem;cursor:pointer;transition:background .3s,color .3s,border-color .3s;}
body.page-journal .lou-jf:hover{border-color:var(--sage);}
body.page-journal .lou-jf.is-active{background:var(--sage-deep);color:var(--cream);border-color:var(--sage-deep);}
body.page-journal .lou-journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
body.page-journal .lou-journal-empty{grid-column:1/-1;text-align:center;font-family:var(--f-display);color:var(--ink-soft);padding:2rem;}
body.page-journal .lou-artcard{display:flex;flex-direction:column;background:var(--paper);border:1.5px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--sh-card);text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s;}
body.page-journal .lou-artcard:hover{transform:translateY(-5px);box-shadow:0 20px 38px -18px rgba(60,58,49,.42);}
body.page-journal .lou-artcard-img{display:block;aspect-ratio:3/2;background:var(--cream);overflow:hidden;}
body.page-journal .lou-artcard-img img{width:100%;height:100%;object-fit:cover;display:block;}
body.page-journal .lou-artcard-ph{display:block;width:100%;height:100%;min-height:180px;background:repeating-linear-gradient(45deg,var(--cream),var(--cream) 12px,var(--cream-2) 12px,var(--cream-2) 24px);}
body.page-journal .lou-artcard-body{padding:1.1rem 1.3rem 1.4rem;}
body.page-journal .lou-artcard-cat{font-family:var(--f-body);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta);font-weight:700;}
body.page-journal .lou-artcard-title{display:block;font-family:var(--f-display);font-size:1.25rem;line-height:1.25;color:var(--ink);margin:.35rem 0 .5rem;}
body.page-journal .lou-artcard-ex{display:block;font-family:var(--f-display);font-size:.98rem;line-height:1.55;color:var(--ink-soft);}
@media(max-width:900px){body.page-journal .lou-journal-grid{grid-template-columns:1fr 1fr;gap:16px;}}
@media(max-width:560px){body.page-journal .lou-journal-grid{grid-template-columns:1fr;}}

/* journal hide default title (doublon avec le hero) */
body.page-journal .wp-block-post-title,body.page-journal .wp-block-post-title.has-global-padding{display:none !important;}
body.page-journal main{margin-top:0 !important;}

/* Article : masquer blocs theme apres le contenu (meta footer, navigation) -> supprime le vide bas */
body.single-post .wp-block-post-content ~ *{display:none !important;}

/* ===== BLOG v3 fixes ===== */
body.single-post .lou-washi{height:46px;width:min(1080px,90vw);max-width:none;margin:.6rem auto 2.6rem;position:relative;left:50%;transform:translateX(-50%) rotate(-1.4deg);background-repeat:repeat-x;background-size:auto 100%;background-position:center;filter:drop-shadow(0 6px 11px rgba(60,58,49,.13));}
body.single-post .wp-block-group.has-small-font-size{display:none !important;}
body.single-post .lou-xsell,body.single-post .lou-related{width:min(1180px,92vw) !important;max-width:none !important;position:relative;left:50% !important;margin-left:0 !important;margin-right:0 !important;transform:translateX(-50%);}
body.single-post .lou-xsell-eyebrow{font-family:"Aboreto","Mulish",system-ui,sans-serif !important;text-transform:uppercase !important;letter-spacing:.14em !important;font-size:.78rem !important;color:var(--terracotta) !important;margin:0 0 .35rem !important;line-height:1.4;}

/* ===== BLOG v3 fix2 (grille + eyebrow) ===== */
body.single-post .lou-xsell-grid>.lou-card,body.single-post .lou-xsell-grid>*{min-width:0 !important;}
body.single-post .lou-xsell .lou-card .ph img,body.single-post .lou-xsell .lou-card img{width:100% !important;height:auto;max-width:100% !important;}
body.single-post .lou-xsell .lou-xsell-eyebrow,body.single-post .lou-related .lou-xsell-eyebrow{font-family:"Aboreto","Mulish",system-ui,sans-serif !important;text-transform:uppercase !important;letter-spacing:.14em !important;font-size:.78rem !important;color:var(--terracotta) !important;margin:0 0 .35rem !important;line-height:1.4 !important;}

/* ===== BLOG v4 fixes (eyebrow taille+espace, prix cross-sell) ===== */
body.single-post .lou-xsell .lou-xsell-eyebrow,body.single-post .lou-related .lou-xsell-eyebrow{font-size:.95rem !important;letter-spacing:.12em !important;margin:0 0 .1rem !important;}
body.single-post .lou-xsell-title,body.single-post .lou-related .lou-xsell-title{margin-top:0 !important;}
body.single-post .lou-xsell .lou-card .price,body.single-post .lou-xsell .lou-card .price .amount,body.single-post .lou-xsell .lou-card .price bdi{font-size:.92rem !important;line-height:1.2 !important;white-space:normal !important;word-break:normal;}
body.single-post .lou-xsell .lou-card .row{flex-wrap:wrap;gap:.3rem;align-items:center;}
body.single-post .lou-xsell .lou-card .price{flex:1 1 auto;min-width:0;}
@media(max-width:560px){body.single-post .lou-xsell .lou-card .price,body.single-post .lou-xsell .lou-card .price .amount{font-size:.82rem !important;}body.single-post .lou-xsell-grid{grid-template-columns:1fr 1fr;}}

/* ===== CATEGORIE header fixes (miroir article) ===== */
body.tax-product_cat .elementor-158 .e-con{flex-direction:row;}
body.tax-product_cat .elementor-158 .lou-ribbon,body.tax-product_cat .elementor-158 .track{flex-direction:row;}
body.tax-product_cat .elementor-158 .elementor-element-lh0156{padding-left:0 !important;padding-right:0 !important;}
body.tax-product_cat .elementor-158 .elementor-element-lh0156>.elementor-element{max-width:1180px !important;width:1180px !important;margin-left:auto !important;margin-right:auto !important;}
body.tax-product_cat .elementor-158 .lou-ribbon{margin-left:0 !important;margin-right:0 !important;max-width:100% !important;}
body.tax-product_cat .woocommerce-breadcrumb,body.tax-product_cat .woocommerce-result-count,body.tax-product_cat .woocommerce-ordering,body.tax-product_cat .term-description{display:none !important;}

/* ===== CATEGORIE carte blanche ===== */
body.tax-product_cat .wp-site-blocks{padding-top:12px;}
body.tax-product_cat .lou-shop2.lou-cat{background:#FFFDF8;border-radius:40px;max-width:1300px;margin:20px auto 30px;padding:clamp(24px,4vw,44px) clamp(18px,4vw,48px) clamp(30px,4vw,52px);}
body.tax-product_cat .lou-cat .lou-shop2-head{text-align:center;max-width:640px;margin:.5rem auto 2.2rem;}
body.tax-product_cat .lou-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
@media(max-width:1100px){body.tax-product_cat .lou-cat-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:820px){body.tax-product_cat .lou-cat-grid{grid-template-columns:repeat(2,1fr);gap:14px;}}
@media(max-width:520px){body.tax-product_cat .lou-cat-grid{grid-template-columns:1fr 1fr;gap:10px;}}
body.tax-product_cat .lou-cat-grid>.lou-card{min-width:0;}

/* boutique filtre sticky fix : conteneur Elementor ancetre en overflow visible */
body.lou .elementor-element-lp00034b78{overflow:visible !important;}
body.lou .elementor-element-lp00034b78 .e-con-inner{overflow:visible !important;}

/* ===== WC produits par defaut au design boutique (produits similaires, recherche, tags) ===== */
body.lou .woocommerce ul.products,body.lou ul.products.columns-3,body.lou ul.products.columns-4{display:grid !important;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;margin:2rem 0 0;padding:0;}
body.lou .woocommerce ul.products li.product,body.lou ul.products li.product{width:auto !important;margin:0 !important;background:var(--paper);border:1.5px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--sh-card);text-align:left;padding:0 0 .2rem;transition:transform .35s var(--ease),box-shadow .35s;display:flex;flex-direction:column;}
body.lou .woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 18px 34px -18px rgba(60,58,49,.4);}
body.lou .woocommerce ul.products li.product > a:first-child,body.lou ul.products li.product > a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;text-decoration:none;}
body.lou .woocommerce ul.products li.product img{margin:0 !important;border-radius:0;aspect-ratio:1/1;object-fit:cover;width:100%;}
body.lou .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--f-display) !important;font-size:1rem;line-height:1.25;color:var(--ink);padding:.7rem 1rem .2rem;font-weight:400;}
body.lou .woocommerce ul.products li.product .price{padding:0 1rem .2rem;color:var(--sage-deep) !important;font-family:var(--f-body);font-weight:700;font-size:.95rem;}
body.lou .woocommerce ul.products li.product .price del{color:var(--ink-soft) !important;font-weight:400;}
body.lou .woocommerce ul.products li.product .button,body.lou .woocommerce ul.products li.product .added_to_cart{margin:.35rem 1rem 1rem;background:var(--sage-deep) !important;color:var(--cream) !important;border-radius:100px !important;padding:.6rem 1.2rem !important;font-family:var(--f-body) !important;font-weight:700 !important;text-align:center;text-decoration:none;font-size:.9rem;}
body.lou .woocommerce ul.products li.product .onsale{background:var(--terracotta);color:#fff;border-radius:100px;border:0;}
@media(max-width:1000px){body.lou .woocommerce ul.products{grid-template-columns:repeat(3,1fr) !important;}}
@media(max-width:700px){body.lou .woocommerce ul.products{grid-template-columns:1fr 1fr !important;gap:12px;}}

/* ===== Cartes WC : bouton detail + '+' lateral ===== */
body.lou .woocommerce ul.products li.product .lou-wc-actions{display:flex;align-items:center;gap:.5rem;padding:.3rem 1rem 1rem;margin-top:auto;}
body.lou .lou-wc-detail{flex:1;text-align:center;background:var(--sage-deep);color:var(--cream) !important;font-family:var(--f-body);font-weight:700;font-size:.85rem;padding:.62rem .7rem;border-radius:100px;text-decoration:none;transition:transform .3s var(--ease);white-space:nowrap;}
body.lou .lou-wc-detail:hover{transform:translateY(-2px);color:var(--cream) !important;}
body.lou .lou-wc-add{flex:0 0 40px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:var(--cream-2);color:var(--sage-deep) !important;border:1.5px solid var(--line);border-radius:50%;font-size:1.5rem;line-height:1;text-decoration:none;font-family:var(--f-body);transition:background .3s,color .3s;}
body.lou .lou-wc-add:hover{background:var(--sage-deep);color:var(--cream) !important;}
body.lou .lou-wc-actions .added_to_cart{display:none !important;}
body.lou .woocommerce ul.products li.product .button{display:none !important;}
/* ===== Centrer 'Voir toute la boutique' (home) ===== */
body.lou .elementor-element-lh0103{width:100% !important;max-width:100% !important;align-items:center !important;justify-content:center !important;}
body.lou .elementor-element-lh0102{align-self:center !important;text-align:center !important;}
body.lou .elementor-element-lh0102 .elementor-button-wrapper{text-align:center !important;}

/* ===== Etiquette categorie sur cartes WC ===== */
body.lou .woocommerce ul.products li.product .lou-wc-cat{display:block;font-family:var(--f-body);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta);font-weight:700;padding:.7rem 1rem 0;}
body.lou .woocommerce ul.products li.product .woocommerce-loop-product__title{padding-top:.1rem !important;}
/* ===== Carrousel mobile (cartes produit WC + cross-sell + related) ===== */
@media(max-width:600px){
  body.lou .woocommerce ul.products{display:flex !important;grid-template-columns:none !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 0 14px;margin:1.5rem 0 0;-webkit-overflow-scrolling:touch;}
  body.lou .woocommerce ul.products li.product{flex:0 0 72% !important;scroll-snap-align:start;}
  body.single-post .lou-xsell-grid,body.single-post .lou-related-grid{display:flex !important;grid-template-columns:none !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:14px;-webkit-overflow-scrolling:touch;}
  body.single-post .lou-xsell-grid>*,body.single-post .lou-related-grid>*{flex:0 0 72% !important;scroll-snap-align:start;}
}
/* ===== espace au-dessus du bouton Voir toute la boutique ===== */
body.lou .elementor-element-lh0102{margin-top:1.7rem !important;}

/* ===== Cartes produits WooCommerce en blocs (recherche/tags) au design boutique ===== */
body.lou .wc-block-product-template{display:grid !important;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;margin:2rem 0 0;padding:0;}
body.lou li.wc-block-product{margin:0 !important;padding:0 0 .3rem !important;background:var(--paper);border:1.5px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--sh-card);display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s;}
body.lou li.wc-block-product:hover{transform:translateY(-4px);box-shadow:0 18px 34px -18px rgba(60,58,49,.4);}
body.lou li.wc-block-product .wc-block-components-product-image{margin:0;}
body.lou li.wc-block-product .wc-block-components-product-image img{border-radius:0;aspect-ratio:1/1;object-fit:cover;width:100%;}
body.lou li.wc-block-product .wp-block-post-title{font-family:var(--f-display) !important;font-size:1rem;line-height:1.25;color:var(--ink);padding:.1rem 1rem .2rem;margin:0;font-weight:400;}
body.lou li.wc-block-product .wp-block-post-title a{color:var(--ink) !important;text-decoration:none;}
body.lou li.wc-block-product .wc-block-components-product-price{padding:0 1rem .3rem;color:var(--sage-deep) !important;font-family:var(--f-body);font-weight:700;font-size:.95rem;}
body.lou li.wc-block-product .wp-block-woocommerce-product-button,body.lou li.wc-block-product .wc-block-components-product-button{margin-top:auto;padding:.3rem 1rem 1rem;}
body.lou li.wc-block-product .wc-block-components-product-button__button{background:var(--sage-deep) !important;color:var(--cream) !important;border-radius:100px !important;font-family:var(--f-body) !important;font-weight:700 !important;padding:.62rem 1rem !important;width:100%;border:0;font-size:.85rem;}
body.lou .lou-wc-cat{display:block;font-family:var(--f-body);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta) !important;font-weight:700;padding:.6rem 1rem 0;}
body.lou li.wc-block-product .lou-wc-cat{order:-1;padding:.7rem 1rem 0;}
body.lou li.wc-block-product .wc-block-components-product-image{order:-2;}
@media(max-width:1000px){body.lou .wc-block-product-template{grid-template-columns:repeat(3,1fr) !important;}}
@media(max-width:600px){body.lou .wc-block-product-template{display:flex !important;grid-template-columns:none !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;-webkit-overflow-scrolling:touch;padding-bottom:12px;}body.lou li.wc-block-product{flex:0 0 72% !important;scroll-snap-align:start;}}

/* wc-block img display block + conteneur 1:1 */
body.lou li.wc-block-product .wc-block-components-product-image{aspect-ratio:1/1;overflow:hidden;}
body.lou li.wc-block-product .wc-block-components-product-image img{display:block;height:100%;}

/* ===== RECHERCHE (search) au design boutique ===== */
body.lou-search-page .wp-site-blocks > .wp-block-template-part{display:none !important;}
body.lou-search-page .wp-site-blocks{padding-top:12px;}
body.lou-search-page .lou-shop2.lou-search{background:#FFFDF8;border-radius:40px;max-width:1300px;margin:20px auto 30px;padding:clamp(24px,4vw,44px) clamp(18px,4vw,48px) clamp(30px,4vw,52px);}
body.lou-search-page .lou-search .lou-shop2-head{text-align:center;max-width:640px;margin:.5rem auto 2.2rem;}
/* RECHERCHE header fixes (miroir categorie) */
body.lou-search-page .elementor-158 .e-con{flex-direction:row;}
body.lou-search-page .elementor-158 .lou-ribbon,body.lou-search-page .elementor-158 .track{flex-direction:row;}
body.lou-search-page .elementor-158 .elementor-element-lh0156{padding-left:0 !important;padding-right:0 !important;}
body.lou-search-page .elementor-158 .elementor-element-lh0156>.elementor-element{max-width:1180px !important;width:1180px !important;margin-left:auto !important;margin-right:auto !important;}
body.lou-search-page .elementor-158 .lou-ribbon{margin-left:0 !important;margin-right:0 !important;max-width:100% !important;}

/* ===== Cartes boutique : actions detail + '+' (comme la home) ===== */
body.lou .lou-card .lou-wc-actions{display:flex;align-items:center;gap:.5rem;margin-top:.55rem;}
body.lou .lou-card .body .price{display:block;margin:.15rem 0 0;}
body.lou .lou-card .lou-wc-detail{font-size:.8rem;padding:.58rem .6rem;}

/* ===== Masquer la scrollbar des carrousels ===== */
body.lou .woocommerce ul.products,body.lou .wc-block-product-template,.lou-season-grid,.lou-prod-grid,.lou-xsell-grid,.lou-related-grid{scrollbar-width:none;-ms-overflow-style:none;}
body.lou .woocommerce ul.products::-webkit-scrollbar,body.lou .wc-block-product-template::-webkit-scrollbar,.lou-season-grid::-webkit-scrollbar,.lou-prod-grid::-webkit-scrollbar,.lou-xsell-grid::-webkit-scrollbar,.lou-related-grid::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important;background:transparent !important;}

/* ===== Cartes recherche (bloc) : garder seulement detail + '+' ===== */
body.lou li.wc-block-product .wc-block-components-product-button,body.lou li.wc-block-product a.wc-block-components-product-button__button,body.lou li.wc-block-product .wp-block-button{display:none !important;}

/* ===== fix decalage cartes recherche (bloc) : alignement gauche + boutons en bas ===== */
body.lou li.wc-block-product{text-align:left !important;}
body.lou li.wc-block-product .wp-block-post-title,body.lou li.wc-block-product .wp-block-post-title a,body.lou li.wc-block-product .has-text-align-center,body.lou li.wc-block-product .wc-block-components-product-price{text-align:left !important;}
body.lou li.wc-block-product .lou-wc-cat{text-align:left;}
body.lou li.wc-block-product .lou-wc-actions{display:flex !important;align-items:center;gap:.5rem;margin-top:auto !important;padding:.5rem 1rem 1rem;}
body.lou li.wc-block-product .wc-block-components-product-price{margin-top:0;}

/* ===== taille titre recherche = home (override has-medium-font-size) ===== */
body.lou li.wc-block-product .wp-block-post-title,body.lou li.wc-block-product .wp-block-post-title.has-medium-font-size{font-size:1rem !important;line-height:1.25 !important;}
body.lou li.wc-block-product .wc-block-components-product-price,body.lou li.wc-block-product .has-small-font-size .wc-block-components-product-price{font-size:.95rem !important;}

/* ===== fix decalage barre tri mobile (compteur + Pertinence empiles) ===== */
@media(max-width:600px){
  body.lou-search-page .wp-block-group:has(> .wp-block-woocommerce-catalog-sorting){flex-wrap:wrap !important;flex-direction:column !important;align-items:flex-start !important;row-gap:.7rem !important;}
  body.lou-search-page .wp-block-woocommerce-catalog-sorting{width:100% !important;justify-content:flex-start !important;}
  body.lou-search-page .wp-block-woocommerce-catalog-sorting form,body.lou-search-page form.woocommerce-ordering{width:100% !important;max-width:100% !important;margin:0 !important;}
  body.lou-search-page select.orderby,body.lou-search-page .woocommerce-ordering select{width:100% !important;max-width:100% !important;min-width:0 !important;}
}

/* ===== taille texte cartes boutique = home ===== */
body.lou .lou-shop-grid .lou-card h3,body.lou .lou-shop-grid .lou-card h3 a{font-size:1rem !important;line-height:1.25 !important;}
body.lou .lou-shop-grid .lou-card .price,body.lou .lou-shop-grid .lou-card .price .amount,body.lou .lou-shop-grid .lou-card .price bdi{font-size:.95rem !important;line-height:1.2 !important;}
body.lou .lou-shop-grid .lou-card .price .lou-from{font-size:.7rem !important;}
body.lou .lou-shop-grid .lou-card .cat-lbl{font-size:.68rem !important;}

/* ===== fix boutons cartes boutique mobile (tenir dans carte 2 colonnes) ===== */
@media(max-width:600px){
  body.lou .lou-shop-grid .lou-card .body{padding-left:.7rem;padding-right:.7rem;}
  body.lou .lou-shop-grid .lou-wc-actions{gap:.35rem;margin-top:.5rem;flex-wrap:nowrap;}
  body.lou .lou-shop-grid .lou-wc-detail{white-space:normal !important;min-width:0;flex:1 1 auto;font-size:.72rem !important;line-height:1.15;padding:.5rem .45rem !important;text-align:center;}
  body.lou .lou-shop-grid .lou-wc-add{flex:0 0 32px;width:32px;height:32px;font-size:1.25rem;}
  body.lou .lou-shop-grid .lou-card h3{font-size:.92rem !important;}
  body.lou .lou-shop-grid .lou-card .cat-lbl{font-size:.6rem !important;letter-spacing:.05em;}
}

/* ===== police titre boutique = home (Aboreto caps -> f-display casse normale) ===== */
body.lou .lou-shop-grid .lou-card h3,body.lou .lou-shop-grid .lou-card h3 a{font-family:var(--f-display) !important;text-transform:none !important;letter-spacing:0 !important;font-weight:400 !important;}

/* Fiche produit numerique : masquer accordeons livraison/emballage (garder Details) */
body.lou-digital-product .lcx-acc details:nth-of-type(2),body.lou-digital-product .lcx-acc details:nth-of-type(3){display:none !important;}

/* ===== Item menu evenementiel (Halloween, Noel...) - sort du lot ===== */
.lou-nav-event a{color:#D97A34 !important;font-weight:700 !important;animation:lou-event-glow 1.9s ease-in-out infinite;}
.lou-nav-halloween a{color:#D97A34 !important;}
@keyframes lou-event-glow{0%,100%{text-shadow:0 0 0 rgba(217,122,52,0);}50%{text-shadow:0 0 9px rgba(217,122,52,.6);}}
@media (prefers-reduced-motion: reduce){.lou-nav-event a{animation:none;}}
/* footer standout */
.lou-ft-event a{color:#D97A34 !important;font-weight:700;}
