/* =========================================================
   SHARED BASE TYPOGRAPHY
   Global typography and background atmosphere
========================================================= */

/* Global font stack and colors */
html,
body {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--gf-bg-main) !important;
  color: var(--gf-text-main);
}

/* Soft ambient glow atmosphere */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(900px 500px at 20% 10%, rgba(138,92,255,0.12), transparent 60%),
    radial-gradient(700px 420px at 85% 15%, rgba(186,163,255,0.10), transparent 60%);
  filter: blur(2px);
  opacity: .85;
}

/* Card and surface consistency */
.gf-section,
.gf-hero {
  background: var(--gf-bg-card);
  border-radius: var(--gf-radius);
  box-shadow: var(--gf-shadow-card);
  position: relative;
}

/* Subtle card edge refinement */
.gf-section::after,
.gf-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(138,92,255,0.05);
}

/* Tab styling */
.gf-tab {
  background: var(--gf-tab-inactive-bg);
  color: var(--gf-tab-inactive-text);
  border-radius: 999px;
  transition: background .15s ease, color .15s ease;
}

.gf-tab:hover {
  background: var(--gf-tab-hover-bg);
}

.gf-tab.is-active {
  background: var(--gf-tab-active-bg);
  color: var(--gf-tab-active-text);
}

/* Global interaction state override */
button,
a,
.gf-tab {
  outline: none !important;
}

/* Kill browser blue focus glow on buttons without recoloring */
button:focus,
button:focus-visible,
button:active {
  box-shadow: none !important;
}

/* Tab focus states */
.gf-tab:focus,
.gf-tab:focus-visible,
.gf-tab:active {
  background: var(--gf-tab-active-bg) !important;
  color: var(--gf-tab-active-text) !important;
}

/* Kill tap highlight on touch devices */
button,
button *,
.gf-hero-action,
.gf-hero-action * {
  -webkit-tap-highlight-color: transparent !important;
}

/* Normalize button appearance */
button,
.gf-hero-action {
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--gf-primary);
  color: #fff;
  border: none;
}

/* Prevent Astra reinjecting focus styles */
.ast-button:focus-visible,
button:not(.ast-custom-button):focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
