/* ==========================================================================
   Tenos — shared buttons and text links. Loaded site-wide + editor.

   .btn / .btn--solid / .btn--outline / .link-arrow are the design library's
   button system (html-modules). The legacy .tn-* classes are kept as thin
   restyles because search results, archive fallbacks and older helpers still
   emit them.
   ========================================================================== */

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:56px;padding:0 2rem;
  border:2px solid transparent;border-radius:var(--radius-pill);
  font:inherit;font-weight:700;text-decoration:none;cursor:pointer;
  transition:background var(--speed) var(--ease),
             color var(--speed) var(--ease),
             transform var(--speed) var(--ease);
}
.btn:hover{transform:translateY(-2px)}

.btn--solid{background:var(--black);color:var(--white)}
.btn--solid:hover{background:var(--navy)}
/* On navy surfaces the solid pill cannot hover to navy — it would vanish. */
.surface-navy .btn--solid:hover{background:var(--navy-deep)}

.btn--outline{background:transparent;color:var(--black);border-color:var(--black)}
.btn--outline:hover{background:var(--black);color:var(--white)}
.surface-navy .btn--outline{color:var(--white);border-color:var(--white)}
.surface-navy .btn--outline:hover{background:var(--white);color:var(--navy)}

.btn-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.5rem}

/* Round icon button — the chevron pill on service link bars. */
.btn--icon{
  min-height:50px;width:72px;padding:0;flex:none;
  background:var(--black);color:var(--white);
}
.btn--icon:hover{background:var(--navy-deep)}
.btn--icon svg{width:20px;height:20px}

/* Text link with the chevron, e.g. "Learn More >" */
.link-arrow{
  display:inline-block;font-size:0.875rem;font-weight:700;text-decoration:none;
  border-bottom:2px solid currentColor;padding-bottom:2px;
}
.link-arrow::after{content:" >"}

/* Small navy pill — share links and compact labelled actions. */
.chip{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;padding:0 1.25rem;border-radius:var(--radius-pill);
  background:var(--navy);color:var(--white);
  font-size:0.9375rem;font-weight:700;text-decoration:none;
  transition:background var(--speed) var(--ease);
}
.chip:hover{background:var(--black)}

@media (prefers-reduced-motion: reduce){
  .btn:hover{transform:none}
}

/* --- Legacy (search UI, archive fallback, older helpers) ------------------ */
.tn-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-weight:700;font-size:.9375rem;letter-spacing:0;text-transform:none;
  min-height:48px;padding:.6em 1.8em;border-radius:var(--radius-pill);border:0;cursor:pointer;text-align:center;
  background:var(--black);color:var(--white);
  transition:background .18s ease,transform .18s ease,color .18s ease;
}
.tn-btn:hover{background:var(--navy);transform:translateY(-1px)}
.tn-btn--light{background:var(--white);color:var(--navy)}
.tn-btn--light:hover{background:var(--grey-100)}
.tn-btn--dark{background:var(--navy);color:var(--white)}
.tn-btn--dark:hover{background:var(--navy-deep)}
.tn-btn--outline{background:transparent;border:1.5px solid currentColor}

.tn-link-underline{
  display:inline-block;font-weight:700;text-transform:none;
  letter-spacing:0;font-size:.875rem;border-bottom:2px solid currentColor;
  padding-bottom:3px;transition:opacity .18s ease;
}
.tn-link-underline:hover{opacity:.65}

.tn-pill{
  display:inline-flex;align-items:center;padding:.75em 1.7em;border-radius:999px;border:0;cursor:pointer;
  font-family:inherit;font-weight:700;font-size:.8125rem;line-height:1;letter-spacing:0;text-transform:none;
  background:var(--grey-100);color:var(--ink);transition:background .18s ease,transform .2s ease;white-space:nowrap;
}
.tn-pill:hover{background:var(--hairline)}
.tn-pill.is-active{background:var(--navy);color:var(--white);transform:scale(1.08) translateY(.5px);animation:tn-pill-pop .32s ease}
@keyframes tn-pill-pop{
  0%{transform:scale(1)}
  55%{transform:scale(1.16) translateY(.5px)}
  100%{transform:scale(1.08) translateY(.5px)}
}
@media (prefers-reduced-motion: reduce){
  .tn-pill.is-active{animation:none}
}

.tn-arrow-btn{
  display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
  border-radius:50%;border:0;cursor:pointer;flex:0 0 auto;
  background:var(--navy);color:#fff;transition:background .18s ease,transform .18s ease;
}
.tn-arrow-btn:hover{background:var(--navy-deep)}
.tn-arrow-btn:disabled{opacity:.35;cursor:default}
.tn-arrow-btn svg{width:18px;height:18px}
.tn-arrow-btn--ghost{background:rgba(11,11,15,.5)}
.tn-arrow-btn--ghost:hover{background:rgba(11,11,15,.75)}
