

/* Start:/local/templates/template1/public/css/common/page/personal-tour.css?178818466725278*/
/* =====================================================
   Personal Tour landing page
   Design ref: 1400 px wide
   ===================================================== */

/* Hide breadcrumbs + page H1 on the standalone /personal-tour/ page only.
   When the same template is embedded in an offer element (/offers/testovaya/),
   body has both .page--personal-tour and .page--offers — breadcrumbs stay visible. */
.page--personal-tour:not(.page--offers) .section__subtitle {
    display: none;
}

/* On /offers/testovaya/ the breadcrumb section shows, but hide the duplicate H1
   ("ПЕРСОНАЛЬНЫЙ ТУР «ВМЕСТЕ В ГОРАХ»") — hero already has its own h1. */
.page--personal-tour.page--offers .container__subtitle {
    display: none;
}

/* When embedded in /offers/, give breadcrumbs more room before the hero starts */
.page--personal-tour.page--offers .section__subtitle {
    margin-bottom: 40px;
}

.ptour {
    --c-bg-light:    #F1F1F1;
    --c-bg-dark:     #081908;
    --c-green:       #134C1F;
    --c-btn-green:   #6F8471;
    --c-btn-light:   #C7CEC8;
    --c-text-light:  #FFFFFF;
    --c-text-white:  #FDFEFD;
    --c-line:        #000000;

    background: var(--c-bg-light);
    color: var(--c-bg-dark);
    font-family: 'Jost', sans-serif;
    font-weight: 400;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;

    /* Constrain to site's standard .container width: 1506 max with 80px side padding */
    max-width: 1506px;
    margin: 0 auto;
    padding-left: 80px;
    padding-right: 80px;
}

.ptour * {
    box-sizing: border-box;
}

.ptour img {
    max-width: 100%;
    display: block;
}

/* ----- Reusable bits ----- */

.ptour-section {
    width: 100%;
    /* Inner padding 80 to align with hero content
       (.ptour outer 80 + section inner 80 = 160 from viewport,
        same as hero-inner padding-left 80) */
    padding: 0 80px;
}

/* Consistent vertical rhythm between top-level blocks (hero, sections, days) */
.ptour > * + * {
    margin-top: 80px;
}

/* No gap between consecutive day blocks — they stack flush */
.ptour > .ptour-day + .ptour-day {
    margin-top: 0;
}

/* CTA sits flush against day 4 (gap is built into .ptour-cta padding) */
.ptour > .ptour-day + .ptour-cta {
    margin-top: 0;
}
/* FAQ margin baked into .ptour-cta padding-bottom — drop the auto-margin */
.ptour > .ptour-cta + .ptour-faq {
    margin-top: 0;
}

/* ----- Section reveal animation (light fade + slide) ----- */
.ptour-section {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease-out, transform .7s ease-out;
}
.ptour-section.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger inner elements within section (grids only; titles/leads/FAQ have no animation) */
.ptour-section .ptour-zhdet__grid,
.ptour-section .ptour-otel__grid,
.ptour-section .ptour-kukhnya__grid {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .8s ease-out, transform .8s ease-out;
}
.ptour-section.is-visible .ptour-zhdet__grid,
.ptour-section.is-visible .ptour-otel__grid,
.ptour-section.is-visible .ptour-kukhnya__grid { transition-delay: .25s; }

.ptour-section.is-visible .ptour-zhdet__grid,
.ptour-section.is-visible .ptour-otel__grid,
.ptour-section.is-visible .ptour-kukhnya__grid {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .ptour-section,
    .ptour-section .ptour-zhdet__grid,
    .ptour-section .ptour-otel__grid,
    .ptour-section .ptour-kukhnya__grid {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ----- Per-card stagger inside photo grids ----- */
.ptour-zhdet__grid > .ptour-card,
.ptour-otel__grid > .ptour-otel__cell,
.ptour-kukhnya__grid > .ptour-kukhnya__cell {
    opacity: 0;
    transform: translateY(18px) scale(.985);
    transition: opacity .65s ease-out, transform .65s ease-out;
}

.ptour-section.is-visible .ptour-zhdet__grid > .ptour-card,
.ptour-section.is-visible .ptour-otel__grid > .ptour-otel__cell,
.ptour-section.is-visible .ptour-kukhnya__grid > .ptour-kukhnya__cell {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Stagger delays: each child enters .07s after the previous */
.ptour-section.is-visible .ptour-zhdet__grid > .ptour-card:nth-child(1),
.ptour-section.is-visible .ptour-otel__grid > .ptour-otel__cell:nth-child(1),
.ptour-section.is-visible .ptour-kukhnya__grid > .ptour-kukhnya__cell:nth-child(1) { transition-delay: .30s; }

.ptour-section.is-visible .ptour-zhdet__grid > .ptour-card:nth-child(2),
.ptour-section.is-visible .ptour-otel__grid > .ptour-otel__cell:nth-child(2),
.ptour-section.is-visible .ptour-kukhnya__grid > .ptour-kukhnya__cell:nth-child(2) { transition-delay: .37s; }

.ptour-section.is-visible .ptour-zhdet__grid > .ptour-card:nth-child(3),
.ptour-section.is-visible .ptour-otel__grid > .ptour-otel__cell:nth-child(3),
.ptour-section.is-visible .ptour-kukhnya__grid > .ptour-kukhnya__cell:nth-child(3) { transition-delay: .44s; }

.ptour-section.is-visible .ptour-zhdet__grid > .ptour-card:nth-child(4),
.ptour-section.is-visible .ptour-otel__grid > .ptour-otel__cell:nth-child(4),
.ptour-section.is-visible .ptour-kukhnya__grid > .ptour-kukhnya__cell:nth-child(4) { transition-delay: .51s; }

.ptour-section.is-visible .ptour-zhdet__grid > .ptour-card:nth-child(5),
.ptour-section.is-visible .ptour-otel__grid > .ptour-otel__cell:nth-child(5),
.ptour-section.is-visible .ptour-kukhnya__grid > .ptour-kukhnya__cell:nth-child(5) { transition-delay: .58s; }

@media (prefers-reduced-motion: reduce) {
    .ptour-zhdet__grid > .ptour-card,
    .ptour-otel__grid > .ptour-otel__cell,
    .ptour-kukhnya__grid > .ptour-kukhnya__cell {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.ptour-faq {
    padding-bottom: 80px;
}

.ptour-section__title {
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: 58px;
    line-height: 1.2;
    color: var(--c-bg-dark);
    text-transform: uppercase;
    margin: 0 0 40px;
}

.ptour-section__lead {
    font-family: 'Jost', sans-serif;
    font-weight: 400;
    font-size: 35px;
    line-height: 1.2;
    color: var(--c-bg-dark);
    margin: 0 0 40px;
    max-width: 1100px;
}

.ptour-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 20px 40px;
    min-height: 70px;
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: 25px;
    line-height: 1;
    text-decoration: none;
    border-radius: 0;
    transition: filter .15s ease;
    cursor: pointer;
    border: none;
}

.ptour-btn--primary {
    background: var(--c-btn-green);
    color: var(--c-text-white);
}

.ptour-btn--primary:hover {
    filter: brightness(1.06);
    color: var(--c-text-white);
}

.ptour-btn--ghost {
    background: var(--c-btn-light);
    color: var(--c-green);
}

.ptour-btn--ghost:hover {
    filter: brightness(1.04);
    color: var(--c-green);
}

/* ===== 1. HERO ===== */

.ptour-hero {
    position: relative;
    background: var(--c-bg-dark);
    color: var(--c-text-light);
    overflow: hidden;
    width: 100%;
    min-height: 700px;
}

/* ----- Hero entry animation ----- */
.ptour-hero__bg,
.ptour-hero__logo,
.ptour-hero__title,
.ptour-hero__bullet,
.ptour-hero__cta {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .45s ease-out, transform .45s ease-out;
}

.ptour-hero__bg {
    transform: scale(1.03);
    transition: opacity .6s ease-out, transform .7s ease-out;
}

.ptour-hero.is-visible .ptour-hero__bg {
    opacity: 1;
    transform: scale(1);
}
.ptour-hero.is-visible .ptour-hero__logo {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .05s;
}
.ptour-hero.is-visible .ptour-hero__title {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .12s;
}
.ptour-hero.is-visible .ptour-hero__bullet:nth-child(1) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .2s;
}
.ptour-hero.is-visible .ptour-hero__bullet:nth-child(2) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .27s;
}
.ptour-hero.is-visible .ptour-hero__cta {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .35s;
}

@media (prefers-reduced-motion: reduce) {
    .ptour-hero__bg,
    .ptour-hero__logo,
    .ptour-hero__title,
    .ptour-hero__bullet,
    .ptour-hero__cta {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.ptour-hero__bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 49%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.ptour-hero__logo {
    position: absolute;
    top: 20px;
    left: 80px;
    width: 123px;
    height: auto;
    z-index: 2;
    background-color: transparent;  /* override global img bg rgba(0,0,0,.2) */
}

.ptour-hero__inner {
    position: relative;
    padding: 139px 80px 42px;
    max-width: 743px;
}

.ptour-hero__title {
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: 54px;
    line-height: 1.2;
    text-transform: uppercase;
    margin: 0 0 67px;       /* Figma: title bottom 272 → bullet1 top 339 = 67 */
    color: var(--c-text-light);
}

.ptour-hero__bullets {
    list-style: none;
    margin: 0 0 69px;       /* Figma: bullet2 bottom 513 → button top 582 = 69 */
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 30px;              /* Figma: bullet1 bottom 411 → bullet2 top 441 = 30 */
}

.ptour-hero__bullet {
    display: grid;
    grid-template-columns: 56px minmax(0, 360px); /* Figma: icon 56, text 360 */
    gap: 43px;              /* Figma: icon end 176 → text start 219 = 43 */
    align-items: start;
    font-family: 'Jost', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.2;       /* Figma 120% */
    color: var(--c-text-light);
}

.ptour-hero__bullet-icon {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    object-fit: contain;
}

.ptour-hero__cta {
    width: 392px;           /* Figma button w=392 */
    max-width: 100%;
    height: 55px;           /* Figma button h=55 */
    min-height: 55px;
    padding: 0;
}

/* ===== 2. ЧТО ВАС ЖДЕТ ===== */

.ptour-zhdet__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 18px;
    width: 100%;
    aspect-ratio: 1115 / 567;
}

.ptour-card {
    position: relative;
    display: block;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 0;
    overflow: hidden;
    cursor: default;
    text-decoration: none;
    color: var(--c-text-light);
}

.ptour-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(8, 25, 8, 1) 18%, rgba(8, 25, 8, 0) 73%);
    pointer-events: none;
}

.ptour-card--big {
    grid-row: 1 / span 2;
}

.ptour-card__caption {
    position: absolute;
    left: 28px;
    bottom: 22px;
    z-index: 2;
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: 30px;
    line-height: 1.2;
    color: var(--c-text-light);
}


.ptour-card__caption--top {
    top: 24px;
    bottom: auto;
    font-weight: 600;
}

/* ===== 3. ОТЕЛЬ ===== */

/* Section: photo grid spans full hero width (no horizontal padding),
   while title and lead keep the 80px content alignment. */
.ptour-otel,
.ptour-kukhnya {
    padding-left: 0;
    padding-right: 0;
}

.ptour-otel > .ptour-section__title,
.ptour-otel > .ptour-section__lead,
.ptour-kukhnya > .ptour-section__title,
.ptour-kukhnya > .ptour-section__lead {
    padding-left: 80px;
    padding-right: 80px;
}

.ptour-otel__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: repeat(2, 1fr);
    gap: 18px;
    width: 100%;
    aspect-ratio: 1160 / 580;
}

.ptour-otel__cell {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 0;
}

.ptour-otel__cell--big {
    grid-column: 1 / span 1;
    grid-row: 1 / span 2;
}

/* ===== 4. КУХНЯ — full-bleed grid ===== */

.ptour-kukhnya__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: repeat(2, 1fr);
    gap: 18px;
    width: 100%;
    aspect-ratio: 1160 / 580;
}

.ptour-kukhnya__cell {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 0;
}

.ptour-kukhnya__cell--big {
    grid-column: 1 / span 1;
    grid-row: 1 / span 2;
}

/* ===== 5-8. DAYS ===== */

.ptour-day {
    position: relative;
    width: 100%;
    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat;
    padding: 60px 80px;
    min-height: 540px;
    display: grid;
    grid-template-columns: 41% 59%;
    align-items: center;
    gap: 40px;
    overflow: hidden;

    /* Entry animation — initial state */
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .8s ease-out, transform .8s ease-out;
}

/* Dark overlay over the bg image for text readability (Figma: rgba(25,23,23,0.3)) */
.ptour-day::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(25, 23, 23, 0.3);
    pointer-events: none;
    z-index: 0;
}

.ptour-day.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Inner stagger: title slides in from left, schedule from right */
.ptour-day .ptour-day__title-wrap,
.ptour-day .ptour-day__schedule {
    opacity: 0;
    transition: opacity .9s ease-out .15s, transform .9s ease-out .15s;
}
.ptour-day .ptour-day__title-wrap {
    transform: translateX(-30px);
}
.ptour-day .ptour-day__schedule {
    transform: translateX(30px);
    transition-delay: .3s;
}
.ptour-day.is-visible .ptour-day__title-wrap,
.ptour-day.is-visible .ptour-day__schedule {
    opacity: 1;
    transform: translateX(0);
}

/* Respect user motion preference */
@media (prefers-reduced-motion: reduce) {
    .ptour-day,
    .ptour-day .ptour-day__title-wrap,
    .ptour-day .ptour-day__schedule {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.ptour-day__title-wrap {
    position: relative;
    z-index: 1;
    color: var(--c-text-light);
}

.ptour-day__num {
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: 96px;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.ptour-day__subtitle {
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: 40px;
    line-height: 1.2;
    text-transform: uppercase;
    max-width: 420px;
}

.ptour-day__schedule {
    position: relative;
    z-index: 1;
    background: var(--c-text-light);
    border-radius: 24px;
    padding: 8px 60px;
    display: flex;
    flex-direction: column;
}

.ptour-day__row {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 60px;
    align-items: center;
    padding: 24px 0;
    border-bottom: 1px solid #C9CFC9;
}

.ptour-day__row:last-child {
    border-bottom: none;
}

.ptour-day__time {
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 1.2;
    color: var(--c-btn-green);
    white-space: nowrap;
}

.ptour-day__text {
    font-family: 'Jost', sans-serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.3;
    color: var(--c-bg-dark);
}

/* ===== 9. FAQ + CTA ===== */

/* No reveal animation on FAQ — override .ptour-section defaults */
.ptour-section.ptour-faq,
.ptour-section.ptour-faq.is-visible {
    opacity: 1;
    transform: none;
    transition: none;
}

/* FAQ section sits on white background per Figma (page bg is #F1F1F1) */
.ptour-faq {
    background: var(--c-text-light);
    padding-top: 80px;
    padding-bottom: 80px;
}

.ptour-faq__title {
    font-size: 58px;
    margin-bottom: 60px;
}

.ptour-faq__list {
    margin: 0 0 60px;
}

.ptour-faq__item {
    border-bottom: 1px solid var(--c-line);
    padding: 24px 0;
}

.ptour-faq__item[open] .ptour-faq__toggle::before {
    transform: rotate(45deg);
}

.ptour-faq__item[open] .ptour-faq__toggle::after {
    transform: rotate(45deg);
}

.ptour-faq__q {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    cursor: pointer;
    user-select: none;
}

.ptour-faq__q::-webkit-details-marker {
    display: none;
}

.ptour-faq__q-text {
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: 35px;
    line-height: 1.2;
    color: var(--c-green);
    flex: 1 1 auto;
}

.ptour-faq__toggle {
    position: relative;
    display: inline-block;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
}

.ptour-faq__toggle::before,
.ptour-faq__toggle::after {
    content: "";
    position: absolute;
    background: var(--c-bg-dark);
    transition: transform .2s ease;
}

.ptour-faq__toggle::before {
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    margin-top: -1px;
}

.ptour-faq__toggle::after {
    left: 50%;
    top: 0;
    width: 2px;
    height: 100%;
    margin-left: -1px;
}

.ptour-faq__a {
    margin-top: 18px;
    padding-right: 80px;
    font-size: 20px;
    line-height: 1.5;
    color: var(--c-bg-dark);
}

.ptour-faq__phone {
    color: var(--c-green);
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    white-space: nowrap;
}

.ptour-faq__phone:hover {
    color: var(--c-bg-dark);
}

/* Footnote in FAQ answers ("* Поздний выезд — по доступности") */
.ptour-faq__sup {
    font-size: .7em;
    vertical-align: super;
    line-height: 0;
    color: var(--c-green);
}

.ptour-faq__note {
    display: inline-block;
    margin-top: 6px;
    font-size: .85em;
    color: var(--c-bg-dark);
    opacity: .75;
}

/* ===== CTA block — sits between Day 4 and FAQ ===== */

.ptour-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 41px;
    padding: 53px 80px 95px;
}

.ptour-cta__btn {
    width: 392px;
    max-width: 100%;
    height: 55px;
    min-height: 55px;
    padding: 0 20px;
    font-size: 25px;
}

/* ===== Tablet ===== */
@media (max-width: 1199px) {
    .ptour {
        padding-left: 40px;
        padding-right: 40px;
    }
    .ptour-section__title {
        font-size: 42px;
    }
    .ptour-faq__title {
        font-size: 56px;
    }
    .ptour-hero__title {
        font-size: 42px;
    }
    .ptour-day__num {
        font-size: 72px;
    }
    .ptour-day__subtitle {
        font-size: 26px;
    }
    .ptour-faq__q-text {
        font-size: 26px;
    }
}

/* ===== Mobile (≤ 767px) — matched to Figma "моб правки" ===== */
@media (max-width: 767px) {
    /* Page: 20px side padding (Figma anchors content at x=20) */
    .ptour {
        padding-left: 0;
        padding-right: 0;
    }

    /* Vertical rhythm: tighter on mobile (was 80px between sections) */
    .ptour > * + * {
        margin-top: 40px;
    }
    .ptour > .ptour-day + .ptour-day {
        margin-top: 0;
    }
    .ptour > .ptour-day + .ptour-cta {
        margin-top: 0;
    }
    .ptour > .ptour-cta + .ptour-faq {
        margin-top: 0;
    }

    .ptour-section {
        padding: 0 20px;
    }

    .ptour-section__title {
        font-size: 30px;
        margin-bottom: 20px;
    }

    .ptour-section__lead {
        font-size: 20px;
        margin-bottom: 24px;
    }

    /* ===== Hero ===== */
    .ptour-hero {
        min-height: 0;
    }
    .ptour-hero__logo {
        position: relative;
        top: auto;
        left: auto;
        width: 110px;
        margin: 24px 20px 0;
    }
    .ptour-hero__bg {
        position: relative;
        width: calc(100% - 20px);
        height: 424px;
        margin: 0 10px;
    }
    .ptour-hero__inner {
        padding: 24px 20px 32px;
        max-width: 100%;
    }
    .ptour-hero__title {
        font-size: 30px;
        margin-bottom: 32px;
    }
    .ptour-hero__bullets {
        gap: 24px;
        margin-bottom: 32px;
    }
    .ptour-hero__bullet {
        grid-template-columns: 40px 1fr;
        gap: 20px;
        font-size: 18px;
    }
    .ptour-hero__bullet-icon {
        width: 40px;
        height: 40px;
    }
    .ptour-hero__cta {
        width: 100%;
        height: 55px;
        min-height: 55px;
        font-size: 25px;
    }

    /* ===== Photo grids → horizontal swipe-carousel (one card visible, next peeks) ===== */

    /* Sections: drop side padding so carousel goes full-bleed; restore on title/lead */
    .ptour-zhdet,
    .ptour-otel,
    .ptour-kukhnya {
        padding-left: 0;
        padding-right: 0;
    }
    .ptour-zhdet > .ptour-section__title,
    .ptour-zhdet > .ptour-section__lead,
    .ptour-otel > .ptour-section__title,
    .ptour-otel > .ptour-section__lead,
    .ptour-kukhnya > .ptour-section__title,
    .ptour-kukhnya > .ptour-section__lead {
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Carousel container — horizontal scroll with snap */
    .ptour-zhdet__grid,
    .ptour-otel__grid,
    .ptour-kukhnya__grid {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scroll-padding-left: 20px;
        padding: 0 20px;
        scrollbar-width: none;
        /* Reset desktop grid props */
        grid-template-columns: none;
        grid-template-rows: none;
        grid-template-areas: none;
        aspect-ratio: auto;
    }
    .ptour-zhdet__grid::-webkit-scrollbar,
    .ptour-otel__grid::-webkit-scrollbar,
    .ptour-kukhnya__grid::-webkit-scrollbar {
        display: none;
    }

    /* Each card takes (viewport - 70px), so 50px of next card peeks beyond the screen */
    .ptour-card,
    .ptour-otel__cell,
    .ptour-kukhnya__cell {
        flex: 0 0 calc(100vw - 70px);
        max-width: calc(100vw - 70px);
        scroll-snap-align: start;
        /* Reset desktop spans */
        grid-column: auto;
        grid-row: auto;
        grid-area: auto;
        height: auto;
    }

    /* otel/kukhnya cells — plain image cards, 3:4 portrait */
    .ptour-otel__cell,
    .ptour-kukhnya__cell {
        aspect-ratio: 3 / 4;
    }

    /* Show all 5 cells on mobile — desktop big-cell spans were reset above */
    .ptour-zhdet__grid > :nth-child(5),
    .ptour-otel__grid    > :nth-child(5),
    .ptour-kukhnya__grid > :nth-child(5) {
        display: block;
    }

    /* zhdet cards — image area (3:4) + caption strip below on page bg */
    .ptour-card {
        aspect-ratio: 3 / 4.55;
        padding-bottom: 56px;
        background-clip: content-box;
        background-origin: content-box;
    }
    .ptour-card::after {
        display: none;
    }
    .ptour-card__caption {
        left: 0;
        right: 0;
        bottom: 0;
        top: auto;
        height: 56px;
        padding: 0;
        color: var(--c-bg-dark);
        font-size: 26px;
        font-weight: 600;
        line-height: 1.2;
        display: flex;
        align-items: center;
    }

    /* ===== Days ===== */
    .ptour-day {
        grid-template-columns: 1fr;
        align-items: stretch;
        padding: 48px 20px;
        gap: 12px;
        min-height: 0;
        background-position: center;
    }
    .ptour-day__title-wrap {
        padding: 0;
    }
    .ptour-day__num {
        font-size: 48px;
        margin-bottom: 8px;
    }
    .ptour-day__subtitle {
        font-size: 30px;
    }
    .ptour-day__schedule {
        background: #FFFFFF;
        border-radius: 20px;
        padding: 0;
        margin-top: 24px;
        overflow: hidden;
    }
    .ptour-day__row {
        grid-template-columns: 96px 1fr;
        gap: 12px;
        padding: 24px 14px;
        min-height: 89px;
        border-bottom: 1px solid #000;
    }
    .ptour-day__row:last-child {
        border-bottom: none;
    }
    .ptour-day__time {
        font-size: 20px;
        font-weight: 500;
        color: var(--c-btn-green);
        text-transform: uppercase;
        /* Allow wrap after "—" on mobile (desktop has nowrap) */
        white-space: normal;
    }
    .ptour-day__text {
        font-size: 18px;
    }

    /* ===== CTA — stacked, 335×55 like Figma ===== */
    .ptour-cta {
        grid-template-columns: 1fr;
        padding: 32px 20px;
        gap: 20px;
    }
    .ptour-cta__btn {
        height: 55px;
        min-height: 55px;
        font-size: 20px;
        padding: 20px;
    }

    /* ===== FAQ — white background section ===== */
    .ptour-faq {
        background: #FFFFFF;
        padding: 43px 20px 60px;
    }
    .ptour-faq__title {
        font-size: 30px;
        margin-bottom: 26px;
    }
    .ptour-faq__list {
        margin-bottom: 0;
    }
    .ptour-faq__item {
        padding: 16px 0;
    }
    .ptour-faq__q {
        gap: 16px;
        align-items: flex-start;
    }
    .ptour-faq__q-text {
        font-size: 22px;
        line-height: 1.2;
    }
    .ptour-faq__toggle {
        width: 30px;
        height: 30px;
        margin-top: 4px;
    }
    .ptour-faq__a {
        padding-right: 0;
        font-size: 18px;
        line-height: 1.3;
    }
}

/* End */


/* Start:/local/templates/template1/template_styles.css?1778848564339*/
.thumb-wrap {
  position: relative;
  padding-bottom: 56.25%; /* задаёт высоту контейнера для 16:9 (если 4:3 — поставьте 75%) */
  height: 0;
  overflow: hidden;
}
.thumb-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-width: 0;
  outline-width: 0;
}
/* End */
/* /local/templates/template1/public/css/common/page/personal-tour.css?178818466725278 */
/* /local/templates/template1/template_styles.css?1778848564339 */
