/* Tagline site search — fullscreen modal launched from the nav search button.
   Self-contained, no dependencies. Loaded by every page that includes search.js. */

.ts-trigger{
  display:inline-flex;align-items:center;gap:6px;
  background:transparent;border:1px solid rgba(0,0,0,.12);
  color:inherit;font:inherit;font-size:14px;
  padding:7px 12px;border-radius:999px;cursor:pointer;
  line-height:1;transition:border-color .12s,background .12s;
}
.ts-trigger:hover{border-color:rgba(0,0,0,.3);background:rgba(0,0,0,.03)}
.ts-trigger svg{width:14px;height:14px;flex-shrink:0}
.ts-trigger .ts-kbd{
  display:inline-flex;align-items:center;
  font-family:'JetBrains Mono','SF Mono',monospace;font-size:11px;
  color:#7a7a7a;border:1px solid rgba(0,0,0,.12);border-radius:4px;
  padding:1px 5px;margin-left:4px;
}
@media (max-width:760px){
  .ts-trigger .ts-label, .ts-trigger .ts-kbd{display:none}
  .ts-trigger{padding:7px 10px}
  /* Site's nav hides non-last-child <li> on mobile; keep the search trigger visible too. */
  .nav-links li:has(.ts-trigger){display:list-item!important}
}

.ts-overlay{
  position:fixed;inset:0;z-index:1100;
  background:rgba(7,10,8,.78);backdrop-filter:blur(6px);
  display:none;align-items:flex-start;justify-content:center;
  padding:10vh 4vmin 4vmin;
}
.ts-overlay.open{display:flex}

.ts-modal{
  width:100%;max-width:640px;
  background:#fbf9f3;color:#1a1a1a;
  border-radius:14px;
  box-shadow:0 32px 80px rgba(0,0,0,.5);
  overflow:hidden;display:flex;flex-direction:column;
  max-height:80vh;
}

.ts-input-wrap{
  display:flex;align-items:center;gap:10px;
  padding:18px 20px;border-bottom:1px solid rgba(0,0,0,.08);
}
.ts-input-wrap svg{width:20px;height:20px;color:#7a7a7a;flex-shrink:0}
.ts-input{
  flex:1;border:none;background:transparent;outline:none;
  font:inherit;font-size:17px;color:#1a1a1a;
}
.ts-input::placeholder{color:#9a9a9a}
.ts-close{
  background:transparent;border:1px solid rgba(0,0,0,.14);
  font:inherit;font-size:11px;font-family:'JetBrains Mono','SF Mono',monospace;
  color:#6a6a6a;padding:3px 7px;border-radius:5px;cursor:pointer;
  letter-spacing:.04em;
}
.ts-close:hover{background:rgba(0,0,0,.05)}

.ts-results{
  overflow-y:auto;flex:1;
  padding:6px 0;
}
.ts-result{
  display:block;padding:12px 20px;text-decoration:none;color:inherit;
  border-left:3px solid transparent;
}
.ts-result.active,.ts-result:hover{
  background:rgba(196,154,58,.10);
  border-left-color:#c49a3a;
}
.ts-result-section{
  font-family:'JetBrains Mono','SF Mono',monospace;
  font-size:10.5px;color:#b8501f;
  text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:3px;
}
.ts-result-title{
  font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:16px;
  margin-bottom:3px;line-height:1.3;color:#1a1a1a;
}
.ts-result-desc{
  font-size:13.5px;color:#5a5a5a;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

.ts-empty{
  padding:32px 20px;text-align:center;
  color:#7a7a7a;font-size:14px;
}
.ts-footer{
  display:flex;gap:14px;justify-content:flex-end;
  padding:10px 20px;border-top:1px solid rgba(0,0,0,.06);
  font-size:11.5px;color:#7a7a7a;
  font-family:'JetBrains Mono','SF Mono',monospace;
}
.ts-footer kbd{
  font-family:inherit;font-size:11px;
  border:1px solid rgba(0,0,0,.14);border-radius:4px;
  padding:1px 5px;background:#fff;color:#3a3a3a;
}

/* Dark-theme override — for pages with a dark background (carbon guide, /eofy etc).
   Add data-ts-theme="dark" to <html> or <body> to opt in. */
[data-ts-theme="dark"] .ts-trigger{
  border-color:rgba(255,255,255,.18);color:inherit;
}
[data-ts-theme="dark"] .ts-trigger:hover{
  border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.05);
}
[data-ts-theme="dark"] .ts-trigger .ts-kbd{
  color:#9bb5a0;border-color:rgba(255,255,255,.18);
}
