/*
 * Buttons, Textlinks und runde Icon-Buttons.
 */

.ds-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 24px;
  border-radius: var(--ds-radius-sm);
  border: 2px solid var(--ds-action);
  background: var(--ds-action);
  color: var(--ds-action-ink);
  font-weight: 700;
  line-height: 1.2;
  transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.2s;
}

.ds-btn:hover {
  background: var(--ds-action-hover);
  border-color: var(--ds-action-hover);
  color: var(--ds-action-ink);
}

.ds-btn i {
  transition: transform 0.2s;
}

.ds-btn:hover i.bi-arrow-right {
  transform: translateX(3px);
}

.ds-btn-outline {
  background: transparent;
  border-color: var(--ds-blue);
  color: var(--ds-blue);
}

.ds-btn-outline:hover {
  background: var(--ds-blue);
  border-color: var(--ds-blue);
  color: var(--ds-white);
}

/* Haupt-Button auf dunklem Grund: Gelb (A) bzw. Weiß (B) */
.ds-btn-light {
  background: var(--ds-action-dark);
  border-color: var(--ds-action-dark);
  color: var(--ds-navy);
}

.ds-btn-light:hover {
  background: var(--ds-action-dark-hover);
  border-color: var(--ds-action-dark-hover);
  color: var(--ds-navy);
}

.ds-btn-sm {
  padding: 9px 16px;
  font-size: 0.9375rem;
}

.ds-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ds-blue);
  font-weight: 600;
  white-space: nowrap;
}

.ds-link i {
  transition: transform 0.2s;
}

.ds-link:hover {
  color: var(--ds-blue-hover);
}

.ds-link:hover i,
.ds-event:hover .ds-link i {
  transform: translateX(4px);
}

.ds-btn:focus-visible,
.ds-link:focus-visible,
.ds-event:focus-visible,
.ds-faq summary:focus-visible,
.ds-icon-btn:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ds-blue), transparent 50%);
  outline-offset: 3px;
}

.ds-icon-btn {
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid var(--ds-line);
  border-radius: 50%;
  background: var(--ds-white);
  color: var(--ds-navy);
  font-size: 1.125rem;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.ds-icon-btn:hover {
  background: var(--ds-navy);
  border-color: var(--ds-navy);
  color: var(--ds-white);
}
