.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2);
  min-height: 48px; padding: 0 var(--s-6);
  border-radius: var(--arch-full); border: 1px solid transparent;
  font-size: var(--t-sm); font-weight: 400; letter-spacing: 0.04em;
  text-decoration: none; white-space: nowrap;
  transition: background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.btn svg { width: 18px; height: 18px; flex: none; }
.btn--gold { background: var(--c-champagne); color: var(--c-night); }
.btn--gold:hover { background: var(--c-champagne-2); }
.btn--ghost { border-color: rgba(201,168,107,.55); color: var(--c-champagne-2); }
.btn--ghost:hover { border-color: var(--c-champagne); background: rgba(201,168,107,.08); }
.btn--quiet { color: var(--c-mist); padding-inline: var(--s-4); }
.btn--quiet:hover { color: var(--c-linen); }
.btn--danger { background: transparent; border-color: rgba(217,105,90,.5); color: var(--c-danger); }
.btn--danger:hover { background: rgba(217,105,90,.1); }
.btn--sm { min-height: 36px; padding: 0 var(--s-4); font-size: var(--t-xs); }
.btn:disabled { opacity: .5; cursor: not-allowed; }

.icon-btn {
  display: inline-grid; place-items: center; width: 40px; height: 40px;
  border-radius: 50%; color: var(--c-mist);
}
.icon-btn:hover { color: var(--c-linen); background: rgba(255,255,255,.06); }
.icon-btn svg { width: 20px; height: 20px; }

/* Language switch — shared by landing, menu and admin */
.lang-switch { display: inline-flex; border: 1px solid var(--c-velvet-line); border-radius: var(--arch-full); padding: 3px; }
.lang-switch button {
  min-width: 40px; height: 32px; border-radius: var(--arch-full);
  font-size: var(--t-xs); color: var(--c-mist); letter-spacing: .06em;
}
.lang-switch button[aria-pressed="true"] { background: var(--c-champagne); color: var(--c-night); }

/* Touch screens: every control at least ~44px high */
@media (pointer: coarse) {
  .btn--sm { min-height: 42px; }
  .icon-btn { width: 44px; height: 44px; }
  .lang-switch button { min-width: 44px; height: 38px; }
}
