/* ──────────────────────────────────────────────────────────────
 * wes_landing — shared CSS foundation (variables, reset, body bg)
 * Mirrors style-tokens.css from legacy SPA + adds .wes-landing scope.
 * ────────────────────────────────────────────────────────────── */

:root {
  --wes-red:        #DC1C1C;
  --wes-red-2:      #B01010;
  --wes-red-soft:   rgba(220, 28, 28, 0.08);
  --wes-bg:         #fafbfd;
  --wes-fg:         #1a1a1a;
  --wes-fg-muted:   #666;
  --wes-fg-soft:    #888;
  --wes-border:     #e6e9f0;
  --wes-card:       #fff;
  --wes-shadow-sm:  0 1px 3px rgba(0,0,0,0.04);
  --wes-shadow-md:  0 4px 16px rgba(0,0,0,0.08);
  --wes-shadow-lg:  0 12px 48px rgba(0,0,0,0.10);
  --wes-sidebar-width: 240px;
  --wes-sidebar-width-mobile: 52px;
  --wes-page-pad-y: 24px;
  --wes-page-pad-x: 32px;
  --wes-page-pad-mobile: 16px;
  --wes-symbol-font: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", sans-serif;
}

.wes-symbol,
.wes-symbol::before,
.wes-symbol::after {
  font-family: var(--wes-symbol-font) !important;
  font-weight: 400 !important;
  line-height: 1;
}

/* Drupal-rendered landing pages get this body class via hook_preprocess_html
   (or via Olivero's path-frontpage class). Resets margins/padding. */
body.wes-landing-page {
  margin: 0;
  padding: 0;
  font-family: 'UTM Avo', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--wes-fg);
  /* Use background-color so we don't blow away the grid pattern set by the
   * body rule in theme.css. The `background:` shorthand resets bg-image,
   * which is why all admin pages were appearing flat. */
  background-color: var(--wes-bg);
}

body.wes-landing-page .wes-landing-shell {
  position: relative;
  width: 100%;
  overflow-x: hidden;
}

/* Logged-in homepage uses the same content rail as Drupal pages
 * (.wes-page-main in wes_theme/css/theme.css). Public landing sections keep
 * their centered marketing layout; authenticated sidebar mode gets the
 * Settings/Staking geometry so pages do not visually drift. */
body.wes-landing-page.wes-logged-in .wes-landing-shell {
  margin: 0 0 0 var(--wes-sidebar-width, 240px) !important;
  width: calc(100% - var(--wes-sidebar-width, 240px)) !important;
  max-width: calc(100% - var(--wes-sidebar-width, 240px)) !important;
  padding: var(--wes-page-pad-y, 24px) var(--wes-page-pad-x, 32px) !important;
  box-sizing: border-box !important;
}

body.wes-landing-page.wes-logged-in .wes-landing-section {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.wes-landing-page.wes-logged-in .wes-landing-tokenomics {
  margin-top: -60px !important;
  padding-top: 0 !important;
}

/* Grid background NOW lives on body in wes_theme/css/theme.css so every
 * page (homepage + dashboard + admin) shares the same canvas. The
 * `.grid-bg` div on the homepage is harmless but no longer paints — it's
 * kept for backward HTML compatibility while we phase it out. */
.wes-landing-shell .grid-bg {
  display: none;
}
.wes-landing-shell .orb { position: fixed; border-radius: 50%; filter: blur(80px); pointer-events: none; z-index: 0; }
.wes-landing-shell .orb1 { width: 600px; height: 600px; background: rgba(220,28,28,0.06); top:-200px; left:-100px; }
.wes-landing-shell .orb2 { width: 500px; height: 500px; background: rgba(176,16,16,0.05); bottom:0; right:-150px; }
.wes-landing-shell .orb3 { width: 400px; height: 400px; background: rgba(220,28,28,0.04); top:40%; left:40%; }

/* Section base — every landing block uses .wes-landing-section */
.wes-landing-section {
  position: relative;
  z-index: 1;
  padding: 80px 40px;
  max-width: 1280px;
  margin: 0 auto;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .wes-landing-section { padding: 56px 16px; }
  body.wes-landing-page.wes-logged-in .wes-landing-shell {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: var(--wes-page-pad-mobile, 16px) !important;
  }
  body.wes-landing-page.wes-logged-in .wes-landing-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.wes-landing-page.wes-logged-in .wes-landing-tokenomics {
    margin-top: -60px !important;
    padding-top: 0 !important;
  }
}

.wes-landing-section .center { text-align: center; }
.wes-landing-section .section-label {
  font-size: 11px; font-weight: 700; color: var(--wes-red);
  letter-spacing: 2px; text-transform: uppercase; margin-bottom: 8px;
}
.wes-landing-section .section-title {
  font-size: 36px; font-weight: 800; color: var(--wes-fg); margin-bottom: 12px;
  line-height: 1.2;
}
.wes-landing-section .section-sub {
  font-size: 14px; color: var(--wes-fg-muted); max-width: 720px; margin: 0 auto 36px;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .wes-landing-section .section-title { font-size: 26px; }
}
