/* LoveU reusable global header — white navbar as in approved design.
   All selectors scoped to body.loveu-site. */
body.loveu-site .loveu-header {
    position:sticky; top:0; z-index:1400; width:100%;
    height:76px; background:#fff; color:var(--loveu-text);
    box-shadow:0 1px 0 rgba(0,0,0,.045); transition:box-shadow .2s;
    isolation:isolate;
}
body.loveu-site .loveu-header.is-scrolled { box-shadow:0 4px 24px rgba(9,31,64,.10); }
body.loveu-site .loveu-header__inner { display:flex; align-items:center; gap:clamp(1rem,1.6vw,1.7rem); height:100%; position:relative; }
body.loveu-site .loveu-header__brand {
    flex:0 0 auto; align-self:flex-start; display:flex; align-items:center; justify-content:center;
    width:138px; height:97px; position:relative; z-index:5;
    background:var(--loveu-navy); color:#fff; text-decoration:none;
    box-shadow:0 2px 12px rgba(4,29,75,.08);
}
body.loveu-site .loveu-header__brand img { display:block; width:100%; height:100%; object-fit:contain; max-width:100%; }
body.loveu-site .loveu-header__brand-fallback { display:flex; flex-direction:column; align-items:center; color:#fff; font-weight:800; font-size:1.95rem; letter-spacing:-.09em; line-height:1; position:relative; }
body.loveu-site .loveu-header__brand-fallback::before,
body.loveu-site .loveu-header__brand-fallback::after { content:""; position:absolute; width:27px; height:25px; border-color:#fff; opacity:.75; }
body.loveu-site .loveu-header__brand-fallback::before { left:-10px; top:-9px; border-left:2px solid; border-top:2px solid; }
body.loveu-site .loveu-header__brand-fallback::after { right:-9px; bottom:-8px; border-right:2px solid; border-bottom:2px solid; }
body.loveu-site .loveu-header__brand-fallback small { font-size:.5rem; font-weight:600; letter-spacing:.28em; margin-left:.4em; margin-top:.15rem; }
body.loveu-site .loveu-header__nav { flex:1 1 auto; min-width:0; height:100%; }
body.loveu-site .loveu-header__menu { display:flex; align-items:center; justify-content:center; flex-wrap:nowrap; gap:clamp(.6rem,2.2vw,3rem); height:100%; margin:0; padding:0; list-style:none; }
body.loveu-site .loveu-header__item { position:relative; height:100%; display:flex; align-items:center; }
body.loveu-site .loveu-header__item-line { display:flex; align-items:center; gap:.15rem; height:100%; }
body.loveu-site .loveu-header__link { display:inline-flex; align-items:center; color:#363a43; font-size:clamp(.975rem,.84vw,.1rem); font-weight:400; white-space:nowrap; text-decoration:none; height:100%; transition:color .18s; }
body.loveu-site .loveu-header__link:hover,
body.loveu-site .loveu-header__link:focus-visible,
body.loveu-site .loveu-header__link.is-active { color:var(--loveu-navy); font-weight:500; }
body.loveu-site .loveu-header__link--pending { cursor:default; }
body.loveu-site .loveu-header__submenu-trigger { border:0; background:transparent; padding:.4rem; display:flex; align-items:center; justify-content:center; color:#333; }
body.loveu-site .loveu-header__submenu-trigger span { width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); }
body.loveu-site .loveu-header__submenu { position:absolute; top:100%; left:-1.1rem; width:225px; padding:.45rem 0; margin:0; list-style:none; background:#fff; box-shadow:0 14px 30px rgba(0,0,0,.12); border:1px solid #eee; opacity:0; visibility:hidden; transform:translateY(8px); transition:.18s ease; z-index:30; max-height:70vh; overflow:auto; }
body.loveu-site .loveu-header__submenu a { display:block; padding:.72rem 1.2rem; color:#454b55; text-decoration:none; font-size:.78rem; }
body.loveu-site .loveu-header__submenu a:hover { color:var(--loveu-navy); background:#f6f7f9; }
@media (min-width:1200px) {
    body.loveu-site .loveu-header__item:hover .loveu-header__submenu,
    body.loveu-site .loveu-header__item:focus-within .loveu-header__submenu,
    body.loveu-site .loveu-header__item.is-open .loveu-header__submenu { opacity:1; visibility:visible; transform:translateY(0); }
}
body.loveu-site .loveu-header__controls { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-end; gap:.65rem; }
body.loveu-site .loveu-header__search { display:flex; align-items:center; width:144px; height:39px; border:1px solid #e1e1e1; border-radius:24px; background:#fff; overflow:hidden; }
body.loveu-site .loveu-header__search:focus-within { border-color:#96aac5; box-shadow:0 0 0 2px rgba(16,51,109,.1); }
body.loveu-site .loveu-header__search input { flex:1 1 auto; width:70px; min-width:0; border:0; background:none; outline:0; box-shadow:none; color:#333; font:.75rem var(--loveu-font); padding:0 0 0 15px; }
body.loveu-site .loveu-header__search input::placeholder { color:#aaa; }
body.loveu-site .loveu-header__search button { flex:0 0 35px; height:100%; border:0; background:none; color:#292f37; display:flex; align-items:center; justify-content:center; cursor:pointer; }
body.loveu-site .loveu-header__search button:hover { color:var(--loveu-navy); }
/* Right-side CMS-powered language dropdown. Self-contained and independent of Bootstrap dropdown JS. */
body.loveu-site .loveu-header__language { position:relative; flex:0 0 auto; z-index:50; }
body.loveu-site .loveu-header__language-toggle { min-height:39px; display:inline-flex; align-items:center; justify-content:center; gap:.35rem; padding:.38rem .5rem; border:1px solid transparent; background:#fff; color:#293243; font:600 .77rem/1 var(--loveu-font,Arial,sans-serif); letter-spacing:.035em; white-space:nowrap; cursor:pointer; }
body.loveu-site .loveu-header__language-toggle:hover, body.loveu-site .loveu-header__language-toggle:focus-visible { color:var(--loveu-navy); background:#f4f6f9; outline:2px solid transparent; }
body.loveu-site .loveu-header__language-toggle svg { transition:transform .2s; }
body.loveu-site .loveu-header__language-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
body.loveu-site .loveu-header__language-list { position:absolute; inset-block-start:calc(100% + 8px); inset-inline-end:0; display:block; width:max-content; min-width:166px; max-width:min(270px,calc(100vw - 20px)); max-height:min(400px,70dvh); overflow-x:hidden; overflow-y:auto; margin:0; padding:.4rem 0; list-style:none; background:#fff; border:1px solid #e6e9ed; border-radius:3px; box-shadow:0 15px 35px rgba(12,32,60,.14); z-index:60; }
body.loveu-site .loveu-header__language-list[hidden] { display:none!important; }
body.loveu-site .loveu-header__language-list li { list-style:none; }
body.loveu-site .loveu-header__language-list a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem 1.1rem; color:#394250; font:400 .8rem/1.4 var(--loveu-font,Arial,sans-serif); text-decoration:none; white-space:nowrap; }
body.loveu-site .loveu-header__language-list a:hover,body.loveu-site .loveu-header__language-list a:focus-visible,body.loveu-site .loveu-header__language-list a.is-current { color:var(--loveu-navy); background:#f2f5fa; }
body.loveu-site .loveu-header__language-list a.is-current { font-weight:600; }
body.loveu-site .loveu-header__language-check { color:var(--loveu-navy); font-weight:600; }
body.loveu-site .loveu-header__menu-toggle,
body.loveu-site .loveu-header__search-toggle { display:none; }
body.loveu-site .loveu-header__mobile-search[hidden] { display:none!important; }
body.loveu-site .loveu-header__mobile-search { position:absolute; top:100%; left:0; right:0; display:flex; gap:.5rem; padding:1rem max(1rem,calc((100vw - 720px)/2 + 1rem)); background:#fff; border-top:1px solid var(--loveu-line); box-shadow:0 12px 18px rgba(0,0,0,.08); }
body.loveu-site .loveu-header__mobile-search input { flex:1 1 auto; min-width:0; padding:.7rem .9rem; border:1px solid #dcdfe3; border-radius:.4rem; font-size:.85rem; }
body.loveu-site .loveu-header__mobile-search button { flex:0 0 auto; padding:.65rem 1rem; color:#fff; border:0; border-radius:.4rem; background:var(--loveu-navy); }
@media (max-width:1199.98px) {
    body.loveu-site .loveu-header { height:70px; }
    body.loveu-site .loveu-header__brand { width:112px; height:83px; }
    body.loveu-site .loveu-header__brand-fallback { font-size:1.6rem; }
    body.loveu-site .loveu-header__nav { display:none; position:absolute; top:100%; left:calc(var(--bs-gutter-x,2rem) / -2); right:calc(var(--bs-gutter-x,2rem) / -2); height:auto; max-height:calc(100dvh - 70px); overflow:auto; background:#fff; border-top:1px solid #ececec; box-shadow:0 12px 20px rgba(0,0,0,.08); padding:1rem 1.4rem 1.8rem; z-index:20; }
    body.loveu-site .loveu-header__nav.is-open { display:block; }
    body.loveu-site .loveu-header__menu { height:auto; display:block; }
    body.loveu-site .loveu-header__item, body.loveu-site .loveu-header__item-line { height:auto; }
    body.loveu-site .loveu-header__item { display:block; border-bottom:1px solid #f0f0f0; }
    body.loveu-site .loveu-header__item-line { min-height:47px; display:flex; justify-content:space-between; }
    body.loveu-site .loveu-header__link { font-size:.9rem; min-height:45px; height:auto; flex:1; }
    body.loveu-site .loveu-header__submenu-trigger { padding:.7rem 1rem; }
    body.loveu-site .loveu-header__submenu { position:static; width:100%; max-height:none; display:none; border:0; box-shadow:none; background:#f7f8fa; opacity:1; visibility:visible; transform:none; transition:none; }
    body.loveu-site .loveu-header__item.is-open .loveu-header__submenu { display:block; }
    body.loveu-site .loveu-header__controls { margin-left:auto; }
    body.loveu-site .loveu-header__search { display:none; }
    body.loveu-site .loveu-header__search-toggle { display:flex; width:38px; height:39px; align-items:center; justify-content:center; border:0; background:transparent; color:#25324b; }
    body.loveu-site .loveu-header__menu-toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:42px; height:39px; border:1px solid #dadfe5; background:#fff; border-radius:4px; }
    body.loveu-site .loveu-header__menu-toggle span { width:19px; height:2px; background:var(--loveu-navy); border-radius:2px; transition:transform .2s,opacity .2s; }
    body.loveu-site .loveu-header__menu-toggle[aria-expanded=true] span:first-child { transform:translateY(7px) rotate(45deg); }
    body.loveu-site .loveu-header__menu-toggle[aria-expanded=true] span:nth-child(2) { opacity:0; }
    body.loveu-site .loveu-header__menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-7px) rotate(-45deg); }
}
@media (max-width:575.98px) {
    body.loveu-site .loveu-header { height:64px; }
    body.loveu-site .loveu-header__inner { gap:.75rem; }
    body.loveu-site .loveu-header__brand { width:94px; height:73px; }
    body.loveu-site .loveu-header__brand-fallback { font-size:1.35rem; }
    body.loveu-site .loveu-header__nav { max-height:calc(100dvh - 64px); }
}
@media (prefers-reduced-motion:reduce) {
    body.loveu-site .loveu-header *, body.loveu-site .loveu-header *::after { transition:none!important; }
}

/* Keep navigation plus the extra language control on one line at narrow desktop widths. */
@media (min-width:1200px) and (max-width:1399.98px) {
    body.loveu-site .loveu-header__inner { gap:.55rem; }
    body.loveu-site .loveu-header__menu { gap:clamp(.4rem,.75vw,.75rem); }
    body.loveu-site .loveu-header__brand { width:124px; }
    body.loveu-site .loveu-header__search { width:122px; }
    body.loveu-site .loveu-header__language-toggle { padding:.35rem .25rem; }
}
@media (max-width:575.98px) {
    body.loveu-site .loveu-header__controls { gap:.2rem; }
    body.loveu-site .loveu-header__language-toggle { min-height:37px; padding:.35rem .3rem; font-size:.73rem; }
    body.loveu-site .loveu-header__language-list { inset-block-start:calc(100% + 13px); }
}
