@layer pages {
    .nur-tour-show__summary {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--nur-space-3);
        padding-block: var(--nur-space-5);
    }

    .nur-facts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--nur-space-3);
    }

    .nur-facts__item {
        padding: var(--nur-space-3);
        border: 1px solid var(--nur-line);
        border-radius: var(--nur-radius-sm);
        background: var(--nur-surface);
        font-size: var(--nur-text-sm);
    }

    .nur-facts__item small {
        display: block;
        color: var(--nur-ink-soft);
        font-size: var(--nur-text-xs);
    }

    .nur-facts__item b {
        color: var(--nur-primary-strong);
    }

    .nur-subnav {
        position: sticky;
        top: var(--nur-header-h);
        z-index: 25;
        background: var(--nur-bg);
        border-bottom: 1px solid var(--nur-line);
    }

    .nur-subnav .nur-scrollchips {
        padding-block: var(--nur-space-2);
    }

    .nur-tour-show__layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--nur-space-6);
        padding-block: var(--nur-space-5) var(--nur-space-7);
    }

    /* every section is its own card */
    .nur-tour-show__block {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--nur-space-4);
        padding: var(--nur-space-5);
        border: 1px solid var(--nur-line);
        border-radius: var(--nur-radius-lg);
        background: var(--nur-surface);
        box-shadow: var(--nur-shadow-sm);
    }

    .nur-tour-show__layout--priced > .nur-stack {
        order: 2;
    }

    /* phones: price card first, then the content cards, then the booking form */
    .nur-tour-show__side {
        display: contents;
    }

    .nur-pricecard {
        order: 1;
    }

    .nur-tour-show__side .nur-booking {
        order: 3;
    }

    .nur-pricecard .nur-price-list li {
        align-items: center;
    }

    .nur-pricecard .nur-price-list span {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .nur-pricecard .nur-price-list small {
        color: var(--nur-ink-soft);
        font-size: var(--nur-text-xs);
    }

    .nur-pricecard .nur-price-list b {
        font-family: var(--nur-font-display);
        font-size: 1.25rem;
    }

    .nur-hotel-row {
        display: grid;
        grid-template-columns: 96px 1fr;
        gap: var(--nur-space-3);
        align-items: center;
        padding: var(--nur-space-3);
        border: 1px solid var(--nur-line);
        border-radius: var(--nur-radius);
        background: var(--nur-surface);
    }

    .nur-hotel-row img {
        width: 96px;
        height: 80px;
        border-radius: var(--nur-radius-sm);
        object-fit: cover;
    }

    .nur-hotel-row small {
        color: var(--nur-ink-soft);
    }

    .nur-booking {
        padding: var(--nur-space-5);
        border: 1px solid var(--nur-line);
        border-radius: var(--nur-radius-lg);
        background: var(--nur-surface);
        box-shadow: var(--nur-shadow);
    }

    /* sticky price + primary action while reading the tour on mobile */
    .nur-buybar {
        position: fixed;
        inset: auto 0 calc(var(--nur-tabbar-h) + env(safe-area-inset-bottom)) 0;
        z-index: 55;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--nur-space-3);
        padding: var(--nur-space-3) var(--nur-gutter);
        background: var(--nur-surface);
        border-top: 1px solid var(--nur-line);
        box-shadow: 0 -6px 20px rgba(10, 31, 71, 0.08);
    }

    @media (min-width: 1024px) {
        .nur-buybar {
            display: none;
        }

        .nur-tour-show__layout {
            grid-template-columns: 1fr 380px;
            align-items: start;
        }

        .nur-tour-show__layout--priced > .nur-stack {
            order: 0;
        }

        .nur-tour-show__side {
            position: sticky;
            top: calc(var(--nur-header-h) + var(--nur-space-4));
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            gap: var(--nur-space-4);
        }

        .nur-facts {
            grid-template-columns: repeat(4, 1fr);
        }
    }
}
