
/* === v9.8.7 doctor mobile menu overlay + final scroll fix === */
@media (max-width:860px){
  html.menu-open,
  body.menu-open{
    overflow:hidden !important;
    height:100% !important;
    touch-action:auto !important;
    overscroll-behavior:none !important;
  }

  body.has-menu-portal .site-header.site-header-classic,
  body.has-menu-portal .nav-bar-classic,
  body.has-menu-portal .breaking-strip,
  body.has-menu-portal .site-main,
  body.has-menu-portal .site-main-inner{
    isolation:auto !important;
    transform:none !important;
  }

  .dp-mobile-menu-portal{
    position:fixed;
    inset:0;
    z-index:2147483000;
    pointer-events:none;
  }

  .dp-mobile-menu-portal .menu-backdrop{
    position:fixed !important;
    inset:0 !important;
    z-index:1 !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    background:rgba(7,11,20,.68) !important;
    backdrop-filter:blur(8px);
    transition:opacity .22s ease, visibility .22s ease;
  }

  .dp-mobile-menu-portal .menu-backdrop.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .dp-mobile-menu-portal .primary-menu{
    position:fixed !important;
    left:max(10px, env(safe-area-inset-left,0px)) !important;
    right:max(10px, env(safe-area-inset-right,0px)) !important;
    top:var(--mobile-menu-top,112px) !important;
    bottom:max(10px, env(safe-area-inset-bottom,0px)) !important;
    width:auto !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    display:block !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    scrollbar-gutter:stable both-edges;
    box-sizing:border-box;
    padding:14px 14px calc(38px + env(safe-area-inset-bottom,0px)) !important;
    border-radius:24px !important;
    z-index:2 !important;
    pointer-events:auto;
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px) scale(.985);
    transition:opacity .22s ease, visibility .22s ease, transform .22s ease;
    background:
      radial-gradient(circle at top right, rgba(217,28,34,.10), transparent 34%),
      linear-gradient(180deg,#ffffff 0%,#fbfdff 54%,#f4f7fb 100%) !important;
    border:1px solid rgba(226,232,240,.98) !important;
    box-shadow:0 34px 100px rgba(15,23,42,.36) !important;
  }

  .dp-mobile-menu-portal .primary-menu.is-open{
    opacity:1;
    visibility:visible;
    transform:none;
  }

  .dp-mobile-menu-portal .primary-menu::before{
    content:"";
    display:block;
    width:48px;
    height:5px;
    margin:0 auto 14px;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(148,163,184,.30), rgba(100,116,139,.76), rgba(148,163,184,.30));
  }

  .dp-mobile-menu-portal .primary-menu::after{
    content:"";
    display:block;
    height:calc(26px + env(safe-area-inset-bottom,0px));
  }

  .dp-mobile-menu-portal .mobile-language-switch{
    position:sticky;
    top:0;
    z-index:2;
    padding:2px 0 12px;
    margin:0 0 12px;
    background:linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.92) 76%, rgba(255,255,255,0) 100%);
  }

  .dp-mobile-menu-portal .primary-menu-list,
  .dp-mobile-menu-portal .nav-bar-classic .primary-menu-list{
    display:flex !important;
    flex-direction:column;
    gap:9px !important;
    padding:0 0 12px !important;
    margin:0 !important;
    list-style:none;
  }

  .dp-mobile-menu-portal .primary-menu-list > li,
  .dp-mobile-menu-portal .primary-menu-list > .page_item{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 48px;
    gap:8px;
    align-items:start;
    border:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:none !important;
  }

  .dp-mobile-menu-portal .primary-menu-list > li:not(.menu-item-has-children):not(.page_item_has_children),
  .dp-mobile-menu-portal .primary-menu-list > .page_item:not(.menu-item-has-children):not(.page_item_has_children){
    grid-template-columns:minmax(0,1fr);
  }

  .dp-mobile-menu-portal .primary-menu-list > li > a,
  .dp-mobile-menu-portal .primary-menu-list > .page_item > a{
    display:flex !important;
    align-items:center;
    min-height:54px;
    padding:14px 16px !important;
    border-radius:18px !important;
    border:1px solid rgba(226,232,240,.98) !important;
    background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
    box-shadow:0 10px 22px rgba(15,23,42,.055) !important;
    color:#142133 !important;
    font-size:15px !important;
    font-weight:800 !important;
    line-height:1.3;
    white-space:normal !important;
    text-wrap:balance;
  }

  .dp-mobile-menu-portal .primary-menu-list > li.current-menu-item > a,
  .dp-mobile-menu-portal .primary-menu-list > li.current_page_item > a,
  .dp-mobile-menu-portal .primary-menu-list > li.current-menu-ancestor > a{
    color:#961217 !important;
    border-color:rgba(217,28,34,.26) !important;
    background:linear-gradient(180deg,#fff5f5,#fffafb) !important;
    box-shadow:0 14px 28px rgba(217,28,34,.12) !important;
  }

  .dp-mobile-menu-portal .submenu-toggle,
  .nav-bar-classic .menu-toggle{
    background:linear-gradient(180deg,#d91c22 0%,#b91319 100%) !important;
    border-color:#b91319 !important;
    color:#fff !important;
    box-shadow:0 14px 30px rgba(185,19,25,.28) !important;
  }

  .dp-mobile-menu-portal .submenu-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:48px;
    min-height:54px;
    padding:0;
    border-radius:18px;
  }

  .nav-bar-classic .menu-toggle:hover,
  .nav-bar-classic .menu-toggle:focus-visible,
  .nav-bar-classic .menu-toggle.is-active,
  .dp-mobile-menu-portal .submenu-toggle:hover,
  .dp-mobile-menu-portal .submenu-toggle:focus-visible,
  .dp-mobile-menu-portal .primary-menu-list > li.is-open-sub > .submenu-toggle{
    background:linear-gradient(180deg,#e2232a 0%,#c5151c 100%) !important;
    border-color:#c5151c !important;
    color:#fff !important;
    box-shadow:0 18px 36px rgba(185,19,25,.36) !important;
  }

  .nav-bar-classic .menu-toggle-icon,
  .nav-bar-classic .menu-toggle-icon::before,
  .nav-bar-classic .menu-toggle-icon::after,
  .dp-mobile-menu-portal .submenu-toggle,
  .dp-mobile-menu-portal .submenu-toggle-icon,
  .dp-mobile-menu-portal .submenu-toggle-icon::before{
    color:#fff !important;
  }

  .dp-mobile-menu-portal .primary-menu-list .sub-menu,
  .dp-mobile-menu-portal .primary-menu-list .children{
    grid-column:1 / -1;
    position:static !important;
    display:none;
    margin:0 !important;
    padding:9px !important;
    border-radius:18px !important;
    border:1px solid rgba(226,232,240,.98) !important;
    border-left:3px solid rgba(217,28,34,.20) !important;
    background:linear-gradient(180deg,#f9fbfe,#f4f8fc) !important;
    box-shadow:none !important;
  }

  .dp-mobile-menu-portal .primary-menu-list li.is-open-sub > .sub-menu,
  .dp-mobile-menu-portal .primary-menu-list li.is-open-sub > .children{
    display:block;
  }

  .dp-mobile-menu-portal .primary-menu-list .sub-menu a,
  .dp-mobile-menu-portal .primary-menu-list .children a{
    display:block;
    padding:12px 14px !important;
    border-radius:14px;
    color:#223247 !important;
    font-size:14px !important;
    font-weight:700;
    line-height:1.35;
  }

  .dp-mobile-menu-portal .primary-menu-list .sub-menu a:hover,
  .dp-mobile-menu-portal .primary-menu-list .children a:hover,
  .dp-mobile-menu-portal .primary-menu-list .sub-menu a:focus-visible,
  .dp-mobile-menu-portal .primary-menu-list .children a:focus-visible{
    background:#fff !important;
    color:#961217 !important;
  }
}

@media (max-width:560px){
  .dp-mobile-menu-portal .primary-menu{
    left:max(8px, env(safe-area-inset-left,0px)) !important;
    right:max(8px, env(safe-area-inset-right,0px)) !important;
    bottom:max(8px, env(safe-area-inset-bottom,0px)) !important;
    padding:12px 12px calc(36px + env(safe-area-inset-bottom,0px)) !important;
    border-radius:22px !important;
  }

  .dp-mobile-menu-portal .primary-menu-list > li > a,
  .dp-mobile-menu-portal .primary-menu-list > .page_item > a,
  .dp-mobile-menu-portal .submenu-toggle{
    min-height:52px;
  }
}
