/* Shared actions for the company, swim and denim sites. */
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: var(--control-height);
  max-width: 100%;
  padding: var(--space-3) var(--control-padding-inline);
  border: 1px solid var(--line);
  border-radius: var(--radius-button);
  color: var(--ink);
  background: transparent;
  font: 500 var(--control-font-size)/1.5 var(--font-sans);
  letter-spacing: .01em;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color var(--motion-fast), background-color var(--motion-fast), border-color var(--motion-fast);
}
.button.primary { color: var(--paper); border-color: var(--ink); background: var(--ink); }
.button.primary:hover:not(:disabled):not([aria-disabled="true"]) { border-color: var(--accent); background: var(--accent); }
.button.secondary { border-color: color-mix(in srgb, var(--ink) 25%, var(--paper)); }
.button.secondary:hover:not(:disabled):not([aria-disabled="true"]) { border-color: var(--accent); background: var(--action-hover-surface, var(--brand-soft)); }
.button:active:not(:disabled):not([aria-disabled="true"]) { border-color: currentColor; }
.text_link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  padding-block: var(--space-2);
  color: inherit;
  font-size: var(--control-font-size);
  font-weight: 500;
  line-height: 1.5;
  text-decoration-line: underline;
  text-decoration-color: var(--line);
  text-decoration-thickness: 1px;
  text-underline-offset: .4em;
  overflow-wrap: anywhere;
  transition: color var(--motion-fast), text-decoration-color var(--motion-fast);
}
.text_link:hover, a:hover .text_link { color: var(--accent); text-decoration-color: currentColor; }
.hero_actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--action-gap) var(--space-6); margin-top: var(--space-8); }
.action_pair { align-items: stretch; gap: var(--action-gap); inline-size: min(100%, 24rem); }
.action_pair > .button { flex: 1 1 11rem; }
.button:focus-visible, .text_link:focus-visible { outline: 2px solid var(--accent); outline-offset: var(--space-1); }
.button:disabled, fieldset:disabled .button, .button[aria-disabled="true"] { cursor: not-allowed; opacity: .55; }
.button.primary:disabled, fieldset:disabled .button.primary, .button.primary[aria-disabled="true"] { color: var(--paper); border-color: var(--ink); background: var(--ink); }
.button.secondary:disabled, fieldset:disabled .button.secondary, .button.secondary[aria-disabled="true"] { border-color: var(--line); background: transparent; }
.button[aria-busy="true"] { cursor: progress; }
@media (prefers-reduced-motion: reduce) { .button, .text_link { transition: none; } }
