/*
 * ConnectDigiTV frozen mobile navigation end-state.
 *
 * This file intentionally mirrors the LAST effective mobile-menu cascade in
 * the approved UK/Germany HTML references. It is loaded after generated
 * reference CSS so earlier/intermediate menu experiments cannot win the
 * cascade during the Next.js migration.
 */

@media (max-width:1050px){
  :root{
    --cd-real-mobile-header-h:78px;
    --cd-real-mobile-open-ease:cubic-bezier(.22,1,.36,1);
  }

  html.mobile-menu-open,
  body.mobile-menu-open,
  html.mobile-menu-closing,
  body.mobile-menu-closing{
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }

  /* The real header is the expanding surface. */
  #siteHeader.site-header,
  body.ui-locked #siteHeader.site-header{
    height:var(--cd-real-mobile-header-h)!important;
    min-height:var(--cd-real-mobile-header-h)!important;
    max-height:none!important;
    overflow:hidden!important;
    will-change:height!important;
    transition:
      height .58s var(--cd-real-mobile-open-ease),
      transform .34s cubic-bezier(.22,1,.36,1),
      opacity .24s ease,
      border-radius .28s ease,
      box-shadow .28s ease!important;
  }
  html.mobile-menu-open #siteHeader.site-header,
  body.mobile-menu-open #siteHeader.site-header,
  body.ui-locked.mobile-menu-open #siteHeader.site-header{
    top:0!important;
    height:100dvh!important;
    overflow:hidden!important;
  }

  /* UK collapses from the viewport edge. Germany's language-transfer close
     returns to the captured floating-header inset as soon as closing starts. */
  html[data-market="uk"].mobile-menu-closing #siteHeader.site-header,
  html[data-market="uk"] body.mobile-menu-closing #siteHeader.site-header,
  html[data-market="uk"] body.ui-locked.mobile-menu-closing #siteHeader.site-header{
    top:0!important;
  }
  html.mobile-menu-open #siteHeader.site-header.scrolled,
  body.mobile-menu-open #siteHeader.site-header.scrolled,
  body.ui-locked.mobile-menu-open #siteHeader.site-header.scrolled{
    height:calc(100dvh - 12px)!important;
  }
  html.mobile-menu-open #siteHeader.site-header,
  body.mobile-menu-open #siteHeader.site-header,
  html.mobile-menu-closing #siteHeader.site-header,
  body.mobile-menu-closing #siteHeader.site-header,
  body.ui-locked.mobile-menu-open #siteHeader.site-header,
  body.ui-locked.mobile-menu-closing #siteHeader.site-header{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  /* Keep the approved top-bar geometry unchanged. */
  #siteHeader .nav,
  html.mobile-menu-open #siteHeader .nav,
  body.mobile-menu-open #siteHeader .nav{
    position:relative!important;
    z-index:4!important;
    height:var(--cd-real-mobile-header-h)!important;
    min-height:var(--cd-real-mobile-header-h)!important;
    max-height:var(--cd-real-mobile-header-h)!important;
    flex:0 0 var(--cd-real-mobile-header-h)!important;
    transform:none!important;
  }
  #siteHeader .brand-btn,
  html.mobile-menu-open #siteHeader .brand-btn,
  body.mobile-menu-open #siteHeader .brand-btn{
    left:50%!important;
    top:50%!important;
    margin:0!important;
    transform:translate(-50%,-50%)!important;
  }
  #siteHeader .menu-btn,
  html.mobile-menu-open #siteHeader .menu-btn,
  body.mobile-menu-open #siteHeader .menu-btn{
    position:relative!important;
    z-index:6!important;
    margin-left:auto!important;
    transform:none!important;
  }

  /* Same hamburger, same position; only the glyph becomes X. */
  #siteHeader .menu-btn svg{
    opacity:0!important;
    visibility:hidden!important;
  }
  #siteHeader .menu-btn::before,
  #siteHeader .menu-btn::after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:20px!important;
    height:2px!important;
    border-radius:999px!important;
    background:currentColor!important;
    transform-origin:center!important;
    transition:transform .32s var(--cd-real-mobile-open-ease),box-shadow .22s ease!important;
  }
  #siteHeader .menu-btn::before{
    transform:translate(-50%,-6px)!important;
    box-shadow:0 6px 0 currentColor!important;
  }
  #siteHeader .menu-btn::after{
    transform:translate(-50%,6px)!important;
  }
  #siteHeader .menu-btn[aria-expanded="true"]::before{
    box-shadow:none!important;
    transform:translate(-50%,-1px) rotate(45deg)!important;
  }
  #siteHeader .menu-btn[aria-expanded="true"]::after{
    transform:translate(-50%,-1px) rotate(-45deg)!important;
  }

  /* No secondary drawer/card and no visible backdrop. */
  #mobileMenuBackdrop{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  #siteHeader > #mobileMenu,
  #siteHeader > #mobileMenu.open{
    display:flex!important;
    flex-direction:column!important;
    position:absolute!important;
    z-index:3!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:auto!important;
    height:auto!important;
    max-width:none!important;
    max-height:100%!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
    overflow-y:hidden!important;
    overscroll-behavior:none!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    box-shadow:none!important;
    opacity:1!important;
    transform:none!important;
    transform-origin:top center!important;
  }
  #siteHeader > #mobileMenu{
    justify-content:center!important;
    padding-top:var(--cd-real-mobile-header-h)!important;
    padding-right:18px!important;
    padding-bottom:calc(var(--cd-real-mobile-header-h) + min(8dvh,64px))!important;
    padding-left:18px!important;
    gap:4px!important;
    clip-path:inset(0 0 100% 0)!important;
    -webkit-clip-path:inset(0 0 100% 0)!important;
    animation:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
    will-change:clip-path!important;
    transition:
      clip-path .58s var(--cd-real-mobile-open-ease),
      -webkit-clip-path .58s var(--cd-real-mobile-open-ease),
      visibility 0s linear .58s!important;
  }
  #siteHeader > #mobileMenu.open{
    justify-content:center!important;
    align-items:stretch!important;
    clip-path:inset(0 0 0 0)!important;
    -webkit-clip-path:inset(0 0 0 0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:
      clip-path .58s var(--cd-real-mobile-open-ease),
      -webkit-clip-path .58s var(--cd-real-mobile-open-ease),
      visibility 0s linear 0s!important;
  }
  #siteHeader > #mobileMenu .mobile-menu-head-v518{
    display:none!important;
  }

  /* Approved simple, left-aligned rows. */
  #siteHeader > #mobileMenu > a,
  #siteHeader > #mobileMenu > .mobile-menu-group,
  #siteHeader > #mobileMenu > .germany-language-menu-card-v562{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #mobileMenu > a.mobile-menu-link-v519,
  #mobileMenu .mobile-menu-toggle{
    min-height:64px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:15px!important;
    margin:0!important;
    padding:0 13px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    color:#c3d1db!important;
    font-size:1.58rem!important;
    font-weight:790!important;
    line-height:1.16!important;
    letter-spacing:-.022em!important;
    text-align:left!important;
    text-shadow:none!important;
    -webkit-tap-highlight-color:transparent!important;
    outline:none!important;
  }
  #mobileMenu > a.mobile-menu-link-v519 > span,
  #mobileMenu .mobile-menu-toggle > span{
    color:#c3d1db!important;
    text-shadow:none!important;
  }

  /* Professional outline icons stay neutral, including current page. */
  #mobileMenu .mobile-menu-icon-v519,
  #mobileMenu .cd-real-menu-icon-v2,
  #mobileMenu > a:hover .mobile-menu-icon-v519,
  #mobileMenu > a:focus-visible .mobile-menu-icon-v519,
  #mobileMenu > a.active .mobile-menu-icon-v519,
  #mobileMenu .mobile-menu-toggle .mobile-menu-icon-v519,
  #mobileMenu .mobile-menu-toggle.active .mobile-menu-icon-v519,
  #mobileMenu .mobile-menu-group.route-active > .mobile-menu-toggle .mobile-menu-icon-v519,
  #mobileMenu .mobile-menu-group.open .mobile-menu-icon-v519{
    width:27px!important;
    height:27px!important;
    flex:0 0 27px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    color:#a9c6d8!important;
    stroke-width:1.75!important;
    transform:none!important;
  }
  #mobileMenu .cd-real-chevron-v2,
  #mobileMenu .mobile-menu-chevron-v519{
    width:21px!important;
    height:21px!important;
    margin-left:auto!important;
    color:#a9c6d8!important;
  }
  #mobileMenu .mobile-menu-group.open .cd-real-chevron-v2,
  #mobileMenu .mobile-menu-group.open .mobile-menu-chevron-v519{
    transform:rotate(180deg)!important;
  }

  /* Help disclosure. */
  #mobileMenu > .mobile-menu-group{
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  #mobileMenu .mobile-menu-submenu{
    display:block!important;
    max-height:0!important;
    margin:0!important;
    padding:0 0 0 42px!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    transform:translateY(-5px)!important;
    transition:max-height .34s cubic-bezier(.22,1,.36,1),opacity .18s ease,transform .34s cubic-bezier(.22,1,.36,1),padding .34s ease!important;
  }
  #mobileMenu .mobile-menu-group.open .mobile-menu-submenu{
    max-height:250px!important;
    padding:5px 0 8px 42px!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  #mobileMenu .mobile-menu-submenu a,
  #mobileMenu .mobile-menu-submenu a:hover,
  #mobileMenu .mobile-menu-submenu a:focus,
  #mobileMenu .mobile-menu-submenu a:focus-visible,
  #mobileMenu .mobile-menu-submenu a:active{
    min-height:39px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    margin:0!important;
    padding:0 12px!important;
    border:0!important;
    border-left:1px solid rgba(104,195,255,.15)!important;
    border-radius:0 9px 9px 0!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    color:#aebbc5!important;
    font-size:1.24rem!important;
    font-weight:720!important;
    text-align:left!important;
    text-shadow:none!important;
    -webkit-tap-highlight-color:transparent!important;
    outline:none!important;
  }
  #mobileMenu .mobile-menu-submenu a.active,
  #mobileMenu .mobile-menu-submenu a.active:hover,
  #mobileMenu .mobile-menu-submenu a.active:focus-visible{
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    color:#53b9ff!important;
    text-shadow:none!important;
  }

  /* Only the current label turns blue. No selected card/glow/icon. */
  #mobileMenu > a.mobile-menu-link-v519:hover,
  #mobileMenu > a.mobile-menu-link-v519:focus,
  #mobileMenu > a.mobile-menu-link-v519:focus-visible,
  #mobileMenu > a.mobile-menu-link-v519:active,
  #mobileMenu > a.mobile-menu-link-v519.active,
  #mobileMenu .mobile-menu-toggle:hover,
  #mobileMenu .mobile-menu-toggle:focus,
  #mobileMenu .mobile-menu-toggle:focus-visible,
  #mobileMenu .mobile-menu-toggle:active,
  #mobileMenu .mobile-menu-toggle.active,
  #mobileMenu .mobile-menu-group.open > .mobile-menu-toggle,
  #mobileMenu .mobile-menu-group.route-active > .mobile-menu-toggle{
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    color:#c3d1db!important;
    text-shadow:none!important;
  }
  #mobileMenu > a.mobile-menu-link-v519.active > span,
  #mobileMenu .mobile-menu-group.route-active > .mobile-menu-toggle > span,
  #mobileMenu .mobile-menu-toggle.active > span{
    color:#53b9ff!important;
    text-shadow:none!important;
  }

  /* The final reference has no Trial row in the mobile menu. */
  #mobileMenu > a.mobile-menu-trial-v519,
  #mobileMenu > a[data-route="trial"]{
    display:none!important;
  }

  /* Content reveal follows the expanding header. */
  #siteHeader > #mobileMenu > a.mobile-menu-link-v519,
  #siteHeader > #mobileMenu > .mobile-menu-group,
  #siteHeader > #mobileMenu > .germany-language-menu-card-v562{
    opacity:0!important;
    transform:translate3d(0,16px,0)!important;
    filter:none!important;
    transition:opacity .38s var(--cd-real-mobile-open-ease),transform .38s var(--cd-real-mobile-open-ease)!important;
    transition-delay:0s!important;
  }
  #siteHeader > #mobileMenu.open > a.mobile-menu-link-v519,
  #siteHeader > #mobileMenu.open > .mobile-menu-group,
  #siteHeader > #mobileMenu.open > .germany-language-menu-card-v562{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
  }
  #siteHeader > #mobileMenu.open > .germany-language-menu-card-v562{transition-delay:.12s!important}
  #siteHeader > #mobileMenu.open > a[data-route="plans"]{transition-delay:.14s!important}
  #siteHeader > #mobileMenu.open > a[data-route="activation"]{transition-delay:.19s!important}
  #siteHeader > #mobileMenu.open > a[data-route="reviews"]{transition-delay:.24s!important}
  #siteHeader > #mobileMenu.open > .mobile-menu-group{transition-delay:.29s!important}

  /* Final ambient movement runs only during the state transition. */
  #siteHeader::before,
  #siteHeader::after,
  #siteHeader .header-blue-orbit-v334{
    animation:none!important;
  }
  #siteHeader > #mobileMenu{
    isolation:isolate!important;
  }
  #siteHeader > #mobileMenu::before,
  #siteHeader > #mobileMenu::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    pointer-events:none!important;
    z-index:0!important;
    will-change:opacity,transform!important;
  }
  #siteHeader > #mobileMenu::before{
    inset:-10% -16% -8% -16%!important;
    background:
      radial-gradient(48% 38% at 84% 12%,rgba(11,130,216,.18),transparent 72%),
      radial-gradient(44% 34% at 12% 88%,rgba(50,161,232,.09),transparent 74%)!important;
    opacity:0!important;
    transform:translate3d(0,-5%,0) scale(1.035)!important;
    transition:opacity .48s cubic-bezier(.22,1,.36,1),transform .58s cubic-bezier(.22,1,.36,1)!important;
  }
  #siteHeader > #mobileMenu::after{
    inset:-12% -42%!important;
    background:linear-gradient(116deg,transparent 28%,rgba(80,188,255,.025) 39%,rgba(58,174,247,.095) 49%,rgba(80,188,255,.028) 60%,transparent 72%)!important;
    opacity:0!important;
    transform:translate3d(-18%,0,0) skewX(-7deg)!important;
    transition:opacity .34s ease,transform .58s cubic-bezier(.22,1,.36,1)!important;
  }
  #siteHeader > #mobileMenu.open::before{
    opacity:1!important;
    transform:translate3d(0,0,0) scale(1)!important;
  }
  #siteHeader > #mobileMenu.open::after{
    opacity:.72!important;
    transform:translate3d(18%,0,0) skewX(-7deg)!important;
  }
  #siteHeader > #mobileMenu > a,
  #siteHeader > #mobileMenu > .mobile-menu-group,
  #siteHeader > #mobileMenu > .germany-language-menu-card-v562,
  #siteHeader > #mobileMenu > .cd-mobile-swipe-up-hint-v2{
    position:relative!important;
    z-index:1!important;
  }

  /* Final swipe cue: one small white line, no arrow/card. */
  #siteHeader > #mobileMenu > .cd-mobile-swipe-up-hint-v2{
    position:absolute!important;
    left:50%!important;
    bottom:max(14px,calc(env(safe-area-inset-bottom,0px) + 8px))!important;
    width:46px!important;
    height:12px!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    z-index:999!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    pointer-events:none!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:opacity .22s ease,visibility 0s linear .22s!important;
  }
  #siteHeader > #mobileMenu.open > .cd-mobile-swipe-up-hint-v2{
    opacity:1!important;
    visibility:visible!important;
    transition:opacity .28s ease .20s,visibility 0s linear 0s!important;
  }
  #siteHeader > #mobileMenu > .cd-mobile-swipe-up-hint-v2 .cd-mobile-swipe-up-arrow-v2{
    display:none!important;
    animation:none!important;
  }
  #siteHeader > #mobileMenu > .cd-mobile-swipe-up-hint-v2 .cd-mobile-swipe-up-handle-v2{
    display:block!important;
    width:42px!important;
    height:4px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.88)!important;
    box-shadow:none!important;
  }

  /* Germany mobile language selector from the final reference. */
  #siteHeader > #mobileMenu > .germany-language-menu-card-v562{
    order:1!important;
    min-height:52px!important;
    width:min(100%,520px)!important;
    max-width:100%!important;
    margin:3px auto 26px auto!important;
    padding:5px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:5px!important;
    border:1px solid rgba(137,190,224,.18)!important;
    border-radius:16px!important;
    background:rgba(8,18,25,.78)!important;
    box-shadow:0 8px 26px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.035)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  #siteHeader > #mobileMenu > a[data-route="plans"]{order:3!important}
  #siteHeader > #mobileMenu > a[data-route="activation"]{order:4!important}
  #siteHeader > #mobileMenu > a[data-route="reviews"]{order:5!important}
  #siteHeader > #mobileMenu > .mobile-menu-group{order:6!important}
  #siteHeader > #mobileMenu .germany-language-menu-title-v562{
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:1px solid rgba(83,185,255,.16)!important;
    border-radius:12px!important;
    background:rgba(11,130,216,.11)!important;
    box-shadow:none!important;
    color:#72c7ff!important;
  }
  #siteHeader > #mobileMenu .germany-language-menu-title-v562 svg{
    width:21px!important;
    height:21px!important;
    stroke-width:1.8!important;
  }
  #siteHeader > #mobileMenu .germany-language-menu-segments-v562{
    display:inline-flex!important;
    align-items:center!important;
    gap:2px!important;
    flex:1 1 auto!important;
    width:auto!important;
    margin:0!important;
    padding:2px!important;
    border:0!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.035)!important;
    box-shadow:none!important;
  }
  #siteHeader > #mobileMenu .germany-language-menu-segments-v562 button{
    position:relative!important;
    width:auto!important;
    min-width:0!important;
    flex:1 1 0!important;
    height:36px!important;
    padding:0 12px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#93a8b6!important;
    font-size:.86rem!important;
    font-weight:760!important;
    line-height:1!important;
    letter-spacing:.005em!important;
    transition:color .2s ease,background .2s ease,transform .2s cubic-bezier(.22,1,.36,1)!important;
  }
  #siteHeader > #mobileMenu .germany-language-menu-segments-v562 button::after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    bottom:5px!important;
    width:4px!important;
    height:4px!important;
    border-radius:50%!important;
    background:#53b9ff!important;
    opacity:0!important;
    transform:translateX(-50%) scale(.6)!important;
  }
  #siteHeader > #mobileMenu .germany-language-menu-segments-v562 button:hover,
  #siteHeader > #mobileMenu .germany-language-menu-segments-v562 button:focus-visible{
    color:#dbe8f0!important;
    background:rgba(255,255,255,.035)!important;
  }
  #siteHeader > #mobileMenu .germany-language-menu-segments-v562 button[aria-pressed="true"]{
    color:#0B82D8!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(0,0,0,.14),inset 0 0 0 1px rgba(11,130,216,.08)!important;
  }
  #siteHeader > #mobileMenu .germany-language-menu-segments-v562 button[aria-pressed="true"]::after{
    opacity:0!important;
  }
  #siteHeader > #mobileMenu .germany-language-menu-segments-v562 button:active{
    transform:scale(.97)!important;
  }
  #siteHeader > #mobileMenu .germany-language-menu-segments-v562 button:focus-visible{
    outline:2px solid rgba(83,185,255,.7)!important;
    outline-offset:2px!important;
  }
}

@media (max-width:700px){
  :root{--cd-real-mobile-header-h:70px}

  html.mobile-menu-open #siteHeader.site-header.scrolled,
  body.mobile-menu-open #siteHeader.site-header.scrolled,
  body.ui-locked.mobile-menu-open #siteHeader.site-header.scrolled{
    height:calc(100dvh - 8px)!important;
  }
  #siteHeader > #mobileMenu,
  #siteHeader > #mobileMenu.open{
    padding-top:var(--cd-real-mobile-header-h)!important;
    padding-right:16px!important;
    padding-left:16px!important;
    padding-bottom:calc(var(--cd-real-mobile-header-h) + min(6dvh,46px))!important;
  }
  #mobileMenu > a.mobile-menu-link-v519,
  #mobileMenu .mobile-menu-toggle{
    min-height:66px!important;
    font-size:1.68rem!important;
  }
  #mobileMenu .mobile-menu-icon-v519,
  #mobileMenu .cd-real-menu-icon-v2{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }
  #mobileMenu .mobile-menu-submenu a{
    font-size:1.30rem!important;
  }
  #siteHeader > #mobileMenu > .germany-language-menu-card-v562{
    min-height:50px!important;
    margin-bottom:24px!important;
    border-radius:15px!important;
  }
  #siteHeader > #mobileMenu .germany-language-menu-title-v562{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
  }
  #siteHeader > #mobileMenu .germany-language-menu-segments-v562 button{
    min-width:0!important;
    height:34px!important;
    padding:0 11px!important;
    font-size:.84rem!important;
  }
}

@media (max-width:700px) and (max-height:680px){
  #mobileMenu > a.mobile-menu-link-v519,
  #mobileMenu .mobile-menu-toggle{
    min-height:56px!important;
    font-size:1.46rem!important;
  }
  #mobileMenu .mobile-menu-submenu a{
    font-size:1.08rem!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  #mobileMenu .germany-language-menu-card-v562{
    min-height:50px!important;
  }
  #siteHeader > #mobileMenu,
  #siteHeader > #mobileMenu.open{
    padding-bottom:calc(var(--cd-real-mobile-header-h) + 42px)!important;
  }
}

@media (max-width:700px) and (max-height:560px){
  #mobileMenu > a.mobile-menu-link-v519,
  #mobileMenu .mobile-menu-toggle{
    min-height:50px!important;
    font-size:1.34rem!important;
  }
  #mobileMenu .mobile-menu-submenu a{
    font-size:1rem!important;
  }
  #siteHeader > #mobileMenu,
  #siteHeader > #mobileMenu.open{
    gap:0!important;
    padding-bottom:calc(var(--cd-real-mobile-header-h) + 20px)!important;
  }
}

@media (max-width:360px){
  #mobileMenu > a.mobile-menu-link-v519,
  #mobileMenu .mobile-menu-toggle{
    min-height:62px!important;
    font-size:1.56rem!important;
  }
  #mobileMenu .mobile-menu-submenu a{
    font-size:1.20rem!important;
  }
}

/* This is the last winning reference layer for ordinary-height phones. It
   must follow the <=700px padding rule or the language card sits 36px low. */
@media (max-width:1050px) and (min-height:681px){
  #siteHeader > #mobileMenu,
  #siteHeader > #mobileMenu.open{
    justify-content:center!important;
    padding-bottom:calc(var(--cd-real-mobile-header-h) + clamp(78px,14dvh,120px))!important;
  }
}

@media (prefers-reduced-motion:reduce){
  #siteHeader.site-header,
  body.ui-locked #siteHeader.site-header,
  #siteHeader > #mobileMenu,
  #siteHeader > #mobileMenu::before,
  #siteHeader > #mobileMenu::after,
  #siteHeader .menu-btn::before,
  #siteHeader .menu-btn::after{
    transition:none!important;
  }
  #siteHeader > #mobileMenu::before,
  #siteHeader > #mobileMenu::after{
    transform:none!important;
  }
}
