/* ===== Loulou — native Elementor widget theming ===== */
body.lou .elementor-heading-title{font-family:var(--f-display);color:var(--ink);line-height:1.05;letter-spacing:-.015em;font-weight:500;}
body.lou .lou-h1 .elementor-heading-title{font-size:clamp(2.6rem,5.2vw,4.5rem);font-weight:400;}
body.lou .lou-h1 em,body.lou .lou-h1 i{font-style:italic;color:var(--sage-deep);}
body.lou .lou-sechead .elementor-heading-title{font-size:clamp(2rem,3.6vw,2.9rem);}
body.lou .lou-eyebrow .elementor-heading-title{font-family:var(--f-hand);font-size:1.5rem;color:var(--terracotta);font-weight:600;}
/* text-editor default color */
body.lou .elementor-widget-text-editor{color:var(--ink);}
/* native button */
body.lou .lou-btn.elementor-button{background:var(--sage-deep);color:var(--cream);border-radius:100px;padding:.8rem 1.1rem .8rem 1.6rem;font-weight:700;font-family:var(--f-body);font-size:1rem;box-shadow:0 10px 24px -12px rgba(60,58,49,.5);transition:transform .5s var(--ease),box-shadow .5s var(--ease);display:inline-flex;align-items:center;gap:.2rem;fill:var(--cream);}
body.lou .lou-btn.elementor-button:hover{transform:translateY(-2px);}
body.lou .lou-btn .elementor-button-icon{background:rgba(255,255,255,.16);border-radius:50%;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;margin-left:.7rem;transition:transform .5s var(--ease);font-size:.9rem;}
body.lou .lou-btn.elementor-button:hover .elementor-button-icon{transform:translate(3px,-1px) scale(1.06);}
body.lou .lou-btn.ghost.elementor-button{background:transparent;color:var(--sage-deep);border:1.5px solid var(--line);box-shadow:none;padding:.8rem 1.6rem;}
body.lou .lou-btn.ghost.elementor-button:hover{background:var(--cream-2);}
body.lou .lou-btn.cream.elementor-button{background:var(--cream);color:var(--sage-deep);}
body.lou .lou-btn.cream .elementor-button-icon{background:rgba(92,110,76,.12);}
/* image widget reset inside frames */
body.lou .lou-frame .elementor-widget-container,body.lou .lou-frame img{height:100%;}
body.lou .lou-imgfill img{width:100%;height:100%;object-fit:cover;display:block;}
/* remove elementor default widget spacing where we manage it */
body.lou .lou-tight-widgets .elementor-widget:not(:last-child){margin-bottom:0;}
