/* Shared UI primitives — buttons, links, chips (V6) */

.rsn-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rsn-space-8);
  min-height: 52px;
  padding: 0 28px;
  border: 0;
  border-radius: var(--rsn-radius-button);
  font-family: var(--rsn-font);
  font-size: var(--rsn-fs-15);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color var(--rsn-duration) var(--rsn-ease),
    color var(--rsn-duration) var(--rsn-ease),
    border-color var(--rsn-duration) var(--rsn-ease),
    transform var(--rsn-duration-fast) var(--rsn-ease);
}

.rsn-btn:hover {
  text-decoration: none;
}

.rsn-btn:active {
  transform: translateY(1px);
}

.rsn-btn--primary {
  background: var(--rsn-rack-red);
  color: var(--rsn-white);
}

.rsn-btn--primary:hover {
  background: var(--rsn-red-hover);
  color: var(--rsn-white);
}

.rsn-btn--secondary {
  background: var(--rsn-white);
  color: var(--rsn-graphite);
  border: 1px solid var(--rsn-border);
}

.rsn-btn--secondary:hover {
  border-color: var(--rsn-border-strong);
  color: var(--rsn-graphite);
}

.rsn-btn--on-image {
  background: rgba(255, 255, 255, 0.14);
  color: var(--rsn-white);
  border: 1px solid rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(8px);
}

.rsn-btn--on-image:hover {
  background: rgba(255, 255, 255, 0.22);
  color: var(--rsn-white);
}

.rsn-btn:disabled,
.rsn-btn[aria-disabled="true"] {
  background: var(--rsn-disabled-bg);
  color: var(--rsn-disabled-text);
  border-color: transparent;
  cursor: not-allowed;
  transform: none;
}

.rsn-link {
  color: var(--rsn-corporate-blue);
  font-weight: 600;
}

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

.rsn-chip {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: var(--rsn-radius-chip);
  font-size: var(--rsn-fs-13);
  font-weight: 600;
  background: #dce5ee;
  color: var(--rsn-graphite);
}

.rsn-phone {
  font-weight: 700;
  color: var(--rsn-graphite);
  text-decoration: none;
  white-space: nowrap;
}

.rsn-phone:hover {
  color: var(--rsn-corporate-blue);
  text-decoration: none;
}
