.package-option:hover { border-color: var(--vz-primary); }
.cursor-pointer { cursor: pointer; }

#booking-widget { overflow: visible !important; }
#booking-widget .card-body { overflow: visible !important; }

#tourPaxDropdown { position: relative; }

.pax-dropdown-menu {
    z-index: 1060 !important;
}

.room-block {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 15px;
    position: relative;
}

.child-ages-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 12px;
    padding: 10px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #eef2f7;
}

.pax-change-btn i {
    pointer-events: none;
}


/* Mobil Ayarlar */
@media (max-width: 768px) {
    .nav-detail-wrapper .nav-tabs {
        display: flex !important;
        white-space: nowrap;
        flex-wrap: nowrap !important;
        padding: 0 10px;
        scrollbar-width: none; /* Firefox için scrollbar gizle */
    }

    /* Chrome, Safari ve Edge için scrollbar gizle (görüntü kirliliği olmasın diye) */
    .nav-detail-wrapper .nav-tabs::-webkit-scrollbar {
        display: none;
    }

    .nav-detail-wrapper .nav-item {
        width: auto !important; /* nav-justified etkisini mobilde kırar */
        flex: 0 0 auto;
    }

    .nav-detail-wrapper .nav-link {
        padding-left: 15px !important;
        padding-right: 15px !important;
        font-size: 13px !important; /* Mobilde yazıyı bir tık küçülttük */
        border-bottom: 2px solid transparent;
    }

    .nav-detail-wrapper .nav-link.active {
        border-bottom: 2px solid var(--bs-primary) !important; /* Aktif tabın altına çizgi */
        background: transparent !important;
    }
}

/* Sticky menünün sayfa kayarken daha düzgün durması için */
.nav-detail-wrapper {
    top: -1px; /* Boşluk kalmaması için */
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* 1. Dikey çizgiyi baloncuğun altına, sola yanaştır */
.tour-content-body {
    border-left: 2px solid #dee2e6 !important;
    margin-left: 41px !important; /* Baloncuğun tam ortasına denk gelir */
    padding-left: 20px !important; /* Yazı çizgiye ne kadar yakın olsun */
    text-align: left !important;
}

/* Mevcut ::before kuralını bu şekilde güncelle */
.tour-program-list li::before {
    content: "";
    position: absolute;
    /* Baloncuğun tam merkezi (82px / 2 = 41px) */
    left: 41px;
    top: 40px; /* Baloncuğun altından başlasın */
    bottom: -45px; /* Bir sonraki güne kadar uzansın */
    width: 2px; /* 1px yerine 2px daha tok durur */
    background-color: #dee2e6; /* Koyu siyah yerine zarif bir gri */
    z-index: 1;
}

/* Son günün çizgisini gizle (Aşağı doğru boşuna uzamasın) */
.tour-program-list li:last-child::before {
    display: none;
}

/* Liste öğesinin kendisindeki padding'i sıfırladığımızdan emin olalım */
.tour-program-list li {
    padding-left: 0 !important;
    position: relative;
    list-style: none;
}

/* İçeriğin (metnin) çizgiye çarpmasını engelle ve sola yaklaştır */
.tour-content-body {

    text-align: left !important;
}

/* Veritabanından gelen ortalı metinleri sola zorlayan altın kural */
.itinerary-text, .itinerary-text * {
    text-align: left !important;
    margin-left: 0 !important;
}


.sidebar-card.contact-card {
    background-color: #fcfcfc;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 24px;
    margin-top: 20px;
    box-shadow: var(--box-shadow);
    transition: transform 0.3s ease;
}

.sidebar-card.contact-card:hover {
    transform: translateY(-5px);
}

.contact-card .card-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--secondary);
    margin-bottom: 8px;
}

.contact-card .card-text {
    font-size: 13px;
    color: #666;
    margin-bottom: 20px;
    line-height: 1.5;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    text-decoration: none;
    color: var(--secondary);
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 12px;
    transition: all 0.2s ease;
}

.contact-item:last-child {
    margin-bottom: 0;
}

/* Telefon butonu için hover */
.contact-item[href^="tel"]:hover {
    border-color: var(--secondary);
    background-color: var(--secondary);
    color: #fff;
}

/* Whatsapp butonu için özel renk ve hover */
.contact-item[href*="wa.me"] {
    border-color: #25d36633;
}

.contact-item[href*="wa.me"]:hover {
    background-color: #25D366;
    border-color: #25D366;
    color: #fff;
}

.contact-icon {
    flex-shrink: 0;
    transition: color 0.2s ease;
}

.contact-item:hover .contact-icon {
    color: #fff !important;
}

/* İkon renkleri varsayılan */
.contact-item[href^="tel"] .contact-icon { color: var(--primary); }
.contact-item[href*="wa.me"] .contact-icon { color: #25D366; }


@media (max-width: 991px) {
    .mobile-sticky-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 75px;
        background: #ffffff;
        display: flex;
        align-items: center;
        padding: 10px 15px;
        box-shadow: 0 -4px 15px rgba(0,0,0,0.08);
        z-index: 1040;
        gap: 12px;
    }

    .sticky-action-item {
        height: 50px;
        width: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f5f5f5; /* --header-bg */
        border-radius: var(--border-radius);
        color: var(--primary);
        text-decoration: none;
        border: 1px solid var(--border-color);
        flex-shrink: 0;
        transition: all 0.2s ease;
    }

    .sticky-action-item i {
        font-size: 22px;
    }

    .sticky-reserve-btn {
        flex-grow: 1;
        width: auto;
        /* background: var(--primary) !important;*/
        color: #ffffff !important;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.5px;
        border: none;
        box-shadow: var(--box-shadow);
    }

    /* Sayfanın alt içeriğinin bar altında kalmaması için */
    body { padding-bottom: 80px !important; }

    /* Offcanvas İçindeki Widget Düzenlemeleri */
    #mobile-booking-container .room-block {
        border-color: var(--border-color);
        box-shadow: none;
    }

    #mobile-booking-container .pax-dropdown-menu {
        position: static !important;
        width: 100% !important;
        box-shadow: none !important;
        border: 0 !important;
        transform: none !important;
    }

    #mobile-booking-container #tourPaxDropdown {
        /* Mobilde dropdown butonuna gerek kalmayabilir, direkt içini gösterebiliriz */
    }
}


/* Paket Seçenekleri Genel Kutusu */
.package-option {
    border: 1px solid var(--border-color) !important;
    background-color: #ffffff;
    border-radius: var(--border-radius);
    padding: 1rem;
    margin-bottom: 1rem;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    position: relative;
}

/* Hover Durumu */
.package-option:not(.grayscale):hover {
    border-color: var(--primary) !important;
    box-shadow: var(--box-shadow);
}

/* Seçili (Aktif) Paket */
.package-option.active {
    border: 2px solid var(--primary) !important;
    background-color: rgba(226, 10, 23, 0.05) !important; /* --primary renginin hafif transparan hali */
}

/* Paket İçeriği Font Ayarları */
.package-option .text-date {
    color: var(--secondary);
    font-size: 13px;
    font-weight: 700;
}

.package-option .package-name {
    color: #444;
    font-size: 14px;
    font-weight: 600;
}

/* Fiyat Alanı - TRY Tutar */
.package-option .price-main {
    color: var(--primary);
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
}

/* Fiyat Alanı - Orijinal Tutar (Döviz) */
.package-option .price-sub {
    color: #777;
    font-size: 12px;
    font-weight: 500;
}

/* Kontenjan ve Uyarı Metinleri */
.package-option .quota-text {
    font-size: 12px;
    font-weight: 600;
}

/* Tükendi/Kapalı Durumu (Grayscale) */
.package-option.grayscale {
    filter: grayscale(1);
    opacity: 0.6;
    background-color: #f9f9f9;
    cursor: not-allowed;
}

.package-option.grayscale .price-main {
    color: #666 !important;
}

#booking-widget .ph-calendar-x {
    display: inline-block;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.1); opacity: 0.8; }
    100% { transform: scale(1); opacity: 0.5; }
}

#booking-widget .card-body {
    transition: all 0.3s ease-in-out;
}