/**
 * Gezimanyagi.com.tr - Mobil Responsive Stiller
 * Tüm sayfalar için kapsamlı mobil uyumluluk
 */

/* ========== TABLET (max-width: 1024px) ========== */
@media (max-width: 1024px) {

    /* Ana Layout */
    .section {
        padding: 60px 0;
    }

    .section-header {
        margin-bottom: 40px;
    }

    .section-header h2 {
        font-size: 2rem;
    }

    /* Grid Sistemleri */
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .hotel-layout,
    .blog-layout,
    .checkout-layout {
        grid-template-columns: 1fr !important;
        gap: 2rem;
    }

    .hotel-sidebar,
    .blog-sidebar,
    .checkout-sidebar {
        position: static !important;
        order: -1;
    }

    /* Hero */
    .hero-content h1 {
        font-size: 2.5rem;
    }

    .hero-content p {
        font-size: 1.1rem;
    }

    /* Search Box */
    .search-form {
        flex-direction: column;
    }

    .search-form .form-group {
        min-width: 100%;
    }
}

/* ========== MOBILE (max-width: 768px) ========== */
@media (max-width: 768px) {

    /* Typography */
    h1 {
        font-size: 1.75rem !important;
    }

    h2 {
        font-size: 1.5rem !important;
    }

    h3 {
        font-size: 1.25rem !important;
    }

    h4 {
        font-size: 1.1rem;
    }

    /* Container */
    .container {
        padding: 0 15px;
    }

    /* Section */
    .section {
        padding: 40px 0;
    }

    .section-header {
        margin-bottom: 30px;
    }

    .section-header p {
        font-size: 0.95rem;
    }

    /* Grids - Tek kolon */
    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr !important;
        gap: 1rem;
    }

    /* Hero Section */
    .hero {
        min-height: 100vh;
        min-height: 100dvh;
        /* Dynamic viewport */
    }

    .hero-content {
        padding: 20px;
    }

    .hero-content h1 {
        font-size: 2rem !important;
        line-height: 1.2;
    }

    .hero-content p {
        font-size: 1rem;
        margin-bottom: 1.5rem;
    }

    /* Search Box */
    .search-box {
        padding: 1rem;
        margin: 0 10px;
    }

    .search-form .btn {
        width: 100%;
    }

    /* Cards */
    .card {
        border-radius: 12px;
    }

    .card-body {
        padding: 1rem;
    }

    .card-title {
        font-size: 1.1rem;
    }

    /* Destination Card */
    .destination-card {
        height: 280px;
    }

    .destination-card-content {
        padding: 1rem;
    }

    .destination-card-content h3 {
        font-size: 1.25rem;
    }

    /* Tour/Hotel Cards */
    .tour-card .card-price,
    .hotel-card .card-price {
        flex-wrap: wrap;
    }

    .price-current {
        font-size: 1.5rem !important;
    }

    /* Page Headers */
    .page-header {
        padding: 100px 0 40px !important;
    }

    .page-header h1 {
        font-size: 1.75rem !important;
    }

    /* Blog Header */
    .blog-header {
        padding: 120px 0 60px !important;
    }

    .blog-header h1 {
        font-size: 1.5rem !important;
    }

    .blog-meta {
        gap: 1rem !important;
        font-size: 0.8rem;
    }

    /* Blog Content */
    .post-content {
        font-size: 1rem;
    }

    .post-content h2 {
        font-size: 1.25rem;
    }

    .author-box {
        flex-direction: column;
        text-align: center;
        padding: 1.5rem;
    }

    .post-share {
        flex-direction: column;
        align-items: flex-start;
    }

    /* Hotel Gallery */
    .hotel-gallery {
        grid-template-columns: 1fr !important;
    }

    .gallery-main img {
        height: 250px !important;
        border-radius: 0 !important;
    }

    .gallery-thumbs {
        display: none !important;
    }

    /* Hotel Details */
    .hotel-main h1 {
        font-size: 1.5rem !important;
    }

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

    .room-card {
        flex-direction: column !important;
        text-align: center;
    }

    .room-features {
        justify-content: center !important;
        flex-wrap: wrap;
    }

    .room-price {
        margin-top: 1rem;
        width: 100%;
    }

    /* Tour Detail */
    .itinerary-item {
        flex-direction: column;
        text-align: center;
    }

    .itinerary-day {
        margin: 0 auto 1rem;
    }

    /* Booking Sidebar */
    .booking-card {
        padding: 1.25rem;
    }

    .booking-price .price-amount {
        font-size: 1.75rem !important;
    }

    /* FAQ */
    .faq-layout {
        grid-template-columns: 1fr !important;
    }

    .faq-sidebar {
        position: static !important;
    }

    .faq-nav {
        display: flex;
        overflow-x: auto;
        padding-bottom: 0.5rem;
    }

    .faq-nav-item {
        white-space: nowrap;
        padding: 0.5rem 1rem;
    }

    .faq-question {
        padding: 1rem;
        font-size: 0.95rem;
    }

    /* Legal Pages */
    .legal-content {
        padding: 1.5rem !important;
    }

    .legal-content h2 {
        font-size: 1.25rem !important;
    }

    /* Auth Pages */
    .auth-card {
        padding: 2rem 1.5rem !important;
        margin: 0 15px;
        border-radius: 16px !important;
    }

    .auth-header h1 {
        font-size: 1.5rem !important;
    }

    /* User Panel */
    .user-layout {
        grid-template-columns: 1fr !important;
    }

    .user-sidebar {
        position: static !important;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 2rem;
        text-align: center;
    }

    .footer h4::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .footer-social {
        justify-content: center;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }

    .footer-bottom-links {
        flex-wrap: wrap;
        justify-content: center;
    }

    /* Buttons */
    .btn {
        padding: 12px 24px;
        font-size: 0.95rem;
    }

    .btn-lg {
        padding: 14px 28px;
    }

    .btn-block {
        width: 100%;
    }

    /* Forms */
    .form-control {
        padding: 12px 16px;
        font-size: 16px;
        /* iOS zoom önleme */
    }

    .form-row {
        grid-template-columns: 1fr !important;
    }

    /* Tables */
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    table {
        min-width: 600px;
    }

    /* Breadcrumb */
    .breadcrumb {
        font-size: 0.85rem;
        flex-wrap: wrap;
    }

    /* Cookie Consent */
    .cookie-content {
        flex-direction: column !important;
        text-align: center;
    }

    .cookie-content p {
        flex-direction: column !important;
    }

    /* Back to Top */
    .back-to-top {
        bottom: 20px !important;
        right: 20px !important;
        width: 44px !important;
        height: 44px !important;
    }

    /* Toast */
    .toast-container {
        left: 15px;
        right: 15px;
        max-width: none;
    }

    /* Admin Panel */
    .admin-layout .sidebar {
        display: none;
    }

    .admin-layout .main-content {
        margin-left: 0 !important;
    }

    /* Cart & Checkout */
    .cart-item {
        flex-direction: column;
        text-align: center;
    }

    .cart-item-image {
        margin: 0 auto 1rem;
    }

    /* Search Results */
    .search-results .result-item {
        flex-direction: column;
    }

    /* Favorites */
    .favorite-card {
        flex-direction: column;
    }
}

/* ========== SMALL MOBILE (max-width: 480px) ========== */
@media (max-width: 480px) {
    html {
        font-size: 14px;
    }

    .container {
        padding: 0 12px;
    }

    .hero-content h1 {
        font-size: 1.5rem !important;
    }

    .section {
        padding: 30px 0;
    }

    .card {
        border-radius: 10px;
    }

    .btn {
        padding: 10px 20px;
    }

    /* Navbar */
    .navbar-brand {
        font-size: 1.25rem !important;
    }

    /* Price */
    .price-current {
        font-size: 1.25rem !important;
    }

    /* Stats */
    .counter-number {
        font-size: 2rem !important;
    }

    /* Reviews */
    .review-card {
        padding: 1rem;
    }

    .author-avatar {
        width: 40px !important;
        height: 40px !important;
        font-size: 1rem !important;
    }
}

/* ========== Landscape Mode Fix ========== */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        min-height: auto;
        padding: 100px 0 50px;
    }

    .hero-content h1 {
        font-size: 1.5rem !important;
    }
}

/* ========== TOUCH DEVICE OPTIMIZATIONS ========== */
@media (hover: none) and (pointer: coarse) {

    /* Remove hover effects on touch */
    .card:hover {
        transform: none;
    }

    .btn:hover {
        transform: none;
    }

    /* Larger touch targets */
    .navbar-nav a {
        padding: 12px 16px;
    }

    .faq-question {
        min-height: 56px;
    }

    /* Smooth scrolling for iOS */
    .scroll-container {
        -webkit-overflow-scrolling: touch;
    }
}

/* ========== SAFE AREA (Notch phones) ========== */
@supports (padding: max(0px)) {
    .navbar {
        padding-top: max(16px, env(safe-area-inset-top));
    }

    .footer {
        padding-bottom: max(40px, env(safe-area-inset-bottom));
    }

    .cookie-consent {
        padding-bottom: max(20px, env(safe-area-inset-bottom));
    }
}

/* ========== PRINT STYLES ========== */
@media print {

    .navbar,
    .footer,
    .back-to-top,
    .cookie-consent,
    .booking-card,
    .sidebar {
        display: none !important;
    }

    .container {
        max-width: 100%;
    }

    body {
        font-size: 12pt;
        color: #000;
    }
}