/* === v9.8.1 expert mobile navigation rebuild + sticky nav polish === */
:root{
  --dp-adminbar-offset:0px;
  --dp-radio-height:0px;
  --dp-nav-height:0px;
  --dp-breaking-height:0px;
  --mobile-menu-top:72px;
}

body.admin-bar{
  --dp-adminbar-offset:32px;
}

@media (max-width:782px){
  body.admin-bar{
    --dp-adminbar-offset:46px;
  }
}

.site-header.site-header-classic{
  position:relative !important;
  top:0 !important;
}

.nav-bar-classic{
  position:sticky;
  top:var(--dp-adminbar-offset);
  z-index:120;
}

.menu-backdrop{
  z-index:118;
}

.primary-menu{
  z-index:121;
}

@media (min-width:861px){
  .nav-bar-classic{
    box-shadow:0 12px 28px rgba(15,23,42,.10);
  }

  .nav-bar-classic .primary-menu-list>li>a,
  .nav-bar-classic .primary-menu-list .page_item>a{
    min-height:52px;
    display:flex;
    align-items:center;
  }
}

@media (max-width:860px){
  body.menu-open{
    overflow:hidden;
    touch-action:none;
  }

  .nav-bar-classic{
    background:rgba(213,29,34,.98);
    backdrop-filter:blur(12px);
    box-shadow:0 14px 28px rgba(15,23,42,.16);
  }

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

  .brand-link.brand-link-nav{
    grid-area:brand;
    min-height:42px;
    display:flex;
    align-items:center;
    min-width:0;
  }

  .brand-link-nav img,
  .brand-link-nav .custom-logo{
    max-width:min(100%,132px) !important;
    max-height:32px !important;
  }

  .nav-bar-classic .menu-toggle{
    grid-area:toggle;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:48px;
    min-height:42px;
    padding:0 13px !important;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(15,23,42,.18);
    color:#fff;
    box-shadow:none;
  }

  .nav-bar-classic .menu-toggle span:last-child{
    font-size:13px;
    font-weight:800;
    letter-spacing:.01em;
  }

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

  .nav-bar-classic .menu-toggle.is-active{
    background:#8f1015;
    border-color:rgba(255,255,255,.22);
  }

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

  .nav-search-wrap .search-form{
    min-width:0;
    min-height:42px;
    padding:4px 4px 4px 12px;
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 8px 18px rgba(15,23,42,.12);
  }

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

  .nav-bar-classic .primary-menu{
    position:fixed !important;
    left:10px;
    right:10px;
    top:var(--mobile-menu-top) !important;
    max-height:calc(100dvh - var(--mobile-menu-top) - 10px);
    overflow:auto;
    overscroll-behavior:contain;
    padding:12px 12px 14px !important;
    border-radius:20px !important;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
    border:1px solid rgba(219,228,238,.96) !important;
    box-shadow:0 24px 60px rgba(15,23,42,.18) !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px) scale(.985);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  }

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

  .mobile-language-switch{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:0 0 12px;
    margin:0 0 10px;
    border-bottom:1px solid rgba(226,232,240,.92);
  }

  .mobile-language-chip{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:44px;
    padding:0 10px;
    border-radius:14px;
    border:1px solid rgba(219,228,238,.92);
    background:#fff;
    color:#0f172a;
    text-decoration:none;
    font-weight:800;
  }

  .mobile-language-chip img{
    width:20px;
    height:20px;
    object-fit:contain;
  }

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

  .mobile-language-chip.is-active,
  .mobile-language-chip[aria-current="page"]{
    border-color:#c72026;
    background:#fff5f5;
    color:#8f1015;
  }

  .nav-bar-classic .primary-menu-list{
    display:grid !important;
    gap:0 !important;
    padding:0 !important;
    margin:0 !important;
  }

  .nav-bar-classic .primary-menu-list > li,
  .nav-bar-classic .primary-menu-list > .page_item{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 44px;
    align-items:stretch;
    gap:0;
    border-bottom:1px solid rgba(226,232,240,.92);
  }

  .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);
  }

  .nav-bar-classic .primary-menu-list > li:first-child,
  .nav-bar-classic .primary-menu-list > .page_item:first-child{
    border-top:1px solid rgba(226,232,240,.92);
  }

  .nav-bar-classic .primary-menu-list > li > a,
  .nav-bar-classic .primary-menu-list > .page_item > a{
    display:flex !important;
    align-items:center;
    min-width:0;
    min-height:50px;
    padding:14px 14px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#0f172a !important;
    font-size:15px !important;
    font-weight:800;
    line-height:1.25;
    white-space:normal !important;
  }

  .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;
    background:#fff7f7 !important;
  }

  .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:grid;
    place-items:center;
    width:44px;
    min-height:50px;
    margin:0;
    padding:0;
    border:0;
    border-left:1px solid rgba(226,232,240,.92);
    border-radius:0;
    background:transparent;
    color:#334155;
    cursor:pointer;
  }

  .submenu-toggle-icon{
    width:10px;
    height:10px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg);
    transition:transform .18s ease;
    margin-top:-4px;
  }

  .submenu-toggle.is-open .submenu-toggle-icon,
  .is-open-sub > .submenu-toggle .submenu-toggle-icon{
    transform:rotate(-135deg);
    margin-top:4px;
  }

  .nav-bar-classic .primary-menu-list .sub-menu,
  .nav-bar-classic .primary-menu-list .children{
    display:none;
    grid-column:1 / -1;
    position:static !important;
    min-width:0 !important;
    margin:0 0 10px !important;
    padding:6px !important;
    border:1px solid rgba(226,232,240,.95) !important;
    border-radius:16px !important;
    background:#f8fafc !important;
    box-shadow:none !important;
  }

  .nav-bar-classic .primary-menu-list li.is-open-sub > .sub-menu,
  .nav-bar-classic .primary-menu-list li.is-open-sub > .children{
    display:grid !important;
    gap:4px;
  }

  .nav-bar-classic .primary-menu-list .sub-menu a,
  .nav-bar-classic .primary-menu-list .children a{
    display:block;
    padding:11px 12px !important;
    border-radius:12px;
    color:#1e293b !important;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
  }

  .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,
  .nav-bar-classic .primary-menu-list .children a:focus{
    background:#fff !important;
    color:#8f1015 !important;
  }

  .menu-backdrop{
    background:rgba(15,23,42,.48);
    backdrop-filter:blur(4px);
  }

  .portal-hero-grid,
  .news-highlights-grid,
  .portal-sections-three{
    gap:14px !important;
  }

  .portal-hero-side{
    grid-template-columns:1fr !important;
  }

  .portal-hero-main,
  .portal-hero-tile,
  .news-feature-card{
    overflow:hidden;
  }

  .portal-hero-main .hero-overlay,
  .portal-hero-tile-link .hero-overlay,
  .portal-hero-tile-link .hero-overlay-soft,
  .news-feature-media .hero-overlay,
  .news-feature-media .hero-overlay-soft,
  .news-feature-copy .hero-overlay,
  .news-feature-copy .hero-overlay-soft{
    display:none !important;
  }

  .portal-hero-main .hero-main-media,
  .portal-hero-tile-link,
  .news-feature-media{
    position:relative;
    display:block;
    min-height:0 !important;
    background:#fff !important;
    overflow:hidden;
  }

  .portal-hero-main .hero-main-media::before,
  .portal-hero-tile-link::before,
  .news-feature-media::before{
    content:"";
    display:block;
    height:clamp(196px,57vw,290px);
  }

  .portal-hero-main .hero-main-media > img,
  .portal-hero-main .hero-main-media > .wp-post-image,
  .portal-hero-main .hero-main-media picture > img,
  .portal-hero-tile-link > img,
  .portal-hero-tile-link > .wp-post-image,
  .portal-hero-tile-link picture > img,
  .news-feature-media > img,
  .news-feature-media > .wp-post-image,
  .news-feature-media picture > img{
    position:absolute !important;
    inset:0 0 auto 0 !important;
    width:100% !important;
    height:clamp(196px,57vw,290px) !important;
    object-fit:cover !important;
  }

  .portal-hero-copy,
  .news-feature-copy,
  .portal-hero-tile-link h3,
  .portal-hero-tile-meta{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    max-width:none !important;
    text-shadow:none !important;
    box-shadow:none !important;
  }

  .portal-hero-copy,
  .news-feature-copy{
    display:block;
    padding:16px 16px 18px !important;
    background:#fff !important;
    color:#0f172a !important;
  }

  .portal-hero-meta,
  .portal-hero-meta span,
  .news-feature-copy span{
    color:#64748b !important;
  }

  .portal-hero-tag,
  .portal-hero-tile-meta{
    display:inline-flex !important;
    align-items:center;
    width:auto;
    padding:6px 10px !important;
    margin:12px 12px 8px;
    border-radius:999px !important;
    border:1px solid rgba(217,225,236,.96) !important;
    background:#eef2f7 !important;
    color:#334155 !important;
  }

  .portal-hero-copy h1,
  .news-feature-copy strong{
    color:#0f172a !important;
    margin:0 0 8px !important;
    font-size:24px !important;
    line-height:1.12 !important;
  }

  .portal-hero-copy p,
  .news-feature-copy span{
    margin:0 !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }

  .portal-hero-tile-link h3{
    margin:0 !important;
    padding:0 12px 14px !important;
    background:transparent !important;
    color:#0f172a !important;
    font-size:17px !important;
    line-height:1.2 !important;
  }
}

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

  .brand-link-nav img,
  .brand-link-nav .custom-logo{
    max-width:min(100%,118px) !important;
    max-height:30px !important;
  }

  .nav-bar-classic .menu-toggle{
    min-width:44px;
    min-height:40px;
    padding:0 11px !important;
  }

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

  .nav-search-wrap .search-form{
    min-height:40px;
    padding:3px 3px 3px 10px;
  }

  .nav-bar-classic .primary-menu{
    left:8px;
    right:8px;
    padding:10px 10px 12px !important;
    border-radius:18px !important;
  }

  .mobile-language-switch{
    gap:6px;
    padding-bottom:10px;
    margin-bottom:8px;
  }

  .mobile-language-chip{
    min-height:42px;
    padding:0 8px;
  }

  .mobile-language-chip__text{
    font-size:13px;
  }

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

  .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);
  }

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

  .submenu-toggle{
    width:42px;
  }

  .portal-hero-main .hero-main-media::before,
  .portal-hero-tile-link::before,
  .news-feature-media::before{
    height:clamp(184px,58vw,236px);
  }

  .portal-hero-main .hero-main-media > img,
  .portal-hero-main .hero-main-media > .wp-post-image,
  .portal-hero-main .hero-main-media picture > img,
  .portal-hero-tile-link > img,
  .portal-hero-tile-link > .wp-post-image,
  .portal-hero-tile-link picture > img,
  .news-feature-media > img,
  .news-feature-media > .wp-post-image,
  .news-feature-media picture > img{
    height:clamp(184px,58vw,236px) !important;
  }

  .portal-hero-copy,
  .news-feature-copy{
    padding:14px 14px 16px !important;
  }

  .portal-hero-copy h1,
  .news-feature-copy strong{
    font-size:22px !important;
  }

  .portal-hero-tile-link h3{
    font-size:16px !important;
  }
}
