/* EGMP Correction #5 — Unified public button system.
 * Standard geometry is shared across public non-MOC actions.
 * Color is contextual so a button never disappears into its surrounding surface.
 */
:where(
  .eg-button,
  .eg-premium-button,
  .destination-button,
  .scholarship-button,
  .eg-scholarship-button,
  .public-button,
  .eg-ejp__button,
  .eg-stage8-legal-button,
  .eg-contact__final-primary,
  .eg-contact__final-secondary
) {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 48px;
  padding: .75rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 10px !important;
  font-family: var(--eg-font-family-base, Inter, sans-serif);
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: none;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

:where(
  .eg-button,
  .eg-premium-button,
  .destination-button,
  .scholarship-button,
  .eg-scholarship-button,
  .public-button,
  .eg-ejp__button,
  .eg-stage8-legal-button,
  .eg-contact__final-primary,
  .eg-contact__final-secondary
):hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(8,43,92,.14);
}

:where(
  .eg-button,
  .eg-premium-button,
  .destination-button,
  .scholarship-button,
  .eg-scholarship-button,
  .public-button,
  .eg-ejp__button,
  .eg-stage8-legal-button,
  .eg-contact__final-primary,
  .eg-contact__final-secondary
):focus-visible {
  outline: 3px solid var(--eg-color-focus, #C9A24D) !important;
  outline-offset: 3px;
}

:where(
  .eg-button,
  .eg-premium-button,
  .destination-button,
  .scholarship-button,
  .eg-scholarship-button,
  .public-button,
  .eg-ejp__button,
  .eg-stage8-legal-button,
  .eg-contact__final-primary,
  .eg-contact__final-secondary
):active:not(:disabled) {
  transform: translateY(0);
}

/* Default / light / image surfaces: primary = blue/gold, secondary = white/blue. */
:where(.eg-button--primary, .eg-premium-button--primary, .destination-button--primary, .scholarship-button--primary, .eg-scholarship-button--primary, .public-button--primary, .eg-ejp__button--primary, .eg-stage8-legal-button--primary, .eg-contact__final-primary) {
  background: var(--eg-color-primary, #0B3A82) !important;
  color: var(--eg-color-accent, #C9A24D) !important;
  border-color: var(--eg-color-primary, #0B3A82) !important;
}

:where(.eg-button--outline, .eg-button--secondary, .eg-premium-button--secondary, .destination-button--secondary, .scholarship-button--secondary, .eg-scholarship-button--secondary, .public-button--secondary, .eg-ejp__button--secondary, .eg-stage8-legal-button--secondary, .eg-contact__final-secondary) {
  background: #fff !important;
  color: var(--eg-color-primary, #0B3A82) !important;
  border-color: var(--eg-color-primary, #0B3A82) !important;
}

:where(.eg-button--primary, .eg-premium-button--primary, .destination-button--primary, .scholarship-button--primary, .eg-scholarship-button--primary, .public-button--primary, .eg-ejp__button--primary, .eg-stage8-legal-button--primary, .eg-contact__final-primary):hover:not(:disabled) {
  /* Keep the hover state visibly distinct even when the surrounding surface is blue. */
  background: var(--eg-color-accent, #C9A24D) !important;
  color: var(--eg-color-secondary, #082B5C) !important;
  border-color: var(--eg-color-accent, #C9A24D) !important;
}

:where(.eg-button--outline, .eg-button--secondary, .eg-premium-button--secondary, .destination-button--secondary, .scholarship-button--secondary, .eg-scholarship-button--secondary, .public-button--secondary, .eg-ejp__button--secondary, .eg-stage8-legal-button--secondary, .eg-contact__final-secondary):hover:not(:disabled) {
  background: #f7f9fc !important;
  color: var(--eg-color-secondary, #082B5C) !important;
  border-color: var(--eg-color-secondary, #082B5C) !important;
}

/* Gold surfaces: never use gold-on-gold. */
:where(.eg-home-final, .eg-about-final, .scholarship-final-cta) :where(.eg-button--primary, .eg-premium-button--primary, .destination-button--primary, .scholarship-button--primary, .eg-scholarship-button--primary, .public-button--primary, .eg-ejp__button--primary, .eg-stage8-legal-button--primary, .eg-contact__final-primary),
:where(.eg-home-final, .eg-about-final, .scholarship-final-cta) :where(.eg-premium-button--navy, .scholarship-button--dark) {
  background: var(--eg-color-primary, #0B3A82) !important;
  color: var(--eg-color-accent, #C9A24D) !important;
  border-color: var(--eg-color-primary, #0B3A82) !important;
}

:where(.eg-home-final, .eg-about-final, .scholarship-final-cta) :where(.eg-button--outline, .eg-button--secondary, .eg-premium-button--secondary, .eg-premium-button--outline-light, .destination-button--secondary, .scholarship-button--secondary, .scholarship-button--outline-dark, .eg-scholarship-button--secondary, .public-button--secondary, .eg-ejp__button--secondary, .eg-stage8-legal-button--secondary, .eg-contact__final-secondary) {
  background: #fff !important;
  color: var(--eg-color-primary, #0B3A82) !important;
  border-color: var(--eg-color-primary, #0B3A82) !important;
}

/* Gold surfaces: hover returns to a dark blue so the button never becomes gold-on-gold. */
:where(.eg-home-final, .eg-about-final, .scholarship-final-cta) :where(.eg-button--primary, .eg-premium-button--primary, .destination-button--primary, .scholarship-button--primary, .eg-scholarship-button--primary, .public-button--primary, .eg-ejp__button--primary, .eg-stage8-legal-button--primary, .eg-contact__final-primary):hover:not(:disabled) {
  background: var(--eg-color-secondary, #082B5C) !important;
  color: #fff !important;
  border-color: var(--eg-color-secondary, #082B5C) !important;
}

/* Blue / dark surfaces: primary = gold/blue; secondary stays visibly distinct. */
:where(.destination-hero, .destination-section--final-cta, .destination-tool-panel, .scholarship-hero, .scholarship-detail__hero, .eg-services-final, .success-stories-final-cta, .eg-contact__final, .eg-ejp__welcome-side, .eg-destinations-matchmaker) :where(.eg-button--primary, .eg-premium-button--primary, .eg-premium-button--navy, .destination-button--primary, .scholarship-button--primary, .scholarship-button--dark, .eg-scholarship-button--primary, .public-button--primary, .eg-ejp__button--primary, .eg-stage8-legal-button--primary, .eg-contact__final-primary) {
  background: var(--eg-color-accent, #C9A24D) !important;
  color: var(--eg-color-secondary, #082B5C) !important;
  border-color: var(--eg-color-accent, #C9A24D) !important;
}

/* Study Destinations AI Matchmaker: keep the hover state visibly separated from its navy panel. */
:where(.eg-destinations-matchmaker) :where(.eg-premium-button--primary):hover:not(:disabled),
:where(.eg-destinations-matchmaker) :where(.eg-premium-button--primary):focus-visible {
  background: #d3b16b !important;
  color: var(--eg-color-secondary, #082B5C) !important;
  border-color: #d3b16b !important;
}

:where(.destination-hero, .destination-section--final-cta, .destination-tool-panel, .scholarship-hero, .scholarship-detail__hero, .eg-services-final, .success-stories-final-cta, .eg-contact__final, .eg-ejp__welcome-side) :where(.eg-button--outline, .eg-button--secondary, .eg-premium-button--secondary, .eg-premium-button--outline-light, .destination-button--secondary, .scholarship-button--secondary, .scholarship-button--outline-dark, .eg-scholarship-button--secondary, .public-button--secondary, .eg-ejp__button--secondary, .eg-stage8-legal-button--secondary, .eg-contact__final-secondary) {
  background: #fff !important;
  color: var(--eg-color-primary, #0B3A82) !important;
  border-color: #fff !important;
}

:where(.destination-hero, .destination-section--final-cta, .destination-tool-panel, .scholarship-hero, .scholarship-detail__hero, .eg-services-final, .success-stories-final-cta, .eg-contact__final, .eg-ejp__welcome-side) :where(.eg-button--outline, .eg-button--secondary, .eg-premium-button--secondary, .eg-premium-button--outline-light, .destination-button--secondary, .scholarship-button--secondary, .scholarship-button--outline-dark, .eg-scholarship-button--secondary, .public-button--secondary, .eg-ejp__button--secondary, .eg-stage8-legal-button--secondary, .eg-contact__final-secondary):hover:not(:disabled) {
  background: #f7f9fc !important;
  color: var(--eg-color-secondary, #082B5C) !important;
  border-color: var(--eg-color-accent, #C9A24D) !important;
}

/* Explicitly prevent legacy pill geometry on standard public CTAs. */
.destination-button,
.eg-premium-button,
.scholarship-button,
.eg-scholarship-button,
.eg-ejp__button,
.eg-stage8-legal-button,
.public-button,
.eg-contact__final-primary,
.eg-contact__final-secondary { border-radius: 10px !important; }

@media (max-width: 640px) {
  :where(.eg-button, .eg-premium-button, .destination-button, .scholarship-button, .eg-scholarship-button, .public-button, .eg-ejp__button, .eg-stage8-legal-button, .eg-contact__final-primary, .eg-contact__final-secondary) {
    min-height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(.eg-button, .eg-premium-button, .destination-button, .scholarship-button, .eg-scholarship-button, .public-button, .eg-ejp__button, .eg-stage8-legal-button, .eg-contact__final-primary, .eg-contact__final-secondary) {
    transition: none;
  }
  :where(.eg-button, .eg-premium-button, .destination-button, .scholarship-button, .eg-scholarship-button, .public-button, .eg-ejp__button, .eg-stage8-legal-button, .eg-contact__final-primary, .eg-contact__final-secondary):hover:not(:disabled) { transform: none; }
}
