.ela-main-nav{
    --ela-menu-text: currentColor;
    --ela-menu-line: rgba(127,127,127,.24);
    --ela-menu-panel: rgba(255,255,255,.98);
    --ela-menu-panel-text: #171717;
    --ela-menu-accent: currentColor;
    --ela-submenu-bg: rgba(255,255,255,.98);
    --ela-submenu-text: #171717;
    --ela-submenu-border: rgba(0,0,0,.10);
    --ela-submenu-separator: rgba(0,0,0,.08);
    --ela-submenu-hover: rgba(0,0,0,.06);
    position:relative;
    z-index:999;
    width:100%;
    color:var(--ela-menu-text);
    font-family:inherit;
}
.ela-main-nav-list,.ela-main-submenu{list-style:none!important;margin:0!important;padding:0!important}
.ela-main-nav-mobile-list{display:none!important}
.ela-main-nav-list{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.2vw,38px);min-height:64px}
.ela-main-nav-item{position:relative;display:flex;align-items:center}
.ela-main-nav-item>a{position:relative;display:block;padding:21px 0 18px;color:inherit!important;text-decoration:none!important;font-size:13px;font-weight:500;letter-spacing:.105em;text-transform:uppercase;line-height:1.2;white-space:nowrap}
.ela-main-nav-desktop-list>.ela-main-nav-item>a:after{content:"";position:absolute;left:50%;right:50%;bottom:12px;height:1px;background:currentColor;transition:left .22s ease,right .22s ease}
.ela-main-nav-desktop-list>.ela-main-nav-item:hover>a:after,.ela-main-nav-desktop-list>.ela-main-nav-item.is-active>a:after{left:0;right:0}
.ela-main-submenu-toggle{position:relative;appearance:none;width:22px;height:22px;margin-left:4px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font-size:0;line-height:1}
.ela-main-submenu-toggle:before{content:"";position:absolute;left:7px;top:6px;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .18s ease,top .18s ease}
.ela-main-nav-item.is-submenu-open>.ela-main-submenu-toggle:before{top:9px;transform:rotate(225deg)}
.ela-main-submenu{position:absolute;left:-18px;top:calc(100% - 4px);min-width:230px;padding:7px!important;border:1px solid var(--ela-submenu-border)!important;background:var(--ela-submenu-bg)!important;color:var(--ela-submenu-text)!important;box-shadow:0 16px 38px rgba(0,0,0,.15);opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease;border-radius:6px;box-sizing:border-box}
.ela-main-submenu>.ela-main-nav-item{display:block;width:100%;border-bottom:1px solid var(--ela-submenu-separator)}
.ela-main-submenu>.ela-main-nav-item:last-child{border-bottom:0}
.ela-main-submenu li a{display:block;width:100%;padding:11px 13px;box-sizing:border-box;color:inherit!important;text-decoration:none!important;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:.085em;text-transform:uppercase;white-space:nowrap;transition:background-color .16s ease}
.ela-main-submenu li a:hover,.ela-main-submenu li a:focus-visible,.ela-main-submenu li.is-active>a{background:transparent!important;outline:0}
.ela-main-nav-item.has-children:hover>.ela-main-submenu,.ela-main-nav-item.has-children:focus-within>.ela-main-submenu,.ela-main-nav-item.is-submenu-open>.ela-main-submenu{opacity:1;visibility:visible;transform:none}
.ela-main-nav-toggle{display:none;appearance:none;border:0;background:transparent;color:inherit;align-items:center;gap:10px;padding:12px 4px;margin-left:auto;font:inherit;font-size:13px;text-transform:uppercase;letter-spacing:.09em;cursor:pointer}
.ela-main-nav-toggle-lines{width:22px;display:grid;gap:4px}.ela-main-nav-toggle-lines i{display:block;height:1px;background:currentColor;width:100%}
.ela-language-choice{position:relative;display:flex;align-items:center}
.ela-main-nav-social{display:flex!important;align-items:center}
.ela-instagram-link{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;color:inherit!important;text-decoration:none!important;box-sizing:border-box;transition:opacity .18s ease,transform .18s ease}
.ela-instagram-link svg{display:block;width:22px;height:22px}
.ela-instagram-link:hover,.ela-instagram-link:focus-visible{background:#833ab4;border-color:#833ab4;color:#fff!important;transform:translateY(-1px);outline:0}
.ela-language-trigger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer;font:inherit;line-height:1}
.ela-language-flag{font-size:18px;line-height:1}
.ela-language-flag-opposite{display:none}
.ela-language-options{position:absolute;top:calc(100% + 8px);right:0;z-index:20;display:grid;min-width:162px;padding:7px;border:1px solid var(--ela-submenu-border);border-radius:6px;background:var(--ela-submenu-bg);color:var(--ela-submenu-text);box-shadow:0 16px 38px rgba(0,0,0,.15);overflow:hidden}
.ela-language-options[hidden]{display:none}
.ela-language-option{display:flex;align-items:center;gap:8px;padding:11px 12px;color:inherit!important;text-decoration:none!important;font-size:12px;font-weight:500;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap}
.ela-language-option:hover,.ela-language-option.is-active{background:var(--ela-submenu-hover)}
.ela-language-choice.is-open .ela-language-trigger{outline:2px solid currentColor;outline-offset:2px}
@media(max-width:900px){
 .ela-main-nav{z-index:10020}
 .ela-main-nav-toggle{display:flex;position:relative;z-index:10023}
 .ela-main-nav:before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.34);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .26s ease,visibility .26s ease;z-index:10020}
 .ela-main-nav.is-open:before{opacity:1;visibility:visible;pointer-events:auto}
 .ela-main-nav-desktop-list{display:none!important}
 .ela-main-nav-mobile-list{display:block!important;position:fixed;right:0;top:0;width:75vw;height:100vh;height:100dvh;max-height:none;overflow-y:auto;overscroll-behavior:contain;align-items:stretch;justify-content:flex-start;gap:0;min-height:0;padding:76px 20px 28px!important;background:var(--ela-menu-panel);color:var(--ela-menu-panel-text);border:0;border-left:1px solid rgba(0,0,0,.08);box-shadow:-22px 0 55px rgba(0,0,0,.18);transform:translateX(105%);visibility:hidden;transition:transform .28s cubic-bezier(.22,.61,.36,1),visibility 0s linear .28s;z-index:10021}
 .ela-main-nav.is-open>.ela-main-nav-mobile-list{transform:translateX(0);visibility:visible;transition:transform .28s cubic-bezier(.22,.61,.36,1),visibility 0s linear 0s}
 .ela-main-nav-item{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid rgba(0,0,0,.075)}
 .ela-main-nav-item:last-child{border-bottom:0}
 .ela-main-nav-item>a{padding:15px 8px;font-size:13px;letter-spacing:.075em}
 .ela-main-nav-mobile-item.is-child>a{padding-left:24px;font-size:12px;opacity:.86}
 .ela-main-nav-item>a:after{display:none}
 .ela-language-choice{display:grid;grid-template-columns:1fr auto;width:100%;padding:10px 8px;border-bottom:1px solid rgba(0,0,0,.075);box-sizing:border-box}
 .ela-main-nav-social{display:flex!important;justify-content:flex-end;padding:10px 8px;border-bottom:1px solid rgba(0,0,0,.075)}
 .ela-language-trigger{grid-column:2;grid-row:1;width:34px;height:34px}
 .ela-language-options{position:static;grid-column:1/-1;grid-row:2;min-width:0;margin:7px 0 2px;border:0;border-left:1px solid rgba(0,0,0,.12);border-radius:0;box-shadow:none;background:transparent}
 .ela-language-option{padding:10px 12px}
 .ela-main-submenu-toggle{width:38px;height:38px;margin:0;color:inherit}
 .ela-main-submenu-toggle:before{left:14px;top:12px;width:7px;height:7px}
 .ela-main-nav-item.is-submenu-open>.ela-main-submenu-toggle:before{top:16px}
 .ela-main-submenu{display:none;position:static;grid-column:1/-1;min-width:0;padding:0 0 9px 11px!important;border:0;border-left:1px solid rgba(0,0,0,.12);box-shadow:none;opacity:1;visibility:visible;transform:none;border-radius:0;background:transparent;color:inherit}
 .ela-main-nav-item.is-submenu-open>.ela-main-submenu{display:block}
 .ela-main-nav-item.has-children:hover>.ela-main-submenu:not(:focus-within){display:none}
 .ela-main-nav-item.has-children.is-submenu-open:hover>.ela-main-submenu{display:block}
 .ela-main-submenu li a{white-space:normal;padding:10px 12px}
 body.ela-main-menu-open{overflow:hidden}
}

/* 2.6.67 — every configured visible entry remains reachable, including nested imports. */
@media(min-width:901px){
 .ela-instagram-link:hover,.ela-instagram-link:focus-visible{transform:none}
 .ela-language-trigger:hover .ela-language-flag-current,.ela-language-trigger:focus-visible .ela-language-flag-current{display:none}
 .ela-language-trigger:hover .ela-language-flag-opposite,.ela-language-trigger:focus-visible .ela-language-flag-opposite{display:inline}
 .ela-main-submenu .ela-main-menu-label{position:relative;display:inline-block}
 .ela-main-submenu li.is-active>a,.ela-main-submenu li.is-active>a .ela-main-menu-label{text-decoration:none!important}
 .ela-main-submenu li>a:hover .ela-main-menu-label:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor}
 .ela-main-submenu li>a:hover:after{content:"<";display:inline-block;margin-left:8px;font-size:12px;font-weight:500;line-height:1;text-decoration:none!important}
 .ela-main-submenu .ela-main-nav-item.has-children{position:relative}
 .ela-main-submenu .ela-main-nav-item.has-children>.ela-main-submenu{left:calc(100% - 2px);top:-10px}
}
@media(max-width:900px){
 .ela-main-submenu .ela-main-nav-item{border-bottom:0}
 .ela-main-submenu .ela-main-submenu{margin-left:12px!important}
}

/* 2.6.72 — mobile drawer is detached to <body> so theme header wrappers
   cannot clip the menu. It always scrolls to the final visible entry. */
@media(max-width:900px){
 .ela-main-nav:before{display:none!important}
 .ela-main-nav-mobile-list{
   position:fixed!important;
   top:0!important;
   right:0!important;
   bottom:0!important;
   left:auto!important;
   width:75vw!important;
   max-width:75vw!important;
   height:auto!important;
   min-height:0!important;
   max-height:100vh!important;
   max-height:100dvh!important;
   overflow-x:hidden!important;
   overflow-y:auto!important;
   -webkit-overflow-scrolling:touch;
   overscroll-behavior-y:contain;
   touch-action:pan-y;
   display:block!important;
   margin:0!important;
   padding:76px 20px 32px!important;
   background:var(--ela-menu-panel,#fff)!important;
   color:var(--ela-menu-panel-text,#171717)!important;
   box-sizing:border-box!important;
   z-index:2147483001!important;
   transform:translate3d(105%,0,0)!important;
   visibility:hidden!important;
   opacity:1!important;
 }
 .ela-main-nav-mobile-list.is-open{
   transform:translate3d(0,0,0)!important;
   visibility:visible!important;
 }
 .ela-main-nav-mobile-list.is-home-logo-light{
   --ela-menu-panel:#191919;
   --ela-menu-panel-text:#fff;
   background:#191919!important;
   color:#fff!important;
   border-left-color:rgba(255,255,255,.12)!important;
 }
 .ela-main-nav-mobile-list.is-home-logo-light>.ela-main-nav-item,
 .ela-main-nav-mobile-list.is-home-logo-light>.ela-main-nav-mobile-logo{
   border-color:rgba(255,255,255,.12)!important;
 }
 .ela-main-nav-backdrop{
   position:fixed!important;
   inset:0!important;
   display:block!important;
   background:rgba(0,0,0,.34)!important;
   opacity:0;
   visibility:hidden;
   pointer-events:none;
   transition:opacity .26s ease,visibility .26s ease;
   z-index:2147483000!important;
 }
 .ela-main-nav-backdrop.is-open{
   opacity:1;
   visibility:visible;
   pointer-events:auto;
 }
 .ela-main-nav-mobile-list>.ela-main-nav-item{
   width:100%!important;
   max-width:none!important;
   min-height:0!important;
   overflow:visible!important;
 }
 .ela-main-nav-mobile-list>.ela-main-nav-item>a{
   width:100%!important;
   box-sizing:border-box!important;
 }
}

/* 2.6.77 — configurable Espace logo in the main navigation. */
@media(min-width:901px){
 .ela-main-nav-logo{position:absolute;left:0;top:50%;transform:translateY(-50%);display:block;width:var(--ela-logo-desktop-width,120px);max-width:26vw;z-index:4;text-decoration:none!important}
 .ela-main-nav-logo img{display:block;width:100%;height:auto;max-height:58px;object-fit:contain;object-position:left center}
}
@media(max-width:900px){
 .ela-main-nav>.ela-main-nav-logo{display:none!important}
 .ela-main-nav-mobile-logo{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;padding:0 8px 22px!important;margin:0 0 8px!important;border-bottom:1px solid rgba(0,0,0,.075)!important;box-sizing:border-box!important}
 .ela-main-nav-mobile-logo .ela-main-nav-logo{position:static!important;transform:none!important;display:block!important;width:var(--ela-logo-mobile-width,180px)!important;max-width:90%!important;margin:0!important;text-decoration:none!important}
 .ela-main-nav-mobile-logo .ela-main-nav-logo img{display:block!important;width:100%!important;height:auto!important;max-height:90px!important;object-fit:contain!important;object-position:left center!important}
 .ela-main-nav-mobile-controls{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important}
 .ela-main-nav-mobile-controls .ela-main-nav-social{display:flex!important;padding:0!important;border:0!important}
 .ela-main-nav-mobile-controls .ela-language-choice{display:block!important;width:auto!important;padding:0!important;border:0!important}
 .ela-main-nav-mobile-controls .ela-language-options{position:absolute!important;top:calc(100% + 8px)!important;right:0!important;min-width:162px!important;margin:0!important;border:1px solid var(--ela-submenu-border)!important;border-radius:6px!important;background:var(--ela-submenu-bg)!important;box-shadow:0 16px 38px rgba(0,0,0,.15)!important}
}


/* 2.6.78 — the Espace logo replaces the theme Site Title on desktop and mobile. */
.ela-site-title-logo{
 display:block!important;
 width:var(--ela-brand-logo-desktop,120px)!important;
 max-width:min(32vw,360px)!important;
 height:auto!important;
 max-height:72px!important;
 object-fit:contain!important;
 object-position:left center!important;
}
.wp-block-site-title:has(.ela-site-title-logo),
.site-title:has(.ela-site-title-logo){line-height:1!important}
.wp-block-site-title a:has(.ela-site-title-logo),
.site-title a:has(.ela-site-title-logo),
.ela-site-title-logo-link{
 display:inline-flex!important;
 align-items:center!important;
 text-decoration:none!important;
 line-height:1!important;
}
/* The branding now lives in the theme title slot; do not duplicate it beside
   the desktop navigation. The same source logo is still cloned into the mobile drawer. */
@media(min-width:901px){
 .ela-main-nav>.ela-main-nav-logo{display:none!important}
}
@media(max-width:900px){
 .ela-site-title-logo{
   width:var(--ela-brand-logo-mobile,180px)!important;
   max-width:55vw!important;
   max-height:64px!important;
 }
}

/* 2.6.79 — remove the theme gap between the site navigation/header and page titles. */
body:not(.wp-admin) .wp-site-blocks > header + main,
body:not(.wp-admin) .wp-site-blocks > header + .wp-block-group,
body:not(.wp-admin) header.wp-block-template-part + main,
body:not(.wp-admin) header.wp-block-template-part + .wp-block-group{
 margin-block-start:0!important;
 margin-top:0!important;
}
body:not(.wp-admin) main > .wp-block-post-title:first-child,
body:not(.wp-admin) main > .entry-header:first-child,
body:not(.wp-admin) main > .entry-header:first-child .entry-title,
body:not(.wp-admin) main > .wp-block-group:first-child > .wp-block-post-title:first-child,
body:not(.wp-admin) main > .wp-block-group:first-child > .entry-title:first-child{
 margin-block-start:0!important;
 margin-top:0!important;
}
