/* Страница отеля. Собрано tools/build_hotel_pages.py из тех же модулей,
   что и утверждённый прототип /proto_hotel_a/. Руками не править. */

/* ---- плашка прототипов ---- */
.kp-bar{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;gap:.8rem 2rem;align-items:center;justify-content:space-between;padding:.8rem 2.4rem;background:#1b2733;color:#cfd8e3;font-size:1.3rem}
.kp-bar nav{display:flex;gap:.4rem}
.kp-bar a{color:#fff;text-decoration:none;padding:.5rem 1.2rem;border-radius:.8rem;background:rgba(255,255,255,.08)}
.kp-bar a.is-current{background:var(--bt-orange)}
/* main.css ставит img{opacity:0} и ждёт класс lazyloaded от lazysizes.
   Наши картинки без ленивой загрузки — показываем сразу. */
.kp img,.kp-hero img,.kp-hero3 img{opacity:1}
/* ---- сброс точек у списков в наших блоках ---- */
.kp ul,.kp ol{list-style:none;padding:0;margin:0}
.kp ul:not(.bt-checks):not(.bt-steps) > li:before,.kp ol > li:before{content:none!important;display:none!important}
.kp ul:not(.bt-checks):not(.bt-steps) > li,.kp ol > li{margin:0}
/* Отступы снимаем только у безымянных li: у плиток (.kse, .ka, .kg) свой padding,
   и сброс с высокой специфичностью прижимал их текст к краю (заказчик заметил 02.09). */
.kp ul:not(.bt-checks):not(.bt-steps) > li:not([class]),.kp ol > li:not([class]),.kp ul > li.kr,.kp ul > li.ks{padding:0}
.kp h2{margin:5.6rem 0 1.2rem}
.kp .kp-sub{margin:0 0 2.4rem;max-width:72ch;color:var(--bt-gray2);font-size:1.6rem;line-height:1.5}
.kp h2 + .kp-sub{margin-top:-.2rem}
/* ---- якорное меню ---- */
.kp-anchors{position:sticky;top:10.4rem;z-index:20;display:flex;gap:.8rem;flex-wrap:wrap;margin:0 0 2.4rem;padding:1rem 0;background:rgba(255,255,255,.92);backdrop-filter:blur(6px)}
.kp-anchors a{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.5rem;border-radius:100px;background:var(--bt-gray4);color:var(--bt-graphite);font-size:1.4rem;font-weight:500;text-decoration:none;border:0;transition:background .15s}
.kp-anchors a:hover{background:var(--bt-blue-light);color:var(--bt-blue)}
.kp-anchors svg{width:1.6rem;height:1.6rem}
/* ---- фото-герой (v1) ---- */
.page .page__header.kp-hero{max-width:122.4rem;margin:0 auto 2.4rem;padding:0;border-radius:var(--bt-radius);overflow:hidden;background:#123;position:relative;min-height:42rem;display:flex;align-items:flex-end}
.page .page__header.kp-hero:before,.page .page__header.kp-hero:after{content:none}
.kp-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.kp-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,30,50,.05) 20%,rgba(10,30,50,.75) 100%)}
.page .page__header.kp-hero .container{position:relative;z-index:1;padding:4rem 4.8rem 4.4rem;width:100%}
.page .page__header.kp-hero .page__headline{color:#fff;font-size:4.6rem;line-height:1.1;font-weight:700;letter-spacing:-.02em;margin:0 0 1rem;text-shadow:0 .2rem 1.2rem rgba(0,0,0,.25)}
.kp-hero__sub{color:rgba(255,255,255,.92);font-size:1.9rem;line-height:1.45;max-width:64rem;margin:0 0 2.2rem;text-shadow:0 .1rem .8rem rgba(0,0,0,.3)}
.kp-hero__actions{display:flex;flex-wrap:wrap;gap:1.2rem}
.kp-hero__actions .button{padding:1.4rem 2.8rem;border-radius:1.2rem;font-size:1.6rem;font-weight:600}
.kp-btn-orange{background:var(--bt-orange);color:#fff;border:0}
.kp-btn-orange:hover{background:#F2661F}
.kp-btn-ghost{background:rgba(255,255,255,.18);color:#fff;border:0;backdrop-filter:blur(4px)}
.kp-btn-ghost:hover{background:rgba(255,255,255,.3)}
/* ---- герой по макету: градиент + фото справа (v3) ---- */
.page .page__header.kp-hero3{max-width:122.4rem;margin:0 auto 2.4rem;padding:0;border-radius:var(--bt-radius);overflow:hidden;position:relative;min-height:30rem;background:linear-gradient(115deg,#2F74DE 0%,#3E8BEF 100%);display:flex;align-items:center}
.page .page__header.kp-hero3:before,.page .page__header.kp-hero3:after{content:none}
.kp-hero3__img{position:absolute;top:0;right:0;bottom:0;width:52%;object-fit:cover;clip-path:ellipse(88% 120% at 100% 50%)}
.page .page__header.kp-hero3 .container{position:relative;z-index:1;padding:4.4rem 4.8rem;width:100%;display:block}
.page .page__header.kp-hero3 .page__headline{color:#fff;font-size:4.4rem;line-height:1.1;font-weight:700;margin:0 0 1.2rem;max-width:46%}
.kp-hero3__sub{color:rgba(255,255,255,.92);font-size:1.7rem;line-height:1.5;max-width:42%;margin:0}
/* ---- карточки курортов с фото (v1) ---- */
.kp-resorts{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
/* одна карточка, три раскладки: вертикальная (4 в ряд, span 3), квадратная (3 в ряд, span 4), широкая (2 в ряд, span 6).
   Хвост, не заполнивший ряд, переключается автоматически по числу карточек; .kp-resorts--top ставит широкие первыми */
@media (min-width:1101px){
.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5),.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(2),.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(3),.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(6),.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(2),.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(3),.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(4),.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(5),.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(6),.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(7) ~ .kr:nth-child(5),.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(7) ~ .kr:nth-child(6),.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(7) ~ .kr:nth-child(7),.kp-resorts--top > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(3),.kp-resorts--top > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(4),.kp-resorts--top > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(5),.kp-resorts--top > .kr:first-child:nth-last-child(6),.kp-resorts--top > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(2),.kp-resorts--top > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(3),.kp-resorts--top > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(4),.kp-resorts--top > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(5),.kp-resorts--top > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(6),.kp-resorts--top > .kr:first-child:nth-last-child(7),.kp-resorts--top > .kr:first-child:nth-last-child(7) ~ .kr:nth-child(2),.kp-resorts--top > .kr:first-child:nth-last-child(7) ~ .kr:nth-child(3){grid-column:span 4}
.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) .kr__media,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(2) .kr__media,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(3) .kr__media,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(6) .kr__media,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(2) .kr__media,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(3) .kr__media,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(4) .kr__media,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(5) .kr__media,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(6) .kr__media,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(7) ~ .kr:nth-child(5) .kr__media,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(7) ~ .kr:nth-child(6) .kr__media,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(7) ~ .kr:nth-child(7) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(3) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(4) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(5) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(6) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(2) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(3) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(4) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(5) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(6) ~ .kr:nth-child(6) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(7) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(7) ~ .kr:nth-child(2) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(7) ~ .kr:nth-child(3) .kr__media{padding-top:70%}
.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(4),.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(5),.kp-resorts--top > .kr:first-child:nth-last-child(5),.kp-resorts--top > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(2){grid-column:span 6;flex-direction:row}
.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(4) .kr__media,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(5) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(5) .kr__media,.kp-resorts--top > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(2) .kr__media{flex:0 0 46%;padding-top:0;min-height:24rem}
.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(4) .kr__body,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(5) .kr__body,.kp-resorts--top > .kr:first-child:nth-last-child(5) .kr__body,.kp-resorts--top > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(2) .kr__body{padding:2.2rem 2.6rem 2.4rem}
.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(4) .kr__name,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(5) .kr__name,.kp-resorts--top > .kr:first-child:nth-last-child(5) .kr__name,.kp-resorts--top > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(2) .kr__name{font-size:2.4rem}
.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(4) .kr__verdict,.kp-resorts:not(.kp-resorts--top) > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(5) .kr__verdict,.kp-resorts--top > .kr:first-child:nth-last-child(5) .kr__verdict,.kp-resorts--top > .kr:first-child:nth-last-child(5) ~ .kr:nth-child(2) .kr__verdict{font-size:1.55rem}
}
@media (max-width:1100px){
.kp-resorts > .kr{grid-column:span 6}
.kp-resorts > .kr:nth-child(odd):last-child{grid-column:span 12;flex-direction:row}
.kp-resorts > .kr:nth-child(odd):last-child .kr__media{flex:0 0 46%;padding-top:0;min-height:22rem}
}
@media (max-width:600px){
.kp-resorts > .kr,.kp-resorts > .kr:nth-child(odd):last-child{grid-column:span 12;flex-direction:column}
.kp-resorts > .kr:nth-child(odd):last-child .kr__media{flex:none;padding-top:62%;min-height:0}
}
.kr{grid-column:span 3;display:flex;flex-direction:column;background:#fff;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);overflow:hidden;transition:box-shadow .25s,transform .25s}
.kr:hover{box-shadow:var(--bt-shadow-hover);transform:translateY(-.3rem)}
.kr__media{position:relative;padding-top:62%;background:var(--bt-gray3);overflow:hidden}
.kr__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kr__age{position:absolute;left:1.2rem;top:1.2rem;padding:.5rem 1rem;border-radius:100px;background:rgba(255,255,255,.95);color:var(--bt-blue);font-size:1.25rem;font-weight:600}
.kr__body{padding:1.8rem 2rem 2rem;display:flex;flex-direction:column;gap:1rem;flex:1}
.kr__name{margin:0;font-size:2rem;font-weight:700;color:var(--bt-graphite)}
.kr__facts{display:flex;flex-direction:column;gap:.6rem;font-size:1.4rem;color:var(--bt-gray1)}
.kr__facts li{display:flex;gap:.8rem;align-items:flex-start}
.kr__facts svg{flex:0 0 auto;width:1.8rem;height:1.8rem;color:var(--bt-blue);margin-top:.15rem}
.kr__verdict{margin:.4rem 0 0;font-size:1.45rem;line-height:1.5;color:var(--bt-gray1)}
.kr__link{margin-top:auto;padding-top:1rem;font-size:1.4rem;font-weight:600;color:var(--bt-blue);border:0!important}

/* ---- v1в: одна карточка, число колонок по количеству (3 или 4), неполный последний ряд растягивается ---- */
.kp-rflex{display:flex;flex-wrap:wrap;gap:1.6rem;margin:2rem 0 0}
.kp-rflex > .kr{flex:1 1 calc((100% - 3.2rem)/3);min-width:0}
.kp-rflex > .kr:first-child:nth-last-child(4),.kp-rflex > .kr:first-child:nth-last-child(4) ~ .kr,
.kp-rflex > .kr:first-child:nth-last-child(7),.kp-rflex > .kr:first-child:nth-last-child(7) ~ .kr,
.kp-rflex > .kr:first-child:nth-last-child(8),.kp-rflex > .kr:first-child:nth-last-child(8) ~ .kr{flex-basis:calc((100% - 4.8rem)/4)}
.kp-rflex .kr__media{padding-top:0;aspect-ratio:16/10;max-height:24rem}
/* ---- v1г: список в один столбец, широкие карточки, нумерация от аэропорта ---- */
.kp-rlist{display:flex;flex-direction:column;gap:1.6rem;margin:2rem 0 0;counter-reset:kr}
.kp-rlist > .kr{flex-direction:row}
.kp-rlist .kr__media{flex:0 0 30%;padding-top:0;min-height:19rem}
.kp-rlist .kr__body{padding:2rem 2.8rem 2.2rem;gap:.9rem}
.kp-rlist .kr__name{font-size:2.2rem;display:flex;align-items:center;gap:1rem}
.kp-rlist .kr__name:before{counter-increment:kr;content:counter(kr);flex:0 0 auto;display:inline-flex;width:2.8rem;height:2.8rem;border-radius:50%;background:var(--bt-blue);color:#fff;font-size:1.4rem;font-weight:600;align-items:center;justify-content:center}
.kp-rlist .kr__facts{flex-direction:row;flex-wrap:wrap;gap:.6rem 2.4rem}
.kp-rlist .kr__link{margin-top:.2rem;padding-top:.4rem}
/* ---- полоса «побережье на одной схеме» — всегда одна и та же, не зависит от числа курортов ---- */
.kp-coast{display:grid;grid-template-columns:1fr 28rem;gap:2.4rem 3.2rem;align-items:center;margin:1.6rem 0 0;padding:2.4rem 2.8rem;border-radius:var(--bt-radius);background:var(--bt-gray4)}
.kp-coast svg{width:100%;height:auto;display:block}
.kp-coast__cta b{display:block;font-size:1.8rem;line-height:1.3;margin-bottom:.6rem;color:var(--bt-graphite)}
.kp-coast__cta p{margin:0 0 1.4rem;font-size:1.45rem;line-height:1.5;color:var(--bt-gray1)}
.kp-coast__cta .button{width:100%;justify-content:center}
@media (max-width:1100px){
  .kp-rflex > .kr{flex-basis:calc((100% - 1.6rem)/2)!important}
  .kp-coast{grid-template-columns:1fr}
}
@media (max-width:600px){
  .kp-rflex > .kr{flex-basis:100%!important}
  .kp-rlist > .kr{flex-direction:column}
  .kp-rlist .kr__media{flex:none;padding-top:62%;min-height:0}
}

/* ---- v1д: список, компактная карточка из трёх зон: фото / текст / панель фактов ---- */
.kp-rlist2{display:flex;flex-direction:column;gap:1.4rem;margin:2rem 0 0}
.kr2{display:grid;grid-template-columns:27% 1fr 26rem;background:#fff;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);overflow:hidden;transition:box-shadow .25s,transform .25s}
.kr2:hover{box-shadow:var(--bt-shadow-hover);transform:translateY(-.3rem)}
.kr2__media{position:relative;min-height:18rem;background:var(--bt-gray3)}
.kr2__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kr2__num{position:absolute;left:1.2rem;top:1.2rem;width:3.2rem;height:3.2rem;border-radius:50%;background:#fff;color:var(--bt-blue);font-weight:700;font-size:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.kr2__body{padding:1.8rem 2.4rem 1.6rem;display:flex;flex-direction:column;gap:.7rem;min-width:0}
.kr2__name{margin:0;font-size:2.2rem;font-weight:700;color:var(--bt-graphite)}
.kr2__verdict{margin:0;font-size:1.45rem;line-height:1.5;color:var(--bt-gray1)}
.kr2__link{margin-top:auto;padding-top:.6rem;font-size:1.4rem;font-weight:600;color:var(--bt-blue);border:0!important}
.kr2__facts{display:flex;flex-direction:column;justify-content:center;gap:1rem;margin:0;padding:1.4rem 2rem;background:var(--bt-gray4);border-left:1px solid var(--bt-gray3);font-size:1.35rem}
.kr2__facts li{display:flex;gap:1rem;align-items:flex-start;padding:0}
.kr2__facts svg{flex:0 0 auto;width:2rem;height:2rem;color:var(--bt-blue);margin-top:.2rem}
.kr2__facts small{display:block;font-size:1.1rem;line-height:1.3;color:var(--bt-gray2);text-transform:uppercase;letter-spacing:.05em}
.kr2__facts b{display:block;font-weight:600;color:var(--bt-graphite);line-height:1.35}
.kr2__rub{font-size:1.7rem;letter-spacing:.08em}
.kr2__rub em{font-style:normal;color:var(--bt-gray3)}
@media (max-width:1100px){
  .kr2{grid-template-columns:30% 1fr}
  .kr2__media{grid-row:1/3}
  .kr2__facts{grid-column:2;flex-direction:row;flex-wrap:wrap;gap:1rem 2.4rem;border-left:0;border-top:1px solid var(--bt-gray3);padding:1.2rem 2.4rem}
}
@media (max-width:600px){
  .kr2{grid-template-columns:1fr}
  .kr2__media{grid-row:auto}
  .kr2__media{min-height:0;padding-top:62%}
  .kr2__facts{grid-column:1;flex-direction:column;border-top:1px solid var(--bt-gray3)}
}
/* ---- фото-плитки «что делает отель детским» (v1, как у Coral) ---- */
.kp-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
.ks{background:#fff;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);overflow:hidden}
.ks__media{position:relative;padding-top:62%;background:var(--bt-gray3);overflow:hidden}
.ks__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ks__body{padding:1.6rem 2rem 2rem}
.ks__title{display:block;margin:0 0 .5rem;font-size:1.8rem;font-weight:600;color:var(--bt-graphite)}
.ks__text{margin:0;font-size:1.45rem;line-height:1.5;color:var(--bt-gray1)}
/* ---- сезоны ---- */
.kp-seasons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
.kse{padding:2rem 2.2rem;border-radius:var(--bt-radius);color:#fff;display:flex;flex-direction:column;gap:.6rem;min-height:17rem}
.kse b{color:#fff;font-size:1.9rem;font-weight:700}
.kse i{font-style:normal;font-size:1.4rem;opacity:.9}
.kse p{margin:.4rem 0 0;font-size:1.45rem;line-height:1.45;color:rgba(255,255,255,.95)}
.s-may{background:linear-gradient(140deg,#12A5C4,#5FD0E0)}
.s-jul{background:linear-gradient(140deg,#FF7C42,#F9B941)}
.s-sep{background:linear-gradient(140deg,#4CAF43,#7ED06F)}
.s-oct{background:linear-gradient(140deg,#2F74DE,#4E9BF0)}
/* ---- карточка отеля: новая логика ---- */
.kp-hotels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
.kp-hotels > .kh:nth-child(n+7){display:none}
.kp-hotels.is-open > .kh:nth-child(n+7){display:flex}
.kp-hotels > .kh.is-off{display:none!important}
.kh{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);overflow:hidden;transition:box-shadow .25s,transform .25s}
.kh:hover{box-shadow:var(--bt-shadow-hover);transform:translateY(-.3rem)}
.kh__media{position:relative;display:block;padding-top:66%;background:var(--bt-gray3);border:0!important;overflow:hidden}
.kh__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kh__who{position:absolute;left:1.2rem;top:1.2rem;padding:.5rem 1.1rem;border-radius:100px;background:rgba(255,255,255,.95);color:var(--bt-blue);font-size:1.25rem;font-weight:600;max-width:calc(100% - 2.4rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kh--rec .kh__who{top:auto;bottom:1.2rem}
.kh__body{display:flex;flex-direction:column;gap:1rem;padding:1.6rem 1.8rem 1.8rem;flex:1}
.kh__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.kh__name{margin:0;font-size:1.8rem;line-height:1.3;font-weight:700;color:var(--bt-graphite)}
.kh__stars{flex:0 0 auto;color:var(--bt-yellow);font-size:1.3rem;letter-spacing:.1em;margin-top:.3rem}
.kh__place{margin-top:-.6rem;font-size:1.35rem;color:var(--bt-gray2)}
.kh__tags{display:flex;flex-direction:column;gap:.6rem;margin:.2rem 0 0;padding:1.2rem 0;border-top:1px solid var(--bt-gray4);border-bottom:1px solid var(--bt-gray4)}
.kh__tags li{display:flex;gap:.9rem;align-items:center;font-size:1.4rem;color:var(--bt-graphite)}
.kh__tags svg{flex:0 0 auto;width:2.6rem;height:2.6rem;padding:.4rem;border-radius:.7rem;background:var(--bt-blue-light);color:var(--bt-blue)}
.kh__verdict{position:relative;margin:0;padding-left:2.6rem;font-size:1.4rem;line-height:1.5;color:var(--bt-gray1);font-style:italic}
.kh__q{position:absolute;left:0;top:.2rem;width:1.8rem;height:1.8rem;color:var(--bt-gray3)}
.kh__actions{margin-top:auto;padding-top:.6rem;display:flex;flex-direction:column;gap:.8rem}
.kh .kh__btn{display:block;width:100%;padding:1.2rem;border-radius:1rem;background:var(--bt-blue);color:#fff;border:0!important;font-size:1.45rem;font-weight:600;cursor:pointer;text-align:center;text-decoration:none}
.kh .kh__btn:hover{background:var(--bt-blue-dark)}
.kh__link{display:block;width:100%;background:none;border:0!important;padding:.4rem;text-align:center;font-size:1.35rem;color:var(--bt-blue);cursor:pointer;font-family:inherit}
.kp-notice{display:block;margin:0 0 1.6rem;padding:1.4rem 1.8rem;border-radius:1.2rem;background:var(--bt-blue-light);color:#1F3E6B;font-size:1.5rem;line-height:1.5;border-left:.4rem solid var(--bt-blue)}
.kp-notice--hotel{background:#FFF3E5;border-left-color:#F2661F;color:#5A3510}
.kp-notice a{color:inherit;text-decoration:underline;border:0!important;white-space:nowrap;margin-left:.6rem}
.kp-more{display:block;width:100%;margin:1.6rem 0 0;padding:1.4rem;border-radius:1.2rem;border:1px solid var(--bt-gray3);background:var(--bt-gray4);color:var(--bt-graphite);font-size:1.5rem;font-weight:600;cursor:pointer}
.kp-more:hover{background:var(--bt-gray3)}
/* ---- эксперт ---- */
.kp-expert{display:grid;grid-template-columns:32rem 1fr;gap:2.8rem;align-items:center;margin:4rem 0 0;padding:2.8rem;border-radius:var(--bt-radius);background:var(--bt-gray4)}
.kp-expert__media{position:relative;padding-top:75%;border-radius:var(--bt-radius-sm);overflow:hidden;background:var(--bt-gray3)}
.kp-expert__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kp-expert h3{margin:0 0 .8rem;font-size:2.2rem}
.kp-expert p{margin:0 0 1rem;font-size:1.55rem;line-height:1.55}
.kp-expert p:last-child{margin:0}
/* ---- v2: выбор возраста ---- */
.kp-age{margin:0 0 2.4rem;padding:2.4rem;border-radius:var(--bt-radius);background:#fff;border:1px solid var(--bt-gray3);box-shadow:var(--bt-shadow)}
.kp-age__title{margin:0 0 1.2rem;font-size:2rem;font-weight:700;color:var(--bt-graphite)}
.kp-age__seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.kp-age__seg button{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1.4rem 1.6rem;border-radius:1.2rem;border:1px solid var(--bt-gray3);background:var(--bt-gray4);cursor:pointer;text-align:left;transition:all .15s}
.kp-age__seg button b{font-size:1.8rem;color:var(--bt-graphite)}
.kp-age__seg button span{font-size:1.35rem;color:var(--bt-gray2)}
.kp-age__seg button.is-on{background:var(--bt-blue);border-color:var(--bt-blue)}
.kp-age__seg button.is-on b,.kp-age__seg button.is-on span{color:#fff}
.kp-answers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
.ka{padding:2.2rem 2.4rem;border-radius:var(--bt-radius);background:var(--bt-blue-light)}
.ka svg{width:2.8rem;height:2.8rem;color:var(--bt-blue);margin-bottom:1rem}
.ka b{display:block;margin-bottom:.6rem;font-size:1.7rem;color:#1F3E6B}
.ka p{margin:0;font-size:1.5rem;line-height:1.5;color:#2C4A78}
.kp-age-hint{font-size:1.4rem;color:var(--bt-gray2);margin:1.2rem 0 0}
/* ---- таблица курортов (v2) ---- */
.kp-table-wrap{overflow-x:auto;margin:2rem 0 0;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius)}
.kp-table{width:100%;border-collapse:collapse;font-size:1.45rem;min-width:72rem}
.kp-table th,.kp-table td{padding:1.4rem 1.6rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--bt-gray4)}
.kp-table th{background:var(--bt-gray4);font-weight:600;color:var(--bt-graphite);font-size:1.4rem}
.kp-table td:first-child{font-weight:600;color:var(--bt-graphite);white-space:nowrap}
.kp-table tr:last-child td{border-bottom:0}
.kp-table .is-off{opacity:.35}
.kp-tag{display:inline-block;padding:.3rem .8rem;border-radius:100px;background:var(--bt-blue-light);color:var(--bt-blue);font-size:1.25rem;font-weight:600;white-space:nowrap}
/* ---- v3: серые карточки с иконкой (макет дизайнера) ---- */
.kp-gray{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
.kg{display:flex;flex-direction:column;gap:1.6rem;padding:2.4rem;border-radius:var(--bt-radius);background:#F6F7FA;color:var(--bt-graphite);text-decoration:none;border:0!important;transition:background .2s}
a.kg:hover{background:#EEF1F7}
.kg__icon{display:flex;align-items:center;justify-content:center;width:6.4rem;height:6.4rem;border-radius:50%;background:#DBEDFD;color:var(--bt-blue)}
.kg__icon svg{width:3rem;height:3rem}
.kg b{font-size:1.8rem;line-height:1.3;font-weight:600;color:var(--bt-graphite)}
.kg span{font-size:1.4rem;line-height:1.45;color:var(--bt-gray1)}
/* ---- v3: витрина курортов по макету ---- */
.kp-cities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
.kc{position:relative;display:block;padding-top:100%;border-radius:var(--bt-radius);overflow:hidden;border:0!important;background:var(--bt-gray3)}
.kc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.kc:hover img{transform:scale(1.04)}
.kc__label{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.6rem;border-radius:1.2rem;background:rgba(255,255,255,.94);color:var(--bt-graphite);font-size:1.7rem;font-weight:600}
.kc__label small{display:block;font-size:1.25rem;font-weight:400;color:var(--bt-gray2)}
.kc__label svg{width:2rem;height:2rem;flex:0 0 auto}
/* ---- v3: факты в две колонки с фото ---- */
.kp-facts2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem 3.2rem;margin:2rem 0 0}
.kf__media{position:relative;padding-top:48%;border-radius:var(--bt-radius);overflow:hidden;background:var(--bt-gray3);margin-bottom:1.6rem}
.kf__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kf h3{margin:0 0 .8rem;font-size:2.2rem}
.kf p{margin:0;font-size:1.55rem;line-height:1.55}
/* ---- адаптив ---- */
@media (max-width:1100px){
  .kp-seasons,.kp-gray,.kp-cities,.kp-age__seg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kp-hotels,.kp-services,.kp-answers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kp-hotels > .kh:nth-child(n+5){display:none}
}
@media (max-width:900px){
  .page .page__header.kp-hero{min-height:34rem;border-radius:var(--bt-radius-sm)}
  .page .page__header.kp-hero .container{padding:2.4rem}
  .page .page__header.kp-hero .page__headline{font-size:3.2rem}
  .kp-hero__sub{font-size:1.6rem}
  .page .page__header.kp-hero3{min-height:auto}
  .kp-hero3__img{position:relative;width:100%;clip-path:none;aspect-ratio:16/9}
  .page .page__header.kp-hero3{flex-direction:column-reverse;align-items:stretch}
  .page .page__header.kp-hero3 .page__headline,.kp-hero3__sub{max-width:none}
  .page .page__header.kp-hero3 .page__headline{font-size:3rem}
  .kp-expert{grid-template-columns:1fr}
  .kp-anchors{top:8rem}
  .kp-facts2{grid-template-columns:1fr}
}
@media (max-width:600px){
  .kp-seasons,.kp-gray,.kp-cities,.kp-hotels,.kp-services,.kp-answers,.kp-age__seg{grid-template-columns:1fr}
  .kp-hotels > .kh:nth-child(n+4){display:none}
  .kp-bar{font-size:1.2rem;padding:.6rem 1.2rem}
  .kp-anchors{gap:.6rem}
  .kp-anchors a{padding:.7rem 1.1rem;font-size:1.3rem}
  .kp h2{font-size:2.3rem}
}


.kp-bar span{white-space:normal}
/* оболочка страницы каникул уже грузит боевой style.css шаблона tour, где .page__header у .kp тёмный — возвращаем герои прототипов */
.page:has(.bt-page.kp) .page__header.h-grad{display:block;min-height:0;padding:4.8rem 0 5.2rem;background:linear-gradient(115deg,#2F74DE 0%,#3E8BEF 55%,#5FB3F7 100%)}
.page:has(.bt-page.kp) .page__header.h-grad:before,.page:has(.bt-page.kp) .page__header.h-grad:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.10);pointer-events:none}
.page:has(.bt-page.kp) .page__header.h-grad:before{width:38rem;height:38rem;right:-8rem;top:-16rem}
.page:has(.bt-page.kp) .page__header.h-grad:after{width:26rem;height:26rem;right:12rem;bottom:-16rem;background:rgba(255,255,255,.07)}
.page:has(.bt-page.kp) .page__header.h-grad .container{padding-left:4rem;padding-right:4rem}
.page:has(.bt-page.kp) .page__header.h-grad .page__headline{font-size:4.4rem;text-shadow:none;margin:0 0 .8rem}
.h-grad__sub{position:relative;z-index:1;margin:0;max-width:70rem;color:rgba(255,255,255,.92);font-size:1.8rem;line-height:1.5}
.page:has(.bt-page.kp) .page__header.kp-hero3{display:flex;align-items:center;min-height:30rem;padding:0;background:linear-gradient(115deg,#2F74DE 0%,#3E8BEF 100%)}
.page:has(.bt-page.kp) .page__header.kp-hero3 .container{position:relative;z-index:1;padding:4.4rem 4.8rem}
.page:has(.bt-page.kp) .page__header.kp-hero3 .page__headline{text-shadow:none}
/* плитки каникул */
.hc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
.hc{display:flex;flex-direction:column;gap:.8rem;padding:2.2rem 2.2rem 2rem;border-radius:var(--bt-radius);color:#fff;min-height:26rem}
.hc b{font-size:2rem;font-weight:700;color:#fff}
.hc i{font-style:normal;font-size:1.4rem;opacity:.92}
.hc__days{display:inline-block;align-self:flex-start;padding:.4rem .9rem;border-radius:100px;background:rgba(255,255,255,.22);font-size:1.25rem;font-weight:600}
.hc__book{margin-top:auto;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.3);font-size:1.35rem;line-height:1.4}
.hc__book b{font-size:1.4rem}
.hc__where{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.hc__where a,.hc__where span{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;border-radius:100px;background:#fff;color:var(--bt-graphite);font-size:1.25rem;font-weight:600;text-decoration:none;border:0!important}
.hc__where span.is-no{background:rgba(0,0,0,.18);color:#fff;font-weight:500;text-decoration:line-through}
/* рейтинг стран списком */
.rk{display:flex;flex-direction:column;gap:1.6rem;margin:2rem 0 0}
.rk__item{display:grid;grid-template-columns:30% 1fr;background:#fff;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);overflow:hidden;transition:box-shadow .25s,transform .25s}
.rk__item:hover{box-shadow:var(--bt-shadow-hover);transform:translateY(-.3rem)}
.rk__item.is-top{border-color:var(--bt-orange);box-shadow:0 0 0 2px rgba(255,122,52,.25)}
.rk__media{position:relative;min-height:24rem;background:var(--bt-gray3)}
.rk__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.rk__num{position:absolute;left:1.2rem;top:1.2rem;min-width:3.6rem;height:3.6rem;padding:0 1rem;border-radius:100px;background:#fff;color:var(--bt-blue);font-weight:700;font-size:1.6rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.is-top .rk__num{background:var(--bt-orange);color:#fff}
.rk__tag{position:absolute;left:1.2rem;bottom:1.2rem;padding:.5rem 1rem;border-radius:100px;background:rgba(255,255,255,.95);color:var(--bt-graphite);font-size:1.25rem;font-weight:600}
.rk__body{padding:2rem 2.6rem 2rem;display:flex;flex-direction:column;gap:1rem}
.rk__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1.6rem}
.rk__name{margin:0;font-size:2.4rem;font-weight:700;color:var(--bt-graphite)}
.rk__meta{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;font-size:1.35rem;color:var(--bt-gray1)}
.rk__meta span{display:inline-flex;align-items:center;gap:.5rem}
.rk__meta svg{width:1.7rem;height:1.7rem;color:var(--bt-blue)}
.rk__cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2.4rem}
.pm{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:1.4rem;line-height:1.4;color:var(--bt-graphite)}
.pm li{display:flex;gap:.8rem;align-items:flex-start;padding:0}
.pm li:before{content:"+";flex:0 0 2rem;height:2rem;border-radius:50%;background:#E3F5E1;color:#2E8B3A;font-weight:700;font-size:1.3rem;display:inline-flex;align-items:center;justify-content:center;margin-top:.1rem;position:static!important;width:auto!important}
.pm--minus li:before{content:"–";background:#FDE8E3;color:#D0452B}
.rk__verdict{margin:.2rem 0 0;font-size:1.45rem;line-height:1.5;color:var(--bt-gray1);font-style:italic}
.rk__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:.4rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips span{padding:.4rem .9rem;border-radius:100px;background:var(--bt-blue-light);color:var(--bt-blue);font-size:1.2rem;font-weight:600}
.rk__link{font-size:1.4rem;font-weight:600;color:var(--bt-blue);border:0!important;white-space:nowrap}
/* сетка карточек стран (h3) */
.cg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
.cc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);overflow:hidden;transition:box-shadow .25s,transform .25s}
.cc:hover{box-shadow:var(--bt-shadow-hover);transform:translateY(-.3rem)}
.cc.is-top{border-color:var(--bt-orange)}
.cc__media{position:relative;padding-top:62%;background:var(--bt-gray3)}
.cc__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cc__num{position:absolute;left:1.2rem;top:1.2rem;min-width:3.4rem;height:3.4rem;padding:0 .9rem;border-radius:100px;background:#fff;color:var(--bt-blue);font-weight:700;font-size:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.is-top .cc__num{background:var(--bt-orange);color:#fff}
.cc__tag{position:absolute;right:1.2rem;top:1.2rem;padding:.4rem .9rem;border-radius:100px;background:rgba(255,255,255,.95);font-size:1.2rem;font-weight:600;color:var(--bt-graphite)}
.cc__body{display:flex;flex-direction:column;gap:.9rem;padding:1.8rem 2rem 2rem;flex:1}
.cc__name{margin:0;font-size:2.1rem;font-weight:700;color:var(--bt-graphite)}
.cc__flight{font-size:1.35rem;color:var(--bt-gray1);display:flex;align-items:center;gap:.5rem}
.cc__flight svg{width:1.7rem;height:1.7rem;color:var(--bt-blue)}
.cc .pm{font-size:1.35rem}
.cc__link{margin-top:auto;padding-top:.8rem;font-size:1.4rem;font-weight:600;color:var(--bt-blue);border:0!important}
.cc__verdict{margin:.2rem 0 0;font-size:1.4rem;line-height:1.5;color:var(--bt-gray1);font-style:italic}
.cc .pm + .pm{margin-top:.2rem}
.is-top .cc__num{min-width:auto;padding:0 1.2rem}
.top-note{margin:2rem 0 0;padding:2.4rem 2.8rem;border-radius:var(--bt-radius);background:#FFF4E5;border-left:4px solid var(--bt-orange)}
.top-note b{display:block;font-size:2rem;color:var(--bt-graphite);margin-bottom:.6rem}
.top-note p{margin:0;font-size:1.6rem;line-height:1.55;color:var(--bt-graphite)}
.top-note a{color:var(--bt-blue);font-weight:600;border:0!important}
/* подиум (h2) */
.podium{display:grid;grid-template-columns:1.25fr 1fr;gap:1.6rem;margin:2rem 0 0}
.pd{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:38rem;border-radius:var(--bt-radius);overflow:hidden;color:#fff;text-decoration:none;border:0!important}
.pd img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pd:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,30,50,0) 30%,rgba(10,30,50,.85) 100%)}
.pd__body{position:relative;z-index:1;padding:2.4rem 2.6rem}
.pd__rank{display:inline-block;padding:.5rem 1.1rem;border-radius:100px;background:var(--bt-orange);color:#fff;font-weight:700;font-size:1.3rem;margin-bottom:1rem}
.pd--2 .pd__rank{background:#fff;color:var(--bt-blue)}
.pd b{display:block;font-size:2.8rem;line-height:1.1;margin-bottom:.6rem;color:#fff}
.pd p{margin:0;font-size:1.5rem;line-height:1.5;color:rgba(255,255,255,.92)}
/* вкладки по каникулам (h2) */
.tabs{display:flex;flex-wrap:wrap;gap:.8rem;margin:2rem 0 0}
.tabs button{padding:1.1rem 1.8rem;border-radius:100px;border:1px solid var(--bt-gray3);background:#fff;color:var(--bt-graphite);font-size:1.5rem;font-weight:600;cursor:pointer;font-family:inherit}
.tabs button.is-active{background:var(--bt-blue);border-color:var(--bt-blue);color:#fff}
.tab{display:none;margin-top:1.6rem}
.tab.is-active{display:block}
.tab__head{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.6rem;margin:0 0 1.6rem}
.tab__fact{padding:1.8rem 2rem;border-radius:var(--bt-radius);background:var(--bt-gray4)}
.tab__fact small{display:block;font-size:1.15rem;text-transform:uppercase;letter-spacing:.05em;color:var(--bt-gray2);margin-bottom:.4rem}
.tab__fact b{font-size:1.7rem;color:var(--bt-graphite)}
.tab__fact.is-hot{background:#FFF4E5}
.tg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.tc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);overflow:hidden;text-decoration:none;color:var(--bt-graphite);border-bottom:1px solid var(--bt-gray3)!important}
.tc__media{position:relative;padding-top:56%}
.tc__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tc__badge{position:absolute;left:1.2rem;top:1.2rem;padding:.4rem .9rem;border-radius:100px;background:#fff;font-size:1.2rem;font-weight:600;color:var(--bt-blue)}
.tc__badge.is-best{background:var(--bt-orange);color:#fff}
.tc__body{padding:1.4rem 1.8rem 1.6rem;display:flex;flex-direction:column;gap:.5rem}
.tc__body b{font-size:1.8rem}
.tc__body span{font-size:1.35rem;line-height:1.45;color:var(--bt-gray1)}
.tc.is-no{opacity:.55}
/* таблица сравнения */
.cmp{width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0 0;font-size:1.4rem;background:#fff;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);overflow:hidden}
.cmp th,.cmp td{padding:1.2rem 1.4rem;text-align:left;border-bottom:1px solid var(--bt-gray4);vertical-align:top}
.cmp th{background:var(--bt-gray4);font-weight:600;color:var(--bt-gray1);font-size:1.25rem;text-transform:uppercase;letter-spacing:.04em}
.cmp tr:last-child td{border-bottom:0}
.cmp td b{color:var(--bt-graphite)}
.cmp .y{color:#2E8B3A;font-weight:700}.cmp .n{color:#D0452B;font-weight:700}.cmp .m{color:var(--bt-gray2)}
.cmp-wrap{overflow-x:auto}
/* шаги бронирования */
.bk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
.bk__i{position:relative;padding:2.2rem 2rem 2rem;border-radius:var(--bt-radius);background:var(--bt-gray4);display:flex;flex-direction:column;gap:.6rem}
.bk__i:before{content:attr(data-n);display:inline-flex;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--bt-blue);color:#fff;font-weight:700;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:.4rem}
.bk__i b{font-size:1.7rem;color:var(--bt-graphite)}
.bk__i i{font-style:normal;font-size:1.3rem;color:var(--bt-orange);font-weight:600}
.bk__i p{margin:0;font-size:1.4rem;line-height:1.45;color:var(--bt-gray1)}
@media (max-width:1100px){.hc-grid,.bk,.cg,.tg{grid-template-columns:repeat(2,minmax(0,1fr))}.tab__head{grid-template-columns:1fr}}
@media (max-width:900px){.podium{grid-template-columns:1fr}.rk__item{grid-template-columns:1fr}.rk__media{min-height:0;padding-top:56%}.rk__cols{grid-template-columns:1fr}}
@media (max-width:600px){.hc-grid,.bk,.cg,.tg{grid-template-columns:1fr}}


.kp-bar span{white-space:normal}
.kp .TV-filter{margin-bottom:2.8rem}
.kp .bt-facts + p{margin-top:2.4rem}
.bt-facts--six{grid-template-columns:repeat(3,minmax(0,1fr))}
.tv-note{margin:0 0 1rem;font-size:1.4rem;color:var(--bt-gray2)}
.tv-note b{color:var(--bt-graphite)}
/* панорама (макет: большая картинка со скруглением) */
.pano{position:relative;margin:2.4rem 0 0;border-radius:var(--bt-radius);overflow:hidden;padding-top:38%;background:var(--bt-gray3)}
.pano img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pano figcaption{position:absolute;left:2rem;bottom:1.6rem;padding:.6rem 1.2rem;border-radius:100px;background:rgba(0,0,0,.45);color:#fff;font-size:1.3rem}
/* поездки на день — список как курорты 1г */
.kp-rlist .kr__dist{display:inline-flex;align-items:center;gap:.5rem;font-size:1.35rem;color:var(--bt-blue);font-weight:600}
.kp-rlist .kr__dist svg{width:1.7rem;height:1.7rem}
/* план по дням */
.plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
.day{background:#fff;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);overflow:hidden;display:flex;flex-direction:column}
.day__media{position:relative;padding-top:56%}
.day__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.day__num{position:absolute;left:1.2rem;top:1.2rem;padding:.5rem 1.1rem;border-radius:100px;background:var(--bt-orange);color:#fff;font-weight:700;font-size:1.3rem}
.day__body{padding:1.6rem 2rem 2rem;display:flex;flex-direction:column;gap:.8rem}
.day__body b{font-size:1.9rem;color:var(--bt-graphite)}
.day__body ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem;counter-reset:st}
.day__body ol li{position:relative;padding:0 0 0 2.6rem!important;font-size:1.4rem;line-height:1.45;color:var(--bt-graphite)}
.kp .day__body ol > li:before{counter-increment:st;content:counter(st)!important;display:flex!important;position:absolute;left:0;top:.1rem;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--bt-blue-light);color:var(--bt-blue);font-size:1.15rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.day__body p{margin:.2rem 0 0;font-size:1.35rem;color:var(--bt-gray1);line-height:1.45}
/* кому подходит */
.who-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
.whoc{padding:2rem 2rem 2.2rem;border-radius:var(--bt-radius);background:var(--bt-gray4);display:flex;flex-direction:column;gap:.8rem}
.whoc svg{width:3rem;height:3rem;color:var(--bt-blue)}
.whoc b{font-size:1.7rem;color:var(--bt-graphite)}
.whoc p{margin:0;font-size:1.4rem;line-height:1.45;color:var(--bt-gray1)}
.pm{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:1.4rem;line-height:1.4;color:var(--bt-graphite)}
.pm li{display:flex;gap:.8rem;align-items:flex-start;padding:0!important}
.pm li:before{content:"+";flex:0 0 2rem;height:2rem;border-radius:50%;background:#E3F5E1;color:#2E8B3A;font-weight:700;font-size:1.3rem;display:inline-flex;align-items:center;justify-content:center;margin-top:.1rem;position:static!important;width:auto!important}
.pm--minus li:before{content:"–";background:#FDE8E3;color:#D0452B}
.kp-gray--other{margin-top:1.6rem}
.kg small{display:block;font-size:1.3rem;color:var(--bt-gray2);margin-top:.2rem}
.kp-cities--five{grid-template-columns:repeat(12,minmax(0,1fr))}
.kp-cities--five > li{grid-column:span 4}
.kp-cities--five > li:nth-child(n+4){grid-column:span 6}
.kp-cities--five .kc{padding-top:62%}
.kp-cities--five > li:nth-child(n+4) .kc{padding-top:44%}
.rtabs{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0 0}
.rtab{padding:.8rem 1.4rem;border-radius:100px;border:1px solid var(--bt-gray3);background:#fff;color:var(--bt-graphite);font-size:1.4rem;font-weight:500;text-decoration:none}
.kp-rlist--plan .kr__media{flex:0 0 26%;min-height:16rem}
@media (max-width:1100px){.kp-cities--five > li,.kp-cities--five > li:nth-child(n+4){grid-column:span 6}.kp-cities--five > li:nth-child(5){grid-column:span 12}}
@media (max-width:600px){.kp-cities--five > li,.kp-cities--five > li:nth-child(n+4),.kp-cities--five > li:nth-child(5){grid-column:span 12}}
@media (max-width:1100px){.plan,.who-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bt-facts--six{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.plan,.who-grid,.bt-facts--six{grid-template-columns:1fr}.pano{padding-top:60%}}


/* таблицы: дорога, экскурсии, месяцы */
.rt{margin:2rem 0 0}
.rt__table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);overflow:hidden;font-size:1.5rem}
.rt__table th{background:var(--bt-gray4);text-align:left;font-weight:600;color:var(--bt-graphite);padding:1.2rem 1.6rem;font-size:1.4rem}
.rt__table td{padding:1.2rem 1.6rem;border-top:1px solid var(--bt-gray3);vertical-align:top;color:var(--bt-graphite)}
.rt__table td:nth-child(2),.rt__table td:nth-child(3){white-space:nowrap;color:var(--bt-blue);font-weight:500}
.rt__txt{color:var(--bt-gray1);font-size:1.4rem;line-height:1.45}
.rt__note{display:flex;gap:1rem;align-items:flex-start;margin:1.4rem 0 0;font-size:1.4rem;line-height:1.5;color:var(--bt-gray1)}
.rt__note svg{width:2.2rem;height:2.2rem;flex:0 0 2.2rem;color:var(--bt-blue)}
.mt__t{color:#E0761F!important}.mt__w{color:#1E86C9!important}
.rt__table--exc td:nth-child(2),.rt__table--exc td:nth-child(3){color:var(--bt-gray1);font-weight:400}

/* экскурсии плитками */
.exc{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem}
.ex{background:#fff;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);overflow:hidden;display:flex;flex-direction:column}
.ex__media{position:relative;padding-top:66%}
.ex__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ex__time{position:absolute;left:1rem;bottom:1rem;padding:.4rem 1rem;border-radius:100px;background:rgba(20,28,40,.78);color:#fff;font-size:1.2rem}
.ex__body{padding:1.6rem;display:flex;flex-direction:column;gap:.6rem}
.ex__name{font-size:1.6rem;color:var(--bt-graphite)}
.ex__dist{display:inline-flex;align-items:center;gap:.6rem;font-size:1.3rem;color:var(--bt-blue)}
.ex__dist svg{width:1.8rem;height:1.8rem}
.ex__body p{margin:0;font-size:1.4rem;line-height:1.45;color:var(--bt-gray1)}

/* посёлки и сравнение курортов */
.vg,.cmp{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.cmp{grid-template-columns:repeat(4,minmax(0,1fr))}
.vgc,.cmpc{background:var(--bt-gray4);border-radius:var(--bt-radius);padding:1.8rem 2rem;display:flex;flex-direction:column;gap:.6rem}
.vgc b,.cmpc b{font-size:1.7rem;color:var(--bt-graphite)}
.vgc__km,.cmpc__d{display:inline-flex;align-items:center;gap:.6rem;font-size:1.3rem;color:var(--bt-blue)}
.vgc__km svg,.cmpc__d svg{width:1.8rem;height:1.8rem}
.vgc p,.cmpc p{margin:0;font-size:1.4rem;line-height:1.45;color:var(--bt-gray1)}
.kp-gray--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kp-gray--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.bt-note--minus{background:#FDF3F0;border-color:#F3D6CD;display:block!important}
.bt-note--minus b{display:block;margin-bottom:.6rem;color:var(--bt-graphite)}
.bt-note--minus .pm{margin-top:1rem}
.bt-note--minus .pm li:before{content:"–";display:inline-flex!important;align-items:center;justify-content:center;
flex:0 0 2rem;height:2rem;width:auto!important;border-radius:50%;background:#FDE8E3;color:#D0452B;
font-weight:700;font-size:1.4rem;position:static!important;margin-top:.1rem}
.plan--week{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.exc,.cmp,.plan--week{grid-template-columns:repeat(2,minmax(0,1fr))}
.vg,.kp-gray--3,.kp-gray--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.rt__table{font-size:1.4rem}.rt__table th,.rt__table td{padding:1rem 1.2rem}}
@media(max-width:700px){.exc,.cmp,.plan--week,.vg,.kp-gray--3,.kp-gray--4{grid-template-columns:1fr}
.rt__table thead{display:none}.rt__table tr{display:block;border-top:1px solid var(--bt-gray3)}
.rt__table td{display:block;border:0;padding:.4rem 1.4rem}.rt__table td:first-child{padding-top:1.4rem}
.rt__table td:last-child{padding-bottom:1.4rem}}

.kp-hotels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin:2rem 0 0}
.kp-hotels > .kh[hidden]{display:none}
.kh{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);overflow:hidden;transition:box-shadow .25s,transform .25s}
.kh:hover{box-shadow:var(--bt-shadow-hover);transform:translateY(-.3rem)}
.kh__media{position:relative;display:block;padding-top:66%;background:var(--bt-gray3);border:0!important;overflow:hidden}
.kh__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kh__who{position:absolute;left:1.2rem;top:1.2rem;padding:.5rem 1.1rem;border-radius:100px;background:rgba(255,255,255,.95);color:var(--bt-blue);font-size:1.25rem;font-weight:600;max-width:calc(100% - 2.4rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kh--rec .kh__who{top:auto;bottom:1.2rem}
.kh__body{display:flex;flex-direction:column;gap:1rem;padding:1.6rem 1.8rem 1.8rem;flex:1}
.kh__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.kh__name{margin:0;font-size:1.8rem;line-height:1.3;font-weight:700;color:var(--bt-graphite)}
.kh__stars{flex:0 0 auto;color:var(--bt-yellow);font-size:1.3rem;letter-spacing:.1em;margin-top:.3rem}
.kh__place{margin-top:-.6rem;font-size:1.35rem;color:var(--bt-gray2)}
.kh__tags{display:flex;flex-direction:column;gap:.6rem;margin:.2rem 0 0;padding:1.2rem 0;border-top:1px solid var(--bt-gray4);border-bottom:1px solid var(--bt-gray4)}
.kh__tags li{display:flex;gap:.9rem;align-items:center;font-size:1.4rem;color:var(--bt-graphite)}
.kh__tags svg{flex:0 0 auto;width:2.6rem;height:2.6rem;padding:.4rem;border-radius:.7rem;background:var(--bt-blue-light);color:var(--bt-blue)}
.kh__verdict{position:relative;margin:0;padding-left:2.6rem;font-size:1.4rem;line-height:1.5;color:var(--bt-gray1);font-style:italic}
.kh__q{position:absolute;left:0;top:.2rem;width:1.8rem;height:1.8rem;color:var(--bt-gray3)}
.kh__actions{margin-top:auto;padding-top:.6rem;display:flex;flex-direction:column;gap:.8rem}
.kh .kh__btn{display:block;width:100%;padding:1.2rem;border-radius:1rem;background:var(--bt-blue);color:#fff;border:0!important;font-size:1.45rem;font-weight:600;cursor:pointer;text-align:center;text-decoration:none}
.kh .kh__btn:hover{background:var(--bt-blue-dark)}
.kh__name a{color:inherit;text-decoration:none;border:0!important}.kh__name a:hover{color:var(--bt-blue)}
a.kh__link{display:inline-block;text-decoration:none;border:0!important}
.kh__link{display:block;width:100%;background:none;border:0!important;padding:.4rem;text-align:center;font-size:1.35rem;color:var(--bt-blue);cursor:pointer;font-family:inherit}
.kp-notice{display:block;margin:0 0 1.6rem;padding:1.4rem 1.8rem;border-radius:1.2rem;background:var(--bt-blue-light);color:#1F3E6B;font-size:1.5rem;line-height:1.5;border-left:.4rem solid var(--bt-blue)}
.kp-notice--hotel{background:#FFF3E5;border-left-color:#F2661F;color:#5A3510}
.kp-notice a{color:inherit;text-decoration:underline;border:0!important;white-space:nowrap;margin-left:.6rem}
.kp-more{display:block;width:100%;margin:1.6rem 0 0;padding:1.4rem;border-radius:1.2rem;border:1px solid var(--bt-gray3);background:var(--bt-gray4);color:var(--bt-graphite);font-size:1.5rem;font-weight:600;cursor:pointer}
.kp-more:hover{background:var(--bt-gray3)}
.kp-notice{margin:0 0 1.6rem;padding:1.4rem 1.8rem;border-radius:1.2rem;background:#FFF4E5;border:1px solid #FFD9A8;color:var(--bt-graphite);font-size:1.45rem;line-height:1.5}
.kp-notice--hotel{background:var(--bt-blue-light);border-color:#BFD8F7}
.kp-notice a{color:var(--bt-blue);font-weight:600;border:0!important}
.kp-more{display:block;width:100%;margin:1.6rem 0 0;padding:1.4rem;border-radius:1.2rem;border:1px solid var(--bt-gray3);background:var(--bt-gray4);color:var(--bt-graphite);font-size:1.5rem;font-weight:600;cursor:pointer;font-family:inherit}
.kp-more:hover{background:var(--bt-gray3)}
@media (max-width:1100px){.kp-hotels,.kp-services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.kp-seasons,.kp-hotels,.kp-services{grid-template-columns:1fr}}

.hp-hero{position:relative;min-height:54.4rem;display:flex;align-items:flex-end;overflow:hidden;background:#333F48}
.hp-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1}
.hp-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,30,40,.05) 0%,rgba(20,30,40,.25) 45%,rgba(20,30,40,.82) 100%)}
.hp-hero .container{position:relative;z-index:1;padding-bottom:4.16rem;color:#fff}
.hp-hero__kicker{display:inline-flex;gap:0.96rem;align-items:center;font-size:1.44rem;font-weight:600;letter-spacing:.02em;
  text-transform:uppercase;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);padding:0.72rem 1.44rem;border-radius:3.2rem;margin-bottom:1.6rem}
.hp-hero h1{color:#fff;font-size:4.16rem;line-height:1.15;margin:0 0 0.96rem;max-width:70.4rem}
.hp-hero__sub{font-size:1.84rem;line-height:1.5;max-width:64rem;margin:0 0 2.24rem;color:rgba(255,255,255,.92)}
.hp-hero__chips{display:flex;flex-wrap:wrap;gap:0.8rem;margin:0 0 2.24rem;padding:0;list-style:none}
.hp-hero__chips li{display:inline-flex;align-items:center;gap:0.64rem;background:rgba(255,255,255,.92);color:#333F48;
  font-weight:600;font-size:1.44rem;padding:0.72rem 1.28rem;border-radius:3.2rem}
.hp-hero__chips svg{width:1.76rem;height:1.76rem;stroke:#2F74DE}
.hp-hero__actions{display:flex;gap:1.28rem;flex-wrap:wrap}
.hp-hero__stars{color:#F5B301;letter-spacing:.1em;font-size:1.76rem}
.hp-search{background:#fff;border:1px solid #DEE1EB;border-radius:2.24rem;padding:2.56rem 2.56rem 1.92rem;margin:0 0 3.84rem;
  box-shadow:0 14px 40px -24px rgba(51,63,72,.35)}
.hp-search__head{display:flex;flex-wrap:wrap;gap:1.6rem 2.56rem;align-items:center;justify-content:space-between;margin-bottom:1.6rem}
.hp-search__head h2{margin:0;font-size:2.4rem}
.hp-dates{display:inline-flex;align-items:center;gap:0.96rem;background:#DBEDFD;color:#2C4A78;border-radius:3.2rem;padding:0.88rem 1.6rem;font-weight:600}
.hp-dates svg{width:1.92rem;height:1.92rem;stroke:#2F74DE}
.hp-dates small{font-weight:400;color:#576875}
.hp-search .tv-note{margin:0.32rem 0 1.6rem}
.hp-why{display:grid;grid-template-columns:repeat(3,1fr);gap:2.24rem;margin:0 0 3.84rem;padding:0;list-style:none}
.hp-why li{background:#fff;border:1px solid #DEE1EB;border-radius:1.92rem;padding:2.24rem;display:flex;flex-direction:column;gap:0.96rem}
.hp-why svg{width:3.52rem;height:3.52rem;stroke:#2F74DE}
.hp-why b{font-size:1.76rem;line-height:1.3}
.hp-why p{margin:0;color:#576875;line-height:1.55;font-size:1.55rem}
.own{display:grid;grid-template-columns:repeat(3,1fr);gap:1.92rem;margin:0 0 1.92rem;padding:0;list-style:none}
.own li{border-radius:1.92rem;overflow:hidden;background:#fff;border:1px solid #DEE1EB}
.own img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.own span{display:block;padding:1.28rem 1.6rem 1.6rem;font-size:1.49rem;line-height:1.45;color:#576875}
.own--six img{aspect-ratio:3/4}
.own-badge{display:inline-flex;align-items:center;gap:0.8rem;background:#FFF1DC;color:#8A4B00;border-radius:3.2rem;
  padding:0.72rem 1.44rem;font-weight:600;margin-bottom:1.6rem}
.own-badge svg{width:1.76rem;height:1.76rem;stroke:#E8862A}
.hp-gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:20.8rem;gap:1.28rem;margin:0 0 3.84rem;padding:0;list-style:none}
.hp-gal li{border-radius:1.6rem;overflow:hidden;position:relative}
.hp-gal li:first-child{grid-column:span 2;grid-row:span 2}
.hp-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.hp-gal li:hover img{transform:scale(1.04)}
.hp-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:0.96rem 1.44rem;font-size:1.36rem;color:#fff;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.65))}
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:2.24rem;margin:0 0 3.84rem;padding:0;list-style:none}
.rm{background:#fff;border:1px solid #DEE1EB;border-radius:1.92rem;overflow:hidden;display:flex;flex-direction:column}
.rm img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.rm__body{padding:1.92rem 2.08rem 2.24rem;display:flex;flex-direction:column;gap:0.96rem;flex:1}
.rm__body b{font-size:1.84rem}.rm__size{color:#2F74DE;font-weight:600;font-size:1.52rem}
.rm__body ul{margin:0;padding-left:1.76rem;color:#576875;line-height:1.5;font-size:1.52rem}
.rm__body p{margin:auto 0 0;color:#333F48;font-size:1.52rem;line-height:1.5;padding-top:0.96rem;border-top:1px dashed #DEE1EB}
.pl{white-space:nowrap;letter-spacing:.05em;font-weight:700}
.pl i{font-style:normal;color:#C9D0DA}.pl b{color:#2F74DE}
.pl--1 b{color:#2E9E5B}.pl--2 b{color:#2F74DE}.pl--3 b{color:#E8862A}.pl--4 b{color:#D64545}
.mt td.pl-cell{font-size:1.6rem}
tr.is-cheap td{background:#F1FAF4}
.hcmp-wrap{overflow-x:auto;margin:0 0 3.84rem}
.hcmp{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #DEE1EB;border-radius:1.92rem;overflow:hidden}
.hcmp th,.hcmp td{padding:1.44rem 1.6rem;text-align:left;vertical-align:top;border-bottom:1px solid #DEE1EB;font-size:1.52rem;line-height:1.45}
.hcmp th{background:#F6F7FA;font-weight:600}
.hcmp tr:last-child td{border-bottom:0}
.hcmp td:first-child{color:#576875;font-weight:600;white-space:nowrap}
.hcmp th.is-this,.hcmp td.is-this{background:#EAF3FF}
.hp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.92rem;margin:0 0 3.84rem;padding:0;list-style:none;counter-reset:s}
.hp-steps li{background:#fff;border:1px solid #DEE1EB;border-radius:1.92rem;padding:2.08rem;position:relative}
.hp-steps li>span{display:inline-flex;width:3.52rem;height:3.52rem;border-radius:50%;background:#2F74DE;color:#fff;font-weight:700;
  align-items:center;justify-content:center;margin-bottom:1.28rem}
.hp-steps b{display:block;margin-bottom:0.64rem}.hp-steps p{margin:0;color:#576875;font-size:1.52rem;line-height:1.5}
.hp-whonot{background:#FFF6F1;border:1px solid #F5D4C3;border-radius:1.92rem;padding:2.24rem 2.56rem;margin:0 0 3.84rem}
.hp-whonot h3{margin:0 0 1.28rem;font-size:1.84rem}
.hp-whonot ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1.92rem}
.hp-whonot b{display:block;margin-bottom:0.48rem}.hp-whonot p{margin:0;color:#576875;font-size:1.52rem;line-height:1.5}
.hp-anchors{display:flex;flex-wrap:wrap;gap:0.8rem;margin:0 0 3.2rem;padding:0;list-style:none}
.hp-anchors a{display:inline-block;padding:0.8rem 1.44rem;border-radius:3.2rem;background:#fff;border:1px solid #DEE1EB;color:#333F48;
  text-decoration:none;font-size:1.44rem;font-weight:500}
.hp-anchors a:hover{border-color:#2F74DE;color:#2F74DE}
.hp-dep{display:grid;grid-template-columns:repeat(2,1fr);gap:1.92rem;margin:0 0 3.84rem;padding:0;list-style:none}
.hp-dep li{background:#fff;border:1px solid #DEE1EB;border-radius:1.92rem;padding:1.92rem 2.08rem;display:flex;gap:1.6rem;align-items:flex-start}
.hp-dep svg{width:2.88rem;height:2.88rem;stroke:#2F74DE;flex:none}
.hp-dep b{display:block}.hp-dep span{color:#576875;font-size:1.49rem;line-height:1.45}
.hp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid #DEE1EB;padding:1.12rem 1.6rem;
  display:none;gap:0.96rem;box-shadow:0 -10px 30px -20px rgba(0,0,0,.4)}
.hp-sticky .button{flex:1;text-align:center}
.hp-quote{background:#fff;border-left:4px solid #2F74DE;border-radius:0 1.92rem 1.92rem 0;padding:2.24rem 2.56rem;margin:0 0 3.84rem;font-size:1.68rem;line-height:1.6}
.hp-quote b{display:block;margin-top:0.96rem;font-size:1.44rem;color:#576875;font-weight:500}
.hp-split{display:grid;grid-template-columns:1.1fr .9fr;gap:3.2rem;align-items:start;margin:0 0 3.84rem}
.hp-split figure{margin:0;border-radius:1.92rem;overflow:hidden}
.hp-split img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}
.hp-split figcaption{padding:0.96rem 1.44rem;font-size:1.36rem;color:#576875;background:#fff}

/* rem сайта = 10px, поэтому все размеры умножены на 1.6 */
/* оболочка сайта: .page__header .container — flex, li — с отступом и точкой, p в шапке мелкий */
.page__header.hp-hero .container{display:block}
.page__header.hp-hero .hp-hero__kicker svg{width:1.6rem;height:1.6rem;flex:none}
.page__header.hp-hero .hp-hero__sub{font-size:1.84rem!important;line-height:1.5;max-width:64rem;color:rgba(255,255,255,.92)}
@media(max-width:700px){.page__header.hp-hero .hp-hero__sub{font-size:1.6rem!important}}
.page__header.hp-hero .hp-hero__chips li{display:inline-flex;width:auto;padding-left:1.28rem}
.kp .hp-hero__chips li:before,.kp .hp-why li:before,.kp .own li:before,.kp .rooms li:before,.kp .hp-steps li:before,.kp .hp-dep li:before,
.kp .hp-anchors li:before,.kp .hp-gal li:before,.kp .hp-whonot li:before,.hp-hero__chips li:before,.rm__body ul li:before{display:none;content:none}
.kp .hp-why li,.kp .own li,.kp .rooms li,.kp .hp-dep li,.kp .hp-anchors li,.kp .hp-gal li,.kp .hp-whonot li{padding-left:0}
.kp .hp-why li{padding:2.24rem}.kp .hp-steps li{padding:2.08rem}.kp .hp-dep li{padding:1.92rem 2.08rem}.kp .hp-whonot li{padding:0}
.kp .rm__body ul li{padding-left:0}
.kp .hp-anchors{display:flex;flex-wrap:wrap;gap:0.8rem}.kp .hp-anchors li{display:inline-flex;width:auto;flex:none;margin:0}
.page .kp .hp-anchors li a{margin:0;font-size:1.44rem!important;line-height:1.3;padding:0.8rem 1.44rem;display:inline-block}
.hp-why img,.own img,.rm img,.hp-gal img,.hp-split img{opacity:1}
@media(max-width:1000px){.hp-why,.own,.rooms{grid-template-columns:repeat(2,1fr)}.hp-steps,.hp-whonot ul{grid-template-columns:repeat(2,1fr)}
  .hp-gal{grid-template-columns:repeat(3,1fr);grid-auto-rows:17.6rem}.hp-split{grid-template-columns:1fr}}
@media(max-width:700px){.hp-hero{min-height:41.6rem}.hp-hero h1{font-size:3.04rem}.hp-why,.own,.rooms,.hp-steps,.hp-whonot ul,.hp-dep{grid-template-columns:1fr}
  .hp-gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:14.4rem}.hp-gal li:first-child{grid-column:span 2;grid-row:span 1}
  .hp-sticky{display:flex}body{padding-bottom:7.04rem}.own--six{grid-template-columns:repeat(2,1fr)}}


/* ---- страница отеля уровня A (rem сайта = 10px) ---- */
.ha-hero{min-height:44rem}
.ha-hero h1{font-size:3.84rem}
.ha-place{display:flex;flex-wrap:wrap;gap:.8rem 2rem;color:rgba(255,255,255,.9);font-size:1.6rem;margin:0 0 2rem}
.ha-place span{display:inline-flex;align-items:center;gap:.6rem}
.ha-place svg{width:1.8rem;height:1.8rem;stroke:#fff}
.ha-card{background:#fff;border:1px solid #DEE1EB;border-radius:1.92rem;padding:2.4rem 2.56rem;margin:0 0 3.2rem}
.ha-card__head{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center;margin:0 0 1.6rem}
.ha-card__badge{display:inline-flex;background:#FFF1DC;color:#8A4B00;border-radius:3.2rem;padding:.6rem 1.4rem;font-weight:600;font-size:1.4rem}
.ha-card__tags{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none}
.ha-card__tags li{display:inline-flex;align-items:center;gap:.5rem;background:#F6F7FA;border:1px solid #DEE1EB;border-radius:3.2rem;padding:.5rem 1.1rem;font-size:1.3rem;color:#333F48;width:auto;flex:none;margin:0}
.kp .ha-card__tags li:before{content:none;display:none}
.ha-card__tags svg{width:1.5rem;height:1.5rem;stroke:#2F74DE}
.ha-rows{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem 2.4rem;margin:0 0 1.6rem;padding:0;list-style:none}
.ha-rows li{display:flex;gap:1.2rem;align-items:flex-start;padding:0;margin:0}
.kp .ha-rows li:before{content:none;display:none}
.ha-rows svg{width:2.4rem;height:2.4rem;stroke:#2F74DE;flex:none;margin-top:.2rem}
.ha-rows b{display:block;font-size:1.35rem;color:#9199A3;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}
.ha-rows span{font-size:1.5rem;line-height:1.5;color:#333F48}
.ha-verdict{display:flex;gap:1.2rem;background:#EAF3FF;border-radius:1.2rem;padding:1.6rem 1.8rem;font-size:1.55rem;line-height:1.55}
.ha-verdict svg{width:2.4rem;height:2.4rem;stroke:#2F74DE;flex:none}
.ha-verdict b{display:block;font-size:1.3rem;color:#576875;margin-top:.6rem;font-weight:500}
.ha-gal3{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:15.5rem;gap:1.28rem;margin:0 0 1.2rem;padding:0;list-style:none}
.ha-gal3 > li{position:relative;border-radius:1.6rem;overflow:hidden;margin:0;padding:0}
.ha-gal3 > li:first-child{grid-column:span 2;grid-row:span 2}
.ha-gal3 > li[hidden]{display:none}
.ha-gal3 a{display:block;width:100%;height:100%;position:relative;border:0}
.ha-gal3 img{width:100%;height:100%;object-fit:cover;display:block;opacity:1;transition:transform .35s}
.ha-gal3 a:hover img{transform:scale(1.04)}
.ha-gal3__more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(12,26,45,.55);color:#fff;font-size:1.6rem;font-weight:600}
.kp .ha-gal3 li:before{content:none;display:none}
/* Ссылка-кнопка на страницу курорта: общий стиль ссылок красил текст синим по синему фону. */
.bt-hotel a.button,.bt-hotel a.button:hover,.bt-hotel a.button:visited{color:#fff!important}
.ha-src{font-size:1.3rem;color:#9199A3;margin:-2rem 0 3.2rem}
.ha-thin{background:#FFF6F1;border:1px solid #F5D4C3;border-radius:1.6rem;padding:1.6rem 2rem;margin:0 0 2.4rem;font-size:1.45rem;line-height:1.5;color:#7A3E10}
.ha-thin b{display:block;margin-bottom:.4rem}
.ha-state{display:inline-flex;align-items:center;gap:.6rem;background:#E7F5EA;color:#1B7A38;border-radius:3.2rem;padding:.5rem 1.2rem;font-size:1.3rem;font-weight:600;margin-left:auto}
.ha-state--thin{background:#FFF1E6;color:#B4571B}
/* рекламный режим */
.ha-strip{background:linear-gradient(88.44deg,#3c7bf4 9.15%,#52c7fa 89.37%);color:#fff;padding:1.6rem 0;border-radius:var(--bt-radius,1.6rem);max-width:122.4rem;margin:0 auto 1.6rem}
.ha-strip .container{display:flex;flex-wrap:wrap;gap:.8rem 2rem;align-items:center}
.ha-strip h1{margin:0;font-size:2.4rem;color:#fff}
.ha-strip .ha-place{margin:0;font-size:1.4rem}
.ha-strip .kp-btn-ghost{background:rgba(255,255,255,.2);color:#fff;border:0}
.ha-strip .ha-stars{color:#F5B301;letter-spacing:.1em}
.ha-strip__cta{margin-left:auto;display:flex;gap:.8rem}
.ha-ad-hero{display:grid;grid-template-columns:minmax(0,1fr) 30rem;gap:2.4rem;align-items:start;margin:2.4rem 0 3.2rem}
.ha-ad-hero .hp-search{margin:0;min-width:0;overflow:hidden}
.ha-ad-hero>*{min-width:0}
.ha-ad-side{display:flex;flex-direction:column;gap:1.2rem}
.ha-ad-side img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:1.6rem;display:block;opacity:1}
.ha-ad-facts{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.ha-ad-facts li{display:flex;gap:1rem;align-items:center;background:#fff;border:1px solid #DEE1EB;border-radius:1.2rem;padding:1rem 1.4rem;font-size:1.45rem;margin:0}
.kp .ha-ad-facts li:before{content:none;display:none}
.ha-ad-facts svg{width:2rem;height:2rem;stroke:#2F74DE;flex:none}
.ha-ad-facts b{display:block}
.ha-ad-facts span{color:#576875;font-size:1.3rem}
.ha-resort{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;margin:0 0 3.2rem}
.ha-resort .kp-gray--other{grid-template-columns:repeat(2,1fr);margin-bottom:1.6rem}
@media(max-width:1000px){.ha-rows,.ha-resort,.ha-ad-hero{grid-template-columns:1fr}}
@media(max-width:1000px){.ha-gal3{grid-template-columns:repeat(2,1fr);grid-auto-rows:13rem}.ha-gal3 > li:first-child{grid-row:span 1}}
@media(max-width:700px){.ha-gal3{grid-template-columns:1fr;grid-auto-rows:20rem}.ha-gal3 > li:first-child{grid-column:span 1}.ha-hero h1{font-size:2.8rem}}


/* Фото-шапка на месте штатной. Структуру рисует шаблон сайта:
   header.page__header > .container > h1 + содержимое свойства headerContent.
   Раскладку задаём порядком (order), как на витрине экскурсий. !important —
   потому что бандл стилей шаблона грузится ПОСЛЕ этого файла и иначе перебивает
   фон шапки, декоративные круги и цвет кнопок. */
.page:has(.bt-hotel) .page__header{position:relative;display:flex;align-items:flex-end;min-height:46rem;
  padding:0!important;background:#333F48!important;border-radius:var(--bt-radius);overflow:hidden;
  max-width:122.4rem;margin:0 auto 2.4rem}
.page:has(.bt-hotel) .page__header:before,.page:has(.bt-hotel) .page__header:after{content:none!important;display:none!important}
.page:has(.bt-hotel) .page__header img{opacity:1}
/* порядок слоёв: фото, затемнение, текст. Иначе белые подписи теряются на светлом кадре */
.page:has(.bt-hotel) .page__header .hp-hero__img{z-index:0}
.page:has(.bt-hotel) .page__header .hp-hero__shade{z-index:1;
  background:linear-gradient(180deg,rgba(20,30,40,.05) 0%,rgba(20,30,40,.32) 45%,rgba(20,30,40,.85) 100%)}
.page:has(.bt-hotel) .page__header .page__headline,
.page:has(.bt-hotel) .page__header .hp-hero__kicker,
.page:has(.bt-hotel) .page__header .ha-place,
.page:has(.bt-hotel) .page__header .hp-hero__chips,
.page:has(.bt-hotel) .page__header .hp-hero__actions{position:relative;z-index:2}
.page:has(.bt-hotel) .page__header .container{position:static;width:100%;padding:4rem 4.8rem 4.4rem;color:#fff;
  display:flex;flex-direction:column;align-items:flex-start}
.page:has(.bt-hotel) .page__header .page__headline{order:0;color:#fff;font-size:4.16rem;line-height:1.15;
  margin:0 0 1.2rem;max-width:70.4rem}
.page:has(.bt-hotel) .page__header .hp-hero__kicker{order:-1;display:inline-flex;width:auto;align-items:center;
  gap:.8rem;margin:0 0 1.6rem;padding:.7rem 1.4rem;border-radius:3.2rem;background:rgba(255,255,255,.18);
  backdrop-filter:blur(6px);color:#fff;font-size:1.3rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.page:has(.bt-hotel) .page__header .hp-hero__kicker svg{width:1.6rem;height:1.6rem;flex:none;stroke:#fff}
.page:has(.bt-hotel) .page__header .ha-place{order:1;display:flex;flex-wrap:wrap;gap:.8rem 2rem;width:auto;
  color:rgba(255,255,255,.92);font-size:1.5rem;margin:0 0 1.8rem}
.page:has(.bt-hotel) .page__header .ha-place span{display:inline-flex;align-items:center;gap:.6rem}
.page:has(.bt-hotel) .page__header .ha-place svg{width:1.8rem;height:1.8rem;stroke:#fff;flex:none}
.page:has(.bt-hotel) .page__header .hp-hero__chips{order:2;display:flex;flex-wrap:wrap;gap:.8rem;width:auto;
  margin:0 0 2.2rem;padding:0;list-style:none}
.page:has(.bt-hotel) .page__header .hp-hero__chips li{display:inline-flex;width:auto;flex:none;align-items:center;
  gap:.64rem;background:rgba(255,255,255,.92);color:#333F48;font-weight:600;font-size:1.44rem;
  padding:.72rem 1.28rem;border-radius:3.2rem;margin:0}
.page:has(.bt-hotel) .page__header .hp-hero__chips li:before{content:none!important;display:none!important}
.page:has(.bt-hotel) .page__header .hp-hero__chips svg{width:1.76rem;height:1.76rem;stroke:#2F74DE;flex:none}
.page:has(.bt-hotel) .page__header .hp-hero__actions{order:3;display:flex;gap:1.28rem;flex-wrap:wrap}
.page:has(.bt-hotel) .page__header .hp-hero__actions .button{margin:0}
.page:has(.bt-hotel) .page__header .kp-btn-orange{background:#FF7A2F!important;color:#fff!important;border:0!important}
.page:has(.bt-hotel) .page__header .kp-btn-ghost{background:rgba(255,255,255,.22)!important;color:#fff!important;
  border:0!important;backdrop-filter:blur(4px)}
@media(max-width:900px){.page:has(.bt-hotel) .page__header{min-height:36rem}
  .page:has(.bt-hotel) .page__header .container{padding:2.4rem 2rem 2.8rem}
  .page:has(.bt-hotel) .page__header .page__headline{font-size:2.8rem}}


/* Карточки отелей: правила, которых не было в стилях страницы отеля.
   Из-за отсутствия .kh__rec плашка «Выбор Бизнес-Трэвел» шла обычным текстом
   внутри фото и растягивала его по вертикали, а чипсы фильтра слипались
   (замечание заказчика 05.09.2026). Держим в одном виде с css/kp.css курортов. */
.kp-filters{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0 0}
.kp-filter{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.4rem;border-radius:100px;border:1px solid var(--bt-gray3);background:#fff;color:var(--bt-graphite);font-size:1.4rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.kp-filter i{font-style:normal;font-size:1.2rem;font-weight:600;color:var(--bt-gray);opacity:.85}
.kp-filter:hover{border-color:var(--bt-blue);color:var(--bt-blue)}
.kp-filter.on{background:var(--bt-blue);border-color:var(--bt-blue);color:#fff}
.kp-filter.on i{color:#fff}
.kp-more[hidden]{display:none}
.kh--rec{border-color:var(--bt-blue)}
.kh__rec{position:absolute;right:1.2rem;top:1.2rem;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:100px;background:var(--bt-blue);color:#fff;font-size:1.2rem;font-weight:700;letter-spacing:.01em;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.kh__rec-i{width:1.4rem;height:1.4rem;fill:#fff;stroke:#fff}
.kh--rec .kh__who{top:auto;bottom:1.2rem}
.kh .kh__name a{color:var(--bt-graphite)!important;text-decoration:none}
.kh .kh__name a:hover{color:var(--bt-blue)!important}
a.kh__link{display:block;text-decoration:none;border:0!important}
a.kh__link:hover{text-decoration:underline}


/* Дописывается в конец hotels.css сборщиком tools/build_hotel_pages.py (build_local).
   Сюда — правки, которых нет в модулях прототипа. Раньше их вносили прямо в hotels.css на сервере,
   и каждая выкладка кода их стирала (10.09.2026). */

/* BT_CC_CLICK: вся карточка кликабельна (09.09.2026, замечание заказчика — на
   странице «Раннее бронирование» клик по картинке не открывал направление,
   работала только текстовая ссылка внизу). Растягиваем область ссылки на всю
   карточку невидимым слоем. Отключение: удалить эти три правила. */
.cc{position:relative}
.cc__link::after{content:"";position:absolute;inset:0;z-index:1}
.cc__btn,.cc a:not(.cc__link),.cc button{position:relative;z-index:2}

/* BT_CONCEPTS: концепции отелей — карточки сезонов и просмотрщик на месте (10.09.2026).
   PDF на сайте нет: страницы-картинки отдаёт /hotels/concept_page.php по токену. */
.btc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(34rem,1fr));gap:1.6rem;margin:1.6rem 0 4rem;padding:0;list-style:none}
.btc-list li{margin:0;padding:0}
.btc-list li::before{content:none!important}
.btc-open{display:flex;gap:1.6rem;align-items:stretch;width:100%;padding:1.2rem;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);
  background:#fff;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:box-shadow .2s,transform .2s,border-color .2s}
.btc-open:hover{border-color:var(--bt-blue);box-shadow:0 1.2rem 3rem rgba(20,40,70,.12);transform:translateY(-2px)}
.btc-card__cover{flex:0 0 9.6rem;height:13.4rem;border-radius:1rem;overflow:hidden;background:var(--bt-gray4);box-shadow:0 .4rem 1.2rem rgba(20,40,70,.18)}
.btc-card__cover img{width:100%;height:100%;object-fit:cover;object-position:top;opacity:1!important;display:block;
  -webkit-user-drag:none;user-select:none;-webkit-touch-callout:none;pointer-events:none}
.btc-card__body{display:flex;flex-direction:column;gap:.4rem;min-width:0;padding:.4rem 0}
.btc-card__title{font-size:1.9rem;line-height:1.2;font-weight:700;color:var(--bt-graphite)}
.btc-card__sub{font-size:1.4rem;color:var(--bt-gray2)}
.btc-card__meta{font-size:1.3rem;color:var(--bt-gray2)}
.btc-card__btn{margin-top:auto;align-self:flex-start;white-space:nowrap;padding:.9rem 1.6rem;border-radius:1rem;background:var(--bt-blue);color:#fff;font-size:1.4rem;font-weight:600}
.page:has(.bt-hotel) .page__header .hp-hero__concept{display:inline-flex;align-items:center;gap:.8rem;white-space:nowrap}
.hp-hero__concept svg{width:2rem;height:2rem;flex:none}

html.btc-lock,html.btc-lock body{overflow:hidden}
.btc-view{position:fixed;inset:0;z-index:10050;display:none;flex-direction:column;background:rgba(12,18,28,.98);
  user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.btc-view.is-open{display:flex}
.btc-view__bar{display:flex;align-items:center;gap:1.2rem;padding:1.2rem 1.6rem;color:#fff}
.btc-view__title{flex:1;min-width:0;font-size:1.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btc-view__count{font-size:1.4rem;color:rgba(255,255,255,.75);white-space:nowrap}
.btc-view__zoom,.btc-view__close{width:4rem;height:4rem;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:2.4rem;line-height:1;cursor:pointer}
.btc-view__stage{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:0 6rem;-webkit-overflow-scrolling:touch}
.btc-view__img{display:block;max-width:100%;max-height:calc(100vh - 14rem);margin:auto;border-radius:.6rem;background:#fff;cursor:zoom-in;
  opacity:1!important;transition:opacity .15s;-webkit-user-drag:none;pointer-events:auto}
.btc-view.is-loading .btc-view__img{opacity:.35!important}
.btc-view.is-zoomed .btc-view__img{max-width:none;max-height:none;width:min(180rem,190%);cursor:zoom-out}
.btc-view__nav{position:absolute;top:50%;width:4.8rem;height:4.8rem;margin-top:-2.4rem;border:0;border-radius:50%;background:rgba(255,255,255,.16);
  color:#fff;font-size:3.2rem;line-height:1;cursor:pointer}
.btc-view__nav:disabled{opacity:.25;cursor:default}
.btc-view__nav--prev{left:1.2rem}.btc-view__nav--next{right:1.2rem}
.btc-view [hidden]{display:none!important}
.btc-view__err{margin:auto;max-width:40rem;padding:2rem;color:#fff;font-size:1.6rem;line-height:1.5;text-align:center}
.btc-view__foot{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:1.2rem}
.btc-view__hint{display:none;color:rgba(255,255,255,.7);font-size:1.3rem;text-align:center}
.btc-view.is-zoomed .btc-view__hint{visibility:hidden}
@media (max-width:767px){
  .btc-list{grid-template-columns:1fr}
  .btc-card__cover{flex-basis:8rem;height:11.2rem}
  .btc-view__stage{padding:0 .8rem}
  .btc-view__nav{display:none}
  .btc-view__img{max-height:calc(100vh - 16rem)}
  .btc-view.is-zoomed .btc-view__img{width:220%}
  .page:has(.bt-hotel) .page__header .hp-hero__concept{white-space:normal;text-align:left}
  .btc-view__hint{display:block}
}
/* Выжимка концепции текстом — для поиска и для тех, кто не хочет листать 40 страниц (10.09.2026) */
.btc-sum{margin:2.4rem 0 4.8rem!important;padding:2.8rem 3.2rem;border:1px solid var(--bt-gray3);border-radius:var(--bt-radius);background:#F7F9FC}
.btc-sum__title{margin:0 0 1.2rem!important;font-size:2.2rem;line-height:1.25;font-weight:700;color:var(--bt-graphite)}
.btc-sum__lead{margin:0 0 2.4rem;font-size:1.7rem;line-height:1.6;color:var(--bt-graphite)}
.btc-sum__grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3.2rem;margin:0}
.btc-sum__row{margin:0}
.btc-sum__row dt{display:flex;align-items:center;gap:.8rem;margin:0 0 .6rem;font-size:1.5rem;font-weight:700;color:var(--bt-graphite)}
.btc-sum__row dt svg{width:2.2rem;height:2.2rem;flex:none;color:var(--bt-blue)}
.btc-sum__row dd{margin:0;font-size:1.5rem;line-height:1.55;color:var(--bt-gray1,#4a5563)}
.btc-sum__more{display:none}
.btc-sum__src{margin:2.4rem 0 0;font-size:1.3rem;color:var(--bt-gray2)}
@media (max-width:767px){
  .btc-sum{padding:2rem 1.6rem}
  .btc-sum__title{font-size:1.9rem}
  .btc-sum__lead{font-size:1.6rem}
  .btc-sum__grid{grid-template-columns:1fr;gap:1.6rem}
  .btc-sum.is-collapsed .btc-sum__row:nth-child(n+5){display:none}
  .btc-sum.is-collapsed .btc-sum__more{display:block;margin:1.6rem 0 0;padding:1rem 1.8rem;border:1px solid var(--bt-blue);border-radius:1rem;
    background:#fff;color:var(--bt-blue);font:inherit;font-size:1.5rem;font-weight:600;cursor:pointer}
}
@media print{.btc-view,.btc-list{display:none!important}}

/* BT_HOTELS_CATALOG: каталог отелей /hotels/ (10.09.2026; вид переделан 11.09.2026 — «как дизайнер»):
   сегмент-переключатель, панель поиска с группами фильтров, карточки в языке карточек курортов (.kh). */
.hcat [hidden]{display:none!important}
.hcat a{border-bottom:0!important}
.hcat svg{flex:none}

/* верх: переключатель и цифры */
.hcat-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.6rem 2.4rem;margin:0 0 1.4rem}
.hcat-seg{display:inline-flex;padding:.5rem;border-radius:100px;background:#EEF2F8;gap:.4rem}
.hcat-seg__item{display:inline-flex;align-items:center;gap:.8rem;padding:1rem 2rem;border-radius:100px;font-size:1.5rem;font-weight:600;
  color:var(--bt-graphite);text-decoration:none;transition:background .2s,color .2s,box-shadow .2s}
.hcat-seg__item svg{width:1.8rem;height:1.8rem}
.hcat-seg__item.is-on{background:#fff;color:var(--bt-blue);box-shadow:0 .4rem 1.4rem rgba(20,40,70,.1)}
a.hcat-seg__item:hover{color:var(--bt-blue)}
.hcat-stats{display:flex;flex-wrap:wrap;gap:.8rem 2.4rem;margin:0!important;padding:0!important;list-style:none}
.hcat-stats li{display:inline-flex!important;align-items:baseline;gap:.4rem;width:auto!important;margin:0!important;padding:0!important;font-size:1.5rem;color:var(--bt-gray2)}
.hcat-stats li::before{content:none!important}
.hcat-stats b{font-size:2.2rem;font-weight:700;color:var(--bt-graphite);margin-right:.2rem}
.hcat-lead{max-width:76rem;margin:0 0 2.4rem;font-size:1.6rem;line-height:1.6;color:var(--bt-gray2)}

/* панель поиска */
.hcat-panel{margin:0 0 3.2rem;padding:2.4rem 2.4rem 1.6rem;border:1px solid #E3E8F0;border-radius:2.4rem;background:#fff;
  box-shadow:0 1.8rem 4.8rem -2.8rem rgba(20,40,70,.28)}
.hcat-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:1.2rem}
.hcat-field{position:relative;display:flex;align-items:center;height:5.6rem;margin:0;border:1px solid #DDE3EC;border-radius:1.4rem;background:#F7F9FC;
  transition:border-color .2s,box-shadow .2s,background .2s}
.hcat-field:focus-within{border-color:var(--bt-blue);background:#fff;box-shadow:0 0 0 4px rgba(47,116,222,.12)}
.hcat-field--q svg{position:absolute;left:1.8rem;width:2.2rem;height:2.2rem;color:var(--bt-gray2);pointer-events:none}
.hcat-field input{width:100%;height:100%;padding:0 1.6rem 0 5rem;border:0!important;background:transparent!important;
  font:inherit;font-size:1.6rem;color:var(--bt-graphite);outline:none;box-shadow:none!important}
.hcat-field input::placeholder{color:#9AA5B5}
.hcat-field__cap{position:absolute;left:1.6rem;top:.8rem;font-size:1.15rem;font-weight:600;letter-spacing:.02em;color:var(--bt-gray2);pointer-events:none}
.hcat-field select{width:100%;height:100%;padding:2rem 4rem .6rem 1.6rem;border:0!important;background:transparent!important;
  font:inherit;font-size:1.55rem;font-weight:600;color:var(--bt-graphite);cursor:pointer;outline:none;-webkit-appearance:none;appearance:none;box-shadow:none!important}
.hcat-field--sel::after{content:"";position:absolute;right:1.8rem;top:50%;width:.9rem;height:.9rem;margin-top:-.6rem;border-right:2px solid var(--bt-gray2);
  border-bottom:2px solid var(--bt-gray2);transform:rotate(45deg);pointer-events:none}
.hcat-field select:disabled{color:#A9B2BF;cursor:default}
.hcat-toggle{display:none}

.hcat-groups{display:flex;flex-wrap:wrap;gap:1.8rem 3.2rem;margin:2rem 0 0;padding:2rem 0 0;border-top:1px solid #EEF1F6}
.hcat-group{display:flex;flex-direction:column;gap:1rem;min-width:0}
.hcat-group__cap{font-size:1.2rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bt-gray2)}
.hcat-chips,.hcat-stars{display:flex;flex-wrap:wrap;gap:.8rem}
.hcat-chip{display:inline-flex;align-items:center;gap:.7rem;height:4rem;padding:0 1.5rem;border:1px solid #DDE3EC;border-radius:100px;background:#fff;
  font:inherit;font-size:1.45rem;font-weight:500;color:var(--bt-graphite);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.hcat-chip svg{width:1.8rem;height:1.8rem;color:var(--bt-blue)}
.hcat-chip:hover{border-color:var(--bt-blue);color:var(--bt-blue)}
.hcat-chip.on{background:var(--bt-blue);border-color:var(--bt-blue);color:#fff}
.hcat-chip.on svg{color:#fff}
.hcat-chip--star{gap:.3rem;padding:0 1.3rem;font-weight:700}
.hcat-chip--star span{color:#F5B301}
.hcat-chip--star.on span{color:#FFE08A}

.hcat-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin:1.8rem 0 0;padding:1.4rem 0 0;border-top:1px solid #EEF1F6}
.hcat-count{margin:0!important;font-size:1.5rem;color:var(--bt-gray2)}
.hcat-count b{font-size:1.8rem;color:var(--bt-graphite)}
.hcat-reset{margin-left:1.4rem;padding:0;border:0;background:none;font:inherit;font-size:1.45rem;font-weight:600;color:var(--bt-blue);cursor:pointer}
.hcat-reset:hover{text-decoration:underline}
.hcat-sort{position:relative;display:inline-flex;align-items:center;gap:.4rem;margin:0;font-size:1.45rem;color:var(--bt-gray2)}
.hcat-sort select{padding:.4rem 2.4rem .4rem .2rem;border:0!important;background:transparent!important;font:inherit;font-size:1.45rem;font-weight:600;
  color:var(--bt-graphite);cursor:pointer;-webkit-appearance:none;appearance:none;outline:none;box-shadow:none!important}
.hcat-sort::after{content:"";position:absolute;right:.6rem;top:50%;width:.7rem;height:.7rem;margin-top:-.5rem;border-right:2px solid var(--bt-gray2);
  border-bottom:2px solid var(--bt-gray2);transform:rotate(45deg);pointer-events:none}

/* карточки */
.hcat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4rem;margin:0 0 3.2rem}
.hcc{display:flex;flex-direction:column;border:1px solid #E3E8F0;border-radius:2rem;overflow:hidden;background:#fff;
  transition:box-shadow .25s,transform .25s,border-color .25s}
.hcc:hover{border-color:#D3DCEA;box-shadow:0 2rem 4.4rem -2.2rem rgba(20,40,70,.35);transform:translateY(-3px)}
.hcc__media{position:relative;display:block;aspect-ratio:3/2;background:#EEF2F8;overflow:hidden}
.hcc__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.hcc:hover .hcc__media img{transform:scale(1.04)}
.hcc__media::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(to top,rgba(10,20,35,.35),transparent);pointer-events:none}
.hcc__rec,.hcc__concept{position:absolute;z-index:1;display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border-radius:100px;
  font-size:1.2rem;font-weight:700;line-height:1.2}
.hcc__rec{left:1.2rem;top:1.2rem;background:var(--bt-blue);color:#fff}
.hcc__rec svg{width:1.4rem;height:1.4rem}
.hcc__concept{left:1.2rem;bottom:1.2rem;background:rgba(255,255,255,.96);color:var(--bt-graphite)}
.hcc__concept svg{width:1.6rem;height:1.6rem;color:var(--bt-blue)}
.hcc__body{display:flex;flex-direction:column;flex:1;padding:1.8rem 2rem 2rem}
.hcc__stars{margin:0 0 .6rem;color:#F5B301;font-size:1.3rem;letter-spacing:.12em;line-height:1}
.hcc__name{margin:0 0 .6rem!important;font-size:1.9rem!important;line-height:1.25!important;font-weight:700}
.hcc__name a{color:var(--bt-graphite)!important;text-decoration:none!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hcc__name a:hover{color:var(--bt-blue)!important}
.hcc__place{display:flex;align-items:center;gap:.5rem;margin:0 0 1.2rem;font-size:1.4rem;color:var(--bt-gray2)}
.hcc__place svg{width:1.6rem;height:1.6rem}
.hcc__who{align-self:flex-start;margin:0 0 1.4rem;padding:.5rem 1.1rem;border-radius:.8rem;background:#EEF4FE;color:var(--bt-blue);font-size:1.3rem;font-weight:600;line-height:1.3}
.hcc__feat{display:flex;flex-direction:column;gap:.8rem;margin:0 0 1.8rem!important;padding:1.4rem 0 0!important;border-top:1px solid #EEF1F6;list-style:none}
.hcc__feat li{display:flex!important;align-items:center;gap:1rem;width:auto!important;margin:0!important;padding:0!important;font-size:1.45rem;color:var(--bt-graphite)}
.hcc__feat li::before{content:none!important;display:none!important}
.hcc__feat svg{width:2.8rem;height:2.8rem;padding:.5rem;border-radius:.8rem;background:#EEF4FE;color:var(--bt-blue);box-sizing:border-box}
.hcc__btn{margin-top:auto;display:flex;align-items:center;justify-content:center;height:4.8rem;padding:0 1.6rem;border-radius:1.2rem;
  background:var(--bt-blue);color:#fff!important;font-size:1.5rem;font-weight:600;text-decoration:none!important;transition:background .2s}
.hcc__btn:hover{background:var(--bt-blue-dark,#1F5FC4)}

.hcat-empty{display:flex;flex-direction:column;align-items:center;gap:.8rem;margin:0 0 3.2rem;padding:4rem 2rem;border-radius:2rem;background:#F7F9FC;text-align:center}
.hcat-empty b{font-size:2rem;color:var(--bt-graphite)}
.hcat-empty p{margin:0 0 1rem;font-size:1.5rem;color:var(--bt-gray2)}
.hcat-btn{height:4.8rem;padding:0 2.4rem;border:0;border-radius:1.2rem;background:var(--bt-blue);color:#fff;font:inherit;font-size:1.5rem;font-weight:600;cursor:pointer}
.hcat-more{display:block;margin:0 auto 4rem;height:5.2rem;padding:0 3.2rem;border:1.5px solid var(--bt-blue);border-radius:100px;background:#fff;
  font:inherit;font-size:1.5rem;font-weight:600;color:var(--bt-blue);cursor:pointer;transition:background .2s,color .2s}
.hcat-more:hover{background:var(--bt-blue);color:#fff}

@media (max-width:1100px){
  .hcat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hcat-row{grid-template-columns:1fr 1fr}
  .hcat-field--q{grid-column:1/-1}
}
@media (max-width:640px){
  .hcat-top{gap:1.2rem}
  .hcat-seg{display:flex;width:100%}
  .hcat-seg__item{flex:1;justify-content:center;padding:1rem .8rem;font-size:1.35rem;text-align:center;line-height:1.25}
  .hcat-seg__item svg{display:none}
  .hcat-stats{gap:.4rem 1.6rem}
  .hcat-stats li{font-size:1.35rem}
  .hcat-stats b{font-size:1.8rem}
  .hcat-lead{font-size:1.45rem;margin-bottom:1.6rem}
  .hcat-panel{padding:1.4rem;border-radius:2rem;margin-bottom:2.4rem}
  .hcat-row{grid-template-columns:1fr 1fr;gap:.8rem}
  .hcat-field{height:5.2rem}
  .hcat-toggle{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:.8rem;height:4.8rem;border:1px solid #DDE3EC;border-radius:1.4rem;
    background:#fff;font:inherit;font-size:1.5rem;font-weight:600;color:var(--bt-graphite);cursor:pointer}
  .hcat-toggle svg{width:2rem;height:2rem;color:var(--bt-blue)}
  .hcat-toggle i{min-width:2.2rem;height:2.2rem;padding:0 .6rem;border-radius:100px;background:var(--bt-blue);color:#fff;font-style:normal;font-size:1.25rem;line-height:2.2rem}
  .hcat-groups{display:none;margin-top:1.4rem;padding-top:1.4rem;gap:1.6rem}
  .hcat.is-filters-open .hcat-groups{display:flex}
  .hcat.is-filters-open .hcat-toggle{border-color:var(--bt-blue);color:var(--bt-blue)}
  .hcat-chip{height:3.8rem;padding:0 1.3rem;font-size:1.4rem}
  .hcat-foot{margin-top:1.2rem;padding-top:1.2rem}
  .hcat-grid{grid-template-columns:1fr;gap:1.8rem}
  .hcc__body{padding:1.6rem 1.8rem 1.8rem}
}

/* 10.09.2026, скриншот заказчика: «Всё о курорте Сиде: пляжи, посёлки, экскурсии» на телефоне
   переносится на вторую строку, а у .button фиксированная высота — строку обрезало. */
.bt-hotel__resort-link .button{height:auto!important;min-height:4.8rem;padding-top:1.1rem!important;padding-bottom:1.1rem!important;
  white-space:normal!important;line-height:1.35!important;text-align:center}

/* BT_WINGS_CSS: корпуса отеля (14.09.2026) */
.ha-wings__lead{margin:0 0 18px;color:#4a5568;max-width:860px}
.ha-wings{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;list-style:none;padding:0!important;margin:0 0 28px}
.ha-wing{background:#fff;border:1px solid #e6ebf2;border-radius:16px;padding:18px 20px!important;box-shadow:0 2px 10px rgba(16,42,77,.05)}
.ha-wing__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.ha-wing__name{font-size:18px;font-weight:700;color:#102a4d}
.ha-wing__tag{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#0b6ef4;background:#eaf2ff;border-radius:999px;padding:4px 10px}
.ha-wing__who,.ha-wing__sea{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px;color:#22354f;font-size:15px}
.ha-wing__who svg,.ha-wing__sea svg{flex:0 0 20px;width:20px;height:20px;margin-top:2px;color:#0b6ef4}
.ha-wing__about{margin:10px 0 0;color:#4a5568;font-size:15px;line-height:1.5}
@media (max-width:640px){.ha-wing{padding:16px!important}.ha-wing__name{font-size:17px}}
/* BT_WINGS_CSS_END */

/* 26.09.2026 — карточка каталога: плашка VIP и строка вердикта (решение Юрия) */
.hcc__vip{position:absolute;z-index:1;right:1.2rem;top:1.2rem;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.2rem;border-radius:100px;background:linear-gradient(135deg,#0b1820,#17303b);color:#e4cf9f;font-size:1.25rem;font-weight:700;letter-spacing:.14em;border:1px solid rgba(214,189,139,.6)}
.hcc__vip::before{content:"";width:.6rem;height:.6rem;transform:rotate(45deg);background:#d6bd8b}
.hcc__verdict{margin:0 0 1.4rem;font-size:1.45rem;line-height:1.5;color:#3a4854}

/* 27.09.2026 (аудит Codex, этап А): на телефоне результаты ближе к поиску — статистика и пояснение скрыты
   (текст остаётся в HTML для поисковиков), переключатель компактнее */
@media (max-width:767px){.hcat .hcat-stats,.hcat .hcat-lead{display:none}.hcat .hcat-top{margin-bottom:1.2rem}.hcat .hcat-seg__item{padding-top:.8rem;padding-bottom:.8rem}}

/* 27.09.2026, этап Б каталога (аудит Codex): фильтры — флажки внутри «чипов» (работают и без скрипта),
   «Показать ещё» — ссылка на следующую страницу, постраничные ссылки под сеткой */
.hcat-cb{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0;opacity:0}
.hcat-chip{position:relative;user-select:none}
.hcat-chip:focus-within{outline:2px solid var(--bt-blue);outline-offset:2px}
.hcat-chip:has(.hcat-cb:checked){background:var(--bt-blue);border-color:var(--bt-blue);color:#fff}
.hcat-chip:has(.hcat-cb:checked) svg{color:#fff}
.hcat-chip--star:has(.hcat-cb:checked) span{color:#FFE08A}
a.hcat-reset{text-decoration:none}
.hcat-reset[hidden]{display:none}
.hcat-apply{height:4.4rem;padding:0 2.4rem;border:0;border-radius:100px;background:var(--bt-blue);color:#fff;font:inherit;font-size:1.5rem;font-weight:600;cursor:pointer}
.hcat-apply[hidden]{display:none}
a.hcat-more{width:max-content;max-width:100%;line-height:5.2rem;text-align:center;text-decoration:none}
a.hcat-more:hover{color:#fff}
.hcat-more[hidden]{display:none}
.hcat-note{margin:0 0 1.6rem;padding:1.2rem 1.6rem;border-radius:1.2rem;background:#FFF6E0;font-size:1.5rem;color:var(--bt-graphite)}
.hcat.is-loading .hcat-grid{opacity:.55;transition:opacity .2s}
.hcat-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin:-2rem 0 4rem}
.hcat-pager a,.hcat-pager span{display:inline-flex;align-items:center;justify-content:center;min-width:4rem;height:4rem;padding:0 1rem;border-radius:100px;
  font-size:1.5rem;font-weight:600;text-decoration:none}
.hcat-pager a{border:1px solid #DDE3EC;color:var(--bt-graphite);background:#fff}
.hcat-pager a:hover{border-color:var(--bt-blue);color:var(--bt-blue)}
.hcat-pager .is-on{background:var(--bt-blue);color:#fff}
.hcat-pager__gap{color:var(--bt-gray2);min-width:2rem!important;padding:0!important}
@media (max-width:640px){
  .hcat:not(.hc-js) .hcat-groups{display:flex}
  .hcat:not(.hc-js) .hcat-toggle{display:none}
  .hcat-apply{width:100%}
}

/* 27.09.2026 «Что отмечают туристы» (parts/tourists.php) */
.bth-tr__lead{margin:-.4rem 0 1.4rem;color:var(--bt-gray2);font-size:1.45rem}
.bth-tr{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin:0 0 1rem}
.bth-tr__col{border-radius:1.6rem;padding:1.6rem 1.8rem;background:#F3F8F4}
.bth-tr__col--minus{background:#FFF6E8}
.bth-tr__col h3{display:flex;align-items:center;gap:.8rem;margin:0 0 1rem;font-size:1.6rem}
.bth-tr__col h3 svg{width:2rem;height:2rem;color:#2E8B57}.bth-tr__col--minus h3 svg{color:#C26A00}
.bth-tr__col ul{margin:0;padding:0;list-style:none;display:grid;gap:.9rem}
.bth-tr__col li{font-size:1.5rem;line-height:1.45}.bth-tr__col small{color:var(--bt-gray2);white-space:nowrap}
.bth-tr__note{margin:0 0 3rem;font-size:1.3rem;color:var(--bt-gray2)}
@media (max-width:767px){.bth-tr{grid-template-columns:1fr}}
