/* =====================================================
   FONT OVERRIDE — replaces TASA Explorer / Rubik / Comic Relief
   with the new Bebas Neue + Russo One + Inter + JetBrains Mono stack.
   Loaded after all other stylesheets so it always wins.
   ===================================================== */

:root {
  --font-display: 'Big Shoulders Display', 'Impact', sans-serif;
  --font-heading: 'Outfit', 'Inter', 'Segoe UI', system-ui, sans-serif;
  --font-body:    'Inter', 'Plus Jakarta Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
  --font-accent:  'Outfit', 'Inter', sans-serif;
}

/* Body & general */
body,
.theme-tox,
body.theme-tox {
  font-family: var(--font-body) !important;
  font-weight: 400;
  letter-spacing: 0.01em;
}

/* All headings — Outfit (modern, readable, bold) */
.theme-tox h1, .theme-tox h2, .theme-tox h3,
.theme-tox h4, .theme-tox h5, .theme-tox h6,
.theme-tox .brand,
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading) !important;
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* === Display titles — Big Shoulders (anasayfa hero + bölüm/mode başlıkları) === */
.theme-tox .apex-title,
h1.apex-title,
.theme-tox .apex-final__title,
.theme-tox .home-hero__title,
h1.home-hero__title,
body[data-page="home"] .apex-section__title,
body[data-page="home"] .apex-season__title,
body[data-page="home"] .apex-mode__title,
body[data-page="home"] .apex-discord h3,
body[data-page="home"] .apex-rank__list-head h3 {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  line-height: 0.9 !important;
  text-transform: uppercase !important;
}

/* === Diğer büyük başlıklar — Outfit (modern, ince ama dikkat çekici) === */
.theme-tox .hero-title,
.theme-tox .section-title-text,
.theme-tox .section-title-block h2,
.theme-tox .page-hero-inner h1,
.theme-tox .cta-v2-inner h2,
.theme-tox .news-article h1,
.theme-tox .wiki-article h1,
.theme-tox .forum-topic-view__head h1,
.theme-tox .auth-card h1,
.theme-tox .apex-section__title,
.theme-tox .apex-season__title,
.theme-tox .apex-mode__title,
.theme-tox .apex-feature h4,
.theme-tox .apex-news-card__title,
.theme-tox .apex-discord h3,
.theme-tox .apex-rank__list-head h3,
.theme-tox .apex-page-hero__title,
.theme-tox .apex-forum-cat__head h3,
.theme-tox .apex-side-card h4,
.theme-tox .apex-wiki-cat h3,
.theme-tox .apex-product__name,
.theme-tox .apex-store-feat h3,
.theme-tox .apex-status-banner h2,
.theme-tox .apex-status-tile__head h4,
.theme-tox .apex-support-card h3,
.theme-tox .apex-news-featured__title,
.theme-tox .apex-lb-podium__name,
.theme-tox .apex-footer__logo span,
.theme-tox .apex-footer__copy strong {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  letter-spacing: -0.005em !important;
  line-height: 1.1 !important;
  text-transform: none !important;
}

/* Body sub-titles em accent — Big Shoulders (top yazan font ile aynı, italic değil) */
.theme-tox .apex-section__title em,
.theme-tox .apex-season__title em,
body[data-page="home"] .apex-section__title em {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  font-style: normal !important;
  letter-spacing: -0.03em !important;
  text-transform: uppercase !important;
}

/* Apex title sub line — Outfit semi-bold */
.theme-tox .apex-title__sub {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: clamp(0.85rem, 1.4vw, 1.2rem) !important;
  letter-spacing: 0.28em !important;
  -webkit-text-fill-color: var(--theme-primary) !important;
  background: none !important;
  filter: none !important;
  text-transform: uppercase;
}

/* Bebas Neue looks bigger — bump some sizes slightly */
.home-hero__title { font-size: clamp(3.5rem, 11vw, 8rem) !important; letter-spacing: 0.04em !important; }
.section-title-block h2 { font-size: clamp(2.4rem, 5.5vw, 4rem) !important; letter-spacing: 0.025em; }
.cta-v2-inner h2 { font-size: clamp(2.4rem, 6vw, 4.4rem) !important; letter-spacing: 0.025em; }

/* Stat / metric numbers — JetBrains Mono for crisp digits */
.stat-number,
.metric-card__value,
.hs-card__body strong,
.server-tile__count strong,
.servers-dash__total strong,
.podium-card__value,
.lb-podium-card__value,
.countdown__unit strong,
.discord-stat strong,
.profile-head__stats strong,
.product-price,
.verify-code,
.goal-bar__values strong {
  font-family: var(--font-mono) !important;
  font-weight: 700;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}

/* IP pill (mono for IP address feel) */
.ip-pill__label {
  font-family: var(--font-mono) !important;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.ip-pill__copy {
  font-family: var(--font-heading) !important;
  font-weight: 400;
  letter-spacing: 0.06em;
}

/* Eyebrow chips — Outfit semi-bold, daha hafif tracking */
.eyebrow,
.home-hero__badge,
.section-title-block .eyebrow,
.mode-card-v2__top-badge,
.news-badge,
.product-badge,
.season-banner__title small {
  font-family: var(--font-mono) !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
}

/* Game mode card titles — Outfit bold */
.theme-tox .mode-card-v2__title,
.theme-tox .mode-card__body h3,
h3.mode-card-v2__title {
  font-family: var(--font-heading) !important;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-size: 2rem !important;
  line-height: 1.05;
  text-transform: none;
}

/* CTA buttons — Outfit semi-bold */
.btn-ultra,
.cta-btn,
.cta-v2-btns a,
.cta-v2-btns button,
.discord-cta {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.82rem;
}
.btn-ultra:not([style*="font-size"]) { font-size: 0.85rem; }

/* Footer */
.footer-title,
.f-logo-text {
  font-family: var(--font-heading) !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Nav */
.nav-link-mini,
.header-auth-row .auth-btn span {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.78rem !important;
}

/* Admin sidebar / nav */
.admin-nav-link,
.panel-nav__link {
  font-family: var(--font-body) !important;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.admin-nav-group__title {
  font-family: var(--font-heading) !important;
}

/* Forms */
.form-group label,
.admin-card-form label {
  font-family: var(--font-heading) !important;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.72rem;
}
input, textarea, select {
  font-family: var(--font-body) !important;
}

/* Code blocks */
code, pre, .console-output, .ticket-row__id, .ticket-thread__id,
.admin-table td[style*="monospace"], .twofa-secret {
  font-family: var(--font-mono) !important;
}

/* Tables */
.admin-table th,
.lb-table th,
.i18n-table th {
  font-family: var(--font-heading) !important;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.admin-table td,
.lb-table td {
  font-family: var(--font-body) !important;
}

/* Refined gradient on big titles — replaces original */
.home-hero__title {
  background: linear-gradient(180deg,
    #ffffff 0%,
    #fff8df 25%,
    #fde68a 55%,
    var(--theme-primary) 80%,
    var(--theme-accent) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 6px 40px rgba(var(--theme-primary-rgb), 0.45));
}

/* Smooth font rendering */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Inter font features (better numerics + ligatures) */
body {
  font-feature-settings: "cv02", "cv03", "cv04", "cv11", "ss01", "kern";
}

/* The auth-card h1 had a small font — bump */
.auth-card h1 {
  font-size: 2rem !important;
  letter-spacing: 0.03em;
  margin-bottom: 0.5rem;
}

/* Section subtitles */
.section-subtitle {
  font-family: var(--font-heading) !important;
  letter-spacing: 0.04em;
}

/* Make tagline more readable with Inter */
.home-hero__tagline,
.hero-subtitle,
.page-hero-inner p,
.section-title-block p {
  font-family: var(--font-body) !important;
  font-weight: 400;
  line-height: 1.7;
}

/* ===== BUG FIX: mobile menu visibility ===== */
.header-nav-container {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: scale(1.06);
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              visibility 0s linear 0.35s;
}
.header-nav-container.active {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: scale(1) !important;
  transition-delay: 0s, 0s, 0s;
}

/* ===== Hamburger SADECE mobilde ===== */
.menu-toggle,
.d-mobile-only {
  display: none !important;
}
@media (max-width: 880px) {
  .menu-toggle,
  .menu-toggle.d-mobile-only,
  .d-mobile-only {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
}
/* PC'de auth butonları görünür kalsın */
@media (min-width: 881px) and (max-width: 1119px) {
  .header-auth-row .auth-btn {
    display: inline-flex !important;
  }
}

/* ===== Mobile overlay close button (X) ===== */
.mobile-nav-close {
  position: absolute;
  top: 22px;
  right: 22px;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-accent));
  border: none;
  color: #1a1000;
  font-size: 1.4rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10010;
  box-shadow: 0 12px 30px -6px rgba(var(--theme-primary-rgb), 0.55);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.mobile-nav-close:hover { transform: rotate(90deg) scale(1.08); }
.mobile-nav-close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.header-nav-container:not(.active) .mobile-nav-close { display: none; }

/* Hamburger active styling fix — keep it consistent (acts as close too) */
.menu-toggle.active {
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-accent)) !important;
  color: #1a1000 !important;
}

/* ===== BUG FIX: hero title sizing on Bebas Neue (it appears narrower) ===== */
.home-hero__title {
  line-height: 0.92 !important;
}

/* ===== BUG FIX: ensure currency/lang selectors visible after font swap ===== */
.currency-btn span, .lang-btn span {
  font-family: var(--font-heading) !important;
  letter-spacing: 0.04em !important;
}

/* ===== BUG FIX: navbar logo wordmark — replace image padding ===== */
.header-logo-row .header-logo,
.home-hero__logo,
.cta-v2-inner img,
.f-logo-wrapper img,
.auth-logo {
  object-fit: contain;
}

/* ===== Refined IP pill — clearer separation ===== */
.ip-pill__copy {
  font-size: 0.95rem !important;
  padding: 14px 26px !important;
}
.ip-pill__label {
  font-size: 1.1rem !important;
  padding: 14px 26px !important;
}

/* ===== Sezon banner: better visual rhythm ===== */
.season-banner__title h3 {
  font-family: var(--font-display) !important;
  font-size: 1.8rem !important;
  letter-spacing: 0.03em;
  line-height: 1;
  margin-bottom: 4px;
}

/* ===== Make Russo One headlines uppercase only where appropriate ===== */
.feature-card h3,
.mode-card__body h3,
.mode-card-v2__title,
.profile-head h1,
.podium-card h4 {
  text-transform: none;
}

/* ===== Glow accent under main page title ===== */
.home-hero__brand {
  position: relative;
}
.home-hero__brand::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%);
  width: 60%;
  height: 80px;
  background: radial-gradient(ellipse, rgba(var(--theme-primary-rgb), 0.35), transparent 70%);
  filter: blur(20px);
  z-index: -1;
  pointer-events: none;
}
