/* Mobil specifikus stílusok - Időjárás Magyarország */

/* Touch-friendly elemek */
@media (max-width: 768px) {
    /* Alapvető mobil optimalizáció */
    body {
        font-size: 16px; /* iOS zoom megakadályozása */
        -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
    }

    /* Nagyobb érintési területek */
    .weather-card, .weather-list-item, .weather-grid-item {
        min-height: 44px; /* iOS ajánlás */
        cursor: pointer;
        padding: 1rem;
        margin-bottom: 1rem;
    }

    /* Header mobil optimalizáció */
    .header .container {
        flex-direction: column;
        gap: 1rem;
        padding: 1rem;
    }

    .nav-controls {
        justify-content: center;
        width: 100%;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .search-container {
        width: 100%;
        order: 3;
    }

    /* Weather cards mobil */
    .weather-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .weather-card {
        padding: 1.5rem;
    }

    .temperature {
        font-size: 2.5rem;
    }

    .weather-details {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    /* AI elemzés mobil */
    .ai-recommendations {
        grid-template-columns: 1fr;
    }

    .activities-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Chart controls mobil */
    .chart-controls {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }

    .chart-tabs {
        justify-content: center;
        flex-wrap: wrap;
    }

    /* View controls mobil */
    .view-controls {
        flex-direction: column;
        gap: 0.5rem;
    }

    .view-btn {
        justify-content: center;
        padding: 1rem;
    }

    /* Lista nézet mobil */
    .weather-list-item {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }

    /* Térkép mobil */
    .map-container {
        height: 300px;
    }

    /* Footer mobil */
    .footer-content {
        grid-template-columns: 1fr;
        text-align: center;
    }

    /* Cookie banner mobil */
    .cookie-content {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }

    .cookie-buttons {
        flex-direction: column;
        width: 100%;
    }

    /* Swipe indikátorok */
    .swipe-indicator {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        font-size: 1.5rem;
        color: var(--text-muted);
        opacity: 0.5;
        pointer-events: none;
    }

    .swipe-indicator.left {
        left: 10px;
    }

    .swipe-indicator.right {
        right: 10px;
    }

    /* Pull-to-refresh */
    .pull-to-refresh {
        position: fixed;
        top: -60px;
        left: 50%;
        transform: translateX(-50%);
        background: var(--primary-blue);
        color: var(--text-white);
        padding: 0.5rem 1rem;
        border-radius: 20px;
        font-size: 0.9rem;
        opacity: 0;
        transition: var(--transition);
        z-index: 1000;
    }

    .pull-to-refresh.active {
        opacity: 1;
        top: 10px;
    }

    /* Mobil navigáció */
    .mobile-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: var(--bg-card);
        border-top: 1px solid var(--bg-secondary);
        padding: 0.5rem;
        z-index: 1000;
        display: none;
        box-shadow: var(--shadow-lg);
    }

    .mobile-nav.active {
        display: flex;
    }

    .mobile-nav-item {
        flex: 1;
        text-align: center;
        padding: 0.75rem 0.5rem;
        color: var(--text-secondary);
        text-decoration: none;
        transition: var(--transition);
        border-radius: var(--border-radius-sm);
    }

    .mobile-nav-item.active,
    .mobile-nav-item:hover {
        color: var(--primary-blue);
        background: var(--bg-tertiary);
    }

    .mobile-nav-item i {
        display: block;
        font-size: 1.2rem;
        margin-bottom: 0.25rem;
    }

    .mobile-nav-item span {
        font-size: 0.8rem;
    }
}

/* Tablet specifikus (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
    .weather-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ai-recommendations {
        grid-template-columns: repeat(2, 1fr);
    }

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

/* Landscape orientáció mobil eszközökön */
@media (max-width: 768px) and (orientation: landscape) {
    .header {
        padding: 0.5rem 0;
    }

    .weather-card {
        padding: 1rem;
    }

    .temperature {
        font-size: 2rem;
    }

    .map-container {
        height: 250px;
    }
}

/* Reduced motion preferencia */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}