html { scroll-behavior: smooth; }

/* Tours slider: кнопки снаружи ленты, карточки не перекрывают стрелки */
.tours-slider-wrap {
    padding-left: 4rem;
    padding-right: 4rem;
}
.tours-slider-prev { left: 0; z-index: 20; }
.tours-slider-next { right: 0; z-index: 20; }
@media (max-width: 639px) {
    .tours-slider-wrap { padding-left: 2.5rem; padding-right: 2.5rem; }
    .tours-slider-prev { left: 0.25rem; }
    .tours-slider-next { right: 0.25rem; }
}
.tours-slider {
    display: flex;
    flex-direction: row;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.tours-slider::-webkit-scrollbar { display: none; }
/* Ширина карточек (Tailwind w-* убраны с разметки) */
.tours-slider-wrap .tours-slider > .tours-slider-card {
    flex-shrink: 0;
    scroll-snap-align: start;
    width: 340px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}
@media (max-width: 1023px) {
    .tours-slider-wrap .tours-slider > .tours-slider-card {
        width: 300px;
    }
}
@media (max-width: 767px) {
    /*
     * iOS Safari: flex-basis: 100% + min-width:0 у детей даёт схлопывание ширины («полоски»).
     * Явная ширина по viewport: px-4 контейнера (2rem) + padding обёртки слайдера (5rem).
     */
    .tours-slider-wrap {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
        max-width: 100%;
        box-sizing: border-box;
        width: 100%;
    }
    .tours-slider {
        padding-left: 0;
        padding-right: 0;
        gap: 0.75rem;
        max-width: 100%;
        box-sizing: border-box;
        width: 100%;
    }
    .tours-slider-wrap .tours-slider > .tours-slider-card {
        flex: 0 0 auto;
        width: calc(100vw - 7rem);
        max-width: calc(100vw - 7rem);
        min-width: calc(100vw - 7rem);
    }
}
/* Блок с текстом: одна высота у всех карточек, без «лесенки» */
.tours-slider-card .tours-card-inner {
    width: 100%;
    min-height: 18rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}
.tours-slider-card .tours-card-inner h3 {
    line-height: 1.3;
    min-height: 3.25rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.tours-slider-card .tours-card-inner > p {
    flex: 0 0 auto;
    min-height: 4.125rem;
    margin-bottom: 1rem;
}
.tours-slider-card .tours-card-inner > div:last-child {
    margin-top: auto;
}
@media (min-width: 768px) {
    .tours-slider-card .tours-card-inner > p {
        min-height: 2.75rem;
    }
}
/* Точки слайдера — только на мобильной */
.tours-slider-dots {
    display: flex;
}
.tours-slider-dots .tours-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.35);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.2s;
}
.tours-slider-dots .tours-dot.active {
    background: var(--color-primary, #19e6c4);
}
@media (min-width: 768px) {
    .tours-slider-dots { display: none !important; }
}

.lead-form-pattern {
    background-image: radial-gradient(#19e6c4 1px, transparent 1px);
    background-size: 32px 32px;
}

/* Sticky CTA bar: скрыт по умолчанию, выезжает снизу */
.sticky-cta-bar {
    transform: translateY(100%);
    -webkit-transform: translateY(100%);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s, visibility 0.3s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.sticky-cta-bar[data-visible="true"] {
    transform: translateY(0);
    -webkit-transform: translateY(0);
    opacity: 1;
    visibility: visible;
}
.sticky-cta-bar {
    padding-bottom: max(0.5rem, env(safe-area-inset-bottom, 0));
    box-sizing: border-box;
}
/* Мобил: полоса вплотную к краям (без микрощели), блок кнопок по центру */
@media (max-width: 639px) {
    .sticky-cta-bar {
        padding-left: 0;
        padding-right: 0;
    }
    .sticky-cta-bar .sticky-cta-buttons {
        width: 100%;
        padding-left: 4rem;  /* симметрично правой зоне (кнопка «Наверх») */
        padding-right: 4rem;
        box-sizing: border-box;
    }
}

