/* Static replacements for behaviour the former plugin scripts provided. Loaded after all original styles. */

/* Language switch and other sub menus: open on hover, keyboard focus or click (site.js). */
/* Selectors match Raven's ".raven-nav-menu ul.sub-menu:not([class*=elementor])" that hides them by default. */
.raven-nav-menu-main .raven-nav-menu li { position: relative; }
.raven-nav-menu-main .raven-nav-menu ul.sub-menu:not([class*=elementor]) { position: absolute; top: 100%; left: 0; z-index: 30; min-width: 11em; }
.raven-nav-menu-main .raven-nav-menu li:hover > ul.sub-menu:not([class*=elementor]),
.raven-nav-menu-main .raven-nav-menu li:focus-within > ul.sub-menu:not([class*=elementor]),
.raven-nav-menu-main .raven-nav-menu li.natalis-open > ul.sub-menu:not([class*=elementor]) { display: block; }
/* In the mobile side menu the other languages are listed directly below the current one. */
.raven-nav-menu-mobile .raven-nav-menu ul.sub-menu:not([class*=elementor]) { display: block; width: 100%; }
.raven-nav-menu-mobile .natalis-language-option > a { padding-left: 48px !important; }
.natalis-language-switch img { display: inline-block; vertical-align: -1px; }
.raven-nav-menu-main .raven-nav-menu li.natalis-language-switch > ul.sub-menu:not([class*=elementor]) { left: auto; right: 0; }

/* Mobile side menu stays usable without the former smartmenus script. */
.raven-nav-menu-toggle-button { cursor: pointer; }
html.natalis-menu-open { overflow: hidden; }

/* Former Swiper carousel: one image at a time, moved by site.js. */
[data-static-carousel] { overflow: hidden; }
[data-static-carousel] .swiper-wrapper { display: flex; transition: transform .6s ease; }
[data-static-carousel] .swiper-slide { flex: 0 0 100%; }
@media (prefers-reduced-motion: reduce) { [data-static-carousel] .swiper-wrapper { transition: none; } }

/* Scroll-to-top button appears after scrolling, as before. */
.jupiterx-corner-buttons { opacity: 0; visibility: hidden; transition: opacity .2s; }
.jupiterx-corner-buttons.jupiterx-scrolled { opacity: 1; visibility: visible; }

/* Visible keyboard focus. */
a:focus-visible, [role="button"]:focus-visible, button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
#jupiterx-main:focus { outline: none; }

/* 404 page. */
.natalis-not-found { max-width: 760px; margin: 0 auto; padding: 90px 20px 110px; text-align: center; }
.natalis-not-found__code { font-size: 64px; line-height: 1; margin-bottom: 10px; opacity: .35; }

/* Small screens: some posts nest empty lists six levels deep and contain long words or bare URLs. */
@media (max-width: 767px) {
  .jupiterx-main { overflow-wrap: break-word; }
  .jupiterx-main h1, .jupiterx-main h2, .jupiterx-main h3, .jupiterx-main h4 { hyphens: auto; }
  .jupiterx-main li[style*="list-style-type: none"] > ul,
  .jupiterx-main li[style*="list-style-type:none"] > ul { padding-left: 0; margin-left: 0; }
}

/* Some original widgets use negative side margins that reach 2px past narrow screens. */
.jupiterx-site { overflow-x: clip; }
