/* search-nav.css (Nov 1, 2026): header dropdowns for every top-nav item with child pages + site search panel.
   Loads after /styles.css. Navy #0B1F3A / amber #E85D04. */

/* --- Dropdowns: link + caret toggle (Solutions, Industries, Insights, About Us) --- */
.nav-dd--link { display: flex; align-items: center; }
.nav .nav-dd--link > a.nav-dd-top { padding-right: 3px; }
.nav-dd--link > .nav-dd-btn.nav-dd-caret { padding: 10px 9px 10px 4px; }
.nav .nav-dd-menu a { white-space: normal; line-height: 1.35; }
.nav-dd-menu--wide { min-width: 340px; max-width: 420px; }
.nav-dd-menu--cols { columns: 2; column-gap: 6px; min-width: 520px; }
.nav-dd-menu--cols li { break-inside: avoid; }
.nav-dd--end > .nav-dd-menu { left: auto; right: 0; }
@media (min-width: 761px) {
  .nav-dd:focus-within > .nav-dd-menu { display: block; }
  .nav-dd.sn-closed > .nav-dd-menu { display: none; }
}
@media (max-width: 1080px) and (min-width: 761px) {
  .nav-dd--link > .nav-dd-btn.nav-dd-caret { padding: 10px 6px 10px 2px; }
  .nav .nav-dd--link > a.nav-dd-top { padding-right: 2px; }
}

/* --- Search button: keep reachable below 1080px (region button stays hidden there) --- */
@media (max-width: 1080px) {
  .header-utils { display: flex; margin-left: 4px; gap: 0; }
  .header-utils .region-btn { display: none; }
}
.icon-btn[aria-expanded="true"] { background: rgba(255,255,255,0.14); }
.icon-btn:focus-visible { outline: 2px solid #E85D04; outline-offset: 2px; }

/* --- Mobile menu (<=760px): label link + tap caret; menu scrolls if long --- */
@media (max-width: 760px) {
  .nav.is-open { max-height: calc(100vh - var(--header-h) - var(--draft-h)); overflow-y: auto; }
  .nav-dd--link { flex-wrap: wrap; border-bottom: 1px solid rgba(255,255,255,0.08); }
  .nav .nav-dd--link > a.nav-dd-top { flex: 1 1 auto; border-bottom: 0; padding-right: 12px; }
  .nav-dd--link > .nav-dd-btn.nav-dd-caret { width: auto; flex: 0 0 auto; border-bottom: 0; padding: 14px 16px; justify-content: center; }
  .nav-dd--link > .nav-dd-menu { flex: 1 0 100%; }
  .nav-dd-menu--cols { columns: 1; min-width: 0; }
  .nav-dd-menu--wide { min-width: 0; max-width: none; }
  .header-utils { margin-left: 0; }
  .site-header .header-inner { gap: 12px; }
}
/* small phones: keep logo + Menu + search on one row (logo 240px -> 200px max) */
@media (max-width: 420px) {
  .site-header .logo-img { max-width: 200px; }
}

/* --- Search panel --- */
.sn-panel {
  position: fixed; left: 0; right: 0; top: calc(var(--draft-h) + var(--header-h)); z-index: 9050;
  background: #0B1F3A; border-top: 1px solid rgba(255,255,255,0.12); border-bottom: 3px solid #E85D04;
  box-shadow: 0 14px 30px rgba(0,0,0,0.35);
}
.sn-panel[hidden] { display: none !important; }
.sn-inner { width: min(100% - 32px, 760px); margin: 0 auto; padding: 16px 0 18px; }
.sn-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sn-row { display: flex; gap: 8px; }
.sn-input {
  flex: 1 1 auto; min-width: 0; font-family: var(--font-body); font-size: 16px; font-weight: 500;
  padding: 12px 14px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.25);
  background: #fff; color: #1A2332; -webkit-appearance: none; appearance: none;
}
.sn-input:focus { outline: 2px solid #E85D04; outline-offset: 1px; }
.sn-close {
  flex: 0 0 auto; font-family: var(--font-body); font-size: 13px; font-weight: 600; color: #fff;
  background: transparent; border: 1px solid rgba(255,255,255,0.45); border-radius: 999px; padding: 0 16px; cursor: pointer;
}
.sn-close:hover { background: rgba(255,255,255,0.08); }
.sn-close:focus-visible { outline: 2px solid #E85D04; outline-offset: 2px; }
.sn-status { margin: 8px 2px 0; font-size: 13px; color: rgba(255,255,255,0.72); }
.sn-status:empty { display: none; }
.sn-results { list-style: none; margin: 8px 0 0; padding: 0; max-height: min(60vh, 520px); overflow-y: auto; }
.sn-results li { margin: 0; }
.sn-results a { display: block; padding: 10px 12px; border-radius: 6px; color: #fff; text-decoration: none !important; }
.sn-results a:hover, .sn-results .is-active a { background: rgba(255,255,255,0.08); }
.sn-results .is-active a { box-shadow: inset 3px 0 0 #E85D04; }
.sn-t { display: block; font-size: 15px; font-weight: 600; line-height: 1.35; }
.sn-u { display: block; font-size: 12px; color: #FFB27A; margin-top: 1px; word-break: break-all; }
.sn-s { display: block; font-size: 13px; line-height: 1.45; color: rgba(255,255,255,0.75); margin-top: 3px; }
.sn-results mark { background: transparent; color: #FFB27A; font-weight: 700; }
@media (max-width: 760px) {
  .sn-inner { padding: 12px 0 14px; }
  .sn-results { max-height: calc(100vh - var(--header-h) - 120px); }
}
