/* ===== Header / Menu ===== */
#site-header .primary-menu-wrapper ul.primary-menu > li > a {
  font-family: 'Archivo', sans-serif;
  font-weight: 500;
  font-size: 16px !important;
  letter-spacing: 0.3px;
  line-height: 1.1;
  color: #fff !important;
  position: relative;
  text-decoration: none;
  transition: color .2s ease;
}
#site-header .primary-menu-wrapper ul.primary-menu > li > a::after {
  content: ""; position: absolute; left: 0; bottom: -8px; width: 0; height: 2px;
  transition: width .25s ease;
}
#site-header .primary-menu-wrapper ul.primary-menu > li > a:hover::after,
#site-header .primary-menu-wrapper ul.primary-menu > li.current-menu-item > a::after,
#site-header .primary-menu-wrapper ul.primary-menu > li.current-menu-parent > a::after { width: 100%; }

#site-header .primary-menu-wrapper ul.primary-menu { gap: 40px; align-items: center; }
@media (min-width: 1280px){ #site-header .primary-menu-wrapper ul.primary-menu { gap: 48px; } }
#site-header .site-logo { width: 160px; height: 42px; }

/* Dropdown panel */
#site-header .primary-menu ul {
  background: #fff !important; color: #1A1A1A; border-radius: 10px;
  box-shadow: 0 12px 28px rgba(0,0,0,0.12); padding: 6px; min-width: 220px;
  transform: translateY(10px); opacity: 0; left: -9999rem; transition: opacity .18s, transform .18s; z-index: 20;
}
#site-header .primary-menu li.menu-item-has-children:hover > ul,
#site-header .primary-menu li.menu-item-has-children:focus-within > ul { left: 0; opacity: 1; transform: translateY(0); }

/* Dropdown items */
#site-header .primary-menu .sub-menu > li > a {
  background: transparent; border: 0; display: block; width: 100%; padding: 10px 12px;
  font-size: 15px !important; font-weight: 400; color: #1A1A1A !important; text-align: left; border-radius: 8px;
  transition: background-color .15s ease, color .15s ease;
}
#site-header .primary-menu .sub-menu > li > a:hover,
#site-header .primary-menu li.current-menu-parent li.current-menu-item > a {
  background-color: #FFDF00; color: #191919 !important;
}

/* Submenu icon polish */
#site-header .primary-menu-wrapper ul.sub-menu i._mi {
  color: #0B2D35; opacity: .7; transform: rotate(270deg); transition: transform .15s, opacity .15s;
}
#site-header .primary-menu .sub-menu > li > a:hover i._mi { opacity: 1; }

/* Focus */
#site-header .primary-menu a:focus-visible { outline: 2px solid #FFDF00; outline-offset: 3px; border-radius: 4px; }

/* Mobile modal */
@media (max-width: 1024px){
  .menu-modal { background: #fff !important; }
  .menu-modal .modal-menu > li > .ancestor-wrapper > a {
    display: inline-block; padding: 18px 20px; font-family: 'Archivo', sans-serif; font-weight: 500; font-size: 16px;
    color: #191919 !important; position: relative; text-decoration: none;
  }
  .menu-modal .modal-menu > li > .ancestor-wrapper > a::after {
    content: ""; position: absolute; left: 20px; right: 20px; bottom: 6px; height: 2px; width: 0; background: #FFDF00;
    transition: width .25s ease;
  }
  .menu-modal .modal-menu > li > .ancestor-wrapper > a:hover::after,
  .menu-modal .modal-menu > li.current-menu-item > .ancestor-wrapper > a::after,
  .menu-modal .modal-menu > li.current-menu-parent > .ancestor-wrapper > a::after { width: calc(100% - 40px); }

  .menu-modal .modal-menu .sub-menu > li > a {
    display: block; padding: 12px 20px; font-family: 'Archivo', sans-serif; font-weight: 400; font-size: 15px;
    color: #092d35 !important; border-radius: 8px; text-decoration: none;
  }
  .menu-modal .modal-menu .sub-menu > li > a:hover,
  .menu-modal .modal-menu .sub-menu > li.current-menu-item > a { background: #FFDF00; color: #191919 !important; }
  .menu-modal .modal-menu .sub-menu { padding: 6px 10px 12px; }
}