/* HGX Media — Shared Design System */

/* ── GLOBAL RESET ── */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ── DESIGN TOKENS ── */
:root {
    --blue: #1B6CF2;
    --blue-hover: #1560d9;
    --blue-bg: rgba(27, 108, 242, 0.04);
    --white: #070b15;
    --off-white: #0d1526;
    --text-primary: #ffffff;
    --text-secondary: #94a0b8;
    --text-muted: #5a6478;
    --border: rgba(255, 255, 255, 0.08);
    --font: 'Inter', -apple-system, sans-serif;
    --playfair: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --max-w: 1200px;
    --r: 12px;
    --r-sm: 8px;
    --r-lg: 16px;
    --r-xl: 20px;

    /* Aliases for --hgx- prefixed variables (used by footer, creators, woocommerce) */
    --hgx-blue: var(--blue);
    --hgx-blue-hover: var(--blue-hover);
    --hgx-blue-bg: var(--blue-bg);
    --hgx-white: var(--white);
    --hgx-off-white: var(--off-white);
    --hgx-text-primary: var(--text-primary);
    --hgx-text-secondary: var(--text-secondary);
    --hgx-text-muted: var(--text-muted);
    --hgx-border: var(--border);
    --hgx-font: var(--font);
    --hgx-playfair: var(--playfair);
    --hgx-max-w: var(--max-w);
    --hgx-r: var(--r);
    --hgx-r-sm: var(--r-sm);
    --hgx-r-lg: var(--r-lg);
    --hgx-r-xl: var(--r-xl);
}

/* ── SMOOTH SCROLL ── */
html {
    scroll-behavior: smooth;
}

/* ── BODY BASE ── */
body {
    font-family: var(--font);
    background-color: var(--white);
    background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 24px 24px;
    color: var(--text-primary);
    overflow-x: clip;
    -webkit-font-smoothing: antialiased;
    position: relative;
}

/* ── ACCESSIBILITY ── */
:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 3px;
    border-radius: 4px;
}

/* ── REDUCED MOTION ── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
