/* ===== Loulou — Elementor integration fixes (loaded last) ===== */
body.lou .lou-nav-inner{flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;}
body.lou .lou-hero-cta{flex-direction:row!important;flex-wrap:wrap;}
body.lou .lou-hero-cta .elementor-widget{width:auto!important;}
body.lou .lou-tight-widgets{gap:14px!important;}
body.lou .lou-hero-grid{align-items:center!important;}
body.lou .lou-nav-inner .elementor-widget{width:auto!important;margin:0!important;}
body.lou .lou-nav-inner .lou-menu{margin-right:auto!important;}
/* image fill */
body.lou .lou-imgfill{height:100%;}
body.lou .lou-imgfill .elementor-widget-image,
body.lou .lou-imgfill .elementor-widget-image>.elementor-widget-container,
body.lou .lou-imgfill .elementor-widget-image a{height:100%!important;display:block;line-height:0;}
body.lou .lou-imgfill img{width:100%!important;height:100%!important;object-fit:cover;display:block;}
/* hero frame */
body.lou .lou-hero-frame{position:relative;border-radius:230px 230px 24px 24px;overflow:hidden;border:7px solid var(--paper);outline:1.5px solid var(--line);box-shadow:var(--sh-soft);}
body.lou .lou-nav{padding:.55rem .9rem!important;}
/* nav menu */
body.lou .lou-menu .elementor-nav-menu{display:flex;gap:.2rem;}
body.lou .lou-menu .elementor-nav-menu a.elementor-item{padding:.5rem .85rem!important;border-radius:100px;font-weight:600;color:var(--ink)!important;font-family:var(--f-body);height:auto;line-height:1.4;}
body.lou .lou-menu .elementor-nav-menu a.elementor-item:hover{background:var(--cream-2);}
/* ===== BUTTONS : lou-btn is on the WIDGET WRAPPER; style the inner <a>, neutralize wrapper ===== */
body.lou .lou-btn{background:none!important;box-shadow:none!important;padding:0!important;border:none!important;}
body.lou .lou-btn .elementor-button{background-color:var(--sage-deep)!important;color:var(--cream)!important;border-radius:100px!important;padding:.85rem 1.1rem .85rem 1.7rem!important;font-weight:700;font-family:var(--f-body);font-size:1rem;box-shadow:0 12px 26px -16px rgba(60,58,49,.45)!important;display:inline-flex;align-items:center;border:none!important;transition:transform .4s var(--ease),background-color .3s var(--ease);}
body.lou .lou-btn .elementor-button:hover{background-color:#526244!important;transform:translateY(-2px);}
body.lou .lou-btn .elementor-button-icon{background:rgba(255,255,255,.16)!important;border-radius:50%;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;margin-left:.7rem;}
body.lou .lou-btn.ghost .elementor-button{background-color:transparent!important;color:var(--sage-deep)!important;border:1.5px solid var(--line)!important;box-shadow:none!important;padding:.85rem 1.7rem!important;}
body.lou .lou-btn.ghost .elementor-button:hover{background-color:var(--cream-2)!important;}
body.lou .lou-btn.cream .elementor-button{background-color:var(--cream)!important;color:var(--sage-deep)!important;}
body.lou .lou-btn.cream .elementor-button-icon{background:rgba(92,110,76,.12)!important;}

/* ===== Boutique ===== */
body.lou .lou-boutique-hero{text-align:center;padding:clamp(30px,4vw,50px) 0 10px;}
body.lou .lou-shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
body.lou .lou-filters{display:flex;flex-direction:column;gap:14px;margin:0 0 38px;}
body.lou .lou-filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
body.lou .lou-filter-row .lbl{font-family:var(--f-hand);color:var(--terracotta);font-size:1.2rem;margin-right:6px;min-width:86px;}
body.lou .chip{font-family:var(--f-body);font-weight:600;font-size:.9rem;color:var(--ink-soft);background:var(--paper);border:1.5px solid var(--line);border-radius:100px;padding:.45rem 1rem;cursor:pointer;transition:all .3s var(--ease);}
body.lou .chip:hover{background:var(--cream-2);transform:translateY(-1px);}
body.lou .chip.active{background:var(--sage-deep);color:var(--cream);border-color:var(--sage-deep);}
body.lou .chip.season.active{background:var(--mustard);border-color:var(--mustard);color:#fff;}
body.lou .lou-card .ph a{display:block;height:100%;}
body.lou .lou-card .ph img{width:100%;height:100%;object-fit:cover;display:block;}
body.lou .lou-card h3 a{color:var(--ink);text-decoration:none;}
body.lou .lou-card .price .woocommerce-Price-amount{font-family:var(--f-hand);font-size:1.5rem;color:var(--terracotta);}
body.lou .lou-card .price bdi{font-family:var(--f-hand);}
body.lou .lou-card .add{text-decoration:none;}
body.lou .lou-shop-empty{text-align:center;font-family:var(--f-display);font-style:italic;color:var(--sage-deep);font-size:1.3rem;padding:40px;grid-column:1/-1;}
@media(max-width:980px){body.lou .lou-shop-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){body.lou .lou-shop-grid{grid-template-columns:1fr;}}
