/**
 * AI20 Visual Identity v1 — Buttons & CTAs (Staging).
 * Institutional (not pill). Join AI20 remains principal nav CTA.
 */

body.ai20-vi-system .ai20-btn,
body.ai20-vi-system .ai20-btn-primary,
body.ai20-vi-system .ai20-btn-secondary,
body.ai20-vi-system .ai20-join__cta-primary,
body.ai20-vi-system .ai20-join__cta-secondary,
body.ai20-vi-system .ai20-search-teaser__submit,
body.ai20-vi-system .ai20-public-search__submit,
body.ai20-vi-system .edpf-directory__submit,
body.ai20-vi-system .wp-block-button__link,
body.ai20-vi-system .kb-button,
body.ai20-vi-system .kt-button,
body.ai20-vi-system button[type="submit"].button,
body.ai20-vi-system .button.button-primary {
  font-family: var(--ai20-vi-font) !important;
  font-size: var(--ai20-vi-button) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  line-height: 1.2;
  border-radius: var(--ai20-vi-radius) !important;
  text-decoration: none !important;
  transition: background-color var(--ai20-vi-ease), border-color var(--ai20-vi-ease), color var(--ai20-vi-ease), box-shadow var(--ai20-vi-ease);
}

/* Primary — Global Azure */
body.ai20-vi-system .ai20-btn-primary,
body.ai20-vi-system .ai20-join__cta-primary,
body.ai20-vi-system .ai20-search-teaser__submit,
body.ai20-vi-system .ai20-public-search__submit,
body.ai20-vi-system .edpf-directory__submit,
body.ai20-vi-system .button.button-primary,
body.ai20-vi-system .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.7rem 1.25rem !important;
  color: var(--ai20-vi-white) !important;
  background-color: var(--ai20-vi-action) !important;
  background-image: none !important;
  border: 1px solid var(--ai20-vi-action) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.ai20-vi-system .ai20-btn-primary:hover,
body.ai20-vi-system .ai20-btn-primary:focus-visible,
body.ai20-vi-system .ai20-join__cta-primary:hover,
body.ai20-vi-system .ai20-join__cta-primary:focus-visible,
body.ai20-vi-system .ai20-search-teaser__submit:hover,
body.ai20-vi-system .edpf-directory__submit:hover,
body.ai20-vi-system .button.button-primary:hover,
body.ai20-vi-system .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background-color: var(--ai20-vi-action-hover) !important;
  border-color: var(--ai20-vi-action-hover) !important;
  color: var(--ai20-vi-white) !important;
  box-shadow: none !important;
}

/* Secondary — outline / quiet */
body.ai20-vi-system .ai20-btn-secondary,
body.ai20-vi-system .ai20-join__cta-secondary,
body.ai20-vi-system .wp-block-button.is-style-outline .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.7rem 1.25rem !important;
  color: var(--ai20-vi-graphite) !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 1px solid var(--ai20-vi-border-strong) !important;
  box-shadow: none !important;
}

body.ai20-vi-system .ai20-hero .ai20-btn-secondary {
  color: var(--ai20-vi-white) !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  background-color: rgba(255, 255, 255, 0.04) !important;
}

body.ai20-vi-system .ai20-btn-secondary:hover,
body.ai20-vi-system .ai20-btn-secondary:focus-visible,
body.ai20-vi-system .ai20-join__cta-secondary:hover,
body.ai20-vi-system .ai20-hero .ai20-btn-secondary:hover {
  border-color: var(--ai20-vi-azure) !important;
  color: var(--ai20-vi-azure) !important;
  background-color: transparent !important;
}

body.ai20-vi-system .ai20-hero .ai20-btn-secondary:hover,
body.ai20-vi-system .ai20-hero .ai20-btn-secondary:focus-visible {
  color: var(--ai20-vi-white) !important;
  border-color: var(--ai20-vi-cyan) !important;
  background-color: rgba(37, 217, 232, 0.1) !important;
}

/* Text links */
body.ai20-vi-system a.ai20-text-link,
body.ai20-vi-system .ai20-countries__more,
body.ai20-vi-system .ai20-join-teaser__link,
body.ai20-vi-system .entry-content a:not(.ai20-btn):not(.ai20-header-cta):not(.wp-block-button__link):not(.button) {
  color: var(--ai20-vi-azure);
  text-underline-offset: 0.18em;
}

body.ai20-vi-system a.ai20-text-link:hover,
body.ai20-vi-system .ai20-countries__more:hover,
body.ai20-vi-system .ai20-join-teaser__link:hover {
  color: var(--ai20-vi-azure-hover);
}

body.ai20-vi-system .ai20-btn:focus-visible,
body.ai20-vi-system .ai20-btn-primary:focus-visible,
body.ai20-vi-system .ai20-btn-secondary:focus-visible,
body.ai20-vi-system .edpf-directory__submit:focus-visible {
  outline: 3px solid var(--ai20-vi-action);
  outline-offset: 3px;
}

body.ai20-vi-system :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--ai20-vi-action) !important;
  outline-offset: 3px !important;
}

body.ai20-vi-system :where(a, button, input, select, textarea)[aria-disabled="true"],
body.ai20-vi-system :where(button, input, select, textarea):disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

@media (prefers-reduced-motion: reduce) {
  body.ai20-vi-system *,
  body.ai20-vi-system *::before,
  body.ai20-vi-system *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
