/* ═══════════════════════════════════════════════════════════════
   REDDITPORN — base.css
   Design: Underground Editorial — Dark luxury, clean, modern
   Fonts: Bebas Neue (display) + Manrope (UI)
═══════════════════════════════════════════════════════════════ */

/* ── SELF-HOSTED FONTS ───────────────────────────────────────────
   Served from /new/fonts/ — no external requests, no render blocking.
   Manrope metric overrides match system-ui geometry so there is zero
   layout shift even on a cold cache first load.
──────────────────────────────────────────────────────────────── */

/* Manrope */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/manrope-v20-latin-300.woff2') format('woff2');
  /* Metric overrides — match system-ui so fallback causes no reflow */
  ascent-override: 100%;
  descent-override: 25%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/manrope-v20-latin-regular.woff2') format('woff2');
  ascent-override: 100%;
  descent-override: 25%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/manrope-v20-latin-500.woff2') format('woff2');
  ascent-override: 100%;
  descent-override: 25%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/manrope-v20-latin-600.woff2') format('woff2');
  ascent-override: 100%;
  descent-override: 25%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/manrope-v20-latin-700.woff2') format('woff2');
  ascent-override: 100%;
  descent-override: 25%;
  line-gap-override: 0%;
}

/* Bebas Neue — display font, used for logo/age gate */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/bebas-neue-v16-latin-regular.woff2') format('woff2');
  ascent-override: 90%;
  descent-override: 20%;
  line-gap-override: 0%;
}

/* Material Icons font removed — all icons are now inline SVGs */

/* ── CSS VARIABLES / THEMING ─────────────────────────────────── */
:root {
  --bg:           #0a0c10;
  --lb-chrome-bg:   #000;
  --lb-ad-bg:       rgba(0,0,0,0.15);
  --lb-ad-border:   transparent;  /* dark mode: no visible borders, zones bleed together */
  --bg-card:      #111418;
  --bg-elevated:  #181c22;
  --bg-overlay:   rgba(0,0,0,0.15);
  --border:       #1e2430;
  --border-light: #252d3a;
  --text:         #e8edf3;
  --text-muted:   #6b7a90;
  --text-subtle:  #404858;
  --accent:       #ff1a1a;
  --accent-glow:  rgba(255,26,26,0.18);
  --accent-hover: #ff3838;
  --radius:       10px;
  --radius-lg:    16px;
  --radius-xl:    22px;
  --shadow:       0 4px 12px -2px rgba(0,0,0,0.4);
  --shadow-card:  0 2px 12px rgba(0,0,0,0.4);
  --trans:        0.2s ease;
  --sidebar-w:    240px;
  --header-h:     58px;
  --cols:         3;
}

[data-theme="light"] {
  --bg:           #f2f4f7;
  --lb-chrome-bg:   #f2f4f7;
  --lb-ad-bg:       #000;           /* light mode: ad zones + leaderboard match media body */
  --lb-ad-border:   rgba(0,0,0,0.08); /* subtle border only needed in light mode */
  --bg-card:      #ffffff;
  --bg-elevated:  #e8eaee;
  --bg-overlay:   rgba(0,0,0,0.6);
  --border:       #dde1e8;
  --border-light: #eaecf0;
  --text:         #111418;
  --text-muted:   #5a6478;
  --text-subtle:  #a0aab8;
  --shadow:       0 4px 24px rgba(0,0,0,0.1);
  --shadow-card:  0 2px 12px rgba(0,0,0,0.08);
}

/* ── RESET ───────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
/* NOTE: overflow-x must NOT be set on html or body — doing so creates a scroll
   container that breaks position:sticky on the site-header. Horizontal overflow
   is prevented by clipping it on .site-body instead (see Layout section). */
html, body { overflow-x: clip; }
/* Remove tap/click focus rings — keep keyboard focus for accessibility */
:focus:not(:focus-visible) { outline: none; box-shadow: none; }
body {
  font-family: 'Manrope', system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
  line-height: 1.6;
  min-height: 100vh;
  transition: background var(--trans), color var(--trans);
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }

/* ── SCROLLBAR ───────────────────────────────────────────────── */
::-webkit-scrollbar { width: 0; height: 0; }
* { scrollbar-width: none; }

