/* ===== Loulou — tweaks (loaded LAST, wins over everything) ===== */

/* 1) Titres de section centrés */
body.lou .lou-sechead{text-align:center!important;align-items:center!important;}
body.lou .lou-sechead .elementor-widget,
body.lou .lou-sechead .elementor-widget-container,
body.lou .lou-sechead .elementor-heading-title,
body.lou .lou-sechead .elementor-widget-text-editor,
body.lou .lou-sechead p{text-align:center!important;}
body.lou .lou-sechead .lou-eyebrow,
body.lou .lou-sechead .elementor-widget-heading{margin-left:auto;margin-right:auto;justify-content:center;}

/* 2) Supprimer le cadre marron (bezel) mais garder les cartes visibles */
body.lou .lou-bezel{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;}
body.lou .lou-bezel > .core,
body.lou .lou-bezel .core{border:1.5px solid var(--line)!important;box-shadow:var(--sh-card)!important;border-radius:22px!important;background:var(--paper)!important;}

/* 3) Menu arrondi + soulignement vert sauge */
body.lou .lou-menu .elementor-nav-menu a.elementor-item{border-radius:100px!important;transition:background .3s var(--ease),color .3s var(--ease);}
body.lou .lou-menu .elementor-nav-menu a.elementor-item:hover{background:var(--cream-2)!important;}
body.lou .lou-menu .elementor-item-active{color:var(--sage-deep)!important;font-weight:700;}
/* recolorer le trait (pointer underline) en vert sauge + arrondi */
body.lou .lou-menu .elementor-item:before,
body.lou .lou-menu .elementor-item:after,
body.lou .lou-menu .e--pointer-underline .elementor-item:after,
body.lou .lou-menu .e--pointer-double-line .elementor-item:before,
body.lou .lou-menu .e--pointer-double-line .elementor-item:after,
body.lou .lou-menu .e--pointer-framed .elementor-item:before{background-color:var(--sage)!important;border-radius:3px!important;height:3px!important;}

/* 4) La photo remplit l'arche */
body.lou .lou-arch{overflow:hidden;}
body.lou .lou-arch .inner{height:100%;}
body.lou .lou-arch .elementor-widget-image,
body.lou .lou-arch .elementor-widget-image .elementor-widget-container,
body.lou .lou-arch .elementor-widget-image a{height:100%!important;display:block;line-height:0;}
body.lou .lou-arch img{width:100%!important;height:100%!important;object-fit:cover!important;display:block;}

/* 5) Contact : form + infos + FAQ (au cas où on réutilise ces classes) */
body.lou .lou-contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:start;}
body.lou .lou-contact-card{background:var(--paper);border:1.5px solid var(--line);border-radius:24px;box-shadow:var(--sh-card);padding:28px;}
body.lou .lou-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
body.lou .lou-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
body.lou .lou-field label{font-size:.85rem;font-weight:600;color:var(--ink-soft);}
body.lou .lou-field input,body.lou .lou-field textarea{border:1.5px solid var(--line);border-radius:14px;background:var(--cream);padding:.8rem 1rem;font-family:var(--f-body);font-size:1rem;color:var(--ink);width:100%;}
body.lou .lou-field textarea{min-height:130px;resize:vertical;}
body.lou .lou-info-item{display:flex;gap:.9rem;align-items:flex-start;padding:14px 0;border-bottom:1.5px solid var(--line);}
body.lou .lou-info-item:last-child{border-bottom:none;}
body.lou .lou-info-item .ic{width:44px;height:44px;border-radius:50%;background:var(--cream-2);border:1.5px solid var(--line);display:grid;place-items:center;flex:0 0 auto;}
body.lou .lou-info-item b{display:block;font-family:var(--f-display);font-weight:600;}
body.lou .lou-info-item span{color:var(--ink-soft);font-size:.92rem;}
body.lou .lou-faq details{background:var(--paper);border:1.5px solid var(--line);border-radius:18px;box-shadow:var(--sh-card);padding:2px 22px;margin-bottom:14px;}
body.lou .lou-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:18px 0;font-family:var(--f-display);font-size:1.15rem;color:var(--ink);}
body.lou .lou-faq summary::-webkit-details-marker{display:none;}
body.lou .lou-faq summary::after{content:"+";font-family:var(--f-body);font-size:1.5rem;color:var(--sage-deep);transition:transform .3s var(--ease);}
body.lou .lou-faq details[open] summary::after{transform:rotate(45deg);}
body.lou .lou-faq p{color:var(--ink-soft);margin:0 0 18px;}

/* 6) Promesses (à propos) */
body.lou .lou-promise{background:var(--paper);border:1.5px solid var(--line);border-radius:20px;box-shadow:var(--sh-card);padding:22px;}
body.lou .lou-promise .ic{font-size:1.6rem;margin-bottom:.5rem;}
body.lou .lou-promise b{display:block;font-family:var(--f-display);font-weight:600;font-size:1.1rem;margin-bottom:.2rem;}
body.lou .lou-promise span{color:var(--ink-soft);font-size:.9rem;}
body.lou .lou-promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}

/* 7) symmetrie / responsive */
body.lou .lou-hero-lead{margin-left:auto;margin-right:auto;}
body.lou .lou-center{text-align:center;}
@media(max-width:900px){
  body.lou .lou-contact-grid{grid-template-columns:1fr;}
  body.lou .lou-promise-grid{grid-template-columns:repeat(2,1fr);}
  body.lou .lou-form-row{grid-template-columns:1fr;}
  body.lou .lou-atelier-grid{grid-template-columns:1fr!important;}
  body.lou .lou-arch{max-width:360px;}
}
@media(max-width:560px){
  body.lou .lou-promise-grid{grid-template-columns:1fr;}
  body.lou .lou-hero-grid{grid-template-columns:1fr!important;}
}
/* menu mobile (hamburger Elementor) */
body.lou .lou-menu .elementor-menu-toggle{color:var(--sage-deep)!important;border:1.5px solid var(--line);border-radius:12px;padding:5px 7px;}
body.lou .lou-menu .elementor-menu-toggle svg{width:26px;height:26px;fill:var(--sage-deep);}
body.lou .lou-menu .elementor-nav-menu--dropdown{background:var(--paper)!important;border:1.5px solid var(--line);border-radius:18px;margin-top:10px;box-shadow:var(--sh-card);overflow:hidden;}
body.lou .lou-menu .elementor-nav-menu--dropdown a.elementor-item{color:var(--ink)!important;padding:.9rem 1.2rem!important;border-radius:0!important;font-weight:600;}
body.lou .lou-menu .elementor-nav-menu--dropdown a.elementor-item:hover{background:var(--cream-2)!important;}

/* sechead: centrage horizontal en contexte flex */
body.lou .lou-sechead{align-self:center!important;width:100%;max-width:680px;margin-left:auto!important;margin-right:auto!important;}
body.lou .lou-sechead .elementor-widget-heading,body.lou .lou-sechead .elementor-widget-text-editor{width:100%;}

/* header mobile compact */
@media(max-width:640px){
  body.lou .lou-nav-icons a:nth-child(1),body.lou .lou-nav-icons a:nth-child(2){display:none!important;}
  body.lou .lou-nav-inner{gap:.6rem!important;}
  body.lou .lou-nav{padding:.5rem .7rem!important;}
  body.lou .lou-menu{margin-left:auto;}
  body.lou .lou-nav-inner .lou-menu{margin-right:.4rem!important;}
}

/* dropdown mobile : empilement vertical propre */
body.lou .lou-menu .elementor-nav-menu--dropdown{display:block!important;background:var(--paper)!important;border:1.5px solid var(--line)!important;border-radius:18px!important;box-shadow:var(--sh-card)!important;overflow:hidden!important;margin-top:10px!important;width:240px!important;}
body.lou .lou-menu .elementor-nav-menu--dropdown li{display:block!important;width:100%!important;float:none!important;}
body.lou .lou-menu .elementor-nav-menu--dropdown a.elementor-item{display:block!important;width:100%!important;text-align:left!important;background:transparent!important;color:var(--ink)!important;padding:.9rem 1.2rem!important;border-radius:0!important;border-bottom:1px solid var(--line)!important;font-weight:600;}
body.lou .lou-menu .elementor-nav-menu--dropdown li:last-child a.elementor-item{border-bottom:none!important;}
body.lou .lou-menu .elementor-nav-menu--dropdown a.elementor-item:hover,body.lou .lou-menu .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{background:var(--cream-2)!important;color:var(--sage-deep)!important;}

/* dropdown : forcer l'UL interne en colonne */
body.lou .lou-menu .elementor-nav-menu--dropdown .elementor-nav-menu{display:block!important;flex-direction:column!important;width:100%!important;}
body.lou .lou-menu .elementor-nav-menu--dropdown .elementor-nav-menu li{display:block!important;width:100%!important;}
body.lou .lou-menu .elementor-nav-menu--dropdown .elementor-nav-menu li a.elementor-item{display:block!important;width:100%!important;text-align:left!important;}
body.lou .lou-menu nav.elementor-nav-menu--dropdown{left:16px!important;right:auto!important;width:240px!important;}

/* ===== TYPOGRAPHIE ===== */
:root{--f-display:"Baskervville",Georgia,serif;--f-body:"Aboreto","Mulish",system-ui,sans-serif;}
/* grands titres -> Baskervville */
body.lou h1,body.lou h2,body.lou .lou-h1 .elementor-heading-title,body.lou .lou-sechead h2,body.lou .lou-sechead .elementor-heading-title,body.lou .lou-quote,body.lou .lou-custom h2,body.lou .lou-band h2{font-family:var(--f-display)!important;}
/* petits titres + descriptions + menu + footer -> Aboreto */
body.lou,body.lou p,body.lou .elementor-widget-text-editor,body.lou .lou-hero-lead,body.lou h3,body.lou h4,body.lou h5,body.lou h6,body.lou .lou-card h3,body.lou .lou-season h3,body.lou .lou-season h3 *,body.lou .lou-foot h5,body.lou .lou-info-item b,body.lou .lou-promise b,body.lou .lou-menu a.elementor-item,body.lou .lou-foot,body.lou .lou-foot a,body.lou .lou-field label,body.lou .lou-faq summary{font-family:var(--f-body)!important;}
/* accents manuscrits conservés (Caveat) */
body.lou .lou-eyebrow,body.lou .lou-eyebrow .elementor-heading-title,body.lou .lou-hand,body.lou .lou-sign,body.lou .lou-pricetag .lou-hand,body.lou .chip.season,body.lou .lou-info-item .lou-eyebrow{font-family:var(--f-hand)!important;}
/* ===== MENU ARRONDI (pastille active) ===== */
body.lou .lou-menu a.elementor-item{border-radius:100px!important;}
body.lou .lou-menu a.elementor-item.elementor-item-active{background:rgba(92,110,76,.12)!important;color:var(--sage-deep)!important;}
body.lou .lou-menu .elementor-item:after,body.lou .lou-menu .elementor-item:before{border-radius:4px!important;}

/* ===== NEWSLETTER symétrique ===== */
body.lou .lou-newsletter{padding:clamp(40px,5vw,64px) 30px!important;text-align:center;}
body.lou .lou-news-inner{max-width:620px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;}
body.lou .lou-news-inner h2{color:var(--cream)!important;margin:0;}
body.lou .lou-news-inner p{color:#E9E3CF;margin:0;}
body.lou .lou-news-eyebrow{font-family:var(--f-hand)!important;color:#F0D9A0;font-size:1.5rem;}
body.lou .lou-news-form{display:flex;gap:.6rem;width:100%;max-width:470px;margin:.3rem auto 0;}
body.lou .lou-news-form input{flex:1;border:none;border-radius:100px;padding:.9rem 1.35rem;font-family:var(--f-body);font-size:1rem;color:var(--ink);min-width:0;}
body.lou .lou-news-form button{border:none;cursor:pointer;background:var(--cream);color:var(--sage-deep);font-family:var(--f-body);font-weight:700;border-radius:100px;padding:.9rem 1.6rem;white-space:nowrap;transition:transform .3s var(--ease);}
body.lou .lou-news-form button:hover{transform:translateY(-2px);}
body.lou .lou-news-note{color:#C9CBB0;font-size:.8rem;}
@media(max-width:560px){body.lou .lou-news-form{flex-direction:column;}}

/* ===== RÉGLAGES FINAUX ===== */
/* 1) plus d'accents manuscrits -> Aboreto partout */
body.lou .lou-eyebrow,body.lou .lou-eyebrow .elementor-heading-title,body.lou .lou-hand,body.lou .lou-sign,body.lou .lou-pricetag .lou-hand,body.lou .lou-pricetag small,body.lou .chip.season,body.lou .lou-news-eyebrow,body.lou .lou-price,body.lou .lou-card .price,body.lou .lou-card .price bdi,body.lou .lou-card .price .woocommerce-Price-amount,body.lou .price,body.lou .lou-filter-row .lbl,body.lou .lou-info-item .lou-eyebrow{font-family:var(--f-body)!important;}
/* 2) descriptions en minuscules */
body.lou .elementor-widget-text-editor,body.lou .elementor-widget-text-editor p,body.lou .lou-hero-lead,body.lou .lou-hero-lead p,body.lou .lou-season .txt p,body.lou .lou-card .body p,body.lou .lou-promise span,body.lou .lou-info-item span,body.lou .lou-news-inner p,body.lou .lou-faq p,body.lou .lou-custom p{text-transform:lowercase!important;}
/* 3) encadré du menu arrondi (pastille active ronde, sans trait) */
body.lou .lou-menu a.elementor-item{border-radius:999px!important;padding:.5rem 1.15rem!important;}
body.lou .lou-menu a.elementor-item.elementor-item-active{background:rgba(92,110,76,.14)!important;color:var(--sage-deep)!important;border-radius:999px!important;}
body.lou .lou-menu .elementor-item:after,body.lou .lou-menu .elementor-item:before{display:none!important;}

/* descriptions en vraies minuscules (Baskervville) */
body.lou .elementor-widget-text-editor,body.lou .elementor-widget-text-editor p,body.lou .lou-hero-lead,body.lou .lou-hero-lead p,body.lou .lou-season .txt p,body.lou .lou-card .body p,body.lou .lou-promise span,body.lou .lou-info-item span,body.lou .lou-news-inner p,body.lou .lou-faq p,body.lou .lou-custom p,body.lou .lou-atelier p{font-family:"Baskervville",Georgia,serif!important;text-transform:lowercase!important;font-size:1.05rem;letter-spacing:0;line-height:1.65;}
/* garder les mails/urls lisibles (pas forcément minuscules mais ok) */
body.lou .lou-info-item span{font-size:.98rem;}

/* ===== barre du menu arrondie (Elementor réinitialise le radius des conteneurs) ===== */
body.lou .lou-nav{border-radius:100px!important;}
body.lou .lou-ribbon-wrap .lou-ribbon{border-radius:100px!important;}
/* réassurance : illustrations + légendes */
body.lou .lou-reassure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
body.lou .lou-reassure-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;}
body.lou .lou-reassure-item .elementor-widget-image img{max-height:230px;width:auto;margin:0 auto;object-fit:contain;}
body.lou .lou-reassure-item .lou-reassure-cap,body.lou .lou-reassure-item .lou-reassure-cap p{font-family:"Baskervville",Georgia,serif!important;font-style:italic;color:var(--berry);text-transform:none!important;line-height:1.55;font-size:1.05rem;}
@media(max-width:900px){body.lou .lou-reassure-grid{grid-template-columns:repeat(2,1fr);gap:24px;}}
@media(max-width:560px){body.lou .lou-reassure-grid{grid-template-columns:1fr;}}
/* logo image redimensionnable */
body.lou .lou-logo-img img{height:auto;display:block;}

body.lou .lou-logo-img img{max-height:88px;width:auto;}
body.lou .lou-nav-inner{min-height:64px;}

/* logo librement redimensionnable */
body.lou .lou-logo-img img{max-height:none!important;}

/* ===== nav : centrage vertical du contenu ===== */
body.lou .lou-nav{display:flex!important;align-items:center!important;}
body.lou .lou-nav > .e-con-inner{width:100%;}
body.lou .lou-nav-inner{align-items:center!important;min-height:72px;}
body.lou .lou-nav-inner > .elementor-element{align-self:center!important;margin-top:0!important;margin-bottom:0!important;display:flex;align-items:center;}
body.lou .lou-nav-inner .elementor-widget-container{margin-top:0!important;margin-bottom:0!important;}
body.lou .lou-logo-img,body.lou .lou-logo-img .elementor-widget-container,body.lou .lou-logo-img a{display:flex;align-items:center;line-height:0;}
body.lou .lou-nav-icons{display:flex!important;align-items:center;}
body.lou .lou-menu .elementor-nav-menu{align-items:center;}

/* ===== nav icons : recherche + panier ===== */
body.lou .lou-icons-w{display:flex;align-items:center;}
body.lou .lou-nav-icons{display:flex!important;gap:.35rem;align-items:center;}
body.lou .lou-search{position:relative;display:flex;align-items:center;}
body.lou .lou-search-form{position:absolute;right:0;top:calc(100% + 12px);background:var(--paper);border:1.5px solid var(--line);border-radius:100px;padding:.28rem .28rem .28rem 1.1rem;box-shadow:var(--sh-card);display:none;align-items:center;gap:.4rem;width:300px;z-index:60;}
body.lou .lou-search.open .lou-search-form{display:flex;}
body.lou .lou-search-form input[type=search]{border:none;background:transparent;font-family:var(--f-body);font-size:.95rem;flex:1;outline:none;color:var(--ink);min-width:0;}
body.lou .lou-search-go{border:none;cursor:pointer;background:var(--sage-deep);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;}
body.lou .lou-cart{position:relative;}
body.lou .lou-cart-count{position:absolute;top:-4px;right:-4px;background:var(--terracotta);color:#fff;font-family:var(--f-body);font-size:.68rem;font-weight:800;min-width:19px;height:19px;padding:0 4px;border-radius:100px;display:grid;place-items:center;line-height:1;}
body.lou .lou-cart-count.is-empty{display:none;}
@media(max-width:560px){body.lou .lou-search-form{width:220px;}}

/* ===== nav compact + aligné sur une ligne ===== */
body.lou .lou-nav{padding:9px 22px!important;display:flex!important;align-items:center!important;min-height:0!important;}
body.lou .lou-nav > .e-con-inner{width:100%;}
body.lou .lou-nav-inner{align-items:center!important;min-height:0!important;gap:1.3rem;}
body.lou .lou-nav-inner > .elementor-element{align-self:center!important;margin:0!important;display:flex!important;align-items:center;}
body.lou .lou-logo-img,body.lou .lou-logo-img .elementor-widget-container,body.lou .lou-logo-img a,body.lou .lou-logo-img img{display:block;line-height:0;margin:0!important;}
body.lou .lou-menu .elementor-nav-menu{align-items:center;}
body.lou .lou-menu .elementor-nav-menu li{display:flex;align-items:center;}
/* icones parfaitement centrées dans le cercle */
body.lou .lou-nav-icons .lou-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:0;}
body.lou .lou-nav-icons .lou-icon svg{display:block;margin:0 auto;}
body.lou .lou-search,body.lou .lou-icons-w,body.lou .lou-icons-w .elementor-widget-container{display:flex;align-items:center;}
/* ===== PERF : retirer le grain animé (mix-blend fixe = scroll lent) ===== */
body.lou::after{display:none!important;}

/* icones a droite, menu apres le logo */
body.lou .lou-nav-inner > .lou-icons-w,body.lou .lou-nav-inner > .elementor-widget-shortcode{margin-left:auto!important;}

/* ===== reassurance mascottes ===== */
body.lou .lou-reassure-item .elementor-widget-image img{max-height:210px;}
/* photo newsletter animée */
body.lou .lou-band.lou-newsletter{position:relative;overflow:visible;}
body.lou .lou-news-photo{position:absolute;bottom:-26px;left:calc(50% - 78px);width:156px;z-index:4;pointer-events:none;filter:drop-shadow(0 10px 16px rgba(60,58,49,.18));}
body.lou .lou-news-photo img{width:100%;height:auto;display:block;}
@media(max-width:640px){body.lou .lou-news-photo{width:110px;left:calc(50% - 55px);}}

/* ===== reassurance : bandeau sauge (Option A) ===== */
body.lou .lou-reassure-band{background:radial-gradient(120% 130% at 50% 0%,#EEF2E6,#F3EAD6);border:1.5px solid var(--line);border-radius:34px;padding:clamp(34px,4vw,52px) clamp(22px,3vw,40px);box-shadow:0 22px 60px -30px rgba(92,110,76,.4);position:relative;overflow:hidden;}
body.lou .lou-reassure-badge{position:absolute;top:20px;right:24px;background:var(--sage-deep);color:#fff;font-family:var(--f-body);font-size:.7rem;letter-spacing:.1em;padding:.35rem .8rem;border-radius:100px;}
body.lou .lou-reassure-head{text-align:center;margin-bottom:34px;}
body.lou .lou-reassure-eyebrow{font-family:var(--f-body)!important;letter-spacing:.12em;color:var(--terracotta);font-size:.9rem;display:block;}
body.lou .lou-reassure-head h2{font-family:var(--f-display)!important;font-size:clamp(1.8rem,3vw,2.3rem);margin-top:.3rem;color:var(--ink);}
body.lou .lou-reassure-item{background:var(--paper)!important;border:1.5px solid var(--line);border-radius:24px;padding:20px 18px 24px;text-align:center;box-shadow:0 14px 30px -22px rgba(92,110,76,.5);transition:transform .5s var(--ease-spring);display:flex;flex-direction:column;}
body.lou .lou-reassure-item:hover{transform:translateY(-8px);}
body.lou .lou-reassure-item .elementor-widget-image img{max-height:168px!important;width:auto;margin:0 auto;filter:drop-shadow(0 8px 12px rgba(60,58,49,.15));}
body.lou .lou-reassure-title{font-family:var(--f-body)!important;font-size:.92rem;letter-spacing:.04em;color:var(--sage-deep);margin:14px 0 6px;text-transform:none;}
body.lou .lou-reassure-cap,body.lou .lou-reassure-cap p{font-family:"Baskervville",serif!important;font-style:italic;color:var(--berry);text-transform:lowercase!important;line-height:1.5;font-size:1rem;margin:0;}
@media(max-width:820px){body.lou .lou-reassure-grid{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:560px){body.lou .lou-reassure-grid{grid-template-columns:1fr!important;}}

/* ===== FIX ALIGNEMENTS (ciblé, sans rebuild) ===== */
/* menu : items parfaitement centrés sur la même ligne que les icones */
body.lou .lou-nav-inner > .elementor-widget-nav-menu{margin:0!important;display:flex!important;align-items:center!important;}
body.lou .lou-menu .elementor-nav-menu{display:flex!important;align-items:center!important;}
body.lou .lou-menu .elementor-nav-menu li.menu-item{display:flex!important;align-items:center!important;}
body.lou .lou-menu .elementor-item{display:inline-flex!important;align-items:center!important;line-height:1!important;height:auto!important;padding-top:.5rem!important;padding-bottom:.5rem!important;}
/* ===== boutons verts : texte + fleche sur la meme ligne, centres (comme le hero) ===== */
body.lou .lou-btn .elementor-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;}
body.lou .lou-btn .elementor-button-content-wrapper{display:inline-flex!important;align-items:center!important;flex-direction:row!important;gap:.1rem;}
body.lou .lou-btn .elementor-button-text{line-height:1!important;display:inline-flex;align-items:center;}
body.lou .lou-btn .elementor-button-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;margin-top:0!important;}
/* ===== photo newsletter EN HAUT ===== */
body.lou .lou-news-photo{top:-52px!important;bottom:auto!important;}
/* ===== retirer le badge fait main de la reassurance ===== */
body.lou .lou-reassure-badge{display:none!important;}
/* ===== footer en minuscules ===== */
body.lou .lou-foot,body.lou .lou-foot *{text-transform:lowercase!important;}

/* nav : supprimer padding interne + recentrer le logo (image calée en haut) */
body.lou .lou-nav-inner{padding:0!important;}
body.lou .lou-nav-inner > .elementor-widget{margin:0!important;align-self:center!important;}
body.lou .lou-logo-img > .elementor-widget-container{margin:0!important;padding:0!important;display:flex!important;align-items:center;line-height:0;}
body.lou .lou-logo-img img{display:block!important;margin:0!important;vertical-align:middle;}
body.lou .lou-nav{padding:10px 22px!important;}

/* centrer le contenu du widget menu (items calés en haut) */
body.lou .lou-menu.elementor-widget-nav-menu{display:flex!important;align-items:center!important;}
body.lou .lou-menu > .elementor-widget-container{display:flex!important;align-items:center!important;width:100%;}
body.lou .lou-menu .elementor-nav-menu--main{align-self:center!important;}

body.lou .lou-menu.elementor-widget-nav-menu{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;}
body.lou .lou-menu .elementor-nav-menu--main{margin-top:auto!important;margin-bottom:auto!important;}

/* alignement menu (desktop) : la nav est calée 16px trop haut dans son widget */
@media(min-width:981px){body.lou .lou-menu .elementor-nav-menu--main{position:relative;top:16px;}}

body.lou .lou-nav-inner > .lou-icons-w,body.lou .lou-nav-inner > .elementor-widget-shortcode{margin-left:auto!important;}

/* ===== #7 photos home/à-propos affichées EN ENTIER (le cadre s'adapte, pas de crop) ===== */
body.lou .lou-hero-frame{aspect-ratio:auto!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{height:auto!important;}
body.lou .lou-hero-frame img{height:auto!important;object-fit:contain!important;}
body.lou .lou-arch .inner{aspect-ratio:auto!important;}
body.lou .lou-arch .inner .elementor-widget-image,body.lou .lou-arch .inner .elementor-widget-container{height:auto!important;}
body.lou .lou-arch img{height:auto!important;object-fit:contain!important;}

/* corrections : cadre fixe conservé + photo entiere (contain) */
body.lou .lou-hero-frame{aspect-ratio:1/1.08!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{height:100%!important;}
body.lou .lou-hero-frame img{height:100%!important;width:100%!important;object-fit:contain!important;background:var(--cream-2);}
body.lou .lou-arch .inner{aspect-ratio:4/5!important;}
body.lou .lou-arch .inner .elementor-widget-image,body.lou .lou-arch .inner .elementor-widget-container{height:100%!important;}
body.lou .lou-arch img{height:100%!important;width:100%!important;object-fit:contain!important;background:var(--cream-2);}
/* bouton : fleche a droite (annule mon row) */
body.lou .lou-btn .elementor-button-content-wrapper{flex-direction:row-reverse!important;}

/* reassurance : widgets natifs (titre + texte editables) */
body.lou .lou-reassure-title{margin:14px 0 6px!important;width:100%;}
body.lou .lou-reassure-title .elementor-heading-title{font-family:var(--f-body)!important;font-size:.92rem;letter-spacing:.04em;color:var(--sage-deep)!important;text-transform:none;font-weight:400;}
body.lou .lou-reassure-cap{width:100%;}
body.lou .lou-reassure-cap p,body.lou .lou-reassure-cap .elementor-widget-container p{font-family:"Baskervville",serif!important;font-style:italic;color:var(--berry)!important;text-transform:lowercase!important;line-height:1.5;font-size:1rem;margin:0;}

/* ===== footer vraies minuscules (Aboreto n'a pas de bas-de-casse -> Baskervville) ===== */
body.lou .lou-foot,body.lou .lou-foot h5,body.lou .lou-foot a,body.lou .lou-foot p,body.lou .lou-foot span,body.lou .lou-foot li,body.lou .lou-foot b{font-family:"Baskervville",Georgia,serif!important;text-transform:lowercase!important;letter-spacing:0!important;}
body.lou .lou-foot h5{font-size:1.05rem;color:var(--ink);}
/* logo footer garde son style */
body.lou .lou-foot .lou-logo b{font-family:"Baskervville",serif!important;text-transform:lowercase!important;}
/* ===== photo newsletter plus haute (ne cache plus le titre) ===== */
body.lou .lou-news-photo{top:-108px!important;width:140px!important;left:calc(50% - 70px)!important;}
@media(max-width:640px){body.lou .lou-news-photo{top:-80px!important;width:104px!important;left:calc(50% - 52px)!important;}}

/* logo footer -> vrai logo */
body.lou .lou-foot .lou-logo{display:inline-block!important;width:150px;height:96px;background:url('https://loulouillustration.fr/wp-content/uploads/2026/07/loulou-illustration-logo.png') left center/contain no-repeat!important;font-size:0!important;line-height:0;}
body.lou .lou-foot .lou-logo svg,body.lou .lou-foot .lou-logo span{display:none!important;}

/* ===== MOBILE : carrousels de cartes + fixes ===== */
@media(max-width:760px){
  /* nav icones : afficher recherche + panier */
  body.lou .lou-nav-icons a.lou-cart{display:inline-flex!important;}
  body.lou .lou-nav-icons .lou-search{display:flex!important;}
  body.lou .lou-nav-icons a:nth-child(1),body.lou .lou-nav-icons a:nth-child(2){display:inline-flex!important;}
  /* grilles -> carrousels horizontaux */
  body.lou .lou-season-grid,body.lou .lou-prod-grid,body.lou .lou-reassure-grid{display:flex!important;grid-template-columns:none!important;overflow-x:auto;overflow-y:visible;gap:14px;padding:6px 18px 18px;margin-inline:-18px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  body.lou .lou-season-grid>*,body.lou .lou-prod-grid>*,body.lou .lou-reassure-grid>*{flex:0 0 72%!important;max-width:270px;min-width:220px;scroll-snap-align:center;}
  /* images de carte strictement contraintes */
  body.lou .lou-season .img{aspect-ratio:4/5!important;height:auto!important;overflow:hidden;position:relative;}
  body.lou .lou-season .img .elementor-widget-image,body.lou .lou-season .img .elementor-widget-container{height:100%!important;}
  body.lou .lou-season .img img{height:100%!important;width:100%!important;object-fit:cover!important;}
  body.lou .lou-card .ph{aspect-ratio:1/1!important;height:auto!important;overflow:hidden;position:relative;}
  body.lou .lou-card .ph .elementor-widget-image,body.lou .lou-card .ph .elementor-widget-container{height:100%!important;}
  body.lou .lou-card .ph img{height:100%!important;width:100%!important;object-fit:cover!important;}
  body.lou .lou-reassure-item .elementor-widget-image img{max-height:150px!important;}
  /* la nav du menu (desktop nudge) neutralisé sur mobile */
  body.lou .lou-menu .elementor-nav-menu--main{top:0!important;}
}

@media(max-width:760px){body.lou .lou-season-grid,body.lou .lou-prod-grid,body.lou .lou-reassure-grid{flex-wrap:nowrap!important;}}

@media(max-width:760px){body.lou .lou-season-grid,body.lou .lou-prod-grid,body.lou .lou-reassure-grid{flex-direction:row!important;align-items:stretch!important;}}

/* ===== LOT CSS ===== */
/* 1. produits desktop : pas de débordement (grid items min-width:0) */
body.lou .lou-prod-grid>*,body.lou .lou-prod-grid .lou-card,body.lou .lou-season-grid>*{min-width:0!important;}
body.lou .lou-card .ph img,body.lou .lou-card img{max-width:100%!important;}
body.lou .lou-prod-grid{max-width:100%;}
/* 2. cacher le texte 'Afficher le panier' après ajout */
body.lou .added_to_cart,body.lou a.added_to_cart,body.lou .lou-card .added_to_cart{display:none!important;}
/* 5. bouton 'voir la boutique' & CTA centrés */
body.lou .elementor-widget-button{text-align:center;}
/* 6. footer desktop : titres MAJ, reste en casse d'origine (1ere lettre maj) */
body.lou .lou-foot,body.lou .lou-foot *{text-transform:none!important;}
body.lou .lou-foot h5{text-transform:uppercase!important;letter-spacing:.04em;}
/* 3. carrousels : cacher la scrollbar */
@media(max-width:760px){
  body.lou .lou-season-grid::-webkit-scrollbar,body.lou .lou-prod-grid::-webkit-scrollbar{display:none!important;height:0!important;width:0!important;}
  body.lou .lou-season-grid,body.lou .lou-prod-grid{scrollbar-width:none!important;-ms-overflow-style:none!important;}
  /* 4. reassurance mobile = 2 colonnes x 2 lignes (pas carrousel) */
  body.lou .lou-reassure-grid{display:grid!important;grid-template-columns:1fr 1fr!important;flex-direction:initial!important;flex-wrap:initial!important;overflow:visible!important;margin-inline:0!important;padding:0!important;gap:12px!important;}
  body.lou .lou-reassure-grid>*{flex:initial!important;max-width:none!important;min-width:0!important;}
  body.lou .lou-reassure-item .elementor-widget-image img{max-height:120px!important;}
}

/* =========================================================
   CORRECTIFS — session 2026-07-14 (reprise PROJET-LOULOU.md)
   Tous les correctifs passent par ici (chargé en dernier).
   ========================================================= */

/* #1 — Tiroir panier : le bandeau promo (code COTTAGE10) ne doit pas
   être collé au bord de la fenêtre. On respire des deux côtés. */
body.lou .lou-cartdrawer-panel{
  padding:20px 20px 26px !important;
}
body.lou .lou-promo-banner{
  margin:0 0 16px !important;
  width:auto !important;
  box-sizing:border-box !important;
  border-radius:14px !important;
}

/* #2 — Sélecteur de quantité plus compact (mini-panier + fiche produit) */
body.lou .wc-block-components-quantity-selector{
  min-width:92px !important;
  height:38px !important;
  border-radius:10px !important;
}
body.lou .wc-block-components-quantity-selector__input{
  font-size:.95rem !important;height:36px !important;
}
body.lou .wc-block-components-quantity-selector__button{
  width:32px !important;min-width:32px !important;
}
body.lou .lcx-qty-btn{width:36px !important;height:40px !important;font-size:1.15rem !important;}
body.lou .lcx-qty-in{width:54px !important;height:40px !important;font-size:.95rem !important;text-align:center !important;}
body.lou .lcx-qty{max-height:44px !important;}

/* #4 — Éléments de réassurance très petits */
body.lou .lou-reassure-band{padding:26px 18px 30px !important;}
body.lou .lou-reassure-item{
  padding:12px 10px 14px !important;gap:8px !important;border-radius:18px !important;
}
body.lou .lou-reassure-item .elementor-widget-image img{max-height:92px !important;}
body.lou .lou-reassure-title{font-size:.78rem !important;margin:8px 0 4px !important;}
body.lou .lou-reassure-cap,body.lou .lou-reassure-cap p{font-size:.8rem !important;}
@media(max-width:760px){
  body.lou .lou-reassure-item .elementor-widget-image img{max-height:78px !important;}
  body.lou .lou-reassure-title{font-size:.72rem !important;}
  body.lou .lou-reassure-cap,body.lou .lou-reassure-cap p{font-size:.74rem !important;}
}

/* #5 — Page produit : cartes « produits liés » alignées (même hauteur) */
body.lou .lou-prod-grid{align-items:stretch !important;}
body.lou .lou-prod-grid>*,
body.lou .lou-prod-grid .lou-card{
  display:flex !important;flex-direction:column !important;height:100% !important;
}
body.lou .lou-prod-grid .lou-card .lou-card-body{flex:1 1 auto !important;}

/* #6 — Footer : pas de soulignement sur les liens/descriptions */
body.lou .lou-foot a,
body.lou .lou-foot a:hover,
body.lou .lou-foot a:focus{text-decoration:none !important;}

/* #7 — Mobile produit : bloc « ajouter au panier » sticky en bas
   DÉSACTIVÉ (2026-07-15) : rendait .lcx-buy sticky/bottom:0 sur mobile, ce qui
   remontait la boîte d'achat par-dessus la galerie (images tronquées).
   Remplacé par la vraie barre flottante .lcx-stickybar (JS dans loulou.js). */

/* ====== PAGES LÉGALES — cohérence thème Loulou ====== */
.lou-legal{ padding:56px 0 64px!important; }
.lou-legal-inner{
  position:relative;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 22px;
}
.lou-legal-inner::before{
  content:"";
  display:block;
  width:44px;height:44px;
  margin:0 auto 10px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='44'%20height='44'%20viewBox='0%200%2044%2044'%3E%3Cpath%20d='M22%205%20C10%2014%2010%2032%2022%2039%20C34%2032%2034%2014%2022%205%20Z'%20fill='none'%20stroke='%2393A67E'%20stroke-width='2'/%3E%3Cpath%20d='M22%209%20L22%2035'%20stroke='%2393A67E'%20stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat;
}
.lou-legal h1{
  font-family:var(--f-display,"Fraunces",Georgia,serif)!important;
  font-size:2.5rem!important;
  line-height:1.15!important;
  color:var(--ink,#3D3A31)!important;
  text-align:center!important;
  font-weight:500!important;
  margin:0 0 6px!important;
  padding-bottom:20px!important;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='14'%20viewBox='0%200%20180%2014'%3E%3Cpath%20d='M3%209%20C%2030%201%2060%201%2090%209%20S%20150%2017%20177%209'%20fill='none'%20stroke='%23C98A69'%20stroke-width='3'%20stroke-linecap='round'/%3E%3C/svg%3E") center bottom/180px 14px no-repeat;
}
.lou-legal .lcx-legal-upd{
  font-family:var(--f-hand,"Caveat",cursive)!important;
  font-size:1.35rem!important;
  color:var(--terracotta,#C98A69)!important;
  text-align:center!important;
  margin:0 0 28px!important;
  letter-spacing:.3px;
}
.lou-legal h2{
  font-family:var(--f-display,"Fraunces",Georgia,serif)!important;
  font-size:1.5rem!important;
  line-height:1.25!important;
  color:var(--sage-deep,#5C6E4C)!important;
  font-weight:600!important;
  margin:34px 0 12px!important;
  padding-top:26px!important;
  border-top:1px solid var(--line,#EADFC6)!important;
  padding-left:30px!important;
  position:relative;
}
.lou-legal h2::before{
  content:"";
  position:absolute;
  left:0;top:30px;
  width:20px;height:20px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M10%202%20C4%206%204%2014%2010%2018%20C16%2014%2016%206%2010%202%20Z'%20fill='%23C98A69'/%3E%3C/svg%3E") center/contain no-repeat;
}
.lou-legal p,.lou-legal li{
  font-family:var(--f-body,"Aboreto","Mulish",system-ui,sans-serif)!important;
  color:var(--ink-soft,#6E6656)!important;
  font-size:1.02rem!important;
  line-height:1.85!important;
  margin:0 0 14px!important;
}
.lou-legal ul{ list-style:none!important; padding-left:0!important; margin:0 0 16px!important; }
.lou-legal ul li{
  position:relative;
  padding-left:30px!important;
  margin-bottom:10px!important;
}
.lou-legal ul li::before{
  content:"";
  position:absolute;
  left:0;top:6px;
  width:18px;height:18px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M10%202%20C4%206%204%2014%2010%2018%20C16%2014%2016%206%2010%202%20Z'%20fill='%23C98A69'/%3E%3C/svg%3E") center/contain no-repeat;
}
.lou-legal a{
  color:var(--terracotta,#C98A69)!important;
  text-decoration:underline!important;
  text-decoration-color:var(--line,#EADFC6)!important;
  text-underline-offset:3px;
}
.lou-legal a:hover{ color:var(--sage-deep,#5C6E4C)!important; }
.lou-legal strong{ color:var(--ink,#3D3A31); }
@media (max-width:640px){
  .lou-legal-inner{ padding:32px 22px 36px!important; border-radius:18px; }
  .lou-legal h1{ font-size:2rem!important; }
  .lou-legal h2{ font-size:1.3rem!important; }
}

/* ====== SOMMAIRE CLIQUABLE (pages légales) ====== */
.lou-legal h2{ scroll-margin-top:100px; }
.lou-legal-toc{
  margin:4px 0 38px;
  padding:18px 22px 20px 24px;
  border-left:3px solid var(--terracotta,#C98A69);
  background:rgba(147,166,126,.10);
  border-radius:0 16px 16px 0;
}
.lou-legal-toc-title{
  font-family:var(--f-hand,"Caveat",cursive)!important;
  font-size:1.5rem!important;
  color:var(--terracotta,#C98A69)!important;
  margin:0 0 12px!important;
}
.lou-legal-toc ul{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  column-count:2;
  column-gap:36px;
}
.lou-legal-toc li{
  margin:0 0 9px!important;
  break-inside:avoid;
  position:relative;
  padding-left:22px!important;
}
.lou-legal-toc li::before{
  content:"";
  position:absolute;
  left:0;top:7px;
  width:14px;height:14px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M10%202%20C4%206%204%2014%2010%2018%20C16%2014%2016%206%2010%202%20Z'%20fill='%23C98A69'/%3E%3C/svg%3E") center/contain no-repeat;
}
.lou-legal-toc a{
  font-family:var(--f-body,"Aboreto","Mulish",system-ui,sans-serif)!important;
  color:var(--sage-deep,#5C6E4C)!important;
  text-decoration:none!important;
  font-size:1rem!important;
}
.lou-legal-toc a:hover{ color:var(--terracotta,#C98A69)!important; }
@media (max-width:640px){
  .lou-legal-toc ul{ column-count:1; }
  .lou-legal-inner{ padding:0 18px!important; }
}

/* ====== TOC LATÉRAL COLLANT (pages légales) ====== */
.lou-legal-layout{ display:grid; grid-template-columns:260px 1fr; gap:44px; align-items:start; }
.lou-legal-body{ min-width:0; }
.lou-legal-toc{ position:sticky; top:96px; align-self:start; margin:0; }
.lou-legal-toc ul{ column-count:1; }
@media (max-width:900px){
  .lou-legal-layout{ grid-template-columns:1fr; gap:0; }
  .lou-legal-toc{ position:static; margin:4px 0 28px; }
}