/**
 * Spójny hero dla archiwów, stron i pojedynczych ofert TravelTour.
 * Zdjęcie pozostaje wyraźne, a gradient zapewnia kontrast dla tytułu.
 */
.traveltour-page-title-wrap {
    background-position: center 50%;
}

.traveltour-page-title-overlay {
    opacity: 1 !important;
    background: linear-gradient(
        180deg,
        rgba(8, 20, 29, 0.48) 0%,
        rgba(8, 20, 29, 0.18) 43%,
        rgba(8, 20, 29, 0.58) 100%
    ) !important;
}

.traveltour-page-title {
    max-width: 1100px;
    color: #ffffff !important;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.55);
}

/* Pojedyncze wyprawy są renderowane przez wtyczkę Tourmaster. */
.single-tour .tourmaster-single-header-background-overlay {
    background: #08141d !important;
    opacity: 0.48 !important;
}

.single-tour .tourmaster-single-header-top-overlay {
    height: 46% !important;
    background: linear-gradient(
        180deg,
        rgba(8, 20, 29, 0.48) 0%,
        rgba(8, 20, 29, 0) 100%
    ) !important;
}

.single-tour .tourmaster-single-header-overlay {
    height: 52% !important;
    background: linear-gradient(
        180deg,
        rgba(8, 20, 29, 0) 0%,
        rgba(8, 20, 29, 0.68) 100%
    ) !important;
}

.single-tour .tourmaster-single-header-title-wrap .tourmaster-single-header-title {
    color: #ffffff !important;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.55);
}

/* Tekst kontaktowy musi zachować kontrast nad zdjęciem hero. */
.traveltour-header-background-transparent .traveltour-top-bar,
.traveltour-header-background-transparent .traveltour-top-bar a {
    color: #ffffff !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.55);
}

.traveltour-header-background-transparent .traveltour-top-bar i {
    color: #ffb21a !important;
}

@media (max-width: 767px) {
    .traveltour-page-title-wrap {
        background-position: center center;
    }

    .traveltour-page-title-content {
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
        padding: 16px !important;
    }

    .traveltour-page-title {
        box-sizing: border-box;
        max-width: 340px;
        margin: 0 !important;
        padding: 10px 13px 12px;
        border-radius: 4px;
        background: rgba(8, 20, 29, 0.62);
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.20);
        font-size: clamp(26px, 7.8vw, 31px) !important;
        line-height: 1.06 !important;
        letter-spacing: -0.02em !important;
        text-align: left !important;
        text-shadow: none;
    }
}
