/* TorneoDiPadel Design Tokens
 * Source: documentation/development/HOME_DESIGN_SYSTEM.md
 */

:root,
[data-theme="light"] {
    color-scheme: light;

    --tdp-font-title: 'Montserrat', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --tdp-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --tdp-font-numeric: 'Montserrat', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --tdp-color-primary-500: #007bff;
    --tdp-color-primary-600: #0056b3;
    --tdp-color-primary-700: #1e3d72;
    --tdp-color-secondary-500: #00d26a;
    --tdp-color-accent-yellow-500: #ffd600;
    --tdp-color-accent-orange-500: #f97316;
    --tdp-color-accent-sky-500: #38bdf8;
    --tdp-color-accent-violet-500: #7c3aed;

    --tdp-color-neutral-900: #0d0d0d;
    --tdp-color-neutral-800: #0f172a;
    --tdp-color-neutral-700: #334155;
    --tdp-color-neutral-600: #475569;
    --tdp-color-neutral-500: #64748b;
    --tdp-color-neutral-300: #cbd5e1;
    --tdp-color-neutral-200: #e2e8f0;
    --tdp-color-neutral-100: #f1f5f9;
    --tdp-color-neutral-50: #f8fafc;
    --tdp-color-white: #ffffff;

    --tdp-color-success: #16a34a;
    --tdp-color-info: #0ea5e9;
    --tdp-color-warning: #f59e0b;
    --tdp-color-danger: #dc3545;

    --tdp-gradient-hero-sport: linear-gradient(135deg, rgba(13,13,13,.78), rgba(0,123,255,.38));
    --tdp-gradient-premium-cta: linear-gradient(90deg, #ffd600 0%, #f59e0b 100%);
    --tdp-gradient-stat-card: linear-gradient(135deg, rgba(0,123,255,.10), rgba(0,210,106,.10));
    --tdp-gradient-dark-section: radial-gradient(circle at 15% 20%, #1e293b 0%, #0b1020 55%, #06080f 100%);
    --tdp-gradient-surface-soft: linear-gradient(135deg, var(--tdp-color-neutral-50) 0%, #e9ecef 100%);
    --tdp-gradient-surface-info: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);

    --tdp-space-1: 8px;
    --tdp-space-2: 16px;
    --tdp-space-3: 24px;
    --tdp-space-4: 32px;
    --tdp-space-5: 40px;
    --tdp-space-6: 48px;
    --tdp-space-8: 64px;
    --tdp-space-10: 80px;
    --tdp-space-12: 96px;

    --tdp-radius-button: 14px;
    --tdp-radius-card: 16px;
    --tdp-radius-section: 20px;
    --tdp-radius-pill: 999px;
    --tdp-radius-input: 10px;

    --tdp-shadow-soft: 0 8px 20px rgba(15,23,42,.08);
    --tdp-shadow-medium: 0 14px 30px rgba(15,23,42,.14);
    --tdp-shadow-elevated: 0 20px 44px rgba(2,6,23,.30);

    --tdp-pattern-bg1: radial-gradient(circle at 20% 20%, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 45%);
    --tdp-pattern-bg2: linear-gradient(120deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,0) 50%);
    --tdp-overlay-dark-soft: rgba(13, 13, 13, 0.45);
    --tdp-overlay-dark-strong: rgba(13, 13, 13, 0.8);

    --tdp-z-base: 1;
    --tdp-z-dropdown: 1000;
    --tdp-z-sticky: 1020;
    --tdp-z-fixed: 1030;
    --tdp-z-offcanvas: 1045;
    --tdp-z-modal: 1055;
    --tdp-z-toast: 1090;

    --tdp-transition-fast: 160ms ease;
    --tdp-transition-normal: 240ms ease;
    --tdp-transition-slow: 320ms ease;

    --tdp-text-display-xl: clamp(2.4rem, 7vw, 5.8rem);
    --tdp-text-h2: clamp(1.6rem, 3.5vw, 2.7rem);
    --tdp-text-h3-min: 1.2rem;
    --tdp-text-h3-max: 1.5rem;
    --tdp-text-body: 1rem;
    --tdp-text-caption: .82rem;

    --tdp-section-space-desktop: 80px;
    --tdp-section-space-mobile: 56px;

    /* Legacy compatibility aliases */
    --primary-color: var(--tdp-color-primary-500);
    --secondary-color: var(--tdp-color-neutral-50);
    --accent-color: var(--tdp-color-accent-orange-500);
    --success-color: var(--tdp-color-success);
    --info-color: var(--tdp-color-info);
    --warning-color: var(--tdp-color-warning);
    --danger-color: var(--tdp-color-danger);
    --light-color: var(--tdp-color-neutral-50);
    --dark-color: var(--tdp-color-neutral-800);
}

[data-theme="dark"] {
    color-scheme: dark;

    --tdp-color-neutral-900: #f8fafc;
    --tdp-color-neutral-800: #e2e8f0;
    --tdp-color-neutral-700: #cbd5e1;
    --tdp-color-neutral-600: #94a3b8;
    --tdp-color-neutral-500: #64748b;
    --tdp-color-neutral-300: #1e293b;
    --tdp-color-neutral-200: #0f172a;
    --tdp-color-neutral-100: #0b1020;
    --tdp-color-neutral-50: #06080f;
    --tdp-color-white: #ffffff;

    --tdp-gradient-surface-soft: linear-gradient(135deg, #0f172a 0%, #111827 100%);
    --tdp-gradient-surface-info: linear-gradient(135deg, rgba(56,189,248,.2) 0%, rgba(59,130,246,.16) 100%);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        color-scheme: dark;
    }
}

/* Token utility helpers */
.tdp-surface-card {
    background: var(--tdp-color-white);
    border: 1px solid var(--tdp-color-neutral-200);
    border-radius: var(--tdp-radius-card);
    box-shadow: var(--tdp-shadow-soft);
}

.tdp-surface-section {
    border-radius: var(--tdp-radius-section);
    padding: var(--tdp-space-5);
    background: var(--tdp-color-white);
}

.tdp-elevation-soft { box-shadow: var(--tdp-shadow-soft); }
.tdp-elevation-medium { box-shadow: var(--tdp-shadow-medium); }
.tdp-elevation-elevated { box-shadow: var(--tdp-shadow-elevated); }

.tdp-radius-card { border-radius: var(--tdp-radius-card); }
.tdp-radius-button { border-radius: var(--tdp-radius-button); }
.tdp-radius-pill { border-radius: var(--tdp-radius-pill); }

.tdp-gradient-hero { background: var(--tdp-gradient-hero-sport); }
.tdp-gradient-premium { background: var(--tdp-gradient-premium-cta); }
.tdp-gradient-stat { background: var(--tdp-gradient-stat-card); }
.tdp-gradient-dark { background: var(--tdp-gradient-dark-section); }

.tdp-text-title {
    font-family: var(--tdp-font-title);
    letter-spacing: -.02em;
}

.tdp-text-body {
    font-family: var(--tdp-font-body);
    font-size: var(--tdp-text-body);
}

.tdp-transition {
    transition: all var(--tdp-transition-normal);
}

.tdp-pattern-overlay {
    background-image: var(--tdp-pattern-bg1), var(--tdp-pattern-bg2);
}

/* Tailwind bridge placeholders (future config mapping)
   theme.extend.colors.primary.500 -> var(--tdp-color-primary-500)
   theme.extend.borderRadius.card -> var(--tdp-radius-card)
   theme.extend.boxShadow.soft -> var(--tdp-shadow-soft)
*/
