/* Shared header navigation; desktop panels remain the content source. */
/* The exported mega-column display rule otherwise overrides Elementor's native
   visibility controls. Honour the same desktop exclusion used by the renderer. */
html body .elementor.elementor-location-header .renaisi-desktop-header .ri-mega-panel .elementor-hidden-desktop { display:none !important; }
html.ri-mobile-menu-open, html.ri-mobile-menu-open body { overflow: hidden !important; }
.ri-mobile-panel:not([open]) { display:none !important; }
html body .renaisi-responsive-header__nav .ri-mobile-toggle {
  display:flex; align-items:center; justify-content:center; flex:0 0 48px;
  width:48px; height:48px; padding:12px; border:0; border-radius:10px;
  background:#fff; color:#163c4b; cursor:pointer;
}
.ri-mobile-bars { width:24px; height:3px; background:currentColor; position:relative; border-radius:2px; }
.ri-mobile-bars::before, .ri-mobile-bars::after { content:""; position:absolute; left:0; width:24px; height:3px; border-radius:2px; background:currentColor; }
.ri-mobile-bars::before { top:-7px; } .ri-mobile-bars::after { top:7px; }
html body .renaisi-responsive-header__nav .ri-mobile-toggle:hover,
html body .renaisi-responsive-header__nav .ri-mobile-toggle[aria-expanded="true"] { background:#e0ff00; }
html body .ri-mobile-panel {
  box-sizing:border-box; position:fixed; inset:var(--ri-menu-top,100px) 12px auto auto;
  width:min(520px,calc(100vw - 24px)); min-width:0; max-width:calc(100vw - 24px);
  max-height:calc(100vh - var(--ri-menu-top,100px) - 12px);
  max-height:calc(100dvh - var(--ri-menu-top,100px) - 12px);
  margin:0; padding:0 12px 12px; border:1px solid #d7dfe1; border-radius:18px;
  color:#163c4b; background:#fff; box-shadow:0 18px 44px #163c4b29;
  overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  font-family:Fustat,Arial,sans-serif; font-size:16px; line-height:1.4; text-align:left;
}
.ri-mobile-panel::backdrop { background:rgba(0,35,45,.42); }
html body .ri-mobile-panel-head {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  position:sticky; top:0; z-index:2; padding:10px 2px; background:#fff;
  border-bottom:1px solid #e3e7e8; margin-bottom:8px; font-weight:600; font-size:20px;
}
html body .ri-mobile-close { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; border-radius:10px; background:#f1f1f1; color:#163c4b; font:32px/1 Arial,sans-serif; cursor:pointer; }
html body .ri-mobile-panel :is(ul,li) { list-style:none; padding:0; margin:0; }
html body .ri-mobile-panel .ri-mobile-list { display:flex; flex-direction:column; gap:4px; }
html body .ri-mobile-panel :is(.ri-mobile-link,.ri-mobile-submenu-toggle) {
  box-sizing:border-box; display:flex !important; align-items:center; justify-content:space-between !important;
  width:100%; min-height:48px; margin:0; padding:12px 14px; gap:16px;
  color:#163c4b; background:transparent; border:0; border-radius:10px;
  font-family:inherit; font-size:16px; font-weight:500; line-height:1.4; text-align:left;
  text-decoration:none; white-space:normal; overflow-wrap:anywhere; cursor:pointer; box-shadow:none !important;
}
html body .ri-mobile-panel .ri-mobile-submenu-toggle { font-weight:600; }
html body .ri-mobile-panel :is(.ri-mobile-link:hover,.ri-mobile-submenu-toggle:hover,[aria-current="page"],.ri-mobile-ancestor,[aria-expanded="true"]) { background:#f1f1f1; }
.ri-mobile-chevron { flex:0 0 8px; width:8px; height:8px; margin:0 3px 4px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
[aria-expanded="true"] > .ri-mobile-chevron { transform:rotate(225deg); margin-bottom:0; }
html body .ri-mobile-panel .ri-mobile-submenu { margin:4px 4px 10px; padding:8px; border:1px solid #dfe3e4; border-radius:12px; background:#f5f5f5; }
.ri-mobile-submenu[hidden] { display:none !important; }
html body .ri-mobile-panel .ri-mobile-group + .ri-mobile-group { margin-top:12px; padding-top:12px; border-top:1px solid #d7dfe1; }
html body .ri-mobile-panel .ri-mobile-group-title { font-weight:650; background:#fff; border:1px solid #d7dfe1; margin-bottom:4px; }
html body .ri-mobile-panel .ri-mobile-group .ri-mobile-link[aria-current="page"] { background:#e0ff00; }
html body .elementor .renaisi-responsive-header__nav .ri-mobile-panel .ri-mobile-cta { background:#e0ff00; font-weight:700; justify-content:center !important; margin-top:8px; }
html body .ri-mobile-panel :is(a,button):focus-visible { outline:3px solid #007890; outline-offset:-3px; }
html body .ri-mobile-toggle:focus-visible { outline:3px solid #e0ff00; outline-offset:3px; }
@media(min-width:768px) { html body .ri-mobile-panel { right:max(20px,var(--renaisi-chrome-inline,20px)); } }
@media(min-width:1280px) { html body .renaisi-responsive-header__nav .ri-mobile-toggle { display:none; } }

/* Override the older shared header centering contract only for compact menu rows. */
html body .elementor .renaisi-responsive-header__nav .ri-mobile-panel :is(.ri-mobile-link,.ri-mobile-submenu-toggle) { display:flex !important; justify-content:space-between !important; box-shadow:none !important; }
html body .elementor .renaisi-responsive-header__nav .ri-mobile-panel .ri-mobile-cta { justify-content:center !important; }
