/*
  Peaceful World Design System v0.4
  STABLE COMPONENT: institutional action pill

  v0.4 accessibility delta:
  - default label floor is 14px;
  - target height floor remains 44px;
  - font-size and min-height floors use normal .pw-btn class specificity so
    ordinary host a{} / button{} rules cannot silently erase them;
  - supported --pw-btn-* hooks may increase values but cannot reduce below
    the 14px / 44px contract.

  Paint, radius, primary-action semantics and the supported hook API are
  carried forward from v0.3.17.
  Page-ID-scoped a/button rules must exclude .pw-btn.
  Scope: light-surface institutional CTA base only.
  Mobile width, layout placement and compact/read-chip variants remain consumer-owned.
*/
:where(.pw-btn){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--pw-btn-gap,9px);
  padding:var(--pw-btn-padding-y,11px) var(--pw-btn-padding-x,15px);
  border-radius:999px;
  font-family:var(--pw-font-sans);
  font-weight:var(--pw-btn-font-weight,700);
  line-height:var(--pw-btn-line-height,1.2);
  letter-spacing:var(--pw-btn-letter-spacing,0);
  text-shadow:none;
  transition:
    transform var(--pw-motion-quick) var(--pw-ease),
    background var(--pw-motion-quick) var(--pw-ease),
    border-color var(--pw-motion-quick) var(--pw-ease),
    color var(--pw-motion-quick) var(--pw-ease);
}

.pw-btn{
  /* Fallback declaration remains valid if a host supplies a non-length hook. */
  min-height:44px;
  min-height:max(44px,var(--pw-btn-min-height,44px));
  font-size:14px;
  font-size:max(14px,var(--pw-btn-font-size,14px));
  border:1px solid var(--pw-btn-border,var(--pw-line));
  background:var(--pw-btn-bg,var(--pw-surface));
  color:var(--pw-btn-fg,var(--pw-ink));
  text-decoration:none;
}

:where(.pw-btn)[data-pw-action="primary"]{
  --pw-btn-bg:var(--pw-ink);
  --pw-btn-fg:var(--pw-on-dark);
  --pw-btn-border:var(--pw-ink);
}

:where(.pw-btn):hover{
  transform:translateY(-1px);
}

:where(.pw-btn)>*{
  min-width:0;
}
