/* ==========================================================
   Lakers mobile runtime menu - worked solution v8
   File: lakers-mobile-submenu-fix.css

   This is the isolated version of the earlier working runtime header/menu.
   Mobile only. Desktop untouched. Page/footer/content styling untouched.
   ========================================================== */

@media screen and (min-width: 922px) {
  .lhne-runtime-mobile-header {
    display: none !important;
  }
}

@media screen and (max-width: 921px) {

  /* Hide only the original Elementor header on mobile after runtime header is active */
  body.lhne-runtime-mobile-active .elementor-location-header,
  body.lhne-runtime-mobile-active #masthead,
  body.lhne-runtime-mobile-active .site-header {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* Runtime header */
  .lhne-runtime-mobile-header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;
    background: #f4f5f7 !important;
    border-bottom: 1px solid rgba(17, 24, 39, .06) !important;
    z-index: 2147483647 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .lhne-runtime-mobile-header,
  html[lang^="he"] .lhne-runtime-mobile-header,
  html[dir="rtl"] .lhne-runtime-mobile-header,
  body.rtl .lhne-runtime-mobile-header {
    direction: ltr !important;
  }

  .lhne-runtime-mobile-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
    background: #f4f5f7 !important;
    gap: 12px !important;
    position: relative !important;
    z-index: 2147483647 !important;
  }

  .lhne-runtime-logo {
    order: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-right: auto !important;
    margin-left: 0 !important;
    width: auto !important;
    max-width: 60vw !important;
    height: 64px !important;
    text-decoration: none !important;
  }

  .lhne-runtime-logo img {
    display: block !important;
    width: 220px !important;
    max-width: 60vw !important;
    height: auto !important;
    max-height: 58px !important;
    object-fit: contain !important;
  }

  .lhne-runtime-actions {
    order: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-direction: row !important;
    gap: 14px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    direction: ltr !important;
    position: relative !important;
    z-index: 2147483647 !important;
  }

  .lhne-runtime-lang,
  .lhne-runtime-burger {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #111827 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
    pointer-events: auto !important;
  }

  .lhne-runtime-lang:hover,
  .lhne-runtime-burger:hover {
    background: rgba(17, 24, 39, .07) !important;
  }

  .lhne-runtime-lang svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    stroke: currentColor !important;
  }

  .lhne-runtime-burger span,
  .lhne-runtime-burger span::before,
  .lhne-runtime-burger span::after {
    display: block !important;
    width: 24px !important;
    height: 2px !important;
    background: #111827 !important;
    border-radius: 2px !important;
    position: relative !important;
    transition: transform .25s ease, opacity .25s ease !important;
    content: "" !important;
  }

  .lhne-runtime-burger span::before,
  .lhne-runtime-burger span::after {
    position: absolute !important;
    left: 0 !important;
  }

  .lhne-runtime-burger span::before {
    top: -7px !important;
  }

  .lhne-runtime-burger span::after {
    top: 7px !important;
  }

  .lhne-runtime-mobile-header.lhne-menu-open .lhne-runtime-burger span {
    background: transparent !important;
  }

  .lhne-runtime-mobile-header.lhne-menu-open .lhne-runtime-burger span::before {
    transform: translateY(7px) rotate(45deg) !important;
  }

  .lhne-runtime-mobile-header.lhne-menu-open .lhne-runtime-burger span::after {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  /* Full width dropdown panel */
  .lhne-runtime-panel {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    top: 84px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    max-height: calc(100dvh - 84px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #ffffff !important;
    padding: 18px 0 28px !important;
    margin: 0 !important;
    border-top: 1px solid rgba(17, 24, 39, .08) !important;
    box-shadow: 0 24px 54px rgba(17, 24, 39, .14) !important;
    z-index: 2147483646 !important;
    pointer-events: none !important;
  }

  .lhne-runtime-mobile-header.lhne-menu-open .lhne-runtime-panel {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .lhne-runtime-panel ul,
  .lhne-runtime-panel li {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    overflow: visible !important;
  }

  .lhne-runtime-panel a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #374151 !important;
    -webkit-text-fill-color: #374151 !important;
    background: #ffffff !important;
    text-decoration: none !important;
    font-family: Heebo, Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    padding: 12px 34px !important;
    margin: 0 !important;
    pointer-events: auto !important;
  }

  .lhne-runtime-panel .menu-item-has-children > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: auto !important;
    max-width: calc(100vw - 68px) !important;
    white-space: normal !important;
  }

  .lhne-runtime-panel .sub-arrow,
  .lhne-runtime-panel .dropdown-menu-toggle {
    display: none !important;
  }

  .lhne-runtime-panel .menu-item-has-children > a::after {
    content: "⌄" !important;
    display: inline-flex !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    pointer-events: none !important;
    transform: translateY(1px) rotate(0deg) !important;
    transition: transform .28s ease !important;
  }

  .lhne-runtime-panel .menu-item-has-children.lhne-sub-open > a::after {
    transform: translateY(1px) rotate(180deg) !important;
  }

  .lhne-runtime-panel .menu-item-has-children > .sub-menu {
    display: block !important;
    position: static !important;
    width: 100% !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    transform: translateY(-4px) !important;
    pointer-events: none !important;
    transition: max-height .36s ease, opacity .24s ease, transform .24s ease, visibility 0s linear .36s !important;
  }

  .lhne-runtime-panel .menu-item-has-children.lhne-sub-open > .sub-menu {
    visibility: visible !important;
    opacity: 1 !important;
    max-height: 720px !important;
    padding: 0 0 8px !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    transition: max-height .36s ease, opacity .24s ease .04s, transform .24s ease .04s, visibility 0s linear 0s !important;
  }

  .lhne-runtime-panel .sub-menu a {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    padding-inline-start: 54px !important;
    padding-inline-end: 34px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
  }

  html[lang^="he"] .lhne-runtime-panel,
  html[dir="rtl"] .lhne-runtime-panel,
  body.rtl .lhne-runtime-panel {
    direction: rtl !important;
  }

  html[lang^="he"] .lhne-runtime-panel a,
  html[dir="rtl"] .lhne-runtime-panel a,
  body.rtl .lhne-runtime-panel a {
    text-align: right !important;
  }

  html[lang^="he"] .lhne-runtime-panel .sub-menu a,
  html[dir="rtl"] .lhne-runtime-panel .sub-menu a,
  body.rtl .lhne-runtime-panel .sub-menu a {
    padding-inline-start: 34px !important;
    padding-inline-end: 54px !important;
  }
}


/* ==========================================================
   Runtime mobile menu refinements v9
   Mobile only. Keeps desktop and page styling untouched.
   Fixes:
   - removes white space below runtime header
   - dropdown arrow sits next to parent text
   - submenu opens to real content height only, no huge empty space
   ========================================================== */

@media screen and (max-width: 921px) {

  /* Remove header from document flow so no white band is reserved below it */
  body.lhne-runtime-mobile-active .lhne-runtime-mobile-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2147483647 !important;
  }

  /* Do not allow hidden original/header dropdown areas to create space */
  body.lhne-runtime-mobile-active .elementor-location-header,
  body.lhne-runtime-mobile-active #masthead,
  body.lhne-runtime-mobile-active .site-header,
  body.lhne-runtime-mobile-active .elementor-location-header *,
  body.lhne-runtime-mobile-active .elementor-nav-menu--dropdown,
  body.lhne-runtime-mobile-active .elementor-nav-menu__container {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
  }

  /* Page should start immediately; fixed header overlays top of hero */
  body.lhne-runtime-mobile-active,
  body.lhne-runtime-mobile-active #page,
  body.lhne-runtime-mobile-active .site,
  body.lhne-runtime-mobile-active .site-content,
  body.lhne-runtime-mobile-active #content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Runtime menu panel below fixed header */
  body.lhne-runtime-mobile-active .lhne-runtime-panel {
    position: fixed !important;
    top: 84px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    max-height: calc(100dvh - 84px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 2147483646 !important;
  }

  /* Parent row: arrow must sit beside text, not at edge */
  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a,
  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children.lhne-sub-open > a {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 68px) !important;
    white-space: normal !important;
    position: relative !important;
    z-index: 5 !important;
  }

  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a::after,
  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children.lhne-sub-open > a::after {
    content: "⌄" !important;
    display: inline-flex !important;
    position: static !important;
    inset: auto !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    line-height: 1 !important;
    pointer-events: none !important;
    transform: translateY(1px) rotate(0deg) !important;
  }

  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children.lhne-sub-open > a::after {
    transform: translateY(1px) rotate(180deg) !important;
  }

  /* Use display none/block so submenu takes real height only */
  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > .sub-menu {
    display: none !important;
    position: static !important;
    inset: auto !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    pointer-events: none !important;
  }

  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children.lhne-sub-open > .sub-menu {
    display: block !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 0 6px !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.lhne-runtime-mobile-active .lhne-runtime-panel .sub-menu,
  body.lhne-runtime-mobile-active .lhne-runtime-panel .sub-menu li,
  body.lhne-runtime-mobile-active .lhne-runtime-panel .sub-menu a {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  body.lhne-runtime-mobile-active .lhne-runtime-panel .sub-menu a {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* RTL keeps arrow beside text, not at far side */
  html[lang^="he"] body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a,
  html[dir="rtl"] body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a,
  body.rtl.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a {
    flex-direction: row !important;
    direction: rtl !important;
    text-align: right !important;
  }

  html[lang^="he"] body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a::after,
  html[dir="rtl"] body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a::after,
  body.rtl.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a::after {
    position: static !important;
    right: auto !important;
    left: auto !important;
    margin: 0 !important;
  }
}


/* ==========================================================
   Runtime mobile menu refinements v10
   Mobile only. Desktop/page/footer styling untouched.
   Fixes:
   - submenu arrows visible all the time using real inline span
   - removes remaining white gap below runtime header
   - submenu height uses content height only
   ========================================================== */

@media screen and (max-width: 921px) {

  /* Keep runtime header fixed and do not reserve blank space */
  body.lhne-runtime-mobile-active .lhne-runtime-mobile-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2147483647 !important;
  }

  /* Hide old Elementor/Astra header completely on mobile */
  body.lhne-runtime-mobile-active .elementor-location-header,
  body.lhne-runtime-mobile-active #masthead,
  body.lhne-runtime-mobile-active .site-header {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* Remove remaining blank/header reserve space without touching Elementor sections */
  body.lhne-runtime-mobile-active #page,
  body.lhne-runtime-mobile-active .site,
  body.lhne-runtime-mobile-active .site-content,
  body.lhne-runtime-mobile-active #content,
  body.lhne-runtime-mobile-active #primary,
  body.lhne-runtime-mobile-active .content-area,
  body.lhne-runtime-mobile-active main.site-main,
  body.lhne-runtime-mobile-active .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Hero/first top section should not get pushed down by old header space */
  body.lhne-runtime-mobile-active .entry-content > .elementor:first-child,
  body.lhne-runtime-mobile-active .entry-content > .elementor:first-child > .elementor-section-wrap,
  body.lhne-runtime-mobile-active .entry-content > .elementor:first-child > .e-con:first-child,
  body.lhne-runtime-mobile-active .entry-content > .elementor:first-child > .elementor-section:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Runtime panel below fixed header */
  body.lhne-runtime-mobile-active .lhne-runtime-panel {
    position: fixed !important;
    top: 84px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-height: calc(100dvh - 84px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 2147483646 !important;
  }

  /* Disable pseudo arrow; use real span so arrow never disappears on non-hover */
  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a::after,
  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a:hover::after,
  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children.lhne-sub-open > a::after {
    content: none !important;
    display: none !important;
  }

  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a,
  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children.lhne-sub-open > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: auto !important;
    max-width: calc(100vw - 68px) !important;
    white-space: normal !important;
  }

  body.lhne-runtime-mobile-active .lhne-runtime-panel .lhne-runtime-sub-arrow {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #374151 !important;
    -webkit-text-fill-color: #374151 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    transform: translateY(1px) rotate(0deg) !important;
    transition: transform .25s ease !important;
  }

  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children.lhne-sub-open > a .lhne-runtime-sub-arrow {
    transform: translateY(1px) rotate(180deg) !important;
  }

  /* Avoid inherited hover-only arrow rules */
  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a:not(:hover) .lhne-runtime-sub-arrow,
  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a:hover .lhne-runtime-sub-arrow,
  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a:focus .lhne-runtime-sub-arrow {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* No huge space after submenu: closed is display none, open is natural height */
  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children:not(.lhne-sub-open) > .sub-menu {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children.lhne-sub-open > .sub-menu {
    display: block !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 0 6px !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  body.lhne-runtime-mobile-active .lhne-runtime-panel .sub-menu li,
  body.lhne-runtime-mobile-active .lhne-runtime-panel .sub-menu a {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  body.lhne-runtime-mobile-active .lhne-runtime-panel .sub-menu a {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* RTL keeps arrow next to the Hebrew text */
  html[lang^="he"] body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a,
  html[dir="rtl"] body.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a,
  body.rtl.lhne-runtime-mobile-active .lhne-runtime-panel .menu-item-has-children > a {
    direction: rtl !important;
    flex-direction: row !important;
    text-align: right !important;
  }
}


/* ==========================================================
   Runtime mobile menu refinements v11
   Mobile only. Desktop/page/footer styling untouched.

   Fix:
   - overrides old global body padding-top: 78px mobile header reserve
   - removes the remaining white band below runtime mobile header
   - keeps hero/background starting immediately under header
   ========================================================== */

@media screen and (max-width: 921px) {

  /* Strong specificity to beat:
     body:not(.elementor-editor-active):not(.elementor-editor-preview) { padding-top: 78px !important; }
  */
  html body.lhne-runtime-mobile-active:not(.elementor-editor-active):not(.elementor-editor-preview),
  html body.wp-child-theme-lakers-child.lhne-runtime-mobile-active:not(.elementor-editor-active):not(.elementor-editor-preview),
  html body.home.lhne-runtime-mobile-active:not(.elementor-editor-active):not(.elementor-editor-preview),
  html body.rtl.lhne-runtime-mobile-active:not(.elementor-editor-active):not(.elementor-editor-preview) {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Remove top reserve from wrappers only, not from inner Elementor design sections */
  html body.lhne-runtime-mobile-active #page,
  html body.lhne-runtime-mobile-active .site,
  html body.lhne-runtime-mobile-active .site-content,
  html body.lhne-runtime-mobile-active #content,
  html body.lhne-runtime-mobile-active .ast-container,
  html body.lhne-runtime-mobile-active #primary,
  html body.lhne-runtime-mobile-active .content-area,
  html body.lhne-runtime-mobile-active main.site-main,
  html body.lhne-runtime-mobile-active article,
  html body.lhne-runtime-mobile-active .entry-header,
  html body.lhne-runtime-mobile-active .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Hide any remaining original header reserved box */
  html body.lhne-runtime-mobile-active .elementor-location-header,
  html body.lhne-runtime-mobile-active header.elementor-location-header,
  html body.lhne-runtime-mobile-active #masthead,
  html body.lhne-runtime-mobile-active .site-header {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  /* Runtime header remains visible on top */
  html body.lhne-runtime-mobile-active .lhne-runtime-mobile-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2147483647 !important;
  }

  /* Home hero should begin at the top of page; header overlays first 84px */
  html body.lhne-runtime-mobile-active.home .entry-content > .elementor:first-child,
  html body.lhne-runtime-mobile-active.home .elementor-679,
  html body.lhne-runtime-mobile-active.home #main-content,
  html body.lhne-runtime-mobile-active.home .lhne-hero,
  html[lang^="he"] body.lhne-runtime-mobile-active .elementor-679,
  html[lang^="he"] body.lhne-runtime-mobile-active #main-content,
  html[lang^="he"] body.lhne-runtime-mobile-active .lhne-hero {
    margin-top: 0 !important;
  }

  html body.lhne-runtime-mobile-active.home #main-content,
  html body.lhne-runtime-mobile-active.home .lhne-hero,
  html[lang^="he"] body.lhne-runtime-mobile-active #main-content,
  html[lang^="he"] body.lhne-runtime-mobile-active .lhne-hero {
    background-color: #111827 !important;
  }

  /* Ensure video/overlay covers from top of hero */
  html body.lhne-runtime-mobile-active .lhne-hero .elementor-background-video-container,
  html body.lhne-runtime-mobile-active .lhne-hero .elementor-background-video-embed,
  html body.lhne-runtime-mobile-active .lhne-hero .elementor-background-video-hosted,
  html body.lhne-runtime-mobile-active .lhne-hero .elementor-background-overlay {
    top: 0 !important;
    bottom: 0 !important;
    inset: 0 !important;
  }
}


/* ==========================================================
   Mobile runtime language dropdown v12
   Mobile only. Desktop language untouched.
   Fix:
   - mobile globe opens HE / EN dropdown
   - current language is hidden from dropdown
   - easy hover/click area
   ========================================================== */

@media screen and (max-width: 921px) {
  .lhne-runtime-lang-wrap {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2147483647 !important;
  }

  .lhne-runtime-lang {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #111827 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
    pointer-events: auto !important;
  }

  .lhne-runtime-lang:hover,
  .lhne-runtime-lang-wrap.lhne-runtime-lang-open .lhne-runtime-lang {
    background: rgba(17, 24, 39, .07) !important;
  }

  .lhne-runtime-lang svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    stroke: currentColor !important;
  }

  .lhne-runtime-lang-menu {
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: auto !important;
    min-width: 104px !important;
    padding: 8px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 1px solid rgba(17, 24, 39, .08) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 42px rgba(17, 24, 39, .14) !important;
    z-index: 2147483647 !important;
    transform: translateY(-6px) !important;
    pointer-events: none !important;
    transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s !important;
  }

  .lhne-runtime-lang-wrap:hover .lhne-runtime-lang-menu,
  .lhne-runtime-lang-wrap:focus-within .lhne-runtime-lang-menu,
  .lhne-runtime-lang-wrap.lhne-runtime-lang-open .lhne-runtime-lang-menu {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    transition: opacity .2s ease, transform .2s ease, visibility 0s linear 0s !important;
  }

  .lhne-runtime-lang-menu a {
    display: block !important;
    min-width: 70px !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    color: #374151 !important;
    -webkit-text-fill-color: #374151 !important;
    background: transparent !important;
    font-family: Heebo, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    text-align: left !important;
  }

  .lhne-runtime-lang-menu a:hover {
    background: rgba(17, 24, 39, .07) !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
  }

  html[lang^="he"] .lhne-runtime-lang-menu,
  html[dir="rtl"] .lhne-runtime-lang-menu,
  body.rtl .lhne-runtime-lang-menu {
    right: 0 !important;
    left: auto !important;
    direction: ltr !important;
  }
}


/* ==========================================================
   Mobile runtime language hover bridge v13
   Mobile only. Desktop language untouched.

   Fix:
   - transparent bridge between globe and dropdown
   - dropdown stays open while moving mouse from icon to options
   - larger clickable area for EN / HE
   ========================================================== */

@media screen and (max-width: 921px) {

  .lhne-runtime-lang-wrap {
    position: relative !important;
    padding-bottom: 18px !important;
    margin-bottom: -18px !important;
    z-index: 2147483647 !important;
  }

  /* Transparent hover bridge between globe icon and dropdown */
  .lhne-runtime-lang-wrap::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: auto !important;
    width: 132px !important;
    height: 20px !important;
    background: transparent !important;
    pointer-events: auto !important;
    z-index: 2147483646 !important;
  }

  .lhne-runtime-lang-menu {
    top: calc(100% + 4px) !important;
    right: 0 !important;
    left: auto !important;
    min-width: 112px !important;
    padding: 8px !important;
    pointer-events: none !important;
    z-index: 2147483647 !important;
  }

  .lhne-runtime-lang-wrap:hover .lhne-runtime-lang-menu,
  .lhne-runtime-lang-wrap:focus-within .lhne-runtime-lang-menu,
  .lhne-runtime-lang-wrap.lhne-runtime-lang-open .lhne-runtime-lang-menu {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
  }

  .lhne-runtime-lang-menu a {
    min-width: 82px !important;
    padding: 12px 16px !important;
    pointer-events: auto !important;
  }

  html[lang^="he"] .lhne-runtime-lang-wrap::after,
  html[dir="rtl"] .lhne-runtime-lang-wrap::after,
  body.rtl .lhne-runtime-lang-wrap::after {
    right: 0 !important;
    left: auto !important;
  }
}


/* ==========================================================
   Mobile inner page header spacing fix v14
   Mobile only. Desktop/page design/footer untouched.

   Problem:
   Removing the old 960px mobile padding fixed home white space,
   but inner pages need a safe offset because the runtime mobile
   header is fixed.

   Fix:
   - Home page: no extra white gap below header
   - Inner pages EN + HE: content starts below fixed mobile header
   - Does not reset Elementor section/card/content padding
   ========================================================== */

@media screen and (max-width: 960px) {

  /* Home/front page keeps no reserved white space */
  html body.lhne-runtime-mobile-active.home:not(.elementor-editor-active):not(.elementor-editor-preview),
  html body.lhne-runtime-mobile-active.front-page:not(.elementor-editor-active):not(.elementor-editor-preview) {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Inner pages need header offset so hero/content is not hidden behind fixed mobile header */
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page):not(.elementor-editor-active):not(.elementor-editor-preview),
  html body.wp-child-theme-lakers-child.lhne-runtime-mobile-active:not(.home):not(.front-page):not(.elementor-editor-active):not(.elementor-editor-preview),
  html body.rtl.lhne-runtime-mobile-active:not(.home):not(.front-page):not(.elementor-editor-active):not(.elementor-editor-preview) {
    padding-top: 84px !important;
    margin-top: 0 !important;
  }

  /* Because the body now owns the header offset, wrappers should not add another one */
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) #page,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .site,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .site-content,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) #content,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .ast-container,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) #primary,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .content-area,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) main.site-main,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) article,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Do not collapse Elementor inner page section padding */
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .entry-content > .elementor,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .entry-content > .elementor > .elementor-section,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .entry-content > .elementor > .e-con,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .elementor-top-section,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .e-con {
    margin-top: revert-layer;
  }

  /* Runtime header remains fixed and visible */
  html body.lhne-runtime-mobile-active .lhne-runtime-mobile-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;
    z-index: 2147483647 !important;
  }

  /* Menu panel remains directly below header */
  html body.lhne-runtime-mobile-active .lhne-runtime-panel {
    top: 84px !important;
    max-height: calc(100dvh - 84px) !important;
  }
}


/* ==========================================================
   Mobile inner page extra top padding v15
   Mobile only. Desktop/home/page design/footer untouched.

   Fix:
   - adds a little more top breathing space on inner pages
   - keeps home page white-gap fix unchanged
   ========================================================== */

@media screen and (max-width: 960px) {

  /* Inner pages EN + HE: 84px header + 18px breathing space */
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page):not(.elementor-editor-active):not(.elementor-editor-preview),
  html body.wp-child-theme-lakers-child.lhne-runtime-mobile-active:not(.home):not(.front-page):not(.elementor-editor-active):not(.elementor-editor-preview),
  html body.rtl.lhne-runtime-mobile-active:not(.home):not(.front-page):not(.elementor-editor-active):not(.elementor-editor-preview) {
    padding-top: 102px !important;
    margin-top: 0 !important;
  }

  /* Home remains no-gap */
  html body.lhne-runtime-mobile-active.home:not(.elementor-editor-active):not(.elementor-editor-preview),
  html body.lhne-runtime-mobile-active.front-page:not(.elementor-editor-active):not(.elementor-editor-preview) {
    padding-top: 0 !important;
  }
}


/* ==========================================================
   Mobile inner hero content top spacing v16
   Mobile only. Desktop/home/footer untouched.

   v15 used body padding, but the first Elementor hero can ignore it
   because the runtime header is fixed. This patch moves the INNER PAGE
   hero content down inside the hero background instead of creating a
   white gap outside the section.
   ========================================================== */

@media screen and (max-width: 960px) {

  /* Do not use body padding for inner pages; avoid white band/gap */
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page):not(.elementor-editor-active):not(.elementor-editor-preview),
  html body.wp-child-theme-lakers-child.lhne-runtime-mobile-active:not(.home):not(.front-page):not(.elementor-editor-active):not(.elementor-editor-preview),
  html body.rtl.lhne-runtime-mobile-active:not(.home):not(.front-page):not(.elementor-editor-active):not(.elementor-editor-preview) {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Add breathing space INSIDE the first hero section on inner pages */
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .entry-content > .elementor:first-child > .elementor-section:first-child,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .entry-content > .elementor:first-child > .e-con:first-child,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .elementor-top-section:first-of-type,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-pf-hero,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-sector-hero,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-flymoney-template,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-pf-fly-money,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-pf-takwin,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-pf-inovytec,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-pf-arz-chemicals {
    padding-top: 118px !important;
    box-sizing: border-box !important;
  }

  /* If the logo/badge is the first inner hero object, give it safe spacing too */
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-pf-logo-image,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-flymoney-badge,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-pf-badge-widget {
    margin-top: 12px !important;
  }

  /* Home remains unchanged/no-gap */
  html body.lhne-runtime-mobile-active.home:not(.elementor-editor-active):not(.elementor-editor-preview),
  html body.lhne-runtime-mobile-active.front-page:not(.elementor-editor-active):not(.elementor-editor-preview) {
    padding-top: 0 !important;
  }
}


/* ==========================================================
   Mobile inner hero extra top spacing v17
   Mobile only. Desktop/home/footer untouched.

   Change:
   - Adds 50px more top padding on inner page mobile hero
   - Previous v16: 118px
   - New v17: 168px
   ========================================================== */

@media screen and (max-width: 960px) {

  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .entry-content > .elementor:first-child > .elementor-section:first-child,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .entry-content > .elementor:first-child > .e-con:first-child,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .elementor-top-section:first-of-type,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-pf-hero,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-sector-hero,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-flymoney-template,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-pf-fly-money,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-pf-takwin,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-pf-inovytec,
  html body.lhne-runtime-mobile-active:not(.home):not(.front-page) .lhne-pf-arz-chemicals {
    padding-top: 168px !important;
    box-sizing: border-box !important;
  }
}
