/*
Theme Name: StaticPress
Theme URI: https://staticpress.dev
Author: StaticPress
Author URI: https://staticpress.dev
Description: High-performance WordPress theme with JSON caching, zero-DB frontend, visual page builder, perfect SEO, WebP/AVIF images, and full schema support.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: staticpress
Tags: page-builder, seo, performance, json-cache, schema, webp, avif, full-site-editing
*/

/* =========================================================
   BASE RESET & CSS CUSTOM PROPERTIES
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* --- Colors (overridden by theme settings) --- */
  --sp-color-primary:       #0057FF;
  --sp-color-primary-dark:  #0040CC;
  --sp-color-primary-light: #4D8FFF;
  --sp-color-secondary:     #FF6B35;
  --sp-color-accent:        #00C9A7;
  --sp-color-bg:            #FFFFFF;
  --sp-color-bg-alt:        #F8F9FC;
  --sp-color-surface:       #FFFFFF;
  --sp-color-border:        #E2E8F0;
  --sp-color-text:          #1A202C;
  --sp-color-text-muted:    #718096;
  --sp-color-text-light:    #A0ADB8;
  --sp-color-heading:       #0D1117;
  --sp-color-link:          #0057FF;
  --sp-color-link-hover:    #0040CC;
  --sp-color-success:       #38A169;
  --sp-color-warning:       #D69E2E;
  --sp-color-error:         #E53E3E;

  /* --- Dark mode overlay colors --- */
  --sp-dark-bg:             #0D1117;
  --sp-dark-surface:        #161B22;
  --sp-dark-border:         #30363D;
  --sp-dark-text:           #E6EDF3;
  --sp-dark-text-muted:     #8B949E;

  /* --- Typography --- */
  --sp-font-body:           'Inter', system-ui, -apple-system, sans-serif;
  --sp-font-heading:        'Inter', system-ui, -apple-system, sans-serif;
  --sp-font-mono:           'JetBrains Mono', 'Fira Code', monospace;
  --sp-font-size-base:      16px;
  --sp-font-size-sm:        0.875rem;
  --sp-font-size-xs:        0.75rem;
  --sp-font-size-lg:        1.125rem;
  --sp-font-size-xl:        1.25rem;
  --sp-font-size-2xl:       1.5rem;
  --sp-font-size-3xl:       1.875rem;
  --sp-font-size-4xl:       2.25rem;
  --sp-font-size-5xl:       3rem;
  --sp-font-size-6xl:       3.75rem;
  --sp-line-height-tight:   1.25;
  --sp-line-height-snug:    1.375;
  --sp-line-height-normal:  1.5;
  --sp-line-height-relaxed: 1.625;
  --sp-font-weight-normal:  400;
  --sp-font-weight-medium:  500;
  --sp-font-weight-semibold:600;
  --sp-font-weight-bold:    700;
  --sp-font-weight-black:   900;

  /* --- Spacing --- */
  --sp-space-1:   0.25rem;
  --sp-space-2:   0.5rem;
  --sp-space-3:   0.75rem;
  --sp-space-4:   1rem;
  --sp-space-5:   1.25rem;
  --sp-space-6:   1.5rem;
  --sp-space-8:   2rem;
  --sp-space-10:  2.5rem;
  --sp-space-12:  3rem;
  --sp-space-16:  4rem;
  --sp-space-20:  5rem;
  --sp-space-24:  6rem;
  --sp-space-32:  8rem;

  /* --- Layout --- */
  --sp-container-max:   1280px;
  --sp-container-wide:  1440px;
  --sp-container-narrow: 768px;
  --sp-container-pad:   1.5rem;
  --sp-sidebar-width:   300px;
  --sp-header-height:   70px;

  /* --- Borders & Radius --- */
  --sp-radius-sm:   4px;
  --sp-radius-md:   8px;
  --sp-radius-lg:   12px;
  --sp-radius-xl:   16px;
  --sp-radius-2xl:  24px;
  --sp-radius-full: 9999px;
  --sp-border-width: 1px;

  /* --- Shadows --- */
  --sp-shadow-sm:   0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
  --sp-shadow-md:   0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -1px rgba(0,0,0,.06);
  --sp-shadow-lg:   0 10px 15px -3px rgba(0,0,0,.07), 0 4px 6px -2px rgba(0,0,0,.05);
  --sp-shadow-xl:   0 20px 25px -5px rgba(0,0,0,.07), 0 10px 10px -5px rgba(0,0,0,.04);
  --sp-shadow-2xl:  0 25px 50px -12px rgba(0,0,0,.12);
  --sp-shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.06);

  /* --- Transitions --- */
  --sp-transition-fast:   150ms ease;
  --sp-transition-base:   250ms ease;
  --sp-transition-slow:   400ms ease;
  --sp-transition-spring: 350ms cubic-bezier(0.34,1.56,0.64,1);

  /* --- Z-index scale --- */
  --sp-z-below:   -1;
  --sp-z-base:    0;
  --sp-z-raised:  10;
  --sp-z-dropdown:100;
  --sp-z-sticky:  200;
  --sp-z-overlay: 300;
  --sp-z-modal:   400;
  --sp-z-toast:   500;
}
