.boldmenu { font-weight: bold !important; }

/* Mobile navigation refresh. Keep the original header artwork with a little more vertical space. */
@media (max-width: 980px) {
  body { --jhr-mobile-toolbar-height: 0px; }
  body.admin-bar { --jhr-mobile-toolbar-height: var(--wp-admin--admin-bar--height, 32px); }
  #navmobile { top: calc(var(--jhr-mobile-viewport-top, 0px) + var(--jhr-mobile-toolbar-height)); height: 56px; background-position: center 6px; }
  .admin-bar #navmobile { top: calc(var(--jhr-mobile-viewport-top, 0px) + var(--jhr-mobile-toolbar-height)); }
  /* Keep the toolbar above both drawers, including its expanded admin menus. */
  .admin-bar #wpadminbar { position: fixed !important; z-index: 100000; }
  #navmobile .jhr-mobile-control { height: 56px; }
  #navmobile .sb-toggle-left::before { top: 4px; }
  #navmobile .sb-toggle-right { background-position: center 8px; }
  .mobnavgap { height: 56px; }

  #navmobile .jhr-mobile-control {
    box-sizing: border-box;
    margin: 0;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    color: #fff;
    cursor: pointer;
    appearance: none;
  }
  #navmobile .jhr-mobile-home {
    display: inline-block;
    width: min(182px, calc(100% - 120px));
    height: 56px;
  }
  #navmobile .mobilelogo { width: 100%; }
  #jhr-mobile-menu, #jhr-mobile-offers {
    width: min(360px, calc(100vw - 48px));
    background: #fff;
    color: #333;
    box-shadow: 0 0 24px #0003;
    overscroll-behavior: contain;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  #jhr-mobile-menu #cssmenu ul { border: 0; margin: 0; padding: 0; list-style: none; }
  #jhr-mobile-menu #cssmenu li { position: relative; border: 0; border-bottom: 1px solid #dce5dd; line-height: 1.4; }
  #jhr-mobile-menu #cssmenu a { box-sizing: border-box; min-height: 44px; padding: 12px 48px 12px 16px; color: #333; font: 400 15px/20px Arial, sans-serif; text-shadow: none; box-shadow: none; }
  #jhr-mobile-menu #cssmenu .has-sub > a { padding-right: 80px; }
  #jhr-mobile-menu #cssmenu a:hover, #jhr-mobile-menu #cssmenu .current-menu-item > a { background-color: #e4eee5; color: #174b23; }
  #jhr-mobile-menu #cssmenu ul ul { display: none; background: #f4f6f3; }
  #jhr-mobile-menu #cssmenu ul ul a { padding-left: 28px; }
  #jhr-mobile-menu #cssmenu ul ul ul a { padding-left: 40px; }
  #jhr-mobile-menu #cssmenu a::after, #jhr-mobile-menu #cssmenu .holder { display: none; }
  #cssmenu .jhr-submenu-toggle { position: absolute; right: 6px; top: 0; width: 44px; height: 44px; border: 0; border-radius: 0; background: transparent; color: #174b23; font: 24px/1 Arial, sans-serif; cursor: pointer; }
  #navmobile a:focus-visible, #navmobile button:focus-visible, #jhr-mobile-menu :focus-visible, #jhr-mobile-offers :focus-visible { outline: 3px solid #d8a827; outline-offset: -3px; }
  #jhr-mobile-menu input { max-width: 100%; box-sizing: border-box; font-size: 16px; }
}
@media (max-width: 980px) {
  #jhr-mobile-menu, #jhr-mobile-offers { top: calc(var(--jhr-mobile-viewport-top, 0px) + 56px + var(--jhr-mobile-toolbar-height)); height: calc(100% - 56px - var(--jhr-mobile-toolbar-height)); height: calc(var(--jhr-mobile-viewport-height, 100dvh) - 56px - var(--jhr-mobile-toolbar-height)); }
}
@media (max-width: 980px) {
  html.jhr-navigation-open { overflow: hidden; }
  html.jhr-navigation-open #sb-site { pointer-events: none; }
}

/* Compact navigation and promo tiles follow the existing site styling. */
.jhr-mobile-promo { background-color: #172b24; }
@media (max-width: 980px) {
  #jhr-mobile-menu #cssmenu > ul > li > a { font-weight: 600; }
  #jhr-mobile-menu #cssmenu .current-menu-item > a { box-shadow: inset 3px 0 #1e4f06; }
  #jhr-mobile-menu #cssmenu .open > a { background-color: #edf3e9; color: #1e4f06; }
  #jhr-mobile-menu #cssmenu ul ul a { font-size: 14px; color: #4b5546; }
  #cssmenu .jhr-submenu-toggle::before { content: ''; display: inline-block; width: 7px; height: 7px; border-right: 2px solid; border-bottom: 2px solid; transform: translateY(-2px) rotate(45deg); }
  #cssmenu .jhr-submenu-toggle[aria-expanded='true']::before { transform: translateY(2px) rotate(225deg); }
  #cssmenu .jhr-submenu-toggle:hover { background: #e6eddf; }
  #jhr-mobile-offers { background: #e9ede7; }
  #jhr-mobile-offers .jhr-menu-offers__card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 28px auto;
    align-items: center;
    gap: 8px 12px;
    box-sizing: border-box;
    width: auto;
    margin: 10px;
    padding: 12px 14px 14px;
    border-radius: 4px;
    background-position: 14px 12px;
    background-repeat: no-repeat;
    color: #fff;
    text-decoration: none;
    font-family: Arial, sans-serif;
  }
  #jhr-mobile-offers .jhr-menu-offers__brand { grid-column: 1 / -1; height: 28px; font-size: 0; }
  #jhr-mobile-offers .jhr-menu-offers__copy { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
  #jhr-mobile-offers .jhr-menu-offers__headline { font-size: 15px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
  #jhr-mobile-offers .jhr-menu-offers__detail { color: #ffffffe0; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
  #jhr-mobile-offers .jhr-menu-offers__action { align-self: end; }
  #jhr-mobile-offers .jhr-menu-offers__cta { display: flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 44px; padding: 10px 12px; border-radius: 3px; background: #f9cf00; color: #111; box-shadow: inset 0 -2px #0002; font-size: 14px; font-weight: 700; white-space: nowrap; }
  #jhr-mobile-offers .jhr-menu-offers__card:hover .jhr-menu-offers__cta { background: #ffe04b; }
}

@media (max-width: 980px) {
  #jhr-mobile-menu #cssmenu .jhr-menu-item-icon { position: absolute; right: 20px; top: 14px; width: 16px; height: 16px; padding: 0; color: #74806e; pointer-events: none; }
  #jhr-mobile-menu #cssmenu .has-sub > a > .jhr-menu-item-icon { right: 56px; }
  #jhr-mobile-menu #cssmenu .current-menu-item > a > .jhr-menu-item-icon { color: #1e4f06; }
  .jhr-mobile-search { padding: 16px 12px 24px; border-top: 1px solid #dce5dd; background: #f4f6f3; }
}

@media (max-width: 980px) {
  #jhr-mobile-menu #cssmenu .has-sub > a { padding-right: 52px; }
  #jhr-mobile-menu #cssmenu .has-sub > a:has(.jhr-menu-item-icon) { padding-right: 80px; }
  #jhr-mobile-menu #cssmenu .jhr-menu-item-emoji { top: 12px; width: 20px; height: 20px; font: 18px/20px "Apple Color Emoji", "Segoe UI Emoji", sans-serif; }
  #navmobile .jhr-mobile-control[aria-expanded='true'] { background-image: none; }
  #navmobile .jhr-mobile-control[aria-expanded='true']::before { content: '×'; display: block; position: absolute; inset: 0; padding: 0; color: #fff; font: 32px/56px Arial, sans-serif; text-align: center; }
}

@media (max-width: 782px) {
  body.admin-bar { --jhr-mobile-toolbar-height: var(--wp-admin--admin-bar--height, 46px); }
}

/* Keep the drawer inside the visible area when mobile browser chrome or keyboards move. */
@media (max-width: 980px) {
  html.jhr-navigation-open body { position: fixed; top: calc(var(--jhr-mobile-page-top, 0px) + var(--jhr-mobile-toolbar-height)); width: 100%; overflow: hidden; }
  html.jhr-navigation-open .admin-bar #wpadminbar { top: var(--jhr-mobile-viewport-top, 0px); }
  .jhr-mobile-search-form { margin: 0; }
  .jhr-mobile-search-form label { display: block; margin-bottom: 8px; color: #56624e; font: 500 13px/1.4 Arial, sans-serif; }
  .jhr-mobile-search-controls { display: flex; min-width: 0; }
  #jhr-mobile-menu .jhr-mobile-search-form input[type='search'] { flex: 1; min-width: 0; width: 100%; height: 44px; margin: 0; padding: 10px; border: 1px solid #c6d0bf; border-radius: 4px 0 0 4px; background: #fff; color: #243020; font: 16px/22px Arial, sans-serif; appearance: none; }
  .jhr-mobile-search-form button { flex: none; min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid #1e4f06; border-radius: 0 4px 4px 0; background: #1e4f06; color: #fff; font: 600 14px/22px Arial, sans-serif; cursor: pointer; }
}

/* Desktop search opens beside its trigger without moving the site header. */
.jhr-desktop-search-panel[hidden] { display: none; }
@media (min-width: 981px) {
  #topnavigation { position: relative; }
  #topnavigation .jhr-desktop-search-toggle { border: 0; border-radius: 0; background: transparent; font-family: inherit; }
  #topnavigation .jhr-desktop-search-toggle:hover, #topnavigation .jhr-desktop-search-toggle[aria-expanded='true'] { background: #1e4f06; }
  .jhr-desktop-search-panel { position: absolute; top: 100%; right: 12px; z-index: 10000; width: 420px; box-sizing: border-box; padding: 20px; border: 1px solid #dce3d7; border-top: 3px solid #1e4f06; border-radius: 0 0 6px 6px; background: #fff; box-shadow: 0 8px 24px #0002; }
  .jhr-desktop-search-form { margin: 0; }
  .jhr-desktop-search-form label { display: block; margin-bottom: 10px; color: #34442b; font: 600 14px/1.4 Arial, sans-serif; }
  .jhr-desktop-search-form .jhr-mobile-search-controls { display: flex; }
  #jhr-desktop-search-input { flex: 1; min-width: 0; width: 100%; height: 44px; box-sizing: border-box; margin: 0; padding: 10px 12px; border: 1px solid #b9c7ae; border-radius: 4px 0 0 4px; background: #fff; color: #243020; font: 16px/22px Arial, sans-serif; }
  #jhr-desktop-search-input:focus { outline: none; box-shadow: none; border-color: #b9c7ae; }
  .jhr-desktop-search-form button { flex: none; margin: 0; padding: 10px 16px; border: 1px solid #1e4f06; border-radius: 0 4px 4px 0; background: #1e4f06; color: #fff; font: 600 14px/22px Arial, sans-serif; cursor: pointer; }
  .jhr-desktop-search-panel button:focus-visible, .jhr-desktop-search-toggle:focus-visible { outline: 2px solid #b08c0b; outline-offset: 2px; }
}
@media (max-width: 980px) { .jhr-desktop-search-panel { display: none; } }
