/* assets/pills.css
   Every button on the site is the H&R top-nav pill. Copied from the live
   pill (admin/index.html:1748 + border-width:0 at :78), not from the base
   .btn rule, which renders 28px. This renders 19px tall.

   Loaded LAST on every page. Specificity (3,1,0) via the same :not(#_) x3
   pattern H&R uses, so it beats every per-page override (.call-bar .btn,
   .invsearch .btn.yellow, .btn-primary, .lead-form .btn, the mobile
   .btn{width:100%}) without touching them. Colours are deliberately left
   alone here; colour-coding by action is a separate pass. */

.btn:not(#_):not(#_):not(#_),
.quote-form button[type="submit"]:not(#_):not(#_):not(#_),
.lead-form button[type="submit"]:not(#_):not(#_):not(#_) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  padding: 3px 9px;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.4;
  text-transform: uppercase;
  border-radius: 999px;
  border-width: 0;
  min-height: 0;

  /* Sized to its words. Never full-width, never a min-width. */
  width: max-content;
  min-width: 0;
  max-width: none;
  flex: none;
  white-space: nowrap;
}

/* Icons inside pills scale down with the text so the pill stays 19px. */
.btn:not(#_):not(#_):not(#_) svg {
  width: 11px;
  height: 11px;
  flex: none;
}

/* Ghost / outline variants drew their edge with the border; keep the look
   with an inset ring so the box stays 19px. */
.btn.ghost:not(#_):not(#_):not(#_),
.btn.outline:not(#_):not(#_):not(#_) {
  box-shadow: inset 0 0 0 1px currentColor;
}
