/* ═══════════════════════════════════════════════════════════════════
   BASE THEME - Radio Station Player
   ═══════════════════════════════════════════════════════════════════
   Default CSS custom properties + shared player layout rules.
   Sites load: base.css + {site}.css from api.inspiringdesigns.biz
   
   All component selectors use .zar-radio-* prefix for CSS isolation.
   No global tag selectors, no element resets, fully scoped styling.
═══════════════════════════════════════════════════════════════════ */

:root {
  /* ─────────────────────────────────────────────────
     COLOR PALETTE - DEFAULT VALUES
  ───────────────────────────────────────────────── */

  /* Background layers */
  --zar-bg: #0a0a0f;
  --zar-bg-secondary: #12111a;
  --zar-bg-tertiary: #1a1828;

  /* Text colors */
  --zar-text: #f0ece4;
  --zar-text-muted: #8a8070;
  --zar-text-faint: #4a4540;

  /* Accent colors */
  --zar-accent: #c9a84c;
  --zar-accent-dark: #8b6914;
  --zar-accent-light: #e8cC6a;
  --zar-accent-glow: rgba(201, 168, 76, 0.15);

  /* Player component colors */
  --zar-player-bg: #12111a;
  --zar-player-border: rgba(201, 168, 76, 0.15);
  --zar-player-shadow: rgba(0, 0, 0, 0.5);

  /* Button states */
  --zar-button-bg: transparent;
  --zar-button-border: rgba(201, 168, 76, 0.25);
  --zar-button-text: #f0ece4;
  --zar-button-hover: rgba(201, 168, 76, 0.1);
  --zar-button-active: rgba(201, 168, 76, 0.2);

  /* Visualizer */
  --zar-visualizer-color: #c9a84c;
  --zar-visualizer-bg: rgba(18, 17, 26, 0.8);
  --zar-visualizer-line-width: 1.5;

  /* Progress bar */
  --zar-progress-bg: rgba(201, 168, 76, 0.15);
  --zar-progress-fill: #c9a84c;
  --zar-progress-handle: #c9a84c;

  /* Lyrics display */
  --zar-lyrics-font: 'DM Sans', system-ui, sans-serif;
  --zar-lyrics-size: 1rem;
  --zar-lyrics-line-height: 1.8;
  --zar-lyrics-color: #f0ece4;
  --zar-lyrics-marker-color: #c9a84c;

  /* Album art */
  --zar-art-border: rgba(201, 168, 76, 0.15);
  --zar-art-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
  --zar-art-placeholder-bg: #1a1828;

  /* Scrollbar */
  --zar-scrollbar-thumb: rgba(201, 168, 76, 0.3);
  --zar-scrollbar-thumb-hover: rgba(201, 168, 76, 0.6);

  /* ─────────────────────────────────────────────────
     TYPOGRAPHY
  ───────────────────────────────────────────────── */

  --zar-font-display: 'Playfair Display', Georgia, serif;
  --zar-font-mono: 'DM Mono', 'Courier New', monospace;
  --zar-font-body: 'DM Sans', system-ui, sans-serif;

  /* Sizes */
  --zar-font-xs: 0.75rem;
  --zar-font-sm: 0.875rem;
  --zar-font-base: 1rem;
  --zar-font-lg: 1.125rem;
  --zar-font-xl: 1.25rem;
  --zar-font-2xl: 1.5rem;

  /* Line heights */
  --zar-line-height-tight: 1.2;
  --zar-line-height-normal: 1.5;
  --zar-line-height-relaxed: 1.8;

  /* ─────────────────────────────────────────────────
     SPACING & SIZING
  ───────────────────────────────────────────────── */

  --zar-space-xs: 0.25rem;
  --zar-space-sm: 0.5rem;
  --zar-space-md: 1rem;
  --zar-space-lg: 1.5rem;
  --zar-space-xl: 2rem;
  --zar-space-2xl: 3rem;

  /* Borders & Radius */
  --zar-border-radius-sm: 4px;
  --zar-border-radius-md: 8px;
  --zar-border-radius-lg: 12px;
  --zar-border-width: 1px;

  /* Component dimensions */
  --zar-player-height: 120px;
  --zar-player-width: 100%;
  --zar-visualizer-height: 300px;
  --zar-album-art-size: 250px;
  --zar-button-size: 2.5rem;

  /* ─────────────────────────────────────────────────
     ANIMATIONS & TRANSITIONS
  ───────────────────────────────────────────────── */

  --zar-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --zar-ease-in: cubic-bezier(0.42, 0, 1, 1);
  --zar-ease-out: cubic-bezier(0, 0, 0.58, 1);

  --zar-dur-fast: 150ms;
  --zar-dur-base: 280ms;
  --zar-dur-slow: 500ms;
  --zar-dur-crossfade: 2500ms;

  /* Z-index layers */
  --zar-z-player: 100;
  --zar-z-overlay: 200;
  --zar-z-modal: 300;

  /* ─────────────────────────────────────────────────
     LAYOUT - FULL-BLEED OVERFLOW CONTROL
  ───────────────────────────────────────────────── */

  /* Hero full-bleed: override to 100%/0 in contained themes */
  --zar-hero-overflow-width: 100vw;
  --zar-hero-overflow-margin: calc(-50vw + 50%);

  /* Controls section full-bleed: same override pattern */
  --zar-controls-overflow-width: 100vw;
  --zar-controls-overflow-margin: calc(-50vw + 50%);

  /* ─────────────────────────────────────────────────
     PREMIUM COMPONENTS - HERO BLUR BACKGROUND
  ───────────────────────────────────────────────── */

   /* Hero blur background */
   --zar-hero-blur-amount: 50px;
   --zar-hero-blur-saturate: 120%;
   --zar-hero-blur-scale: 1.1;
   --zar-hero-blur-mobile: 18px;
   --zar-hero-gradient: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.6) 40%, transparent 100%);
   --zar-hero-height: 70vh;
   --zar-hero-min-height: 400px;
   --zar-hero-max-height: 800px;
   --zar-hero-art-fallback-bg: var(--zar-bg-tertiary);
   --zar-hero-art-opacity: 0.92;

  /* ─────────────────────────────────────────────────
     PREMIUM COMPONENTS - AUTO-HIDE CONTROLS
  ───────────────────────────────────────────────── */

  /* Auto-hide controls */
  --zar-controls-hide-delay: 3000ms;
  --zar-controls-transition-duration: 300ms;
  --zar-controls-bg: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);

  /* ─────────────────────────────────────────────────
     PREMIUM COMPONENTS - PROGRESS BAR
  ───────────────────────────────────────────────── */

  /* Progress bar */
  --zar-progress-height: 3px;
  --zar-progress-height-hover: 6px;
  --zar-progress-thumb-size: 12px;

  /* ─────────────────────────────────────────────────
     PREMIUM COMPONENTS - VOLUME POPUP
  ───────────────────────────────────────────────── */

  /* Volume popup */
  --zar-volume-popup-width: 36px;
  --zar-volume-popup-height: 120px;
  --zar-volume-popup-bg: rgba(0,0,0,0.85);

  /* ─────────────────────────────────────────────────
     PREMIUM COMPONENTS - LYRICS OVERLAY
  ───────────────────────────────────────────────── */

  /* Lyrics overlay */
  --zar-lyrics-overlay-bg: rgba(0,0,0,0.75);
  --zar-lyrics-overlay-blur: 8px;

  /* ─────────────────────────────────────────────────
     PREMIUM COMPONENTS - TRACK GRID
  ───────────────────────────────────────────────── */

  /* Track grid thumbnails */
  --zar-track-thumb-size: 48px;
  --zar-track-thumb-radius: var(--zar-border-radius-sm);

  /* ─────────────────────────────────────────────────
     PREMIUM COMPONENTS - CROSSFADE TRANSITION
  ───────────────────────────────────────────────── */

  /* Crossfade transition */
  --zar-blur-crossfade-duration: 800ms;
}

/* ─────────────────────────────────────────────────
   REDUCED MOTION SUPPORT
───────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  :root {
    --zar-dur-fast: 0ms;
    --zar-dur-base: 0ms;
    --zar-dur-slow: 0ms;
    --zar-dur-crossfade: 0ms;

    /* Premium components - animation overrides */
    --zar-controls-transition-duration: 0ms;
    --zar-blur-crossfade-duration: 0ms;
  }
}

/* ─────────────────────────────────────────────────
   MOBILE ADJUSTMENTS
───────────────────────────────────────────────── */

@media (max-width: 768px) {
  :root {
    /* Premium components - mobile blur reduction */
    --zar-hero-blur-amount: var(--zar-hero-blur-mobile);
  }
}
