/* =========================================================
   DETAIL ZÁJEZDU – SVĚTLÁ BAREVNOST
   Načítá se pouze na single post type cesta a po ostatních stylech.
   ========================================================= */

main.single-cesta {
    --cesta-paper: #f5f3ee;
    --cesta-paper-alt: #ebe7df;
    --cesta-ink: #141414;
    --cesta-muted: #6d6962;
    --cesta-line: #d9d4ca;
    background: var(--cesta-paper) !important;
    color: var(--cesta-ink) !important;
}

/* Hero zůstává fotografický a používá světlou typografii. */
main.single-cesta .cesta-hero-overlay {
    background: transparent !important;
}

main.single-cesta .cesta-hero-content,
main.single-cesta .cesta-hero h1,
main.single-cesta .cesta-label,
main.single-cesta .cesta-subtitle,
main.single-cesta .cesta-meta,
main.single-cesta .cesta-meta span {
    color: #fff !important;
}

/* Stejná barevnost tlačítka jako v hero banneru homepage. */
main.single-cesta .cesta-cta {
    border-color: #f2eee6 !important;
    background: #f2eee6 !important;
    color: #171512 !important;
}

main.single-cesta .cesta-cta:hover,
main.single-cesta .cesta-cta:focus-visible {
    border-color: #e8e0d4 !important;
    background: #e8e0d4 !important;
    color: #171512 !important;
}

/* Drobečky a kotvy pod hero. */
main.single-cesta .msn-trip-breadcrumbs-section {
    border-color: var(--cesta-line) !important;
    background: var(--cesta-paper) !important;
}

main.single-cesta .msn-trip-breadcrumbs,
main.single-cesta .msn-trip-breadcrumbs a,
main.single-cesta .msn-trip-breadcrumbs span,
main.single-cesta .msn-trip-breadcrumbs .cesta-breadcrumb-current,
main.single-cesta .msn-trip-breadcrumbs .cesta-breadcrumb-text {
    color: var(--cesta-muted) !important;
}

main.single-cesta .msn-trip-breadcrumbs a:hover,
main.single-cesta .msn-trip-breadcrumbs a:focus-visible {
    color: var(--cesta-ink) !important;
}

main.single-cesta .cesta-subnav {
    border-bottom-color: var(--cesta-line) !important;
    background: rgba(245, 243, 238, .97) !important;
    box-shadow: 0 1px 0 rgba(20, 20, 20, .03);
}

main.single-cesta .cesta-subnav a {
    color: var(--cesta-muted) !important;
}

main.single-cesta .cesta-subnav a:hover,
main.single-cesta .cesta-subnav a:focus-visible {
    color: var(--cesta-ink) !important;
}

main.single-cesta .cesta-subnav a::after {
    background: var(--cesta-ink) !important;
}

/* Hlavní obsahové sekce. */
main.single-cesta .cesta-intro,
main.single-cesta .cesta-program,
main.single-cesta .cesta-map-section,
main.single-cesta .cesta-price,
main.single-cesta .cesta-terms {
    background: var(--cesta-paper) !important;
    color: var(--cesta-ink) !important;
}

main.single-cesta .cesta-gallery {
    background: var(--cesta-paper-alt) !important;
    color: var(--cesta-ink) !important;
}

main.single-cesta .cesta-kicker,
main.single-cesta .cesta-program-heading .cesta-kicker,
main.single-cesta .cesta-intro-heading .cesta-kicker {
    color: var(--cesta-muted) !important;
}

main.single-cesta .cesta-intro-heading h2,
main.single-cesta .cesta-program-heading h2,
main.single-cesta .cesta-gallery-heading h2,
main.single-cesta .cesta-map-heading h2,
main.single-cesta .cesta-price-heading h2,
main.single-cesta .cesta-terms-heading h2,
main.single-cesta .cesta-price-column h3,
main.single-cesta .cesta-price-info-item h4 {
    color: var(--cesta-ink) !important;
}

main.single-cesta .cesta-intro-text,
main.single-cesta .cesta-intro-main-copy,
main.single-cesta .cesta-intro-rich-text {
    color: #45413b !important;
}

/* Program cesty. */
main.single-cesta .program-day {
    border-top-color: var(--cesta-line) !important;
}

main.single-cesta .program-day:last-child {
    border-bottom-color: var(--cesta-line) !important;
}

main.single-cesta .program-day-label {
    color: #393631 !important;
}

main.single-cesta .program-day-content h3 {
    color: var(--cesta-ink) !important;
}

main.single-cesta .program-day-text {
    color: #514d46 !important;
}

main.single-cesta .program-day-text strong,
main.single-cesta .program-day-text b,
main.single-cesta .program-day-text a {
    color: var(--cesta-ink) !important;
}

/* Galerie – ovládání položené přes fotografie zůstává bílé. */
main.single-cesta .cesta-gallery-pagination,
main.single-cesta .cesta-gallery-pagination-separator {
    color: var(--cesta-muted) !important;
}

main.single-cesta .cesta-gallery-caption-title {
    color: var(--cesta-ink) !important;
}

main.single-cesta .cesta-gallery-caption-description {
    color: var(--cesta-muted) !important;
}

/* Sjednocené ovládání galerie konkrétního dne. */
main.single-cesta .program-day-slider,
main.single-cesta .program-day-slider-viewport {
    position: relative !important;
}

/* Mapa. */
main.single-cesta .cesta-map {
    border-color: var(--cesta-line) !important;
    background: #dedad2 !important;
}

main.single-cesta .cesta-map .leaflet-popup-content-wrapper,
main.single-cesta .cesta-map .leaflet-popup-tip {
    background: #fff !important;
    color: var(--cesta-ink) !important;
}

main.single-cesta .cesta-map-popup-label,
main.single-cesta .cesta-map-popup-place {
    color: var(--cesta-muted) !important;
}

/* Cena zájezdu. */
main.single-cesta .cesta-price-info {
    border-bottom-color: var(--cesta-line) !important;
}

main.single-cesta .cesta-price-info-item {
    background: var(--cesta-paper-alt) !important;
}

main.single-cesta .cesta-price-info-item p,
main.single-cesta .cesta-price-copy {
    color: #514d46 !important;
}

main.single-cesta .cesta-price-column {
    border-color: var(--cesta-line) !important;
    background: rgba(255, 255, 255, .38) !important;
}

main.single-cesta .cesta-price-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 28px;
    align-items: end;
    margin: 0 0 32px;
    padding: 22px 24px;
    border: 1px solid var(--cesta-line);
    background: var(--cesta-paper-alt);
}

main.single-cesta .cesta-price-summary-label {
    grid-column: 1;
    color: var(--cesta-muted);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

main.single-cesta .cesta-price-summary-value {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    color: var(--cesta-ink);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 650;
    line-height: 1;
    white-space: nowrap;
}

main.single-cesta .cesta-price-summary-note {
    grid-column: 1;
    max-width: 680px;
    margin: 0;
    color: #514d46;
    font-size: 14px;
    line-height: 1.55;
}

main.single-cesta .cesta-price-list {
    margin: 0;
    padding-left: 1.2em;
}

main.single-cesta .cesta-price-list li {
    margin: 0 0 9px;
    padding-left: .15em;
    color: #514d46;
    line-height: 1.55;
}

main.single-cesta .cesta-price-list li:last-child {
    margin-bottom: 0;
}

main.single-cesta .cesta-price-list li::marker {
    color: var(--cesta-muted);
}

@media (max-width: 700px) {
    main.single-cesta .cesta-price-summary {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 18px;
    }

    main.single-cesta .cesta-price-summary-label,
    main.single-cesta .cesta-price-summary-value,
    main.single-cesta .cesta-price-summary-note {
        grid-column: 1;
        grid-row: auto;
    }

    main.single-cesta .cesta-price-summary-value {
        margin: 4px 0 3px;
        white-space: normal;
    }
}

/* Termíny a ceny. */
main.single-cesta .cesta-terms-list,
main.single-cesta .cesta-term-prices {
    border-top-color: var(--cesta-line) !important;
}

main.single-cesta .cesta-term,
main.single-cesta .cesta-term-price-row {
    border-bottom-color: var(--cesta-line) !important;
}

main.single-cesta .cesta-term-date span,
main.single-cesta .cesta-term-price-name,
main.single-cesta .cesta-term-status {
    color: #514d46 !important;
}

main.single-cesta .cesta-term-meta,
main.single-cesta .cesta-term-reference-label,
main.single-cesta .cesta-term-status-vyprodano {
    color: var(--cesta-muted) !important;
}

main.single-cesta .cesta-term-price,
main.single-cesta .cesta-term-price-value {
    color: var(--cesta-ink) !important;
}

main.single-cesta .cesta-term-button,
main.single-cesta .cesta-terms-main-button {
    border: 1px solid var(--cesta-ink) !important;
    background: var(--cesta-ink) !important;
    color: #fff !important;
}

main.single-cesta .cesta-term-button:hover,
main.single-cesta .cesta-term-button:focus-visible,
main.single-cesta .cesta-terms-main-button:hover,
main.single-cesta .cesta-terms-main-button:focus-visible {
    background: transparent !important;
    color: var(--cesta-ink) !important;
}

/* Již existující světlý závěr. */
main.single-cesta .single-cesta-light-ending {
    background: var(--cesta-paper) !important;
    color: var(--cesta-ink) !important;
}

/* =========================================================
   DALŠÍ PODOBNÉ CESTY
   Topografický motiv je omezen na levou část sekce a zachovává
   vlastní poměr stran; není roztahován přes celý carousel.
   ========================================================= */
main.single-cesta.single-cesta .single-cesta-related-trips.msn-trip-offer-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #e8dfcf !important;
}

main.single-cesta.single-cesta .single-cesta-related-trips.msn-trip-offer-section::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: min(46vw, 760px);
    z-index: -1;
    pointer-events: none;
    background-image: url('../images/podklad.png');
    background-size: auto 100%;
    background-position: left center;
    background-repeat: no-repeat;
    opacity: .14;
}

main.single-cesta.single-cesta .single-cesta-related-trips.msn-trip-offer-section > * {
    position: relative;
    z-index: 1;
}

main.single-cesta .single-cesta-related-trips .destination-continent-trip-intro h2 {
    font-size: 0 !important;
}

main.single-cesta .single-cesta-related-trips .destination-continent-trip-intro h2::before {
    content: 'Další podobné cesty';
    display: block;
    font-size: clamp(34px, 3.2vw, 52px);
    line-height: 1.02;
    letter-spacing: -.035em;
}

main.single-cesta .single-cesta-related-trips .destination-continent-trip-intro p {
    font-size: 0 !important;
}

main.single-cesta .single-cesta-related-trips .destination-continent-trip-intro p::before {
    content: 'Inspirace pro cesty, které můžete objevit ve stejné části světa';
    display: block;
    font-size: 18px;
    line-height: 1.5;
    font-style: italic;
}

@media (max-width: 760px) {
    main.single-cesta.single-cesta .single-cesta-related-trips.msn-trip-offer-section::before {
        width: 100%;
        height: 48%;
        bottom: auto;
        background-size: auto 100%;
        background-position: left top;
    }

    main.single-cesta .single-cesta-related-trips .destination-continent-trip-intro h2::before {
        font-size: 36px;
    }

    main.single-cesta .single-cesta-related-trips .destination-continent-trip-intro p::before {
        font-size: 16px;
    }
}

/* =========================================================
   TERMÍNY A CENY – ZAROVNÁNÍ DESKTOPU
   Stav a CTA zůstávají vpravo nahoře, cenové řádky využívají
   celou šířku termínu a nevytvářejí nestejné sloupce.
   ========================================================= */
@media (min-width: 701px) {
    main.single-cesta .cesta-term {
        position: relative;
        display: block !important;
        padding: 26px 0 !important;
    }

    main.single-cesta .cesta-term-main {
        min-height: 58px;
    }

    main.single-cesta .cesta-term-date,
    main.single-cesta .cesta-term-meta {
        padding-right: min(430px, 34vw);
    }

    main.single-cesta .cesta-term-side {
        position: absolute;
        top: 26px;
        right: 0;
        z-index: 2;
        max-width: min(410px, 34vw);
    }

    main.single-cesta .cesta-term-prices {
        width: 100%;
        margin-top: 20px;
    }

    main.single-cesta .cesta-term-price-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(190px, 260px);
        gap: 26px;
        align-items: center;
        width: 100%;
    }

    main.single-cesta .cesta-term-price-name {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 18px;
        align-items: center;
        min-width: 0;
    }

    main.single-cesta .cesta-term-reference-label {
        justify-self: end;
        white-space: nowrap;
    }

    main.single-cesta .cesta-term-price-value {
        min-width: 0;
        text-align: right;
        white-space: nowrap;
    }
}

@media (max-width: 700px) {
    main.single-cesta .cesta-term-prices {
        margin-top: 14px;
    }

    main.single-cesta .cesta-term-price-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 14px;
    }

    main.single-cesta .cesta-term-price-name {
        min-width: 0;
    }
}

/* Stravování jednotlivého dne už vykresluje stávající produktová vrstva. */
main.single-cesta .program-day-meals {
    display: none !important;
}
