.bts-hero{position:relative;height:400px;overflow:hidden;background:#1a1d2e}
.bts-hero img{width:100%;height:100%;object-fit:cover;opacity:.7}
.bts-hero::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(to top,rgba(15,16,26,.96) 0%,rgba(15,16,26,.55) 55%,rgba(15,16,26,.25) 100%)}
.bts-hero__content{position:absolute;left:0;right:0;bottom:0;z-index:1;max-width:1200px;margin:0 auto;padding:0 1.5rem 2.2rem;color:#fff}
.bts-hero__crumbs{font-size:.82rem;margin-bottom:.9rem;color:hsla(0,0%,100%,.75);text-shadow:0 1px 4px rgba(0,0,0,.7)}
.bts-hero__crumbs a{color:hsla(0,0%,100%,.75);transition:color .2s}
.bts-hero__crumbs a:hover{color:#fff}
.bts-hero__title{font-family:"Playfair Display",serif;font-weight:700;font-size:clamp(1.7rem,4vw,2.6rem);margin-bottom:1rem;color:#fff;max-width:44rem;line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.bts-hero__meta{display:flex;flex-wrap:wrap;gap:.6rem}
.bts-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;border-radius:9999px;background:hsla(0,0%,100%,.16);backdrop-filter:blur(6px);border:1px solid hsla(0,0%,100%,.25);font-size:.82rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.bts-pill--accent{background:#2a96a5;border-color:#2a96a5;font-weight:600}

.bts-wrap{max-width:1200px;margin:0 auto;padding:3rem 1.5rem 4rem;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:3rem}
@media(max-width:900px){.bts-wrap{grid-template-columns:1fr}}

.bts-section{margin-bottom:2.6rem}
.bts-section .section-label{display:block;margin-bottom:.3rem}
.bts-section h2{font-family:"Playfair Display",serif;font-size:1.4rem;color:#1a1d2e;margin-bottom:1.1rem}
.bts-section p{color:#3d3f52;line-height:1.65}
.bts-route{padding:1rem 1.2rem;background:#f4f4f5;border-radius:.9rem;border-left:3px solid #2a96a5}

/* Программа по дням — маршрутная линия как фирменный элемент */
.bts-days{display:flex;flex-direction:column}
.bts-day{display:flex;gap:1.1rem}
.bts-day__rail{position:relative;display:flex;flex-direction:column;align-items:center;flex:none}
.bts-day__rail::before{content:"";position:absolute;top:2.4rem;bottom:-1.1rem;width:2px;background:repeating-linear-gradient(to bottom,#dcdde6 0,#dcdde6 4px,transparent 4px,transparent 8px)}
.bts-day:last-child .bts-day__rail::before{display:none}
.bts-day__num{flex:none;width:2.4rem;height:2.4rem;border-radius:50%;background:#1a1d2e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;z-index:1}
.bts-day:hover .bts-day__num{background:#2a96a5}
.bts-day__body{flex:1;min-width:0;padding-bottom:1.6rem}
.bts-day__title{font-weight:600;color:#1a1d2e;margin-bottom:.3rem;padding-top:.4rem}
.bts-day__text{font-size:.9rem;color:#5a5b6e;line-height:1.6}
.bts-day__text p{margin-bottom:.7rem}
.bts-day__text p:last-child{margin-bottom:0}

.bts-include{color:#3d3f52;line-height:1.7}
.bts-include p{margin-bottom:.9rem}
.bts-include p:last-child{margin-bottom:0}
.bts-include ul,.bts-include ol{padding-left:1.3rem;margin:.6rem 0}
.bts-include li{margin-bottom:.4rem}

/* Аккордеон (доп. услуги / экскурсии / скидки) — нативный <details>, раскрытие по клику */
.bts-accordion summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:#f4f4f5;border-radius:.9rem;transition:background .2s}
.bts-accordion summary::-webkit-details-marker{display:none}
.bts-accordion summary:hover{background:#e9e9ec}
.bts-accordion summary .section-label{margin:0}
.bts-accordion summary h2{margin:0;font-size:1.05rem}
.bts-accordion summary::after{content:"";width:.6rem;height:.6rem;border-right:2px solid #1a1d2e;border-bottom:2px solid #1a1d2e;transform:rotate(45deg);transition:transform .25s;flex:none}
.bts-accordion[open] summary::after{transform:rotate(-135deg)}
.bts-accordion[open] summary{border-radius:.9rem .9rem 0 0;margin-bottom:0}
.bts-accordion .bts-list{margin-top:.7rem}

.bts-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.bts-list li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-radius:.7rem;background:#f4f4f5;font-size:.9rem;color:#3d3f52}
.bts-list li b{color:#1a1d2e;white-space:nowrap;font-weight:600}

/* Даты выезда — календарь по месяцам, закрашенные дни = выезд, карусель вправо/влево */
.bts-cal-legend{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.8rem;color:#66677a;margin-bottom:1.1rem}
.bts-cal-legend span{display:flex;align-items:center;gap:.4rem}
.bts-cal-dot{width:.65rem;height:.65rem;border-radius:50%;flex:none}
.bts-cal-dot--ok{background:#2f9e6b}
.bts-cal-dot--low{background:#e8a830}
.bts-cal-dot--request{background:#c7c8d4}

.bts-cal-wrap{display:flex;align-items:center;gap:.6rem;position:relative}
.bts-cal-wrap::after{content:"";position:absolute;top:0;right:2.8rem;bottom:.3rem;width:2.5rem;pointer-events:none;background:linear-gradient(to right,rgba(250,250,250,0),#fafafa)}
.bts-cal-nav{flex:none;width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid #e5e5e9;background:#fff;color:#1a1d2e;font-size:1.1rem;cursor:pointer;transition:background .2s}
.bts-cal-nav:hover{background:#f4f4f5}
.bts-cal-nav:disabled{opacity:.35;cursor:default}
.bts-cal-nav:disabled:hover{background:#fff}

.bts-cal-scroll{flex:1;min-width:0;display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:.3rem}
.bts-cal-month{flex:0 0 260px;scroll-snap-align:start;border:1px solid #e5e5e9;border-radius:1rem;padding:1rem}
.bts-cal-month__title{font-weight:600;color:#1a1d2e;margin-bottom:.7rem;font-family:"Playfair Display",serif}
.bts-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.3rem}
.bts-cal-weekdays span{text-align:center;font-size:.68rem;color:#8a8ba0;font-weight:600}
.bts-cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px}
.bts-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.78rem;color:#c7c8d4;border-radius:.4rem}
.bts-cal-day--empty{visibility:hidden}
.bts-cal-day--ok,.bts-cal-day--low,.bts-cal-day--request{color:#fff;font-weight:600;cursor:default}
.bts-cal-day--ok{background:#2f9e6b}
.bts-cal-day--low{background:#e8a830}
.bts-cal-day--request{background:#c7c8d4;color:#66677a}

/* top учитывает фиксированную шапку (~5rem), иначе карточка уезжает под неё при скролле;
   если содержимое выше экрана — скроллим внутри карточки, а не прячем под шапку */
.bts-sidebar{position:sticky;top:6rem;align-self:start;max-height:calc(100vh - 7.5rem);overflow-y:auto;background:#fff;border:1px solid #e5e5e9;border-radius:1.1rem;padding:1.6rem;box-shadow:0 4px 16px rgba(26,29,46,.06)}
.bts-section{scroll-margin-top:6rem}
.bts-sidebar__price{font-size:1.9rem;font-weight:700;color:#1a1d2e;margin-bottom:.2rem}
.bts-sidebar__price small{font-size:.85rem;font-weight:400;color:#8a8ba0;font-family:"Inter",sans-serif}
.bts-sidebar__route{font-size:.85rem;color:#66677a;margin-bottom:1.3rem;line-height:1.5}
.bts-sidebar dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;font-size:.85rem;margin-bottom:1.3rem;padding-bottom:1.3rem;border-bottom:1px solid #ececef}
.bts-sidebar dt{color:#66677a}
.bts-sidebar dd{color:#1a1d2e;text-align:right;font-weight:500}
/* --- ближайшие даты выезда в сайдбаре --- */
.bts-dates{margin-bottom:1.3rem;padding-bottom:1.3rem;border-bottom:1px solid #ececef}
.bts-dates__head{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:#66677a;margin-bottom:.6rem}
.bts-dates__head b{color:#1a1d2e;font-weight:600}
.bts-dates__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
/* одна строка на дату: день · места слева, цена справа */
.bts-date{display:flex;align-items:baseline;gap:.45rem;padding:.42rem 0;border-bottom:1px solid #efeff2}
.bts-date:last-child{border-bottom:0;padding-bottom:0}
.bts-date::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:#c9cad6;transform:translateY(-1px)}
.bts-date--ok::before{background:#3fa66b}
.bts-date--low::before{background:#e0a13c}
.bts-date--request::before{background:#9a9bad}
.bts-date__day{font-weight:600;font-size:.87rem;color:#1a1d2e;white-space:nowrap}
.bts-date__places{font-size:.75rem;color:#8a8ba0;white-space:nowrap}
.bts-date__price{margin-left:auto;font-size:.82rem;font-weight:600;color:#1a1d2e;white-space:nowrap}
.bts-dates__more{display:block;margin-top:.7rem;font-size:.8rem;color:#2a96a5;font-weight:500}
.bts-dates__more:hover{text-decoration:underline}

.bts-sidebar__country-link{display:block;text-align:center;margin-top:1rem;font-size:.85rem;color:#2a96a5;font-weight:500}
.bts-sidebar__country-link:hover{text-decoration:underline}
