/* ============================================================
   openX Global Typography — system font + base rhythm
   ============================================================ */

/* ============================================================
   1) Shared font tokens
   ============================================================ */
:root {
  --ox-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;
  --ox-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;
}

html, body { font-family: var(--ox-font) !important; }
*, *::before, *::after { font-family: inherit !important; }

/* mono only for genuine code/data */
code, kbd, pre, samp,
.openx-mono, [class*="mono"], [class*="Mono"] {
  font-family: var(--ox-mono) !important;
}

/* override Next.js compiled font CSS-vars in case they're used downstream */
body {
  --font-manrope: var(--ox-font) !important;
  --font-sora: var(--ox-font) !important;
  --font-outfit: var(--ox-font) !important;
  --font-fraunces: var(--ox-font) !important;
  --font-cormorant: var(--ox-font) !important;
  --font-cinzel: var(--ox-font) !important;
  --font-newsreader: var(--ox-font) !important;
  --font-bricolage: var(--ox-font) !important;
  --font-geist: var(--ox-font) !important;
  --vault-display: var(--ox-font) !important;
  --vault-body: var(--ox-font) !important;
  --prism-fd: var(--ox-font) !important;
  --prism-fb: var(--ox-font) !important;
  --font-display: var(--ox-font) !important;
  --font-body: var(--ox-font) !important;
  --vault-mono: var(--ox-mono) !important;
  --prism-fm: var(--ox-mono) !important;
  --font-mono: var(--ox-mono) !important;
}

/* ============================================================
   2) BASE FONT-SIZE — bump up so everything reads larger
   ============================================================ */
html { font-size: 17px; }
@media (min-width: 1280px) { html { font-size: 18px; } }
@media (max-width: 480px)  { html { font-size: 16px; } }

body {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: -0.005em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  /* === BG #10: Mesh Peach (white + soft peach blob top-right) === */
  background:
    radial-gradient(800px 600px at 90% 8%, rgba(255,213,172,0.30) 0%, transparent 55%),
    radial-gradient(600px 500px at 8% 95%, rgba(241,142,45,0.06) 0%, transparent 60%),
    #FFFFFF;
  background-attachment: fixed;
}

/* the legacy hero-a3 ambient bg becomes redundant — hide it */
.hero-a3-bg { display: none !important; }
.page-module__E0kJGG__backdrop { display: none !important; }

p { font-size: 1rem; line-height: 1.65; }

/* ============================================================
   6) GDPR VAULT — bigger article text + dial labels
   ============================================================ */
.vault .vault-kicker { font-size: 12.5px !important; letter-spacing: 0.32em !important; }
.vault .vault-kicker .roman { font-size: 15px !important; font-style: normal !important; font-weight: 600 !important; }
.vault .vault-title { font-size: clamp(24px, 2.8vw, 38px) !important; font-weight: 500 !important; line-height: 1.25 !important; letter-spacing: -0.02em !important; }
.vault .vault-title em { font-style: normal !important; font-weight: 600 !important; }
.vault .vault-lead { font-size: 17px !important; line-height: 1.55 !important; }
.vault .article h3 { font-size: clamp(20px, 2vw, 26px) !important; font-weight: 600 !important; line-height: 1.2 !important; }
.vault .article h3 .ord { font-size: 11.5px !important; letter-spacing: 0.28em !important; font-weight: 500 !important; }
.vault .article p { font-size: 15.5px !important; line-height: 1.55 !important; }
.vault-brand-row .focus { font-size: 12px !important; letter-spacing: 0.24em !important; }
.vault-cta { font-size: 16px !important; padding: 16px 28px !important; font-weight: 600 !important; letter-spacing: 0.04em !important; }
.dial-monogram .label, .dial-monogram .meta { font-size: 10.5px !important; letter-spacing: 0.32em !important; }
.dial-monogram .gdpr { font-size: clamp(48px, 8vw, 78px) !important; font-weight: 600 !important; font-style: normal !important; }
.tick-num { font-size: 17px !important; font-weight: 600 !important; }
.dial-caption { font-size: 11px !important; letter-spacing: 0.32em !important; }
.dial-bottom-bar .mini-label { font-size: 10.5px !important; letter-spacing: 0.24em !important; }
.dial-bottom-bar .mini-title { font-size: 15px !important; font-weight: 600 !important; }
.mini-dial-num { font-size: 18px !important; font-style: normal !important; font-weight: 700 !important; }
.article-num span { font-size: 22px !important; font-style: normal !important; font-weight: 700 !important; }

/* ============================================================
   7) ORIGINAL openX SECTIONS (rendszerek, contact, footer)
   ============================================================ */
.openx-commandKicker { font-size: 13px !important; letter-spacing: 0.28em !important; font-weight: 500 !important; }
.page-module__E0kJGG__heroTitle { font-weight: 500 !important; line-height: 1.25 !important; font-size: clamp(22px, 2.6vw, 36px) !important; letter-spacing: -0.02em !important; }
.openx-heroLine { font-weight: 500 !important; }
.page-module__E0kJGG__heroNote { font-size: clamp(17px, 1.4vw, 20px) !important; }
.openx-commandSignals { gap: 10px !important; }
.openx-commandSignals li { font-size: 13px !important; padding: 10px 18px !important; font-weight: 600 !important; }

.page-module__E0kJGG__kicker { font-size: 13px !important; letter-spacing: 0.28em !important; font-weight: 500 !important; }
.page-module__E0kJGG__sectionTitle { font-weight: 500 !important; line-height: 1.25 !important; font-size: clamp(24px, 2.8vw, 38px) !important; letter-spacing: -0.02em !important; }
.page-module__E0kJGG__sectionLead { font-size: clamp(17px, 1.4vw, 20px) !important; line-height: 1.55 !important; }

/* systems list */
.openx-systemSplit h3 { font-size: clamp(20px, 2.2vw, 28px) !important; font-weight: 500 !important; line-height: 1.25 !important; letter-spacing: -0.015em !important; }
.openx-systemLead { font-size: 16px !important; line-height: 1.55 !important; }
.openx-systemFeatures li { font-size: 15px !important; line-height: 1.5 !important; }
.openx-popularBadge { font-size: 11px !important; letter-spacing: 0.22em !important; padding: 5px 11px !important; }
/* P2 — Filled Navy tier badges */
.tier-badges-module__rz6xjq__badge {
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  padding: 8px 16px !important;
  font-weight: 600 !important;
  background: #0F2B47 !important;
  color: white !important;
  border: 1px solid #0F2B47 !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 12px -4px rgba(15,43,71,0.4) !important;
  transition: transform 0.3s var(--easing), box-shadow 0.3s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.tier-badges-module__rz6xjq__badge::before {
  content: "";
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--accent);
  display: inline-block;
}
.tier-badges-module__rz6xjq__badge:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 18px -4px rgba(15,43,71,0.5) !important;
}

/* CTAs */
.page-module__E0kJGG__primaryCta,
.page-module__E0kJGG__secondaryCta,
.page-module__E0kJGG__navCta {
  font-size: 13px !important;
  letter-spacing: 0.16em !important;
  font-weight: 600 !important;
  padding: 0 20px !important;
  min-height: 44px !important;
}

/* PRO RAIL */
.openx-proRail { padding: 18px 0 !important; gap: clamp(16px, 3vw, 40px) !important; }
.openx-proRail span { font-size: 12.5px !important; letter-spacing: 0.2em !important; font-weight: 600 !important; }

/* GDPR section (legacy if any) */
.page-module__E0kJGG__gdprListLead { font-size: 13px !important; letter-spacing: 0.32em !important; }
.page-module__E0kJGG__gdprNumber { font-size: 30px !important; font-weight: 600 !important; }
.page-module__E0kJGG__gdprListItem h3 { font-size: 18px !important; font-weight: 600 !important; }
.page-module__E0kJGG__gdprListItem p { font-size: 15px !important; line-height: 1.55 !important; }

/* FOOTER */
.openx-footerLead { font-size: 16px !important; line-height: 1.6 !important; }
.openx-footerNav a { font-size: 14.5px !important; padding: 10px 0 !important; }
.openx-footerContactLabel { font-size: 11px !important; letter-spacing: 0.32em !important; font-weight: 500 !important; }
.openx-footerMail { font-size: 21px !important; font-weight: 600 !important; }
.openx-footerCta { font-size: 13px !important; padding: 12px 20px !important; font-weight: 600 !important; }
.openx-footerMeta { font-size: 12px !important; letter-spacing: 0.18em !important; }

/* small disclaimers */
.openx-livePill, .live-pill { font-size: 11px !important; letter-spacing: 0.2em !important; padding: 8px 14px !important; }

/* ============================================================
   8) Sora doesn't have true italic — replace italic with weight + color
   ============================================================ */
em, i {
  font-style: normal !important;
}
em.em, .title em, .vault-title em, .hero-a3 .title em {
  font-style: normal !important;
}

/* ============================================================
   9) reduced motion preserved
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.15s !important; }
}
