/*
Theme Name: AverixOne
Theme URI: https://averixone.com
Author: AverixOne
Author URI: https://averixone.com
Description: AverixOne is a modern, ultra-lightweight, high-performance WordPress theme designed for speed, flexibility, and elegance. Featuring a clean aesthetic with soothing lavender accents, native Gutenberg block support, WooCommerce compatibility, and zero bloat.
Version: 1.1.0
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: averixone
Tags: blog, e-commerce, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-width-template, theme-options, threaded-comments, translation-ready, accessibility-ready, grid-layout, one-column, two-columns, right-sidebar, left-sidebar
*/

/**
 * ============================================================================
 * AVERIXONE CORE DESIGN TOKENS & CSS RESET
 * ============================================================================
 */

:root {
	/* Brand Color Palette - UI-UX Pro Max Swiss & Modern Clean */
	--av-bg-primary: #FFFFFF;
	--av-bg-secondary: #F8FAFC;
	--av-bg-elevated: #FFFFFF;
	--av-bg-subtle: #F1F5F9;
	--av-bg-light-lavender: #EFF6FF;
	--av-color-lavender: #2563EB;
	--av-color-lavender-hover: #1D4ED8;
	--av-color-purple-deep: #1E3A8A;
	--av-color-purple-hover: #172554;
	--av-color-lavender-light: #EFF6FF;
	--av-color-lavender-subtle: #F8FAFC;
	--av-text-primary: #0F172A;
	--av-text-secondary: #475569;
	--av-text-muted: #64748B;
	--av-border-color: #E2E8F0;
	--av-border-subtle: #F1F5F9;
	--av-success: #16A34A;
	--av-success-bg: #DCFCE7;
	--av-error: #DC2626;
	--av-error-bg: #FEE2E2;
	--av-warning: #D97706;
	--av-warning-bg: #FEF3C7;
	--av-info: #2563EB;
	--av-info-bg: #DBEAFE;

	/* Typography Stacks - Swiss Geometric & Modern Clean Sans */
	--av-font-heading: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--av-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--av-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;

	/* Font Sizes (Restrained, Natural Hierarchy) */
	--av-text-xs: 0.8125rem;
	--av-text-sm: 0.875rem;
	--av-text-base: 1rem;
	--av-text-md: 1.125rem;
	--av-text-lg: 1.25rem;
	--av-text-xl: 1.5rem;
	--av-text-2xl: 1.875rem;
	--av-text-3xl: 2.25rem;
	--av-text-4xl: 2.75rem;

	/* Line Heights */
	--av-leading-none: 1;
	--av-leading-tight: 1.25;
	--av-leading-snug: 1.375;
	--av-leading-normal: 1.6;
	--av-leading-relaxed: 1.7;

	/* Spacing System (8px Grid Scale) */
	--av-space-1: 0.25rem;
	--av-space-2: 0.5rem;
	--av-space-3: 0.75rem;
	--av-space-4: 1rem;
	--av-space-5: 1.25rem;
	--av-space-6: 1.5rem;
	--av-space-8: 2rem;
	--av-space-10: 2.5rem;
	--av-space-12: 3rem;
	--av-space-16: 4rem;
	--av-space-20: 5rem;
	--av-space-24: 6rem;

	/* Container & Layout (~1160px desktop width) */
	--av-container-max: 1160px;
	--av-container-narrow: 800px;
	--av-container-wide: 1240px;
	--av-sidebar-width: 300px;
	--av-container-gutter: 1.5rem;

	/* Refined Radii (4px to 8px) */
	--av-radius-xs: 3px;
	--av-radius-sm: 6px;
	--av-radius-md: 8px;
	--av-radius-lg: 12px;
	--av-radius-xl: 16px;
	--av-radius-full: 9999px;

	/* Restrained Modern Elevation Shadows */
	--av-shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.04);
	--av-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.08), 0 1px 2px -1px rgba(15, 23, 42, 0.08);
	--av-shadow-md: 0 4px 6px -1px rgba(15, 23, 42, 0.08), 0 2px 4px -2px rgba(15, 23, 42, 0.06);
	--av-shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, 0.08), 0 4px 6px -4px rgba(15, 23, 42, 0.04);
	--av-shadow-glow: 0 10px 30px -5px rgba(37, 99, 235, 0.3);
	--av-shadow-lavender: 0 8px 20px -4px rgba(37, 99, 235, 0.25);

	/* Transitions */
	--av-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
	--av-transition-base: 220ms cubic-bezier(0.4, 0, 0.2, 1);
	--av-transition-smooth: 350ms cubic-bezier(0.16, 1, 0.3, 1);

	/* Z-index layers */
	--av-z-header: 100;
	--av-z-dropdown: 200;
	--av-z-modal: 500;
	--av-z-top: 999;
}

/* Dark Mode Tokens */
[data-theme="dark"],
body.dark-mode {
	--av-bg-primary: #0B0F19;
	--av-bg-secondary: #111827;
	--av-bg-elevated: #1E293B;
	--av-bg-subtle: #1E293B;
	--av-bg-light-lavender: #1E293B;
	--av-color-lavender: #3B82F6;
	--av-color-lavender-hover: #60A5FA;
	--av-color-purple-deep: #60A5FA;
	--av-color-purple-hover: #93C5FD;
	--av-color-lavender-light: #1E293B;
	--av-color-lavender-subtle: #172554;
	--av-text-primary: #F8FAFC;
	--av-text-secondary: #94A3B8;
	--av-text-muted: #64748B;
	--av-border-color: #334155;
	--av-border-subtle: #1E293B;
	--av-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.4);
	--av-shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.5);
	--av-shadow-md: 0 10px 25px -5px rgba(0, 0, 0, 0.6);
	--av-shadow-lg: 0 20px 35px -10px rgba(0, 0, 0, 0.7);
	--av-shadow-glow: 0 10px 30px -5px rgba(59, 130, 246, 0.35);
	--av-shadow-lavender: 0 8px 24px -4px rgba(59, 130, 246, 0.3);
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--av-bg-primary: #0B0F19;
		--av-bg-secondary: #111827;
		--av-bg-elevated: #1E293B;
		--av-bg-subtle: #1E293B;
		--av-bg-light-lavender: #1E293B;
		--av-color-lavender: #3B82F6;
		--av-color-lavender-hover: #60A5FA;
		--av-color-purple-deep: #60A5FA;
		--av-color-purple-hover: #93C5FD;
		--av-color-lavender-light: #1E293B;
		--av-color-lavender-subtle: #172554;
		--av-text-primary: #F8FAFC;
		--av-text-secondary: #94A3B8;
		--av-text-muted: #64748B;
		--av-border-color: #334155;
		--av-border-subtle: #1E293B;
	}
}

/* Base CSS Reset */
*, *::before, *::after {
	box-sizing: border-box;
}

html {
	font-family: var(--av-font-sans);
	font-size: 16px;
	line-height: var(--av-leading-normal);
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	background-color: var(--av-bg-primary);
	color: var(--av-text-primary);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

body {
	margin: 0;
	padding: 0;
	background-color: var(--av-bg-primary);
	color: var(--av-text-primary);
	font-family: var(--av-font-sans);
	font-size: var(--av-text-base);
	line-height: var(--av-leading-normal);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

#page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	width: 100%;
}

.site-content {
	flex: 1 0 auto;
}

/* Accessibility Skip Link & Screen Reader Text */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: var(--av-bg-elevated);
	border: 2px solid var(--av-color-lavender);
	border-radius: var(--av-radius-sm);
	box-shadow: var(--av-shadow-md);
	clip: auto !important;
	clip-path: none;
	color: var(--av-color-lavender-hover);
	display: block;
	font-size: var(--av-text-sm);
	font-weight: 700;
	height: auto;
	left: 1rem;
	top: 1rem;
	padding: 0.75rem 1.25rem;
	text-decoration: none;
	width: auto;
	z-index: 100000;
}

:focus-visible {
	outline: 2px solid var(--av-color-lavender);
	outline-offset: 3px;
}

/* Media Elements */
img, svg, video, canvas, audio, iframe, embed, object {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--av-font-heading);
	color: var(--av-text-primary);
	font-weight: 700;
	line-height: var(--av-leading-tight);
	margin-top: 0;
	margin-bottom: var(--av-space-4);
	letter-spacing: -0.02em;
}

h1 { font-size: var(--av-text-3xl); }
h2 { font-size: var(--av-text-2xl); }
h3 { font-size: var(--av-text-xl); }
h4 { font-size: var(--av-text-lg); }
h5 { font-size: var(--av-text-md); }
h6 { font-size: var(--av-text-base); }

p {
	margin-top: 0;
	margin-bottom: var(--av-space-4);
	color: inherit;
}

a {
	color: var(--av-color-lavender);
	text-decoration: none;
	transition: color var(--av-transition-fast);
}

a:hover, a:focus {
	color: var(--av-color-lavender-hover);
}

/* WordPress Alignment Core Classes */
.alignleft {
	float: left;
	margin-right: var(--av-space-6);
	margin-bottom: var(--av-space-4);
}

.alignright {
	float: right;
	margin-left: var(--av-space-6);
	margin-bottom: var(--av-space-4);
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: var(--av-space-4);
	text-align: center;
}

.alignwide {
	max-width: var(--av-container-wide);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.alignfull {
	max-width: 100vw;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.wp-caption {
	margin-bottom: var(--av-space-4);
	max-width: 100%;
	text-align: center;
}

.wp-caption-text {
	font-size: var(--av-text-xs);
	color: var(--av-text-muted);
	margin-top: var(--av-space-2);
}
