/* turypro-page.css — CSS детальной/категории (.ts-dh/.ts-prog/.ts-inc/.ts-gal/.ts-sim/.ts-bc и пр.).
   Извлечён из build.py PAGE_CSS 1:1. Подключается только на single-tour/taxonomy. @package turypro */
.ts-sronly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* хлебные крошки-оверлей поверх верха hero (без белой полосы) */
/* мобайл: крошки в потоке, ТОТ ЖЕ серый фон, что у hero/контента (#f6f6f7). padding-top заливает зону
   под фикс-хедером серым (без белой полосы); hero без сдвига → сплошной серый от хедера вниз. */
.ts-bc.ts-bc--over{position:relative;z-index:5;background:#f6f6f7;padding:calc(var(--ts-hdr-h) + 18px) 0 16px}
.ts-bc--over .ts-bc__list{font-size:16px}
/* детальная: крошки в обычном потоке — отодвинуть из-под фикс-хедера (header position:fixed) */
.ts-bc:not(.ts-bc--over){padding-top:calc(var(--ts-hdr-h) + 14px)}
.ts-bc:not(.ts-bc--over) .ts-bc__list{font-size:16px}
#rec659152649{margin-top:-78px}  /* подтянуть hero к крошкам (серый сплошной → шва нет) */
/* десктоп: крошки — оверлей поверх верха hero (без белой полосы), без фона */
@media(min-width:980px){.ts-bc.ts-bc--over{position:absolute;top:96px;left:0;right:0;z-index:30;background:none;padding:0}
 .ts-bc--over .ts-bc__list{font-size:17px}
 #rec659152649{margin-top:0}}
/* своя hero-вырезка страницы — те же object-fit/тень, что у общего hero */
#rec659152649 img[src*="/hero.webp"]{object-fit:contain!important;transform:translateY(-7%);filter:drop-shadow(0 24px 28px rgba(24,27,44,.2))}
/* десктоп: сдвинуть hero-картинку левее и выше (на мобайле — центр, как на главной) */
@media(min-width:980px){#rec659152649 .tn-elem__6591526491698419788443{transform:translate(-70px,-46px)!important}}
/* десктоп: опускаем заголовок ниже крошек-оверлея (на мобайле крошки в потоке — сдвиг не нужен) */
@media(min-width:980px){#rec659152649 .tn-elem__6591526491698435425862{top:152px!important;transform:none!important}}
/* десктоп КАТЕГОРИЙ: длинный заголовок переносим в узкой левой колонке (НЕ nowrap — иначе тянется на всю
   ширину и лезет на человека; базовый nowrap из ts-css перебиваем здесь, т.к. PAGE_CSS идёт позже) */
@media(min-width:980px){
 #rec659152649 .tn-elem__6591526491698435425862{width:540px!important;height:auto!important;white-space:normal!important;overflow:visible!important}
 #rec659152649 .tn-elem__6591526491698435425862 .tn-atom{width:100%!important;white-space:normal!important;font-size:40px!important;line-height:1.08!important}
 /* кегль 40 + ширина 540 → даже самый длинный заголовок ≤2 строк; подзаголовок и кнопку опускаем под 2 строки */
 #rec659152649 .tn-elem__6591526491698419679939{top:250px!important}
 #rec659152649 .tn-elem__6591526491698419706159{top:328px!important}
}
/* мобайл: длинный заголовок в 1 строку (меньше шрифт) + ЦЕНТРИРОВАНИЕ контента + компактные зазоры */
@media(max-width:979px){
 /* заголовок — по центру; длинные заголовки категорий ПЕРЕНОСИМ (nowrap дал бы гориз.скролл) */
 #rec659152649 .tn-elem__6591526491698435425862{left:0!important;width:100%!important;height:auto!important}
 #rec659152649 .tn-elem__6591526491698435425862 .tn-atom{font-size:24px!important;white-space:normal!important;text-align:center!important;padding:0 18px!important;box-sizing:border-box!important;line-height:1.12!important}
 /* подзаголовок — под 2-строчным заголовком (категории длинные → сдвиг вниз) */
 #rec659152649 .tn-elem__6591526491698419679939{top:181px!important;left:0!important;width:100%!important;transform:none!important}
 #rec659152649 .tn-elem__6591526491698419679939 .tn-atom{text-align:center!important;padding:0 22px!important;box-sizing:border-box!important}
 /* картинка — ниже подзаголовка */
 #rec659152649 .tn-elem__6591526491698419788443{top:236px!important;transform:none!important}
 /* кнопка — по центру + ниже картинки */
 #rec659152649 .tn-elem__6591526491698419706159{left:50%!important;margin-left:-118px!important;margin-top:-36px!important}
 /* плашки-доверия («преимущества») — подтянуть к кнопке (вся группа из 8 атомов) */
 #rec659152649 .tn-elem__6591526491698689120594,#rec659152649 .tn-elem__6591526491698689013917,
 #rec659152649 .tn-elem__6591526491698420223684,#rec659152649 .tn-elem__6591526491698420411313,
 #rec659152649 .tn-elem__6591526491698420411330,#rec659152649 .tn-elem__6591526491698689120612,
 #rec659152649 .tn-elem__6591526491698589014048,#rec659152649 .tn-elem__6591526491698689120615{margin-top:-32px!important}
 /* высота hero под сдвинутый контент */
 #rec659152649,#rec659152649 .t396,#rec659152649 .t396__artboard{height:calc(235.625vw - 52px)!important;min-height:calc(235.625vw - 52px)!important}
}
/* breadcrumbs */
.ts-bc{padding:18px 0 0}.ts-bc__list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:15px;color:#7a7d8c}
.ts-bc__list li{display:flex;align-items:center}.ts-bc__list li:not(:last-child)::after{content:'›';margin-left:8px;color:#c4c6d0}
.ts-bc__list a{color:#7a7d8c;text-decoration:none}.ts-bc__list a:hover{color:#e95e29}.ts-bc__list [aria-current]{color:#181b2c;font-weight:600}
/* detail hero */
.ts-dh{padding-top:24px}.ts-dh__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:start}
.ts-dh__h1{font-size:42px;line-height:1.08;margin:10px 0 0;color:#181b2c;font-weight:800;letter-spacing:-.5px}
.ts-dh__rate{margin:16px 0 0}.ts-dh__ex{font-size:18px;line-height:1.55;color:#3a3d4d;margin:16px 0 0;max-width:560px}
.ts-dh__facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 0}
.ts-dh__fact{background:#f6f6f6;border-radius:15px;padding:14px 18px}.ts-dh__fact span{display:block;font-size:14px;color:#8a8d9c}.ts-dh__fact b{display:block;font-size:17px;color:#181b2c;margin-top:3px}
.ts-dh__cta{display:flex;align-items:center;gap:22px;margin:26px 0 0;flex-wrap:wrap}
.ts-dh__call{display:inline-flex;align-items:center;font-weight:700;font-size:19px;color:#181b2c;text-decoration:none}.ts-dh__call:hover{color:#e95e29}
/* gallery */
.ts-gal__main{display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -28px rgba(24,27,44,.4)}
.ts-gal__main img{width:100%;height:auto;display:block;aspect-ratio:8/5.6;object-fit:cover}
.ts-gal__strip{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:4px}
.ts-gal__th{flex:0 0 auto;width:96px;height:72px;border:2px solid transparent;border-radius:11px;overflow:hidden;padding:0;background:none;cursor:pointer}
.ts-gal__th img{width:100%;height:100%;object-fit:cover;display:block}.ts-gal__th.on{border-color:#e95e29}
/* calculator-wizard CSS вынесен в CALC_CSS (общий для всех страниц) */
/* program */
.ts-prog{display:flex;flex-direction:column;gap:0;max-width:820px}
.ts-prog__row{display:grid;grid-template-columns:118px 1fr;gap:20px;padding:20px 0;border-top:1px solid #ececf0}.ts-prog__row:first-child{border-top:0}
.ts-prog__time{font-weight:800;color:#e95e29;font-size:16px}.ts-prog__t{font-size:19px;margin:0 0 6px;color:#181b2c}.ts-prog__body p{margin:0;color:#494c5c;line-height:1.55}
/* includes */
.ts-inc{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ts-inc__col{background:#f6f6f6;border-radius:24px;padding:28px 26px}
.ts-inc__col--yes{background:#fdf2ec}
.ts-inc__hd{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:0 0 18px;border-bottom:1px solid rgba(24,27,44,.08)}
.ts-inc__ic{width:48px;height:48px;border-radius:15px;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.ts-inc__ic svg{width:25px;height:25px}
.ts-inc__col--yes .ts-inc__ic{background:#e95e29}.ts-inc__col--yes .ts-inc__ic svg{fill:#fff}
.ts-inc__col--no .ts-inc__ic{background:#e7e8ec}.ts-inc__col--no .ts-inc__ic svg{fill:#878c99}
.ts-inc__col--bring .ts-inc__ic{background:#181b2c}.ts-inc__col--bring .ts-inc__ic svg{fill:#fff}
.ts-inc__ht h3{font-size:18px;margin:0;color:#181b2c;line-height:1.2}
.ts-inc__sub{font-size:13px;color:#8b909e;margin:3px 0 0}
.ts-inc__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.ts-inc__col li{position:relative;padding-left:30px;line-height:1.45;color:#3f4252;font-size:15.5px}
.ts-inc__col--yes li::before{content:'';position:absolute;left:0;top:2px;width:19px;height:19px;border-radius:50%;background:#e95e29}
.ts-inc__col--yes li::after{content:'';position:absolute;left:6px;top:6px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ts-inc__col--no li::before{content:'';position:absolute;left:1px;top:10px;width:13px;height:2px;border-radius:2px;background:#b6bac4}
.ts-inc__col--bring li::before{content:'';position:absolute;left:3px;top:6px;width:9px;height:9px;border-radius:50%;background:#181b2c}
/* similar */
.ts-sim{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ts-sim__card{background:#fff;border:1px solid #ececf0;border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:.15s}
.ts-sim__card:hover{box-shadow:0 24px 50px -24px rgba(24,27,44,.34);transform:translateY(-3px)}
.ts-sim__media img{width:100%;height:170px;object-fit:cover;display:block}.ts-sim__b{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.ts-sim__b h3{font-size:16px;margin:0;line-height:1.3}.ts-sim__f{margin-top:auto;display:flex;align-items:center;justify-content:space-between}
@media(max-width:979px){
 /* порядок на мобайле: заголовок+рейтинг+описание → галерея → факты → кнопка */
 .ts-dh__grid{display:flex;flex-direction:column;gap:0}.ts-dh__info{display:contents}
 .ts-dh__head{order:1}.ts-dh__media{order:2;margin-top:20px}.ts-dh__facts{order:3;margin-top:22px}.ts-dh__cta{order:4;margin-top:22px}
 .ts-dh__h1{font-size:29px}.ts-dh__ex{font-size:16px}
 .ts-dh__facts{grid-template-columns:1fr 1fr;gap:10px}.ts-dh__fact{padding:13px 14px}.ts-dh__fact b{font-size:16px}
 /* галерея: даём флекс-детям ужаться (иначе strip из миниатюр распирает блок шире экрана) */
 .ts-dh__media,.ts-gal,.ts-gal__main,.ts-gal__strip{min-width:0;max-width:100%}
 .ts-gal__main img{width:100%}
 /* телефон у кнопки убираем, кнопку — во всю ширину и крупнее (капсула) */
 .ts-dh__call{display:none}.ts-dh__cta{gap:0}
 .ts-dh__btn{width:100%;justify-content:center;padding:18px 24px;font-size:17px}
 .ts-prog__row{grid-template-columns:84px 1fr;gap:14px}
 .ts-inc{grid-template-columns:1fr}
 /* похожие туры — слайдер в стиле каталога (1 карточка/экран, соседняя чуть видна) */
 .ts-sim{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80%;gap:14px;margin:0 -18px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 18px 8px}
 .ts-sim::-webkit-scrollbar{display:none}.ts-sim__card{scroll-snap-align:center}
 .ts-sim__media img{height:190px}
}
