/* Страницы экскурсий (tours/*.html). Цвета и шрифты те же, что на главной */
:root{
  --deep:#1D4449;--sand:#FFFDF1;--sand-2:#FBF3DF;--paper:#FFFFFF;--gold:#F0BA0A;
  --text:#17383D;--text-2:#5E7377;--line:rgba(29,68,73,.14);
  --display:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --e-out:cubic-bezier(.16,.84,.35,1);--e-soft:cubic-bezier(.4,.1,.2,1);
  --pad:clamp(20px,5vw,80px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
html,body{overflow-x:hidden;overflow-x:clip}
body{margin:0;background:var(--sand);color:var(--text);font-family:var(--display);
  font-size:clamp(15px,1.05vw,17px);line-height:1.62;-webkit-font-smoothing:antialiased}
/* height:auto — у картинок заданы размеры в разметке, без этого логотип вытягивается в высоту */
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
h1,h2,h3{margin:0;line-height:1.08}
p{margin:0}
.tp-wrap{width:min(1240px,100% - 2*var(--pad));margin-inline:auto}
.tp-narrow{max-width:860px}

/* шапка */
.tp-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;padding:14px var(--pad);
  background:rgba(255,253,241,.96);transition:box-shadow .3s var(--e-soft)}
.tp-nav.stuck{box-shadow:0 1px 0 var(--line),0 10px 30px -20px rgba(18,34,41,.35)}
.tp-nav__logo{width:clamp(130px,12vw,170px);flex:none}
.tp-nav__back{display:inline-flex;align-items:center;gap:6px;margin-right:auto;font-weight:600;font-size:14px;color:var(--text-2);
  transition:color .3s var(--e-soft)}
.tp-nav__back:hover{color:var(--text)}
.tp-nav__back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* кнопка: тот же глянцевый оранжевый, что на главной */
.btn{--bg:#F97A2A;--edge:#B5470B;--top:#FFA45A;--bot:#EE5F14;--lift:0px;--depth:5px;
  position:relative;display:inline-flex;align-items:center;gap:12px;color:#fff;background-color:var(--bg);
  background-image:linear-gradient(180deg,rgba(255,255,255,.4) 0%,rgba(255,255,255,.1) 45%,rgba(255,255,255,0) 46%,rgba(0,0,0,.1) 100%),
    linear-gradient(180deg,var(--top) 0%,var(--bg) 54%,var(--bot) 100%);
  padding:14px 16px 14px 26px;border:0;border-radius:999px;font-weight:600;font-size:15px;cursor:pointer;
  text-shadow:0 1px 1px rgba(122,40,0,.35);transform:translateY(var(--lift));
  transition:transform .25s var(--e-out),box-shadow .35s var(--e-out);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 var(--depth) 0 -1px var(--edge),0 18px 34px -14px rgba(247,111,34,.85)}
.btn:hover{--bg:#FF8638;--top:#FFB472;--bot:#F36A1D;--lift:-2px;--depth:7px}
.btn:active{--lift:3px;--depth:2px;transition-duration:.09s}
.btn i{width:30px;height:30px;border-radius:50%;background:#fff;color:#EE5F14;display:grid;place-items:center;flex:none}
.btn i svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn--sm{padding:10px 20px;font-size:14px;--depth:4px}
.tp-link{font-weight:600;color:var(--text);border-bottom:1.5px solid rgba(249,122,42,.6);padding-bottom:2px;transition:color .3s var(--e-soft)}
.tp-link:hover{color:#E0580F}

/* первый экран: текст слева, высокое фото справа */
.tp-hero{padding:clamp(20px,4vw,56px) 0 clamp(50px,7vw,100px)}
.tp-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center}
.tp-kicker{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#B4830A}
.tp-kicker::before{content:"";width:34px;height:1px;background:var(--gold)}
.tp-hero h1{margin-top:18px;font-family:var(--serif);font-weight:600;font-size:clamp(38px,5.4vw,76px);letter-spacing:-.015em;text-wrap:balance}
.tp-hero h1 span{display:block;margin-top:.2em;font-style:italic;font-weight:500;font-size:.5em;line-height:1.2;color:#D2691E;text-wrap:balance}
.tp-lead{margin-top:20px;max-width:52ch;font-size:clamp(16px,1.3vw,19px);color:var(--text-2);text-wrap:pretty}
.tp-lead+.tp-lead{margin-top:12px}
.tp-facts{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.tp-facts li{padding:12px 18px;border-radius:16px;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 30px -26px rgba(29,68,73,.6)}
.tp-facts span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-2)}
.tp-facts b{display:block;margin-top:2px;font-size:16px}
.tp-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px}
.tp-hero__ph{position:relative;margin:0;justify-self:end;width:min(100%,calc(78vh*900/1228));aspect-ratio:900/1228;
  border-radius:28px;overflow:hidden;background:linear-gradient(150deg,#BFE6E8,#2E666D);box-shadow:0 40px 80px -40px rgba(18,34,41,.7)}
.tp-hero__ph img{width:100%;height:100%;object-fit:cover}
.tp-price{position:absolute;top:18px;left:18px;padding:8px 15px;border-radius:999px;background:#F97A2A;color:#fff;font-weight:600;font-size:14px}

/* программа по пунктам */
.tp-prog{padding:clamp(56px,7vw,100px) 0;background:var(--sand-2);position:relative}
/* боковая лента: раздел приклеивается к экрану, карточки едут вбок.
   Режим включает скрипт, поэтому без него страница остаётся обычной */
.tp-prog.is-side{padding:0;height:calc(100svh + var(--steps,4)*58vh)}
.tp-prog.is-side .tp-prog__pin{position:sticky;top:0;height:100svh;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;padding-block:clamp(16px,4vh,52px)}
.tp-prog.is-side .tp-run{display:flex;flex-wrap:nowrap;width:max-content;
  gap:clamp(14px,1.8vw,26px);padding-inline:var(--pad);will-change:transform}
.tp-prog.is-side .tp-stop{flex:none;width:min(352px,74vw);min-height:min(44vh,330px)}
.tp-prog__bar{margin:clamp(16px,2.6vh,30px) var(--pad) 0;height:3px;border-radius:3px;background:rgba(29,68,73,.12);display:none}
.tp-prog.is-side .tp-prog__bar{display:block}
.tp-prog__bar i{display:block;height:100%;width:0;border-radius:3px;background:var(--gold)}
/* лента карточек */
.tp-run{counter-reset:stop;list-style:none;margin:clamp(20px,3vh,38px) 0 0;padding:0;
  display:grid;gap:14px}
.tp-stop{counter-increment:stop;background:var(--paper);border:1px solid var(--line);border-radius:20px;
  padding:clamp(18px,2vw,26px);display:flex;flex-direction:column;justify-content:center;
  box-shadow:0 20px 40px -34px rgba(18,34,41,.5)}
.tp-stop::before{content:counter(stop,decimal-leading-zero);font-family:var(--serif);font-weight:600;
  font-size:clamp(28px,3vw,38px);line-height:1;color:var(--gold);margin-bottom:10px}
.tp-stop b{display:block;font-size:clamp(17px,1.5vw,20px);line-height:1.34}
.tp-stop p{margin-top:8px;color:var(--text-2);text-wrap:pretty}
/* карточка-разделитель: начало части дня, номер ей не нужен */
.tp-stop--head{counter-increment:none;background:transparent;border:0;box-shadow:none}
.tp-stop--head::before{content:none}
.tp-stop--head h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;
  font-family:var(--serif);font-weight:600;font-size:clamp(24px,2.6vw,34px);text-wrap:balance}
.tp-stop--head h3 small{font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.08em;color:#B4830A}
.tp-stop--outro{counter-increment:none;background:transparent;border:0;box-shadow:none}
.tp-stop--outro::before{content:none}
.tp-stop--outro p{margin:0;font-family:var(--serif);font-style:italic;color:var(--text);
  font-size:clamp(19px,1.8vw,24px);text-wrap:balance}
.tp-prog.is-side .tp-stop--head,.tp-prog.is-side .tp-stop--outro{width:min(300px,66vw);justify-content:center}
/* верхний кадр слегка уплывает при прокрутке */
.tp-hero__ph img{will-change:transform}
@media (prefers-reduced-motion:reduce){
  .tp-prog.is-side{height:auto;padding:clamp(56px,7vw,100px) 0}
  .tp-prog.is-side .tp-prog__pin{position:static;height:auto;display:block;overflow:visible;padding-block:0}
  .tp-prog.is-side .tp-run{display:grid;width:auto;padding-inline:0}
  .tp-prog.is-side .tp-stop{width:auto}
  .tp-prog__bar{display:none}
  .tp-hero__ph img{will-change:auto}
}
.tp-prog h2,.tp-notes h2,.tp-more h2{font-family:var(--serif);font-weight:600;font-size:clamp(30px,3.6vw,48px);letter-spacing:-.01em}

/* полезно знать */
.tp-notes{padding:clamp(50px,6vw,90px) 0 0}
.tp-notes ul{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.tp-notes li{position:relative;padding-left:30px;text-wrap:pretty}
.tp-notes li::before{content:"";position:absolute;left:4px;top:.6em;width:10px;height:10px;border-radius:50%;background:#F97A2A;box-shadow:0 0 0 4px rgba(249,122,42,.15)}

/* запись */
.tp-book{padding:clamp(56px,7vw,100px) 0}
.tp-book__card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);padding:clamp(26px,4vw,56px);
  border-radius:32px;background:var(--deep);color:#FFFDF1;box-shadow:0 40px 80px -46px rgba(18,34,41,.9)}
.tp-book h2{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.2vw,44px);text-wrap:balance}
.tp-book__text p{margin-top:16px;color:rgba(255,253,241,.78);text-wrap:pretty}
.tp-book__price{font-size:15px}
.tp-book__price b{font-size:22px;color:#FFB86B}
.tp-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}
.tp-form label{display:grid;gap:6px}
.tp-form label span{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#F2C14E}
.tp-form input,.tp-form select{width:100%;height:50px;padding:0 16px;border-radius:14px;border:1px solid rgba(240,186,10,.28);
  background:rgba(255,255,255,.07);color:#FFF6DE;font-size:16px;outline:none;transition:border-color .3s var(--e-soft)}
.tp-form input::placeholder{color:rgba(255,246,222,.45)}
.tp-form select option{color:var(--text);background:#fff}
.tp-form input:focus,.tp-form select:focus{border-color:#FFD34D}
.tp-form input.bad{border-color:#FF7A6B}
.tp-form .btn{grid-column:1/-1;justify-self:start;margin-top:6px}
.tp-form__ok{grid-column:1/-1;font-size:18px;font-weight:600;color:#FFD34D;outline:none}
.tp-form.sent label,.tp-form.sent .btn{display:none}

/* другие программы */
.tp-more{padding:0 0 clamp(60px,8vw,110px)}
.tp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.tp-card{position:relative;display:block;aspect-ratio:3/4;border-radius:22px;overflow:hidden;color:#fff;
  background:linear-gradient(150deg,#8AD3D6,#2E666D);box-shadow:0 24px 48px -30px rgba(29,68,73,.75);transition:transform .5s var(--e-out)}
.tp-card:hover{transform:translateY(-4px)}
.tp-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tp-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,24,0) 45%,rgba(8,18,24,.88))}
.tp-card b,.tp-card small{position:absolute;left:20px;right:20px;z-index:2}
.tp-card b{bottom:40px;font-size:19px;line-height:1.2}
.tp-card small{bottom:18px;font-size:12px;letter-spacing:.1em;color:rgba(255,255,255,.82)}
.tp-card__p{position:absolute;top:14px;left:14px;z-index:2;padding:6px 12px;border-radius:999px;background:#F97A2A;font-size:13px;font-weight:600}
.tp-more__all{margin-top:28px;text-align:center}

/* подвал */
.tp-foot{background:var(--deep);color:rgba(255,253,241,.74);padding:34px 0}
.tp-foot__in{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13px}
.tp-foot img{width:150px}

@media (max-width:900px){
  .tp-hero__grid{grid-template-columns:1fr}
  .tp-hero__ph{order:-1;justify-self:stretch;width:100%;aspect-ratio:4/3.6}
  .tp-book__card{grid-template-columns:1fr}
  .tp-cards{grid-template-columns:1fr 1fr}
  .tp-cards .tp-card:nth-child(3){display:none}
}
@media (max-width:560px){
  .tp-nav{gap:12px;padding-block:10px}
  .tp-nav__logo{width:112px}
  .tp-nav__back span{display:none}
  .tp-form{grid-template-columns:1fr}
  .tp-cards{gap:12px}
  .tp-card b{font-size:16px;bottom:34px;left:14px;right:14px}
  .tp-card small{left:14px;bottom:14px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.tp-card{transition:none}}

/* страницы тем: сетка всех программ темы и список других тем */
.tp-cards--all{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
@media (max-width:900px){.tp-cards--all{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-cards--all .tp-card:nth-child(3){display:block}}
.tp-themes{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.tp-themes a{display:inline-flex;align-items:center;padding:10px 18px;border-radius:999px;border:1px solid var(--line);
  background:var(--paper);font-weight:600;font-size:14px;color:var(--text);
  transition:border-color .3s var(--e-soft),background-color .3s var(--e-soft),transform .4s var(--e-out)}
.tp-themes a:hover{border-color:#F97A2A;background:rgba(249,122,42,.1);transform:translateY(-2px)}
.tp-themes__cta{display:flex;align-items:center}

/* страница гидов: сетка людей и отзывы */
.tp-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:clamp(14px,1.6vw,22px);margin-top:6px}
.tp-person{display:block;padding:14px 14px 18px;border-radius:24px;background:var(--paper);border:1px solid var(--line);
  box-shadow:0 22px 44px -34px rgba(29,68,73,.7);transition:transform .5s var(--e-out),box-shadow .5s var(--e-out)}
a.tp-person:hover{transform:translateY(-4px);box-shadow:0 30px 56px -32px rgba(29,68,73,.85)}
.tp-person__ph{display:block;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:linear-gradient(150deg,#DCEEF0,#F6E8C9)}
.tp-person__ph img{width:100%;height:100%;object-fit:cover}
.tp-person b{display:block;margin-top:14px;font-size:19px;line-height:1.2}
.tp-person small{display:block;margin-top:4px;font-size:13.5px;color:var(--text-2)}
.tp-person--empty{border-style:dashed}
.tp-person--empty b,.tp-person--empty small{color:var(--text-2)}
.tp-note{color:#B4830A}
.tp-quotes{display:grid;gap:14px;margin-top:22px}
.tp-quote{margin:0;padding:22px 24px;border-radius:22px;background:var(--paper);border:1px solid var(--line)}
.tp-quote blockquote{margin:0;font-family:var(--serif);font-size:clamp(17px,1.6vw,21px);line-height:1.45;text-wrap:pretty}
.tp-quote figcaption{display:flex;align-items:baseline;gap:10px;margin-top:12px;font-size:13px;color:var(--text-2)}
.tp-quote figcaption b{font-family:var(--display);font-size:14px;color:var(--text)}

/* второй кадр на странице экскурсии: вертикальное фото кадрируем в широкую полосу */
.tp-shot-wrap{padding:clamp(10px,2vw,26px) 0}
.tp-shot{margin:0;border-radius:clamp(18px,2.4vw,28px);overflow:hidden;background:var(--sand-2,#FBF3DF)}
.tp-shot img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
@media (max-width:700px){.tp-shot img{aspect-ratio:4/3}}

/* скриншоты отзывов на странице гида */
.tp-shots{display:grid;gap:clamp(12px,1.6vw,20px);grid-template-columns:repeat(3,minmax(0,1fr))}
.tp-shots figure{margin:0;border-radius:20px;overflow:hidden;background:var(--sand-2,#FBF3DF);
  box-shadow:0 18px 40px -24px rgba(29,68,73,.45)}
.tp-shots img{display:block;width:100%;height:auto}
@media (max-width:820px){.tp-shots{grid-template-columns:1fr;max-width:420px;margin-inline:auto}}

/* поле-ловушка для роботов: человек его не видит */
.tp-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
