/*
Theme Name: GTA6Wire
Theme URI: https://gta6wire.xyz/
Author: GTA6Wire
Author URI: https://gta6wire.xyz/
Description: "Vice City Neon Drive" — a retrowave hype theme for GTA 6 news. CSS-3D neon grid road hero with a live launch countdown, breaking-news ticker, auto-advancing featured carousel, image-led cards with neon glow, per-category sections that never repeat a post, FAQ with schema, dark by default with a Miami-daylight light mode. Hand-coded PHP, CSS and vanilla JS; no page builders, no plugin dependencies.
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gta6wire
Tags: blog, news, entertainment, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, theme-options
*/

/* ==========================================================================
   Design tokens. Dark is the default for every visitor; light applies only
   when a visitor picks it ([data-theme="light"], restored before first paint
   by assets/js/theme-init.js). prefers-color-scheme is intentionally unused.
   ========================================================================== */

:root {
	/* Surfaces */
	--bg: #0B0A14;
	--surface: #15132A;
	--raised: #1E1C35;
	--border: #3B2A63;
	--border-soft: rgba(124, 58, 237, 0.28);

	/* Text */
	--text: #F2F0FF;
	--muted: #A9A3C7;

	/* Neon accents */
	--pink: #FF2E88;
	--pink-text: #FF5FA2;
	--on-pink: #FFFFFF;
	--cyan: #22E4F5;
	--cyan-text: #22E4F5;
	--violet: #7C3AED;
	--pink-glow: rgba(255, 46, 136, 0.45);
	--cyan-glow: rgba(34, 228, 245, 0.35);
	--sunset: linear-gradient(90deg, #FF2E88 0%, #FF7A45 55%, #FFC857 100%);
	--focus-ring: #22E4F5;
	--success: #4ADE80;
	--danger: #FF6B8B;

	/* Text on images stays light in both themes */
	--on-image: #FFFFFF;
	--on-image-muted: rgba(255, 255, 255, 0.8);
	--scrim: linear-gradient(180deg, rgba(11, 10, 20, 0) 30%, rgba(11, 10, 20, 0.6) 60%, rgba(11, 10, 20, 0.95) 100%);

	/* Depth */
	--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);
	--shadow-md: 0 14px 30px -12px rgba(0, 0, 0, 0.7);
	--glow-pink: 0 0 0 1px var(--pink), 0 0 24px -2px var(--pink-glow), 0 18px 40px -16px var(--pink-glow);

	/* Typography */
	--font-display: "Russo One", "Arial Black", Impact, system-ui, sans-serif;
	--font-body: "Chakra Petch", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--text-xs: 0.75rem;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-md: 1.125rem;
	--text-lg: 1.25rem;
	--text-xl: clamp(1.375rem, 1.2rem + 0.7vw, 1.75rem);
	--text-2xl: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
	--text-3xl: clamp(2.125rem, 1.6rem + 2.4vw, 3.5rem);
	--text-display: clamp(2.375rem, 1.5rem + 4vw, 4.75rem);

	/* Spacing (8-pt grid) */
	--space-1: 4px;
	--space-2: 8px;
	--space-3: 12px;
	--space-4: 16px;
	--space-5: 20px;
	--space-6: 24px;
	--space-8: 32px;
	--space-10: 40px;
	--space-12: 48px;
	--space-16: 64px;
	--space-24: 96px;

	/* Radius */
	--radius-sm: 6px;
	--radius-md: 12px;
	--radius-lg: 18px;
	--radius-full: 9999px;

	/* Motion */
	--dur-fast: 180ms;
	--dur-base: 260ms;
	--dur-slow: 520ms;
	--ease-out: cubic-bezier(0, 0, 0.2, 1);
	--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

	/* Layout */
	--container: 1280px;
	--measure: 70ch;
	--gutter: clamp(16px, 4vw, 40px);
	--admin-offset: var(--wp-admin--admin-bar--height, 0px);

	color-scheme: dark;
}

/* "Miami daylight" — a designed light mode, not an inversion. */
:root[data-theme="light"] {
	--bg: #F7F4FB;
	--surface: #FFFFFF;
	--raised: #FFFFFF;
	--border: #E4DAF2;
	--border-soft: rgba(124, 58, 237, 0.16);
	--text: #1A1330;
	--muted: #5A5275;
	--pink: #FF2E88;
	--pink-text: #C8175F;
	--on-pink: #FFFFFF;
	--cyan: #0E7C8A;
	--cyan-text: #0E7C8A;
	--violet: #6D28D9;
	--pink-glow: rgba(255, 46, 136, 0.28);
	--cyan-glow: rgba(14, 124, 138, 0.22);
	--focus-ring: #0E7C8A;
	--success: #15803D;
	--danger: #C8175F;
	--shadow-sm: 0 2px 8px rgba(26, 19, 48, 0.06);
	--shadow-md: 0 14px 30px -14px rgba(26, 19, 48, 0.22);
	color-scheme: light;
}
