:root{--tcp-navy:#2c3e50;--tcp-card-price-navy:#0f3e7e;}
/* Tur Takvimi / filtre paneli (tf-*): gezibank tour-category-page.css içinden ayrıştırılmıştır */
.tcp-filter-sidebar [data-tf-block="dep_airport"] .form-check-label{white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.3;}
.tcp-filter-sidebar.tf-panel .tcp-filter-sidebar__title{color: var(--tf-title, var(--tcp-orange));}
.tcp-filter-sidebar.tf-panel .tcp-filter-clear{color: var(--tf-reset, var(--tcp-orange));}
.tf-block__title{margin: 0 0 0.65rem;}
.tf-block__toggle{display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; width: 100%;
    padding: 0; border: 0; background: none; text-align: left; cursor: pointer;
    font-size: 0.875rem; font-weight: 700; color: var(--tcp-navy); line-height: 1.3;}
.tf-block__toggle i{font-size: 0.7rem; color: #9aa3ae; transition: transform 0.2s ease;}
.tf-block.is-collapsed .tf-block__toggle i{transform: rotate(-90deg);}
.tf-block.is-collapsed .tf-block__title{margin-bottom: 0;}
.tf-block__toggle:focus-visible{outline: 2px solid var(--tcp-orange); outline-offset: 2px; border-radius: 3px;}
.tf-list{display: flex; flex-direction: column; gap: 0.35rem;}
.tf-count{flex-shrink: 0; min-width: 1.6rem; padding: 0 0.4rem; border-radius: 999px; text-align: center;
    font-size: 0.72rem; font-weight: 600; line-height: 1.35rem;
    background: var(--tf-count-bg, #eef1f6); color: var(--tf-count-text, #4b5563);}
.tf-chips{display: flex; flex-wrap: wrap; gap: 0.4rem; margin: -0.25rem 0 1rem;}
.tf-chip{display: inline-flex; align-items: center; gap: 0.4rem; max-width: 100%;
    padding: 0.2rem 0.6rem; border: 0; border-radius: 999px; cursor: pointer;
    font-size: 0.78rem; font-weight: 600; background: var(--tf-chip-bg, #fdf3e4); color: var(--tf-chip-text, #8a5a14);}
.tf-chip span{overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.tf-chip i{font-size: 0.65rem; opacity: 0.75;}
.tf-chip:hover i{opacity: 1;}
.tf-more-btn{margin-top: 0.4rem; padding: 0; border: 0; background: none; cursor: pointer;
    font-size: 0.8rem; font-weight: 600; color: var(--tcp-orange);}
.tf-more-btn:hover{text-decoration: underline;}
.tf-select{font-size: 0.85rem;}
.tf-price--no-labels .tcp-price-slider__labels{display: none;}
.tf-price-inputs{display: flex; align-items: center; gap: 0.4rem; margin-top: 0.6rem; font-size: 0.8rem;}
.tf-price-inputs label{flex: 1; margin: 0;}
.tf-price-inputs__cur{color: #6c757d;}
.tf-apply--bottom{position: sticky; bottom: 0; padding-top: 0.75rem; background: #fff;}
.tf-apply--floating{margin-top: 0.6rem;}
.tf-apply__btn{width: 100%; padding: 0.5rem 0.75rem; border: 0; border-radius: 0.5rem; cursor: pointer;
    font-weight: 700; font-size: 0.875rem; background: var(--tf-apply-bg, var(--tcp-orange)); color: var(--tf-apply-text, #fff);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);}
.tf-apply--floating .tf-apply__btn{animation: tf-pop 0.18s ease;}
@media (max-width: 991.98px){.tcp-page.tcp-filter-panel-open .tcp-filter-aside:has(.tf-panel--right){left: auto; right: 0; animation-name: tf-filter-slide-in-right;}@keyframes tf-filter-slide-in-right{from { transform: translateX(100%); } to { transform: translateX(0); }}}
.tf-kw{position: relative;}
.tf-kw i{position: absolute; left: 0.65rem; top: 50%; transform: translateY(-50%); font-size: 0.8rem; color: #9aa3ae; pointer-events: none;}
.tf-kw__input{padding-left: 1.9rem; font-size: 0.85rem; border-radius: 0.5rem;}

/* Sayfalama, havayolu ve fiyat kaydırıcı (gezibank tour-category-page.css) */
.tcp-filter-sidebar .form-check-label.tcp-airline-option{display: flex;
    align-items: center;
    gap: 0.4rem;}
.tcp-filter-sidebar .form-check-label.tcp-airline-option > span{overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;}
.tcp-airline-logo{width: 48px;
    height: 26px;
    object-fit: contain;
    object-position: left center;
    flex-shrink: 0;}
.tcp-pagination__summary{margin: 0 0 0.85rem;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #6b7280;
    letter-spacing: 0.01em;}
.tcp-pagination__summary strong{font-weight: 700;
    color: var(--tcp-navy);}
.tcp-pagination__inner{display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.65rem 0.85rem;}
.tcp-pagination__link,
.tcp-pagination__nav{display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    border-radius: 8px;
    transition:
        border-color 0.15s ease,
        background 0.15s ease,
        color 0.15s ease,
        box-shadow 0.15s ease,
        opacity 0.15s ease;}
.tcp-pagination__link:focus-visible,
.tcp-pagination__nav:focus-visible{outline: 2px solid var(--tcp-orange);
    outline-offset: 2px;}
.tcp-pagination__nav{gap: 0.4rem;
    min-height: 2.5rem;
    padding: 0.5rem 1rem;
    color: var(--tcp-navy);
    background: #f7f9fc;
    border: 1px solid #dce3ea;}
.tcp-pagination__nav i{font-size: 0.72rem;
    opacity: 0.85;}
.tcp-pagination__nav:hover:not(.is-disabled){border-color: var(--tcp-orange);
    background: rgba(243, 156, 18, 0.1);
    color: var(--tcp-orange);}
.tcp-pagination__nav.is-disabled{opacity: 0.42;
    cursor: not-allowed;
    pointer-events: none;}
@media (max-width: 575.98px){.tcp-pagination__inner{gap: 0.55rem;}.tcp-pagination__nav span{position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;}.tcp-pagination__nav{min-width: 2.5rem;
        padding: 0.5rem 0.75rem;}}

/* sayfalama ana kuralları (gezibank ile aynı) */
.tcp-pagination{margin-top: 1.75rem;
    padding-top: 1.35rem;
    border-top: 1px solid var(--tcp-border);}
.tcp-pagination__list{display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;}
.tcp-pagination__link,
.tcp-pagination__nav{display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    border-radius: 8px;
    transition:
        border-color 0.15s ease,
        background 0.15s ease,
        color 0.15s ease,
        box-shadow 0.15s ease,
        opacity 0.15s ease;}
.tcp-pagination__link{min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.65rem;
    color: var(--tcp-navy);
    background: #fff;
    border: 1px solid #dce3ea;}
.tcp-pagination__link:hover{border-color: var(--tcp-orange);
    background: rgba(243, 156, 18, 0.1);
    color: var(--tcp-orange);}
.tcp-pagination__link:focus-visible,
.tcp-pagination__nav:focus-visible{outline: 2px solid var(--tcp-orange);
    outline-offset: 2px;}
.tcp-pagination__link.is-current{background: var(--tcp-card-price-navy);
    border-color: var(--tcp-card-price-navy);
    color: #fff;
    box-shadow: 0 2px 8px rgba(15, 62, 126, 0.22);
    cursor: default;}
.tcp-pagination__ellipsis{display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 2.5rem;
    padding: 0 0.15rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: #9ca3af;
    letter-spacing: 0.08em;
    user-select: none;}
@media (max-width: 575.98px){.tcp-pagination__link{min-width: 2.35rem;
        height: 2.35rem;
        font-size: 0.8125rem;}}

/* Mobil: açılan filtre/sıralama paneli site başlığının (z-index 1030) üstünde kalsın; .site-main kendi yığın bağlamını (z-index 10) oluşturuyor */
@media (max-width: 991.98px) {
    body main.site-main:has(.tcp-filter-panel-open, .tcp-sort-panel-open) { z-index: 1100 !important; }
}
