/* Final mobile hardening: layout only, no content/design changes */
@media (max-width: 768px) {
  .header-container { padding: 0 12px !important; }
  .main-header { width: 100% !important; }
  .header-top { padding: 10px 0 !important; gap: 8px !important; border-bottom: none !important; margin-bottom: 0 !important; }
  .main-nav { margin-top: 0 !important; border-top: none !important; }
  .nav-content { height: 54px !important; margin-top: 0 !important; }
  .header-top > div:first-child { min-width: 0 !important; }
  .logo-section { min-width: 0 !important; }
  .logo-text { font-size: 20px !important; line-height: 1 !important; letter-spacing: -0.5px !important; }
  .logo-year { font-size: 10px !important; margin-top: 2px !important; }
  .header-right { gap: 6px !important; }
  .header-right .btn-auth { width: 38px !important; min-width: 38px !important; height: 38px !important; padding: 0 !important; border-radius: 50% !important; justify-content: center !important; }
  .header-right .btn-auth span { display: none !important; }
  .header-right .btn-auth i { margin: 0 !important; font-size: 15px !important; }
  .mobile-menu-btn { display: flex !important; width: 38px !important; height: 38px !important; align-items: center !important; justify-content: center !important; }

  .hero-section { margin-top: 106px !important; padding: 88px 12px 28px !important; min-height: auto !important; }
  .hero-content { max-width: 100% !important; }
  .hero-title { font-size: 24px !important; line-height: 1.25 !important; margin-bottom: 10px !important; }
  .hero-subtitle { font-size: 14px !important; line-height: 1.5 !important; margin-bottom: 20px !important; }
  .tursab-hero-badge { font-size: 10px !important; padding: 9px 12px !important; gap: 8px !important; text-align: left !important; }
  .tursab-hero-badge span { line-height: 1.35 !important; }

  .search-wrapper { padding: 16px !important; border-radius: 16px !important; }
  .search-tabs { gap: 8px !important; margin-bottom: 16px !important; padding-bottom: 6px !important; }
  .search-tab { padding: 10px 14px !important; font-size: 12px !important; gap: 6px !important; }
  .search-form { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; }
  .search-field { min-width: 100% !important; width: 100% !important; }
  .search-field input, .filter-group select, .form-group input, .form-group select { width: 100% !important; }
  .search-field input { padding: 14px !important; font-size: 14px !important; }
  .btn-search { width: 100% !important; height: auto !important; justify-content: center !important; padding: 14px 18px !important; }

  .container { padding: 0 14px !important; }
  .section-header { margin-bottom: 26px !important; }
  .section-title { font-size: 24px !important; line-height: 1.25 !important; }
  .section-subtitle { font-size: 14px !important; line-height: 1.55 !important; }
  .featured-tours, .reviews-section, .campaigns-section, .tour-categories, .features-section { padding: 52px 0 !important; }

  .featured-grid, .categories-grid, .features-grid, .reviews-grid, .category-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .featured-card, .tour-card, .review-card, .feature-card, .category-card, .campaign-card, .tour-detail-card, .filters, .booking-card { width: 100% !important; max-width: 100% !important; }
  .featured-image, .tour-image { height: 210px !important; }
  .category-card { height: 220px !important; }
  .campaign-card.large { flex-direction: column !important; height: auto !important; }
  .campaign-image, .campaign-content { width: 100% !important; }
  .campaign-image { height: 220px !important; }
  .campaign-content { padding: 24px 20px 70px !important; }
  .campaign-title { font-size: 22px !important; line-height: 1.3 !important; }
  .campaign-features { gap: 10px !important; }
  .feature-box { flex: 1 1 calc(50% - 10px); min-width: 120px !important; }
  .slider-controls { left: 20px !important; bottom: 18px !important; }
  .slider-dots { right: 20px !important; bottom: 24px !important; }

  .service-cities-grid { grid-template-columns: 1fr 1fr !important; }

  .category-page, .tour-detail-page, #aboutPage, #legalPage { padding-top: 106px !important; }
  .category-header { padding: 24px 0 26px !important; }
  .category-header .container { padding-top: 0 !important; }
  #categoryTitle { font-size: 28px !important; line-height: 1.2 !important; margin-bottom: 12px !important; padding-top: 0 !important; }
  #categoryDesc { font-size: 14px !important; margin-top: 0 !important; line-height: 1.6 !important; }
  .category-content { padding: 24px 14px 40px !important; }
  .filters { padding: 16px !important; gap: 12px !important; margin-bottom: 18px !important; }
  .filter-group { min-width: 100% !important; }

  .tour-hero { height: 280px !important; }
  .tour-hero-overlay { padding: 18px 14px !important; }
  .tour-detail-content { margin: -34px auto 0 !important; padding: 0 14px 38px !important; }
  .tour-detail-card { padding: 18px !important; border-radius: 18px !important; }
  .detail-grid { grid-template-columns: 1fr !important; gap: 22px !important; }
  .detail-info h1 { font-size: 24px !important; line-height: 1.25 !important; }
  .detail-meta { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; margin-bottom: 18px !important; align-items: start !important; }
  .detail-meta-item { width: auto !important; min-width: 0 !important; font-size: 13px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
  .detail-meta-item span { line-height: 1.35 !important; word-break: normal !important; overflow-wrap: break-word !important; }
  .detail-meta-item i { font-size: 16px !important; flex-shrink: 0 !important; }
  .detail-description { font-size: 14px !important; line-height: 1.7 !important; }
  .detail-highlights { padding: 18px !important; }
  .detail-highlights h3 { font-size: 18px !important; }
  .highlight-list li { align-items: flex-start !important; font-size: 14px !important; }
  .booking-card { position: static !important; top: auto !important; padding: 20px !important; border-radius: 18px !important; }
  .booking-price { font-size: 30px !important; }
  .price-calculation { padding: 16px !important; }
  .calc-row { font-size: 13px !important; }
  .calc-row.total { font-size: 17px !important; }
  .btn-book { padding: 16px !important; }

  /* generic inline-heavy sections in detail page */
  .tour-detail-card [style*="display: grid"] { grid-template-columns: 1fr !important; }
  .tour-detail-card [style*="display: flex"] { flex-wrap: wrap !important; }
  .tour-detail-card [style*="min-width: 280px"] { min-width: 100% !important; }
  .tour-detail-card [style*="padding: 40px"] { padding: 20px !important; }

  /* tab bars and button rows */
  .tour-detail-card [onclick*="showTab"],
  .tour-detail-card button,
  .tour-detail-card .tab-button {
    min-height: 42px !important;
  }
  .tour-detail-card [style*="display: flex"][style*="gap"] {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* detailed mobile fixes for tour detail tabs/lists */
  .tour-tabs {
    margin-top: 22px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }
  .tour-tabs .tab-btn {
    width: 100% !important;
    padding: 12px 10px !important;
    min-height: 46px !important;
    border: 1px solid #e7e7e7 !important;
    border-bottom: 1px solid #e7e7e7 !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
    background: #fff !important;
  }
  .tour-tabs .tab-btn.active {
    background: #fff5f5 !important;
    border-color: #e30613 !important;
    color: #e30613 !important;
  }
  .tab-contents {
    margin-top: 18px !important;
  }
  .tab-content > p,
  #tourDescriptionTab {
    font-size: 14px !important;
    line-height: 1.75 !important;
    margin-bottom: 18px !important;
  }
  .tab-content h3 {
    font-size: 17px !important;
    line-height: 1.35 !important;
    margin-bottom: 16px !important;
    align-items: flex-start !important;
  }
  .tab-content [style*="background: #f8f9fa"] {
    padding: 16px !important;
    border-radius: 14px !important;
  }
  .tab-content [style*="background: #f8f9fa"] h3 {
    font-size: 17px !important;
    margin-bottom: 14px !important;
  }
  #tourHighlights,
  #includedList,
  #excludedList,
  #extraList {
    margin: 0 !important;
    padding: 0 !important;
  }
  #tourHighlights li,
  #includedList li,
  #excludedList li,
  #extraList li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 12px 0 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
  #tourHighlights li i,
  #includedList li i,
  #excludedList li i,
  #extraList li i {
    flex: 0 0 16px !important;
    margin-top: 3px !important;
    font-size: 15px !important;
  }
  #tourHighlights li span,
  #includedList li span,
  #excludedList li span,
  #extraList li span {
    min-width: 0 !important;
  }
  .google-reviews-box { flex-direction: column !important; text-align: center !important; padding: 20px !important; gap: 12px !important; }
  .review-card { padding: 20px !important; }

  .footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .footer-brand { text-align: center !important; padding-right: 0 !important; }
  .footer-brand .logo-text { font-size: 28px !important; }
  .social-links { justify-content: center !important; }
  .contact-line, .footer-links a { font-size: 14px !important; }

  .chat-widget { right: 16px !important; bottom: 16px !important; padding: 12px 16px !important; font-size: 13px !important; gap: 8px !important; max-width: calc(100vw - 32px) !important; }
  .back-to-top { right: 16px !important; bottom: 82px !important; }

  .page, .page * { word-wrap: break-word; overflow-wrap: anywhere; }
}

@media (max-width: 480px) {
  .logo-text { font-size: 18px !important; }
  .hero-section { margin-top: 100px !important; padding-top: 82px !important; }
  .hero-title { font-size: 22px !important; }
  .tursab-hero-badge { max-width: 100% !important; }
  .service-cities-grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .service-city-card { padding: 10px !important; }
  .campaign-title { font-size: 20px !important; }
  .tour-hero { height: 240px !important; }
  #categoryTitle, .detail-info h1 { font-size: 22px !important; }
  .mobile-menu { width: 88% !important; }
  .mobile-menu-header { padding: 16px !important; }
  .mobile-nav-links { padding: 16px 16px 26px !important; }
  .mobile-nav-links a { padding: 15px 0 !important; font-size: 15px !important; min-height: 48px !important; }
  .mobile-nav-links a span { line-height: 1.45 !important; padding-right: 10px !important; white-space: normal !important; }
  .mobile-group-title { padding: 18px 0 10px !important; }
}


        /* Mobile compact Google Reviews */
        @media (max-width: 768px) {
            .reviews-section {
                padding: 45px 0;
            }

            .reviews-header {
                margin-bottom: 25px;
            }

            .google-reviews-box {
                flex-direction: row;
                text-align: left;
                gap: 14px;
                padding: 14px 16px;
                border-radius: 16px;
                margin-bottom: 22px;
                width: 100%;
                max-width: 340px;
            }

            .google-logo-big {
                width: 42px;
                height: 42px;
                min-width: 42px;
                font-size: 22px;
            }

            .reviews-info h3 {
                font-size: 18px;
                margin-bottom: 2px;
            }

            .reviews-stars {
                font-size: 16px;
                margin-bottom: 2px;
            }

            .reviews-count {
                font-size: 12px;
            }

            .reviews-grid {
                grid-template-columns: 1fr;
                gap: 12px;
            }

            .review-card {
                padding: 16px;
                border-radius: 16px;
            }

            .review-header {
                gap: 10px;
                margin-bottom: 12px;
            }

            .review-avatar {
                width: 38px;
                height: 38px;
                min-width: 38px;
                font-size: 15px;
            }

            .review-meta h4 {
                font-size: 14px;
                margin-bottom: 1px;
            }

            .review-stars-small {
                font-size: 11px;
            }

            .review-text {
                font-size: 13px;
                line-height: 1.55;
                display: -webkit-box;
                -webkit-line-clamp: 4;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }

            .review-date {
                margin-top: 10px;
                font-size: 11px;
            }
        }


        @media (max-width: 768px) {
            .tour-hero-overlay {
                padding: 24px 20px 78px !important;
            }
            .tour-hero-overlay h1 {
                font-size: 24px !important;
                line-height: 1.2 !important;
                margin-bottom: 10px !important;
            }
        }

    
        @media (max-width: 768px) {
            .filters {
                padding: 16px !important;
                margin-bottom: 18px !important;
                border-radius: 14px !important;
                gap: 12px !important;
            }

            .filter-group {
                min-width: 100% !important;
            }

            .filter-group label {
                font-size: 12px !important;
                margin-bottom: 6px !important;
            }

            .filter-group select {
                padding: 10px 12px !important;
                font-size: 14px !important;
                min-height: 44px !important;
                border-radius: 10px !important;
            }

            .category-content {
                padding: 20px 14px !important;
            }
        }

    
        @media (max-width: 768px) {
            .category-content {
                padding: 20px 14px !important;
            }

            .filters-toggle-wrap {
                margin-bottom: 18px !important;
            }

            .filters-toggle-btn {
                display: flex !important;
            }

            .filters {
                display: none !important;
                padding: 14px !important;
                margin-top: 10px !important;
                margin-bottom: 0 !important;
                border-radius: 14px !important;
                gap: 10px !important;
            }

            .filters.active {
                display: flex !important;
            }

            .filter-group {
                min-width: 100% !important;
            }

            .filter-group label {
                font-size: 12px !important;
                margin-bottom: 6px !important;
            }

            .filter-group select {
                padding: 10px 12px !important;
                font-size: 14px !important;
                min-height: 42px !important;
                border-radius: 10px !important;
            }
        }

    

        /* Kompakt ve premium rezervasyon kartı */
        .booking-card {
            max-width: 330px !important;
            margin-left: auto !important;
            padding: 22px !important;
            border-radius: 22px !important;
            background: linear-gradient(145deg, #11162d 0%, #1c2440 100%) !important;
            box-shadow: 0 18px 45px rgba(15, 23, 42, 0.22) !important;
            border: 1px solid rgba(255,255,255,0.08) !important;
        }

        .booking-price {
            font-size: 30px !important;
            line-height: 1.05 !important;
            margin-bottom: 6px !important;
            letter-spacing: -0.5px !important;
        }

        .booking-price-note {
            font-size: 12px !important;
            margin-bottom: 18px !important;
            color: rgba(255,255,255,0.72) !important;
        }

        .booking-card .form-group {
            margin-bottom: 14px !important;
        }

        .booking-card .form-group label {
            font-size: 12px !important;
            margin-bottom: 7px !important;
            font-weight: 700 !important;
            color: rgba(255,255,255,0.82) !important;
        }

        .booking-card .form-group input,
        .booking-card .form-group select {
            padding: 11px 13px !important;
            min-height: 44px !important;
            border-radius: 12px !important;
            font-size: 13px !important;
            background: rgba(255,255,255,0.08) !important;
            border: 1px solid rgba(255,255,255,0.18) !important;
        }

        .booking-card .price-calculation {
            padding: 14px 15px !important;
            border-radius: 15px !important;
            margin: 16px 0 !important;
            background: rgba(255,255,255,0.06) !important;
            border: 1px solid rgba(255,255,255,0.06) !important;
        }

        .booking-card .calc-row {
            font-size: 12px !important;
            margin-bottom: 8px !important;
        }

        .booking-card .calc-row.total {
            font-size: 16px !important;
            padding-top: 9px !important;
            margin-top: 8px !important;
        }

        .booking-card .btn-book {
            padding: 13px 16px !important;
            border-radius: 14px !important;
            font-size: 14px !important;
            box-shadow: 0 10px 25px rgba(227, 6, 19, 0.28) !important;
        }

        @media (max-width: 1024px) {
            .booking-card {
                max-width: 100% !important;
                margin-left: 0 !important;
            }
        }

        @media (max-width: 768px) {
            .booking-card {
                padding: 18px !important;
                border-radius: 20px !important;
            }
            .booking-price {
                font-size: 26px !important;
            }
        }


/* === V30 MOBİL UYUMLULUK TAMAMLAMA - mevcut tasarımı bozmadan === */
html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
}

img, video, iframe {
    max-width: 100%;
}

button, a, input, select, textarea {
    touch-action: manipulation;
}

@media (max-width: 1180px) {
    .header-container,
    .container,
    .category-content,
    .footer-container {
        max-width: 100% !important;
    }

    .nav-links a {
        padding-left: 16px !important;
        padding-right: 16px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 1024px) {
    .main-header {
        position: fixed !important;
    }

    .header-top {
        padding: 10px 0 !important;
    }

    .logo-section {
        text-align: left !important;
        flex: 0 1 auto !important;
    }

    .site-logo-img {
        max-width: 150px !important;
        height: auto !important;
    }

    .header-right {
        flex: 0 0 auto !important;
    }

    .btn-auth {
        width: 42px !important;
        height: 42px !important;
        padding: 0 !important;
        justify-content: center !important;
        border-radius: 14px !important;
    }

    .main-nav {
        display: none !important;
    }

    .hero-section {
        margin-top: 72px !important;
        min-height: auto !important;
        padding: 92px 16px 42px !important;
        background-position: center center !important;
    }

    .hero-title {
        font-size: clamp(30px, 6vw, 44px) !important;
        line-height: 1.12 !important;
        letter-spacing: -0.6px !important;
    }

    .hero-subtitle {
        font-size: 16px !important;
        margin-bottom: 24px !important;
    }

    .search-wrapper {
        width: min(100%, 720px) !important;
        padding: 22px !important;
        border-radius: 20px !important;
    }

    .search-tabs {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        padding-bottom: 14px !important;
        scrollbar-width: none;
    }

    .search-tabs::-webkit-scrollbar {
        display: none;
    }

    .search-tab {
        flex: 0 0 auto !important;
        padding: 10px 16px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    .search-field input,
    .search-field select,
    .filter-group select,
    .booking-card input,
    .booking-card select {
        font-size: 16px !important;
    }

    .campaigns-grid,
    .featured-grid,
    .categories-grid,
    .features-grid,
    .reviews-grid,
    .category-grid,
    .footer-grid,
    .detail-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .campaign-card.large {
        flex-direction: column !important;
        height: auto !important;
    }

    .campaign-card.large > .campaign-image,
    .campaign-card.large > .campaign-content,
    .campaign-image,
    .campaign-content {
        width: 100% !important;
    }

    .campaign-card.large > .campaign-image,
    .campaign-card.small .campaign-image {
        height: 260px !important;
    }

    .campaign-content {
        padding: 28px !important;
    }

    .tour-detail-page,
    .category-page {
        padding-top: 86px !important;
    }

    .tour-detail-card {
        padding: 28px !important;
        border-radius: 22px !important;
    }

    .booking-card {
        position: relative !important;
        top: auto !important;
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
    }
}

@media (max-width: 768px) {
    body {
        font-size: 15px !important;
    }

    .header-container,
    .container,
    .footer-container,
    .category-content,
    .tour-detail-content {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .header-top {
        min-height: 64px !important;
        border-bottom: 0 !important;
    }

    .site-logo-img {
        max-width: 132px !important;
    }

    .mobile-menu {
        width: 88% !important;
        max-width: 360px !important;
    }

    .mobile-menu-header {
        padding: 16px !important;
    }

    .mobile-nav-links {
        padding: 14px 18px !important;
    }

    .mobile-nav-links a {
        padding: 15px 0 !important;
        font-size: 15px !important;
    }

    .hero-section {
        margin-top: 64px !important;
        padding: 62px 14px 30px !important;
        min-height: auto !important;
    }

    .tursab-hero-badge {
        margin-bottom: 18px !important;
        max-width: 100% !important;
        white-space: normal !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .hero-title {
        font-size: 27px !important;
        line-height: 1.14 !important;
        margin-bottom: 10px !important;
    }

    .hero-subtitle {
        font-size: 14px !important;
        line-height: 1.45 !important;
        margin-bottom: 18px !important;
    }

    .search-wrapper {
        padding: 16px !important;
        border-radius: 18px !important;
        box-shadow: 0 16px 45px rgba(0,0,0,0.22) !important;
    }

    .search-form {
        gap: 12px !important;
    }

    .search-field {
        min-width: 100% !important;
        width: 100% !important;
    }

    .search-field input,
    .search-field select {
        min-height: 48px !important;
        padding: 12px 14px !important;
        border-radius: 12px !important;
    }

    .btn-search {
        height: 50px !important;
        padding: 13px 18px !important;
        border-radius: 13px !important;
    }

    .featured-tours,
    .reviews-section,
    .campaigns-section,
    .tour-categories,
    .features-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .section-header {
        margin-bottom: 24px !important;
    }

    .section-title {
        font-size: 25px !important;
        line-height: 1.18 !important;
        margin-bottom: 8px !important;
    }

    .section-subtitle {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .campaigns-grid,
    .featured-grid,
    .categories-grid,
    .features-grid,
    .reviews-grid,
    .category-grid,
    .footer-grid,
    .detail-grid,
    .about-feature-grid,
    .service-cities-grid,
    .references-grid,
    .detail-grid > div[style*="grid-template-columns"],
    .container > div[style*="grid-template-columns"],
    .tour-detail-card div[style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .featured-card,
    .tour-card,
    .category-card,
    .feature-card,
    .review-card,
    .campaign-card {
        border-radius: 18px !important;
    }

    .featured-image,
    .tour-image {
        height: 190px !important;
    }

    .featured-content,
    .tour-info {
        padding: 17px !important;
    }

    .featured-title,
    .tour-title {
        font-size: 16px !important;
        line-height: 1.35 !important;
    }

    .featured-bottom,
    .tour-details {
        gap: 12px !important;
        align-items: center !important;
    }

    .featured-price,
    .tour-price {
        font-size: 20px !important;
        line-height: 1.15 !important;
    }

    .btn-reserve,
    .btn-detail {
        min-height: 38px !important;
        padding: 9px 14px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    #karabukBartinToursCarousel.tour-carousel-track {
        gap: 14px !important;
        padding: 6px 2px 18px !important;
        scroll-padding-left: 2px !important;
    }

    #karabukBartinToursCarousel .featured-card {
        min-width: 82vw !important;
        max-width: 82vw !important;
        flex: 0 0 82vw !important;
        scroll-snap-align: start !important;
    }

    .tour-carousel-controls,
    div[style*="tour-carousel-controls"] {
        display: flex !important;
        justify-content: center !important;
        gap: 10px !important;
        margin-top: 8px !important;
    }

    .category-card {
        height: 220px !important;
    }

    .campaign-card {
        height: auto !important;
        min-height: 0 !important;
    }

    .campaign-card.large > .campaign-image,
    .campaign-card.small .campaign-image {
        height: 220px !important;
    }

    .campaign-content {
        padding: 22px 18px !important;
    }

    .campaign-title {
        font-size: 21px !important;
        line-height: 1.25 !important;
        margin-bottom: 16px !important;
    }

    .campaign-features {
        gap: 8px !important;
    }

    .feature-box {
        padding: 10px !important;
        flex: 1 1 calc(50% - 8px) !important;
    }

    .slider-controls {
        left: 18px !important;
        bottom: 18px !important;
    }

    .slider-dots {
        right: 18px !important;
        bottom: 22px !important;
    }

    .tour-hero {
        height: 300px !important;
        margin-top: 0 !important;
    }

    .tour-hero-overlay {
        padding: 22px 16px !important;
    }

    .tour-hero-overlay h1 {
        font-size: 23px !important;
        line-height: 1.18 !important;
    }

    .tour-detail-content {
        margin-top: -34px !important;
        padding-bottom: 36px !important;
    }

    .tour-detail-card {
        padding: 18px !important;
        border-radius: 20px !important;
    }

    .detail-info h1 {
        font-size: 24px !important;
        line-height: 1.2 !important;
    }

    .detail-meta {
        gap: 10px !important;
        margin-bottom: 18px !important;
    }

    .detail-meta-item {
        font-size: 13px !important;
        gap: 7px !important;
        flex: 1 1 100% !important;
    }

    .detail-description {
        font-size: 14px !important;
        line-height: 1.7 !important;
        margin-bottom: 20px !important;
    }

    .detail-highlights {
        padding: 18px !important;
        border-radius: 15px !important;
        margin-bottom: 18px !important;
    }

    .detail-highlights h3 {
        font-size: 17px !important;
        margin-bottom: 12px !important;
    }

    .highlight-list li {
        font-size: 13px !important;
        align-items: flex-start !important;
    }

    .booking-card {
        padding: 18px !important;
        border-radius: 18px !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-top: 6px !important;
    }

    .booking-price {
        font-size: 28px !important;
    }

    .booking-card .form-group {
        margin-bottom: 12px !important;
    }

    .booking-card .price-calculation {
        margin: 13px 0 !important;
    }

    .booking-card .btn-book {
        width: 100% !important;
        min-height: 48px !important;
    }

    .category-page {
        padding-top: 70px !important;
    }

    .category-header {
        display: none !important;
    }

    .category-content {
        padding-top: 20px !important;
    }

    .filters-toggle-btn {
        min-height: 48px !important;
    }

    .filters.active {
        flex-direction: column !important;
    }

    .school-references {
        margin-top: 34px !important;
        padding: 28px 0 !important;
        border-radius: 18px !important;
    }

    .footer-grid {
        text-align: left !important;
    }

    .footer-brand {
        text-align: left !important;
    }

    .social-links {
        justify-content: flex-start !important;
    }

    .footer-title {
        margin-bottom: 16px !important;
    }

    .footer-bottom {
        padding: 18px 12px !important;
        font-size: 12px !important;
    }

    .chat-widget {
        right: 14px !important;
        bottom: 18px !important;
        padding: 13px 16px !important;
        font-size: 0 !important;
        width: 54px !important;
        height: 54px !important;
        border-radius: 50% !important;
        justify-content: center !important;
        z-index: 1200 !important;
    }

    .chat-widget i {
        font-size: 21px !important;
    }

    .back-to-top {
        right: 14px !important;
        bottom: 84px !important;
        width: 44px !important;
        height: 44px !important;
    }

    .toast {
        width: calc(100% - 28px) !important;
        max-width: 420px !important;
        bottom: 88px !important;
        padding: 13px 18px !important;
        border-radius: 16px !important;
        justify-content: center !important;
        text-align: center !important;
    }
}

@media (max-width: 420px) {
    .site-logo-img {
        max-width: 116px !important;
    }

    .btn-auth,
    .mobile-menu-btn {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
    }

    .hero-title {
        font-size: 24px !important;
    }

    .search-tab {
        padding: 9px 13px !important;
    }

    #karabukBartinToursCarousel .featured-card {
        min-width: 86vw !important;
        max-width: 86vw !important;
        flex-basis: 86vw !important;
    }

    .featured-image,
    .tour-image {
        height: 176px !important;
    }

    .featured-bottom,
    .tour-details {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .btn-reserve,
    .btn-detail {
        width: 100% !important;
        justify-content: center !important;
    }

    .tour-hero {
        height: 260px !important;
    }

    .booking-price {
        font-size: 25px !important;
    }
}


/* === v31: mobil hizmet illeri, tur detay ve görsel düzeltmeleri === */
img[src*="loremflickr.com"], .tour-image img, .featured-image img, .category-card img, .campaign-image img, .tour-hero img {
    display: block;
    background: #f1f1f1;
}

@media (max-width: 768px) {
    .service-cities-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .service-city-card {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: initial !important;
        padding: 10px 8px !important;
        align-items: center !important;
    }

    .service-city-card div,
    .service-city-card span {
        min-width: 0 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    .tour-detail-page {
        overflow-x: hidden !important;
    }

    .tour-detail-content {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
    }

    .tour-detail-card {
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px !important;
        border-radius: 18px !important;
        box-sizing: border-box !important;
    }

    .detail-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
        width: 100% !important;
    }

    .detail-info,
    .booking-card,
    .tab-contents,
    .tab-content {
        min-width: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .detail-meta {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        margin-bottom: 16px !important;
    }

    .detail-meta-item {
        flex: unset !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 9px 8px !important;
        border-radius: 12px !important;
        background: #f8f9fa !important;
        font-size: 11.5px !important;
        line-height: 1.3 !important;
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
    }

    .detail-meta-item i {
        font-size: 14px !important;
        flex: 0 0 auto !important;
    }

    .detail-meta-item span,
    .detail-description,
    #tourDescriptionTab,
    #tourHighlights li,
    .tour-detail-card p,
    .tour-detail-card li {
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
    }

    .detail-description,
    #tourDescriptionTab {
        font-size: 14px !important;
        line-height: 1.75 !important;
    }

    .tour-tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: 8px !important;
        padding-bottom: 8px !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .tour-tabs .tab-btn {
        flex: 0 0 auto !important;
        padding: 11px 14px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        border-radius: 12px 12px 0 0 !important;
    }

    .tab-contents > div,
    .tour-detail-card [style*="background: #f8f9fa"],
    .tour-detail-card [style*="background:#f8f9fa"] {
        padding: 16px !important;
        border-radius: 14px !important;
    }

    #tourHighlights {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    #tourHighlights li {
        display: flex !important;
        align-items: flex-start !important;
        gap: 8px !important;
        font-size: 13.5px !important;
        line-height: 1.55 !important;
    }

    .tour-hero img,
    .tour-image img,
    .featured-image img,
    .category-card img,
    .campaign-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

@media (max-width: 420px) {
    .detail-meta {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .detail-meta-item {
        font-size: 10.5px !important;
        padding: 8px 6px !important;
        gap: 5px !important;
    }

    .detail-meta-item i {
        font-size: 13px !important;
    }
}
