/* Navigation sits above the search; account controls retain their own column. */
.ll-header .ll-nav:has(.ll-header-main) { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "logo main actions"; gap: 24px; padding-block: 12px; }
.ll-header .ll-logo { grid-area: logo; }
.ll-header .ll-header-main { grid-area: main; justify-self: center; width: max-content; max-width: 100%; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.ll-header .ll-header-main .ll-links { width: 100%; justify-content: space-between; gap: clamp(10px, 1.4vw, 24px); margin: 0; }
.ll-header .ll-header-main .ll-links > a { text-align: center; white-space: normal; line-height: 1.35; }
.ll-header .ll-actions { grid-area: actions; }
.ll-header .ll-menu-button { grid-area: menu; }
.ll-search { position: relative; width: 100%; min-width: 0; color: var(--ll-ink); text-align: left; }
.ll-search [hidden] { display: none !important; }
.ll-search-field { display: flex; align-items: center; height: 42px; gap: 10px; padding: 0 12px; border: 1px solid #c6dded; border-radius: 12px; background: #f4f9fd; transition: border-color .15s, box-shadow .15s; }
.ll-search-field:focus-within { border-color: var(--ll-blue-600); box-shadow: 0 0 0 3px rgba(8,120,209,.12); background: #fff; }
.ll-search-icon { flex: 0 0 20px; width: 20px; height: 20px; color: var(--ll-blue-700); }
.ll-search input { width: 100%; min-width: 0; height: 100%; padding: 0; border: 0; border-radius: 0; outline: none; box-shadow: none; background: transparent; color: var(--ll-ink); font: inherit; font-size: 13px; }
.ll-search input::placeholder { color: #607993; opacity: 1; }
.ll-search-clear { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; height: 28px; padding: 3px; border: 0; border-radius: 8px; background: transparent; color: #607993; cursor: pointer; }
.ll-search-clear svg { width: 20px; height: 20px; }
.ll-search-clear:hover { background: #e7f2fc; color: var(--ll-blue-700); }
.ll-search-clear:focus-visible { outline: 2px solid var(--ll-blue-600); }
.ll-search-popup { position: absolute; z-index: 110; top: calc(100% + 8px); inset-inline: 0; padding: 8px; border: 1px solid #c6dded; border-radius: 15px; background: #fff; box-shadow: 0 18px 40px rgba(7,26,51,.18); max-height: min(470px, 65dvh); overflow-y: auto; overscroll-behavior: contain; }
.ll-search-status { margin: 0; padding: 10px 12px; color: #607993; font-size: 12px; line-height: 1.5; }
.ll-search-list { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.ll-search-option { margin: 0; padding: 0; border-radius: 10px; }
.ll-search-option a { display: flex; align-items: center; gap: 12px; min-height: 78px; padding: 10px; color: var(--ll-ink); text-decoration: none; border-radius: 10px; }
.ll-search-option[aria-selected="true"], .ll-search-option:hover { background: #edf6fe; }
.ll-search-option a:focus-visible { outline: 2px solid var(--ll-blue-600); outline-offset: -2px; }
.ll-search-result-image { flex: 0 0 64px; width: 64px; height: 50px; border-radius: 8px; object-fit: cover; background: #e7f2fc; }
.ll-search-result-copy { display: grid; gap: 3px; min-width: 0; }
.ll-search-result-type { color: var(--ll-blue-700); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.ll-search-result-title { font-size: 13px; font-weight: 750; line-height: 1.4; overflow-wrap: anywhere; }
.ll-search-result-context { font-size: 11px; line-height: 1.4; color: #607993; }
.ll-category[id^="ll-area-"] { scroll-margin-top: 180px; }
/* Search and branch navigation share one intrinsic-width column. When labels
   wrap, keep the outer text edges aligned with the search field as well. */
@media (min-width: 1181px) {
  .ll-header .ll-header-main .ll-links > a:first-child { text-align: left; }
  .ll-header .ll-header-main .ll-links > a:not(.ll-mobile-account):not(:has(~ a:not(.ll-mobile-account))) { text-align: right; }
}
@media (max-width: 1599px) and (min-width: 1181px) {
  .ll-header .ll-nav:has(.ll-header-main) { gap: 16px; }
  .ll-header .ll-header-main .ll-links { gap: 12px; }
}
@media (max-width: 1180px) {
  .ll-header .ll-nav:has(.ll-header-main) { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "logo actions menu" "main main main"; gap: 12px 18px; }
  .ll-header .ll-header-main { width: 100%; }
  .ll-header .ll-header-main .ll-links { width: auto; align-items: stretch; gap: 0; z-index: 120; max-height: 65dvh; overflow-y: auto; }
  .ll-header .ll-header-main .ll-links a { text-align: left; }
  .ll-header .ll-actions { justify-content: flex-end; }
  .ll-header .ll-menu-button { margin-left: 0; }
  .ll-search { max-width: 760px; }
  .ll-search input { font-size: 16px; }
}
@media (max-width: 640px) {
  .ll-header .ll-nav:has(.ll-header-main) { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "logo menu" "actions actions" "main main"; gap: 10px; }
  .ll-header .ll-menu-button { justify-self: end; }
  .ll-search-result-image { flex-basis: 48px; width: 48px; height: 42px; }
  .ll-search-option a { gap: 9px; padding: 8px; }
}
@media (prefers-reduced-motion: reduce) { .ll-search-field { transition: none; } }
