/**
 * TCV Design Token System v1 - Base Layer
 * 
 * Purpose: Declares all design tokens with neutral fallback values
 * Scope: Global (:root) - no scoped selectors
 * Override: site-overrides.css maps branding.json values to these tokens
 * 
 * CRITICAL RULES:
 * - No brand-specific colors or fonts
 * - No scoped selectors (.tcv-*, [data-tcv-*])
 * - No consumption rules (only token declarations)
 * - Fallback values must work across all brands (tourism, SAP, cybersecurity, senior care)
 */

:root {
  /* ============================================
     LAYOUT & WIDTH TOKENS
     ============================================ */
  
  --tcv-container-max-width: 1280px;
  --tcv-content-max-width: 65ch;
  --tcv-gutter-inline: clamp(1rem, 5vw, 2rem);
  --tcv-section-inline-padding: clamp(1rem, 5vw, 3rem);

  /* ============================================
     SPACING RHYTHM TOKENS
     ============================================ */
  
  --tcv-space-xs: 0.5rem;
  --tcv-space-sm: 1rem;
  --tcv-space-md: 1.5rem;
  --tcv-space-lg: 2rem;
  --tcv-space-xl: 3rem;
  --tcv-space-2xl: 4rem;
  --tcv-section-block-padding: clamp(2rem, 8vw, 4rem);
  --tcv-card-padding: 1.5rem;
  --tcv-card-gap: 1.5rem;

  /* ============================================
     TYPOGRAPHY ROLE TOKENS
     Size roles (not HTML tags)
     ============================================ */
  
  --tcv-text-display: clamp(2.5rem, 6vw, 4rem);
  --tcv-text-h1: clamp(2rem, 5vw, 3rem);
  --tcv-text-h2: clamp(1.5rem, 4vw, 2rem);
  --tcv-text-h3: clamp(1.25rem, 3vw, 1.5rem);
  --tcv-text-body: 1rem;
  --tcv-text-small: 0.875rem;
  
  --tcv-line-height-tight: 1.2;
  --tcv-line-height-normal: 1.5;
  --tcv-line-height-relaxed: 1.7;
  
  --tcv-font-weight-regular: 400;
  --tcv-font-weight-medium: 500;
  --tcv-font-weight-bold: 700;

  /* ============================================
     CARD BEHAVIOR TOKENS
     ============================================ */
  
  --tcv-card-radius: 0.5rem;
  --tcv-card-shadow-base: 0 2px 8px rgba(0, 0, 0, 0.1);
  --tcv-card-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.15);
  --tcv-card-hover-lift: -4px;
  --tcv-transition-base: 200ms ease-in-out;

  /* ============================================
     HERO BEHAVIOR TOKENS
     ============================================ */
  
  --tcv-hero-min-height: 60vh;
  --tcv-hero-max-width: 50ch;
  --tcv-hero-overlay-opacity: 0.4;
  --tcv-hero-content-align: center;
  --tcv-hero-heading-scale: 1.2;

  /* ============================================
     COLOR REFERENCE TOKENS
     Semantic intent only (not UI-element-specific)
     Fallback values are neutral and brand-agnostic
     ============================================ */
  
  /* Surface Colors */
  --tcv-color-surface-primary: #ffffff;
  --tcv-color-surface-secondary: #f5f5f5;
  --tcv-color-surface-accent: #e8e8e8;
  
  /* Text Colors */
  --tcv-color-text-primary: #222222;
  --tcv-color-text-secondary: #666666;
  --tcv-color-text-inverted: #ffffff;
  --tcv-color-text-accent: #0066cc;
  
  /* Border Colors */
  --tcv-color-border-subtle: #e0e0e0;
  --tcv-color-border-standard: #cccccc;
  --tcv-color-border-accent: #0066cc;
  
  /* Overlay Colors */
  --tcv-color-overlay-light: rgba(255, 255, 255, 0.9);
  --tcv-color-overlay-medium: rgba(0, 0, 0, 0.5);
  --tcv-color-overlay-dark: rgba(0, 0, 0, 0.7);
  
  /* Interactive State Colors */
  --tcv-color-interactive-hover: #0052a3;
  --tcv-color-interactive-focus: #0066cc;
  --tcv-color-interactive-active: #003d7a;
}

/**
 * END OF TOKEN DECLARATIONS
 * 
 * No consumption rules in this file.
 * Scoped selectors and consumption patterns belong in site-overrides.css.
 */
