/* ============================================================
   CQ SITE-SEARCH engine (fleet standard). Ships as cq-search.css.
   Light-first full-screen overlay (frosted white, dark ink) per
   the fleet light-first rule — the dark caqa-consulting overlay
   stays native on that site; THIS is the shared light component.
   Accent comes from CQ_MENU.accent / accentInk (set as CSS vars
   on the overlay root by cq-search.js). z 2600: above the v4
   mega-menu (mount z 940/941) and above Lusion overlays (lx-menu
   z 2400, lx-curchip z 2500).
   ============================================================ */

/* ---- overlay shell ---- */
.cqs{
  position:fixed;inset:0;z-index:2600;
  background:rgba(250,251,253,.93);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
  backdrop-filter:blur(18px) saturate(1.15);
  color:#101828;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .28s ease,visibility .28s ease;
  --cqs-accent:#175CD3;              /* overridden per site by cq-search.js */
  --cqs-ink:#101828;
  --cqs-grey:#475467;                /* 8:1 on white */
  --cqs-hair:#E4E7EC;
  --cqs-display:'Montserrat',Arial,sans-serif;
}
.cqs.open{opacity:1;visibility:visible;pointer-events:auto}
.cqs-body{
  width:min(880px,92%);margin:0 auto;padding:84px 0 72px;
  transform:translateY(14px);transition:transform .34s cubic-bezier(.2,.65,.3,1) .05s;
}
.cqs.open .cqs-body{transform:none}

/* ---- close ---- */
.cqs-close{
  position:fixed;top:22px;right:24px;width:48px;height:48px;
  border-radius:50%;border:1px solid #D0D5DD;background:#fff;
  color:#101828;cursor:pointer;line-height:1;z-index:5;
  display:inline-flex;align-items:center;justify-content:center;
  transition:border-color .2s,color .2s,transform .25s;
}
.cqs-close svg{width:20px;height:20px}
.cqs-close:hover{border-color:var(--cqs-accent);color:var(--cqs-accent);transform:rotate(90deg)}

/* ---- kicker + heading ---- */
.cqs-kicker{
  display:inline-flex;align-items:center;gap:10px;
  font:600 .78rem/1 'Montserrat','Inter',system-ui,sans-serif;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--cqs-accent);
}
.cqs-title{
  margin:10px 0 26px;color:var(--cqs-ink);
  font-family:var(--cqs-display);font-weight:400;
  font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.08;
}

/* ---- search box ---- */
.cqs-box{
  display:flex;align-items:center;gap:14px;
  border-bottom:2px solid var(--cqs-accent);
  padding:6px 4px 12px;
}
.cqs-box svg{width:24px;height:24px;color:var(--cqs-accent);flex:none}
.cqs-box input{
  flex:1;min-height:44px;background:transparent;border:0;outline:none;
  color:var(--cqs-ink);font-size:clamp(1.05rem,2vw,1.35rem);
  font-family:inherit;
}
.cqs-box input::placeholder{color:#667085}
.cqs-box input::-webkit-search-cancel-button{-webkit-appearance:none}

/* ---- group chips ---- */
.cqs-chips{display:flex;gap:10px;margin:22px 0 6px;flex-wrap:wrap}
.cqs-chip{
  min-height:44px;padding:8px 20px;border-radius:999px;cursor:pointer;
  border:1px solid #D0D5DD;background:#fff;color:#344054;
  font:600 .8rem/1 'Montserrat','Inter',system-ui,sans-serif;
  letter-spacing:.08em;text-transform:uppercase;
  transition:border-color .2s,color .2s,background .2s;
}
.cqs-chip:hover{border-color:var(--cqs-accent);color:var(--cqs-accent)}
.cqs-chip[aria-pressed="true"]{
  background:var(--cqs-accent);border-color:var(--cqs-accent);color:#fff;
}

/* ---- live status line ---- */
.cqs-status{
  margin:20px 0 12px;
  font:600 .78rem/1.4 'Montserrat','Inter',system-ui,sans-serif;
  letter-spacing:.2em;text-transform:uppercase;color:var(--cqs-grey);
  min-height:1.1em;
}

/* ---- results ---- */
.cqs-results{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.cqs-card{
  display:flex;flex-direction:column;gap:4px;min-height:44px;
  background:#fff;border:1px solid var(--cqs-hair);border-radius:12px;
  padding:16px 20px;color:var(--cqs-grey);text-decoration:none;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.cqs-card:hover{border-color:var(--cqs-accent);box-shadow:0 8px 22px rgba(16,24,40,.08);transform:translateY(-2px)}
.cqs-card.sel{border-color:var(--cqs-accent);box-shadow:0 0 0 2px var(--cqs-accent) inset}
.cqs-card b{color:var(--cqs-ink);font-size:.95rem;line-height:1.35}
.cqs-tag{
  font:700 .68rem/1 'Montserrat','Inter',system-ui,sans-serif;
  letter-spacing:.18em;text-transform:uppercase;color:var(--cqs-accent);
}
.cqs-snip{font-size:.8rem;line-height:1.45;color:var(--cqs-grey)}
.cqs-none{grid-column:1/-1;color:var(--cqs-grey);font-size:.92rem}
.cqs-none a{color:var(--cqs-accent)}

/* ---- footer hint ---- */
.cqs-hint{margin-top:26px;font-size:.85rem;color:var(--cqs-grey)}
.cqs-hint a{color:var(--cqs-accent);text-decoration:underline;text-underline-offset:3px}

/* ---- focus + a11y ---- */
.cqs button:focus-visible,.cqs a:focus-visible,.cqs input:focus-visible{
  outline:2px solid var(--cqs-accent);outline-offset:2px;border-radius:6px;
}
body.cqs-lock{overflow:hidden!important}

/* ---- mobile ---- */
@media(max-width:640px){
  .cqs-body{width:88%;padding:76px 0 64px}
  .cqs-results{grid-template-columns:1fr}
  .cqs-close{top:14px;right:14px;width:46px;height:46px}
}

/* ---- PRM: no motion, opacity only ---- */
@media(prefers-reduced-motion:reduce){
  .cqs{transition:opacity .01s,visibility .01s}
  .cqs-body{transform:none;transition:none}
  .cqs-close:hover{transform:none}
  .cqs-card:hover{transform:none}
}

@media print{.cqs,#cqSearchOpen{display:none!important}}
