.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 13px/1 var(--font-sans);
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 14px 22px;
  border-radius: 2px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
  white-space: nowrap;
}

.btn .arrow { width: 14px; height: 14px; flex-shrink: 0; font-size: 13px; }

/* Schmale Screens: lange Beschriftungen (z. B. „Beratungstermin
   vereinbaren") dürfen umbrechen statt überzulaufen */
@media (max-width: 480px) {
  .btn {
    white-space: normal;
    max-width: 100%;
    text-align: left;
    line-height: 1.3;
  }
}

/* Varianten */
.btn-primary       { background: var(--at-red); color: #fff; }
.btn-primary:hover { background: var(--at-dark-red); color: #fff; }

.btn-blue          { background: var(--at-blue); color: #fff; }
.btn-blue:hover    { background: var(--at-dark-blue); color: #fff; }

.btn-ghost         { background: transparent; color: var(--at-red); border-color: var(--at-red); }
.btn-ghost:hover   { background: var(--at-red); color: #fff; }

.btn-ghost-dark        { background: transparent; color: var(--text-primary); border-color: var(--border-strong); }
.btn-ghost-dark:hover  { background: var(--text-primary); color: var(--bg-page); }

.btn-ghost-white       { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.btn-ghost-white:hover { border-color: #fff; color: #fff; }

.btn-outline-blue       { background: transparent; color: var(--at-blue); border-color: var(--at-blue); }
.btn-outline-blue:hover { background: var(--at-blue); color: #fff; }

/* Größen */
.btn-sm { padding: 10px 16px; font-size: 12px; }
.btn-lg { padding: 17px 28px; font-size: 14px; }

/* Plan-CTA-Varianten */
.cta-primary           { background: var(--at-red); color: #fff; border-color: var(--at-red); }
.cta-primary:hover     { background: var(--at-dark-red); color: #fff; }
.cta-outline-dark      { background: transparent; color: var(--text-primary); border-color: var(--border-strong); }
.cta-outline-dark:hover{ background: var(--text-primary); color: var(--bg-page); }
.cta-outline-white     { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.cta-outline-white:hover{ background: rgba(255,255,255,.1); color: #fff; }
