/* Navigation refinements use the existing CVeze palette and spacing. */
.cv-nav__drawer { visibility: hidden; }
.cv-nav__drawer--open { visibility: visible; }
.cv-nav a:focus-visible,
.cv-nav button:focus-visible,
.cv-nav__drawer a:focus-visible,
.cv-nav__drawer button:focus-visible,
.cv-dashboard a:focus-visible,
.cv-greeting__actions a:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.cv-nav__search:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent-tint);
}
.cv-nav__icon-btn { text-decoration: none; }
.cv-section-empty a { color: var(--accent); text-decoration: underline; }
.cv-nav__drawer-link { min-height: 44px; }
/* Keep the full navigation readable between tablet and wide desktop sizes. */
@media (max-width: 1200px) {
  .cv-nav { gap: 12px; padding: 0 16px; }
  .cv-nav__search { display: none; }
  .cv-nav__items { margin-left: 0; gap: 0; }
}
@media (max-width: 900px) {
  .cv-nav__items { display: none; }
  .cv-nav__hamburger { display: inline-flex; width: 44px; height: 44px; flex-shrink: 0; }
  .cv-nav__icon-btn { display: none; }
  .cv-nav__brand-text { display: inline; }
}
@media (max-width: 900px), (pointer: coarse) {
  .cv-nav__item,
  .cv-nav .ne-tools-btn,
  .cv-nav__icon-btn,
  .ne-tools-menu a,
  .cv-user-menu__logout-form button {
    min-height: 44px;
  }
  .ne-tools-menu { max-width: calc(100vw - 32px); }
}

/* Column tools are optional; keep the first result close to the search. */
.job-list-organiser {
  border-bottom: 1px solid var(--rule);
  background: var(--paper);
}
.job-list-organiser > summary {
  min-height: 44px;
  padding: 12px 16px;
  box-sizing: border-box;
  cursor: pointer;
  color: var(--ink-2);
  font-size: 14px;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.job-list-organiser > summary:hover { background: var(--paper-2); }
.job-list-organiser[open] > summary { border-bottom: 1px solid var(--rule); }
.job-list-organiser .job-list-toolbar { border-bottom: 0; }

.cv-mobile-nav { display: none; }
body { --cv-mobile-nav-height: 0px; }
@media (max-width: 640px) {
  .cv-has-mobile-nav { --cv-mobile-nav-height: 64px; padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
  .cv-mobile-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); position: fixed; inset: auto 0 0; z-index: 70; height: calc(64px + env(safe-area-inset-bottom, 0px)); padding: 4px 8px calc(4px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--rule); background: var(--paper); }
  .cv-mobile-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 48px; min-width: 0; color: var(--ink-3); font-size: 13px; line-height: 1.3; text-decoration: none; border-radius: 8px; }
  .cv-mobile-nav a[aria-current="page"] { background: var(--accent-tint); color: var(--accent); font-weight: 600; }
  .cv-mobile-nav a:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
  .cv-mobile-nav svg { flex-shrink: 0; }
}
