/* ---------- Botones ---------- */
.btn{
  font-family:inherit;
  font-size:13px;
  font-weight:500;
  line-height:1;
  height:32px;
  border-radius:var(--r-md);
  padding:0 12px;
  border:1px solid transparent;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  white-space:nowrap;
  text-decoration:none;
  transition:background .12s ease, border-color .12s ease, box-shadow .12s ease, color .12s ease, filter .12s ease;
}
.btn svg{width:15px;height:15px;}
.btn:active:not(:disabled){transform:translateY(0.5px);}
.btn:disabled{opacity:0.5;cursor:not-allowed;}
.btn-primary{
  background:var(--accent-solid);
  color:var(--accent-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.12), 0 1px 2px rgba(0,0,0,0.12);
}
.btn-primary:hover:not(:disabled){filter:brightness(1.06);}
.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow-sm);}
.btn-ghost:hover:not(:disabled){background:var(--surface-2);}
.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--line-strong);box-shadow:var(--shadow-sm);}
.btn-danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent);}
.btn-sm{font-size:12.5px;height:28px;padding:0 10px;gap:5px;}
.btn-sm svg{width:14px;height:14px;}
.icon-btn{
  font-family:inherit;
  font-size:12px;
  font-weight:500;
  line-height:1;
  height:26px;
  padding:0 9px;
  border-radius:var(--r-sm);
  border:1px solid var(--line-strong);
  background:var(--surface);
  color:var(--ink);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  transition:background .12s ease, border-color .12s ease;
}
.icon-btn:hover{background:var(--surface-2);}
.btn:focus-visible,.tab:focus-visible,.icon-btn:focus-visible,.swatch:focus-visible,.segmented button:focus-visible,.search-trigger:focus-visible{
  outline:2px solid var(--accent-solid);
  outline-offset:2px;
}
