/**
 * TeslaHub - Tesla Ekran Optimizasyonları
 * Tesla araç içi ekranlar için özel stiller
 */

/* ======================================
   TESLA BROWSER SPECIFIC
   ====================================== */

/* Tesla browser detection */
@supports (-webkit-touch-callout: none) {
    /* iOS/Tesla WebKit optimizations */
    body {
        -webkit-touch-callout: none;
        -webkit-user-select: none;
    }
}

/* ======================================
   TOUCH OPTIMIZATIONS
   ====================================== */

/* Büyük dokunma hedefleri */
button,
.btn,
.nav-item,
.quick-action-btn,
.control-btn,
a[role="button"],
[role="button"] {
    min-height: var(--touch-target-min);
    min-width: var(--touch-target-min);
}

/* Dokunma geri bildirimi */
.touch-feedback {
    -webkit-tap-highlight-color: transparent;
    transition: background-color 0.1s;
}

.touch-feedback:active {
    background-color: rgba(255, 255, 255, 0.1);
}

/* ======================================
   HIGH CONTRAST FOR IN-CAR VISIBILITY
   ====================================== */

/* Gündüz modu (daha yüksek kontrast) */
@media (prefers-color-scheme: light) {
    :root {
        --text-primary: #000000;
        --text-secondary: rgba(0, 0, 0, 0.7);
        --bg-primary: #ffffff;
    }
}

/* Güneş ışığında okunabilirlik */
.high-contrast {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

/* ======================================
   LARGE TEXT MODE
   ====================================== */

.text-readable {
    font-size: var(--font-size-lg);
    line-height: 1.6;
    letter-spacing: 0.02em;
}

/* Büyük sayılar için */
.text-display {
    font-size: var(--font-size-xxl);
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
}

/* ======================================
   LANDSCAPE OPTIMIZATION
   ====================================== */

/* Tesla ekranları landscape */
@media (orientation: landscape) {
    .content-wrapper {
        padding: var(--spacing-md) var(--spacing-lg);
    }

    .grid-auto {
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    }
}

/* ======================================
   SAFE AREA (Notch, rounded corners)
   ====================================== */

.header {
    padding-left: max(var(--spacing-lg), env(safe-area-inset-left));
    padding-right: max(var(--spacing-lg), env(safe-area-inset-right));
}

.quick-actions {
    padding-bottom: max(var(--spacing-md), env(safe-area-inset-bottom));
}

/* ======================================
   DRIVING MODE (Simplified UI)
   ====================================== */

.driving-mode .glass-card {
    padding: var(--spacing-xl);
}

.driving-mode .btn {
    min-height: 70px;
    font-size: var(--font-size-lg);
}

.driving-mode .control-btn {
    min-width: 120px;
    min-height: 120px;
}

.driving-mode .control-btn-icon {
    font-size: 48px;
}

.driving-mode .nav-item {
    padding: var(--spacing-lg);
}

/* ======================================
   GLARE REDUCTION
   ====================================== */

/* Mat görünüm için gölgeleri azalt */
.reduce-glare {
    box-shadow: none !important;
}

.reduce-glare .glass-card {
    box-shadow: var(--shadow-sm);
}

/* ======================================
   PERFORMANCE OPTIMIZATIONS
   ====================================== */

/* GPU acceleration */
.gpu-accelerated {
    transform: translateZ(0);
    will-change: transform;
}

/* Reduce motion for better performance */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ======================================
   FULLSCREEN MODE
   ====================================== */

.fullscreen-mode {
    position: fixed;
    inset: 0;
    z-index: var(--z-modal);
}

.fullscreen-mode .header,
.fullscreen-mode .sidebar,
.fullscreen-mode .quick-actions {
    display: none;
}

.fullscreen-mode .content-wrapper {
    margin: 0;
    padding: 0;
}

/* ======================================
   PARK/CHARGE MODE
   ====================================== */

/* Park modunda daha fazla detay göster */
.park-mode .glass-card {
    padding: var(--spacing-lg);
}

.park-mode .sidebar {
    width: 100px;
}

.park-mode .nav-item {
    flex-direction: row;
    justify-content: flex-start;
    gap: var(--spacing-md);
    padding: var(--spacing-md) var(--spacing-lg);
}

/* ======================================
   NIGHT MODE ENHANCEMENTS
   ====================================== */

.night-mode {
    --bg-primary: #000000;
    --bg-secondary: #0a0a0a;
    --glass-bg: rgba(10, 10, 10, 0.9);
}

.night-mode .glass-card {
    border-color: rgba(255, 255, 255, 0.05);
}

/* Dim mode for night driving */
.dim-mode {
    filter: brightness(0.7);
}

/* ======================================
   VEHICLE STATUS DISPLAY
   ====================================== */

.vehicle-status-bar {
    display: flex;
    align-items: center;
    gap: var(--spacing-lg);
    padding: var(--spacing-md) var(--spacing-lg);
    background: var(--glass-bg);
    border-radius: var(--radius-lg);
}

.status-indicator {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.status-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    animation: statusPulse 2s ease-in-out infinite;
}

.status-dot.online {
    background: var(--success);
}

.status-dot.offline {
    background: var(--error);
}

.status-dot.sleeping {
    background: var(--warning);
}

@keyframes statusPulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

/* ======================================
   QUICK INFO DISPLAY
   ====================================== */

.quick-info {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-tertiary);
    border-radius: var(--radius-md);
    font-size: var(--font-size-sm);
}

.quick-info-icon {
    font-size: 20px;
}

.quick-info-value {
    font-weight: var(--font-weight-semibold);
}

/* ======================================
   GESTURE HINTS
   ====================================== */

.swipe-hint {
    position: relative;
}

.swipe-hint::after {
    content: '';
    position: absolute;
    bottom: var(--spacing-sm);
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 4px;
    background: var(--text-muted);
    border-radius: var(--radius-full);
}

/* ======================================
   RESPONSIVE GRID FOR TESLA SCREENS
   ====================================== */

/* 15" Tesla ekran (1200 x 800) */
@media (min-width: 1200px) and (max-height: 900px) {
    .grid-tesla {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--spacing-md);
    }

    .glass-card {
        padding: var(--spacing-md);
    }
}

/* 17" Tesla ekran (2200 x 1300) */
@media (min-width: 2000px) {
    :root {
        --font-size-xs: 16px;
        --font-size-sm: 18px;
        --font-size-md: 20px;
        --font-size-lg: 28px;
        --font-size-xl: 40px;
        --font-size-xxl: 56px;
        --touch-target-min: 64px;
    }

    .grid-tesla {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ======================================
   ACCESSIBILITY IMPROVEMENTS
   ====================================== */

/* Focus visible for keyboard navigation */
:focus-visible {
    outline: 3px solid var(--primary);
    outline-offset: 3px;
}

/* High visibility for important actions */
.btn-primary:focus-visible {
    outline-color: white;
}

/* Skip link for screen readers */
.skip-link {
    position: absolute;
    top: -100%;
    left: 50%;
    transform: translateX(-50%);
    padding: var(--spacing-md) var(--spacing-lg);
    background: var(--primary);
    color: white;
    border-radius: var(--radius-md);
    z-index: var(--z-modal);
}

.skip-link:focus {
    top: var(--spacing-md);
}
