
/* === v9.8.5 mobile menu expert polish === */
@media (max-width:860px){
  :root{
    --dp-mobile-edge:8px;
  }

  body.menu-open{
    overflow:hidden;
    touch-action:none;
  }

  .radio-shell-classic,
  .radio-shell{
    z-index:95;
  }

  .nav-bar-classic{
    position:relative;
    z-index:96;
    border-radius:0 0 18px 18px;
    overflow:visible;
  }

  .nav-bar-inner-classic{
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:
      "brand toggle"
      "search search" !important;
    align-items:center;
    gap:10px;
    padding:10px 12px 12px !important;
  }

  .brand-link.brand-link-nav{
    min-height:0;
    max-width:100%;
  }

  .brand-link-nav img,
  .brand-link-nav .custom-logo{
    max-width:150px !important;
    max-height:36px !important;
  }

  .nav-search-wrap{
    grid-area:search;
    width:100%;
    max-width:none !important;
  }

  .nav-search-wrap .search-form{
    min-height:44px;
    padding:4px 4px 4px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.96);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 8px 18px rgba(11,21,40,.08);
  }

  .nav-search-wrap .search-field{
    font-size:16px !important;
    font-weight:700;
  }

  .nav-search-wrap .search-submit{
    min-width:74px;
    padding:10px 12px;
    border-radius:999px;
  }

  .nav-bar-classic .menu-toggle{
    display:inline-flex !important;
    grid-area:toggle;
    align-items:center;
    justify-content:center;
    width:48px;
    min-width:48px;
    height:48px;
    min-height:48px;
    padding:0 !important;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.22);
    background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08));
    box-shadow:0 10px 24px rgba(122,8,15,.24);
    backdrop-filter:blur(8px);
    transition:transform .22s ease, background .22s ease, box-shadow .22s ease;
  }

  .nav-bar-classic .menu-toggle:hover,
  .nav-bar-classic .menu-toggle:focus-visible{
    transform:translateY(-1px);
    background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.12));
    box-shadow:0 14px 28px rgba(122,8,15,.28);
  }

  .nav-bar-classic .menu-toggle span:last-child{
    display:none !important;
  }

  .nav-bar-classic .menu-toggle-icon,
  .nav-bar-classic .menu-toggle-icon::before,
  .nav-bar-classic .menu-toggle-icon::after{
    width:18px;
    border-radius:999px;
  }

  .nav-bar-classic .menu-toggle.is-active .menu-toggle-icon{
    background:transparent !important;
  }

  .nav-bar-classic .menu-toggle.is-active .menu-toggle-icon::before{
    top:0;
    transform:rotate(45deg);
  }

  .nav-bar-classic .menu-toggle.is-active .menu-toggle-icon::after{
    top:0;
    transform:rotate(-45deg);
  }

  .menu-backdrop{
    position:fixed;
    inset:0;
    background:rgba(7,10,18,.56);
    backdrop-filter:blur(6px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .24s ease, visibility .24s ease;
    z-index:98;
  }

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

  .primary-menu,
  .nav-bar-classic .primary-menu{
    display:block !important;
    position:fixed;
    left:var(--dp-mobile-edge);
    right:var(--dp-mobile-edge);
    top:var(--mobile-menu-top,112px) !important;
    max-height:calc(100dvh - var(--mobile-menu-top,112px) - 8px);
    overflow:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:14px;
    border-radius:24px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 54%,#f5f8fd 100%);
    border:1px solid rgba(219,228,238,.96);
    box-shadow:0 26px 70px rgba(15,23,42,.26);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px) scale(.985);
    transition:opacity .24s ease, visibility .24s ease, transform .24s ease;
    z-index:99;
    scrollbar-width:thin;
  }

  .primary-menu::before{
    content:"";
    display:block;
    width:42px;
    height:4px;
    margin:0 auto 12px;
    border-radius:999px;
    background:rgba(148,163,184,.55);
  }

  .primary-menu.is-open,
  .nav-bar-classic .primary-menu.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .mobile-language-switch{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:0 0 12px;
    margin:0 0 12px;
    border-bottom:1px solid rgba(219,228,238,.9);
  }

  .mobile-language-chip{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:46px;
    padding:0 12px;
    border-radius:16px;
    border:1px solid rgba(219,228,238,.96);
    background:linear-gradient(180deg,#fff,#f8fafc);
    color:#0f172a;
    font-weight:800;
    box-shadow:0 6px 14px rgba(15,23,42,.04);
  }

  .mobile-language-chip.is-active,
  .mobile-language-chip[aria-current="page"]{
    color:#921319;
    border-color:rgba(203,24,35,.28);
    background:linear-gradient(180deg,#fff5f5,#fffafb);
    box-shadow:0 10px 24px rgba(203,24,35,.10);
  }

  .mobile-language-chip__text{
    font-size:14px;
    line-height:1;
  }

  .primary-menu-list,
  .nav-bar-classic .primary-menu-list{
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:8px !important;
    padding:0 !important;
    margin:0 !important;
    list-style:none;
    overflow:visible;
    white-space:normal;
  }

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

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

  .primary-menu-list > li > a,
  .primary-menu-list > .page_item > a,
  .nav-bar-classic .primary-menu-list > li > a,
  .nav-bar-classic .primary-menu-list > .page_item > a{
    display:flex !important;
    align-items:center;
    min-height:52px;
    padding:14px 16px !important;
    border-radius:18px !important;
    border:1px solid rgba(219,228,238,.96) !important;
    background:linear-gradient(180deg,#fff,#f8fafc) !important;
    box-shadow:0 8px 18px rgba(15,23,42,.05) !important;
    color:#132033 !important;
    font-size:15px !important;
    font-weight:800 !important;
    line-height:1.28;
    white-space:normal !important;
    text-wrap:balance;
  }

  .primary-menu-list > li.current-menu-item > a,
  .primary-menu-list > li.current_page_item > a,
  .primary-menu-list > li.current-menu-ancestor > a,
  .nav-bar-classic .primary-menu-list > li.current-menu-item > a,
  .nav-bar-classic .primary-menu-list > li.current_page_item > a,
  .nav-bar-classic .primary-menu-list > li.current-menu-ancestor > a{
    color:#8f1015 !important;
    border-color:rgba(203,24,35,.24) !important;
    background:linear-gradient(180deg,#fff5f5,#fffafb) !important;
    box-shadow:0 14px 26px rgba(203,24,35,.10) !important;
  }

  .primary-menu-list .menu-item-has-children > a::after,
  .primary-menu-list .page_item_has_children > a::after,
  .nav-bar-classic .primary-menu-list .menu-item-has-children > a::after,
  .nav-bar-classic .primary-menu-list .page_item_has_children > a::after{
    display:none !important;
  }

  .submenu-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:48px;
    min-height:52px;
    padding:0;
    border-radius:18px;
    border:1px solid rgba(219,228,238,.96);
    background:linear-gradient(180deg,#fff,#f8fafc);
    color:#132033;
    box-shadow:0 8px 18px rgba(15,23,42,.05);
    cursor:pointer;
  }

  .submenu-toggle:focus-visible,
  .primary-menu-list a:focus-visible,
  .mobile-language-chip:focus-visible{
    outline:2px solid rgba(203,24,35,.32);
    outline-offset:2px;
  }

  .submenu-toggle-icon,
  .submenu-toggle-icon::before{
    display:block;
    width:11px;
    height:11px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg);
    transition:transform .22s ease;
    content:"";
  }

  .submenu-toggle.is-open .submenu-toggle-icon,
  .primary-menu-list > li.is-open-sub > .submenu-toggle .submenu-toggle-icon{
    transform:rotate(-135deg);
  }

  .primary-menu-list .sub-menu,
  .primary-menu-list .children,
  .nav-bar-classic .primary-menu-list .sub-menu,
  .nav-bar-classic .primary-menu-list .children{
    grid-column:1 / -1;
    position:static !important;
    display:none;
    margin:0 !important;
    padding:8px !important;
    border-radius:18px !important;
    border:1px solid rgba(219,228,238,.96) !important;
    background:linear-gradient(180deg,#f8fafc,#f3f7fc) !important;
    box-shadow:none !important;
  }

  .primary-menu-list li.is-open-sub > .sub-menu,
  .primary-menu-list li.is-open-sub > .children,
  .nav-bar-classic .primary-menu-list li.is-open-sub > .sub-menu,
  .nav-bar-classic .primary-menu-list li.is-open-sub > .children{
    display:block;
  }

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

  .primary-menu-list .sub-menu a:hover,
  .primary-menu-list .children a:hover,
  .primary-menu-list .sub-menu a:focus-visible,
  .primary-menu-list .children a:focus-visible,
  .nav-bar-classic .primary-menu-list .sub-menu a:hover,
  .nav-bar-classic .primary-menu-list .children a:hover,
  .nav-bar-classic .primary-menu-list .sub-menu a:focus-visible,
  .nav-bar-classic .primary-menu-list .children a:focus-visible{
    background:#ffffff !important;
    color:#921319 !important;
  }
}

@media (max-width:560px){
  .nav-bar-inner-classic{
    padding:9px 10px 10px !important;
  }

  .brand-link-nav img,
  .brand-link-nav .custom-logo{
    max-width:136px !important;
    max-height:34px !important;
  }

  .primary-menu,
  .nav-bar-classic .primary-menu{
    left:7px;
    right:7px;
    padding:12px;
    border-radius:22px;
  }

  .primary-menu-list > li,
  .primary-menu-list > .page_item,
  .nav-bar-classic .primary-menu-list > li,
  .nav-bar-classic .primary-menu-list > .page_item{
    grid-template-columns:minmax(0,1fr) 46px;
    gap:7px;
  }

  .primary-menu-list > li > a,
  .primary-menu-list > .page_item > a,
  .nav-bar-classic .primary-menu-list > li > a,
  .nav-bar-classic .primary-menu-list > .page_item > a{
    min-height:50px;
    padding:13px 14px !important;
    font-size:14px !important;
  }

  .submenu-toggle{
    width:46px;
    min-height:50px;
    border-radius:16px;
  }

  .primary-menu-list .sub-menu a,
  .primary-menu-list .children a,
  .nav-bar-classic .primary-menu-list .sub-menu a,
  .nav-bar-classic .primary-menu-list .children a{
    padding:11px 12px !important;
    font-size:13px !important;
  }
}


/* === v9.8.4 scroll reach + touch unlock fix === */
@media (max-width:860px){
  html.menu-open,
  body.menu-open{
    overflow:hidden;
    overscroll-behavior:none;
  }

  body.menu-open{
    touch-action:auto !important;
  }

  .site-header.site-header-classic,
  .nav-bar-classic,
  .nav-bar-inner-classic{
    overflow:visible !important;
  }

  .primary-menu,
  .nav-bar-classic .primary-menu{
    top:var(--mobile-menu-top,112px) !important;
    max-height:var(--mobile-menu-max-height,calc(100dvh - var(--mobile-menu-top,112px) - 8px)) !important;
    height:auto !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-gutter:stable both-edges;
    padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));
    touch-action:pan-y pinch-zoom !important;
    scroll-padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));
  }

  .primary-menu::after,
  .nav-bar-classic .primary-menu::after{
    content:"";
    display:block;
    height:calc(10px + env(safe-area-inset-bottom,0px));
  }

  .primary-menu-list,
  .nav-bar-classic .primary-menu-list{
    padding-bottom:2px !important;
  }

  .primary-menu-list > li:last-child,
  .primary-menu-list > .page_item:last-child,
  .nav-bar-classic .primary-menu-list > li:last-child,
  .nav-bar-classic .primary-menu-list > .page_item:last-child{
    margin-bottom:0 !important;
  }

  .primary-menu .sub-menu,
  .primary-menu .children,
  .nav-bar-classic .primary-menu .sub-menu,
  .nav-bar-classic .primary-menu .children{
    margin-bottom:2px !important;
  }
}

@media (max-width:560px){
  .primary-menu,
  .nav-bar-classic .primary-menu{
    left:max(7px, env(safe-area-inset-left,0px));
    right:max(7px, env(safe-area-inset-right,0px));
    padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));
  }
}


/* === v9.8.5 hard scroll final + visual polish === */
@media (max-width:860px){
  html.menu-open,
  body.menu-open{
    overflow:hidden !important;
    height:100% !important;
  }

  body.menu-open{
    position:static !important;
    inset:auto !important;
    width:auto !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    touch-action:none !important;
  }

  .menu-backdrop{
    z-index:118 !important;
    background:rgba(6,10,18,.62);
    backdrop-filter:blur(8px);
  }

  .primary-menu,
  .nav-bar-classic .primary-menu{
    z-index:119 !important;
    top:var(--mobile-menu-top,112px) !important;
    bottom:max(8px, env(safe-area-inset-bottom,0px)) !important;
    max-height:none !important;
    height:auto !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior-y:contain !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
    padding:14px 14px calc(18px + env(safe-area-inset-bottom,0px)) !important;
    border-radius:26px !important;
    border:1px solid rgba(226,232,240,.98) !important;
    background:
      radial-gradient(circle at top right, rgba(203,24,35,.07), transparent 30%),
      linear-gradient(180deg,#ffffff 0%,#fbfdff 52%,#f5f8fd 100%) !important;
    box-shadow:0 30px 80px rgba(15,23,42,.28) !important;
    scrollbar-width:thin;
    min-height:0;
  }

  .primary-menu::before,
  .nav-bar-classic .primary-menu::before{
    width:46px;
    height:5px;
    margin:0 auto 14px;
    background:linear-gradient(90deg, rgba(148,163,184,.36), rgba(100,116,139,.72), rgba(148,163,184,.36));
  }

  .primary-menu::after,
  .nav-bar-classic .primary-menu::after{
    height:calc(14px + env(safe-area-inset-bottom,0px)) !important;
  }

  .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,.96) 0%, rgba(255,255,255,.92) 76%, rgba(255,255,255,0) 100%);
    backdrop-filter:blur(2px);
  }

  .mobile-language-chip{
    min-height:48px;
    border-radius:17px;
  }

  .primary-menu-list,
  .nav-bar-classic .primary-menu-list{
    gap:9px !important;
    padding:0 0 8px !important;
  }

  .primary-menu-list > li,
  .primary-menu-list > .page_item,
  .nav-bar-classic .primary-menu-list > li,
  .nav-bar-classic .primary-menu-list > .page_item{
    scroll-margin-top:12px;
  }

  .primary-menu-list > li > a,
  .primary-menu-list > .page_item > a,
  .nav-bar-classic .primary-menu-list > li > a,
  .nav-bar-classic .primary-menu-list > .page_item > a{
    min-height:54px;
    border-radius:20px !important;
    background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
    box-shadow:0 10px 22px rgba(15,23,42,.055) !important;
  }

  .submenu-toggle{
    min-height:54px;
    border-radius:20px;
    box-shadow:0 10px 22px rgba(15,23,42,.055);
  }

  .primary-menu-list .sub-menu,
  .primary-menu-list .children,
  .nav-bar-classic .primary-menu-list .sub-menu,
  .nav-bar-classic .primary-menu-list .children{
    padding:9px !important;
    border-radius:20px !important;
    background:linear-gradient(180deg,#f9fbfe,#f4f8fc) !important;
    border-left:3px solid rgba(203,24,35,.16) !important;
  }

  .primary-menu-list .sub-menu a,
  .primary-menu-list .children a,
  .nav-bar-classic .primary-menu-list .sub-menu a,
  .nav-bar-classic .primary-menu-list .children a{
    border-radius:15px;
  }
}

@media (max-width:560px){
  .primary-menu,
  .nav-bar-classic .primary-menu{
    left:max(7px, env(safe-area-inset-left,0px)) !important;
    right:max(7px, env(safe-area-inset-right,0px)) !important;
    padding:12px 12px calc(18px + env(safe-area-inset-bottom,0px)) !important;
    border-radius:24px !important;
  }

  .primary-menu-list > li > a,
  .primary-menu-list > .page_item > a,
  .nav-bar-classic .primary-menu-list > li > a,
  .nav-bar-classic .primary-menu-list > .page_item > a,
  .submenu-toggle{
    min-height:52px;
  }
}


/* === v9.8.6 stacking fix + red controls + scroll rescue === */
@media (max-width:860px){
  .site-header.site-header-classic{
    z-index:520 !important;
    overflow:visible !important;
    isolation:isolate;
  }

  html.menu-open .site-header.site-header-classic,
  body.menu-open .site-header.site-header-classic{
    z-index:9990 !important;
  }

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

  body.menu-open{
    touch-action:auto !important;
  }

  .site-header.site-header-classic .radio-shell-classic,
  .site-header.site-header-classic .nav-bar-classic,
  .site-header.site-header-classic .breaking-strip{
    position:relative;
    overflow:visible !important;
  }

  .menu-backdrop{
    z-index:9988 !important;
  }

  .primary-menu,
  .nav-bar-classic .primary-menu{
    z-index:9989 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y pinch-zoom !important;
    padding-bottom:calc(30px + env(safe-area-inset-bottom,0px)) !important;
    scroll-padding-bottom:calc(36px + env(safe-area-inset-bottom,0px));
    box-shadow:0 34px 90px rgba(15,23,42,.34) !important;
  }

  .primary-menu::after,
  .nav-bar-classic .primary-menu::after{
    height:calc(28px + env(safe-area-inset-bottom,0px)) !important;
  }

  .nav-bar-classic .menu-toggle{
    background:linear-gradient(180deg,#d91c22 0%,#b91319 100%) !important;
    border-color:rgba(255,255,255,.22) !important;
    box-shadow:0 14px 32px rgba(185,19,25,.34) !important;
    color:#fff !important;
  }

  .nav-bar-classic .menu-toggle:hover,
  .nav-bar-classic .menu-toggle:focus-visible,
  .nav-bar-classic .menu-toggle.is-active{
    background:linear-gradient(180deg,#e2232a 0%,#c5151c 100%) !important;
    box-shadow:0 18px 36px rgba(185,19,25,.40) !important;
  }

  .nav-bar-classic .menu-toggle-icon,
  .nav-bar-classic .menu-toggle-icon::before,
  .nav-bar-classic .menu-toggle-icon::after{
    background:#fff !important;
  }

  .submenu-toggle{
    background:linear-gradient(180deg,#d91c22 0%,#b91319 100%) !important;
    border-color:#b91319 !important;
    color:#fff !important;
    box-shadow:0 12px 28px rgba(185,19,25,.24) !important;
  }

  .submenu-toggle:hover,
  .submenu-toggle:focus-visible,
  .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 16px 34px rgba(185,19,25,.30) !important;
  }

  .primary-menu-list > li > a:hover,
  .primary-menu-list > li > a:focus-visible,
  .primary-menu-list > .page_item > a:hover,
  .primary-menu-list > .page_item > a:focus-visible,
  .nav-bar-classic .primary-menu-list > li > a:hover,
  .nav-bar-classic .primary-menu-list > li > a:focus-visible,
  .nav-bar-classic .primary-menu-list > .page_item > a:hover,
  .nav-bar-classic .primary-menu-list > .page_item > a:focus-visible{
    border-color:rgba(203,24,35,.28) !important;
    color:#921319 !important;
    box-shadow:0 16px 30px rgba(203,24,35,.12) !important;
  }
}

@media (max-width:560px){
  .primary-menu,
  .nav-bar-classic .primary-menu{
    padding-bottom:calc(34px + env(safe-area-inset-bottom,0px)) !important;
  }

  .primary-menu::after,
  .nav-bar-classic .primary-menu::after{
    height:calc(32px + env(safe-area-inset-bottom,0px)) !important;
  }
}
