/* Theme Variables */
:root {
    --bg-primary: #19191c;
    --bg-secondary: #1e1e21;
    --bg-input: #27272a;
    --text-primary: #ffffff;
    --text-secondary: #9ca3af;
    --text-title: #ffffff;
    --border-color: #374151;
    --circle-gradient-1: linear-gradient(135deg, #1a0505 0%, #2d0a0a 50%, #450a0a 100%);
    --circle-gradient-2: linear-gradient(135deg, #450a0a 0%, #7f1d1d 50%, #991b1b 100%);
    --button-gradient: linear-gradient(135deg, #4a0e0e 0%, #6b1515 50%, #8b1d1d 100%);
    --button-border: rgba(107, 21, 21, 0.5);
    --button-shadow: rgba(127, 29, 29, 0.5);
}

[data-theme="light"] {
    --bg-primary: #f3f4f6;
    --bg-secondary: #ffffff;
    --bg-input: #f9fafb;
    --text-primary: #111827;
    --text-secondary: #6b7280;
    --text-title: #fb8024;
    --border-color: #e5e7eb;
    --circle-gradient-1: linear-gradient(135deg, #fff7ed 0%, #fed7aa 50%, #fb923c 100%);
    --circle-gradient-2: linear-gradient(135deg, #fb923c 0%, #f97316 50%, #ea580c 100%);
    --button-gradient: linear-gradient(135deg, #ea580c 0%, #f97316 50%, #fb923c 100%);
    --button-border: rgba(249, 115, 22, 0.5);
    --button-shadow: rgba(234, 88, 12, 0.5);
}

body {
    background-color: var(--bg-primary);
}

/* Mobile Optimizations */
@media (max-width: 768px) {
    /* Ensure touch targets are at least 44x44px */
    button, input, select {
        min-height: 44px;
    }
    
    /* Touch target for standalone links only, not inline text links */
    a.btn, a[role="button"] {
        min-height: 44px;
    }
    
    /* Improve form input sizes on mobile */
    input[type="email"],
    input[type="password"],
    input[type="tel"],
    input[type="text"],
    input[type="date"],
    select {
        font-size: 16px !important; /* Prevents zoom on iOS */
        padding: 12px 16px !important;
    }
    
    /* Better button spacing on mobile */
    button[type="submit"] {
        padding: 14px 24px !important;
        font-size: 16px !important;
    }
    
    /* Adjust logo sizes for mobile */
    .logo-container h1 {
        letter-spacing: 0.05em !important;
    }
    
    /* Prevent horizontal scroll */
    html, body {
        overflow-x: hidden;
        max-width: 100vw;
    }
}

/* Touch device improvements */
@media (hover: none) and (pointer: coarse) {
    /* Increase tap target sizes */
    button, input, select {
        min-height: 48px;
        min-width: 48px;
    }
    
    /* Remove hover effects on touch devices */
    *:hover {
        transform: none !important;
    }
}
