
/* Над надкатегорией не было ни пикселя — заголовок упирался в крошки.
   А под строкой доверия, наоборот, зияло 50 px до галереи. */
.tl-head{padding:24px 0 0;margin:0 0 6px}
.tl-gyg .ti-meta:empty{display:none}
.gyg-gone{display:none!important}
/* «Отзывы» приходили из ядра белой карточкой с рамкой — остальные разделы
   плоские, и она выбивалась. */
.gsec.revs-section{background:none;border-radius:0;box-shadow:none;padding-left:0;padding-right:0}
.gsec .revs-head-row{padding:0}

/* Липкая полоса внизу — для телефона, где карточки брони на экране нет.
   На десктопе карточка и так едет справа, а полоса перекрывала подвал
   и дублировала «Проверить места». */
@media(min-width:1025px){.bk-dockbar{display:none!important}
  /* Лид-абзац только для телефона: на десктопе .tour-info — карточка цены,
     а не место для описания, оно там своей колонкой. */
  .ti-lead{display:none}
}
.tour-layout.tl-gyg{margin-top:0!important;padding-top:0}
.tl-gyg .tl-main>.tl-gal:first-child{margin-top:0}
.tl-head .ti-cats{margin-bottom:4px}
.ti-more-cats{font-size:12px;color:#8a8f98;margin:0 0 8px;font-weight:400}
.ti-more-cats a{color:#8a8f98;text-decoration:underline;text-decoration-color:rgba(138,143,152,.4)}
.ti-more-cats a:hover{color:#2b7de9;font-weight:700;text-decoration-color:rgba(43,125,233,.4)}
.tl-head .ti-h1{margin:0 0 8px;letter-spacing:-.02em}
.tl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;
  font-size:14px;color:#6b7280;line-height:1.4}
.tl-meta a{color:inherit;text-decoration:none}
.tl-meta a:hover{text-decoration:underline}
.tl-meta b{color:#111827;font-weight:700}
.tl-star{color:#f59e0b}
.tl-sep{font-style:normal;opacity:.45}
.tl-gal{margin-bottom:14px}

/* На телефоне цена стоит в нижней полосе и в форме — третий раз
   в содержимом не нужен. */
@media(max-width:1024px){
  .tl-gyg .tour-info .ti-price-row,
  .tl-gyg .tour-info .ti-entry{display:none}
  /* Защита от бокового сдвига страницы: после открытия/закрытия просмотра
     фото или шторки страница иногда оставалась чуть прокрученной вбок —
     справа появлялась пустая полоса. Горизонтальный скролл у документа не
     нужен нигде на телефоне, поэтому глушим его насовсем, а не только на
     время модалки. ИМЕННО `clip`, не `hidden` (владелец 08.09.2026, нашли
     живьём): overflow-x:hidden на html/body делает body «контейнером
     скролла» и по спецификации ломает position:sticky у всех потомков —
     шапка (.rp-hdr) переставала прилипать, и после того как убрали
     .gyg-topbar (раньше просто наезжал сверху и скрывал дыру), под нашим
     меню разделов оказывалась пустая пустота высотой в шапку. `clip` режет
     содержимое так же, но не создаёт скролл-контейнер — sticky снова
     работает. Поддержка — Safari 16+/Chrome 90+, для мобильного трафика
     сайта этого достаточно. */
  html,body{overflow-x:clip!important;max-width:100%}
  /* Галерея во всю ширину экрана, кадры листаются свайпом, соседние
     выглядывают по краям — как у GYG. Ядровая карусель клала слайды
     абсолютно с opacity:0; здесь они становятся обычной лентой. */
  /* Панель бокового меню сдвинута за правый край через translateX(328px)
     и растягивала документ до 418 px при экране 390 — отсюда болтание
     страницы вбок. Шторка полноэкранная и фиксированная, поэтому просто
     подрезаем её саму: открытая панель от этого не страдает. */
  .rp-drawer{overflow:hidden}
  .tl-gal{position:relative;margin:0 -12px 16px;max-width:none}
  /* Ширину задаём явно: без неё лента раздвигала контейнер до 414 px
     вместо 382 и страница болталась вбок. Пропорция была высокой
     (5:8, во весь экран) — фотогалерея одна съедала весь вьюпорт
     Safari, заголовок уходил ниже экрана. Сузили до 4:3, чтобы галерея
     и заголовок помещались без прокрутки, потом владелец попросил
     галерею покрупнее — важно, чтобы без прокрутки оставался виден
     хотя бы сам заголовок (не обязательно рейтинг и текст под ним).
     1:1 — компромисс между «покрупнее» и этим условием.
     height здесь ядро упорно перебивало своим aspect-ratio:4/3 — переопределяем
     сам aspect-ratio, а не воюем с height. */
  .tl-gal .stcrs{border-radius:0!important;overflow:hidden!important;
    aspect-ratio:1/1!important;height:auto!important;max-height:none!important;
    margin:0!important;width:100%!important;max-width:100%!important;
    display:block!important}
  .tl-gal .stcrs-slides{display:flex!important;position:static!important;
    height:100%!important;gap:0;padding:0;overflow-x:auto;
    width:100%;max-width:100%;box-sizing:border-box;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    scrollbar-width:none}
  .tl-gal .stcrs-slides::-webkit-scrollbar{display:none}
  /* У GYG кадр во весь экран, край в край, без скруглений и без пиков
     соседних фото — не «карточная» карусель, а честный свайп one-by-one. */
  .tl-gal .stcrs-slide{flex:0 0 100%;scroll-snap-align:start;height:100%!important;
    position:relative!important;opacity:1!important;
    border-radius:0;overflow:hidden;inset:auto!important;min-height:0;
    width:100%!important}
  .tl-gal .stcrs-slide img{width:100%;height:100%;object-fit:cover;display:block}
  /* У GYG кадры чередуются: то один на весь свайп, то тройка — большое фото
     и два маленьких снизу, то снова один, то большое и два сбоку. */
  .tl-gal .gyg-cover,.tl-gal .gyg-side{flex:0 0 100%;scroll-snap-align:start;height:100%}
  .tl-gal .gyg-cover{display:flex;flex-direction:column;gap:6px}
  .tl-gal .gyg-cover .gyg-cover-big{flex:1.6 1 0;min-height:0;width:100%!important}
  .tl-gal .gyg-cover-row{flex:1 1 0;min-height:0;display:flex;gap:6px}
  .tl-gal .gyg-cover-row .gyg-cover-sm{flex:1 1 0;min-height:0;width:auto!important}
  .tl-gal .gyg-side{display:flex;gap:6px}
  .tl-gal .gyg-side .gyg-side-big{flex:1.6 1 0;min-height:0;width:auto!important}
  .tl-gal .gyg-side-col{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:6px}
  .tl-gal .gyg-side-col .gyg-side-sm{flex:1 1 0;min-height:0;width:100%!important}
  /* Ядровые стрелки, счётчик и полоса миниатюр не нужны: есть свайп и точки. */
  .tl-gal .stcrs-nav,.tl-gal .stcrs-cnt,.tl-gal .stcrs-thumbs{display:none!important}

  .gyg-back,.gyg-heart,.gyg-share{position:absolute;top:12px;z-index:4;
    width:40px;height:40px;border:0;border-radius:50%;background:#fff;
    color:#111827;box-shadow:0 2px 10px rgba(0,0,0,.18);display:flex;
    align-items:center;justify-content:center;padding:0}
  .gyg-back{left:16px}
  .gyg-back svg,.gyg-heart svg,.gyg-share svg{width:20px;height:20px}
  .gyg-back svg{stroke-width:2.4}
  /* Ярлык «эксклюзив»/«хит» на фото убран совсем — у GYG на самом фото
     галереи такого ярлыка нет. */
  .tl-gal .stcrs-badge{display:none!important}
  /* Сердце и «поделиться» — правый верхний угол, как у GYG. */
  .gyg-share{right:16px}
  .gyg-heart{right:64px}

  .gyg-heart.on svg{fill:#e02b3c;stroke:#e02b3c}
  /* Шторка: затемнение, белая панель снизу, шапка с ✕ и заголовком,
     внизу синяя кнопка во всю ширину — как у GYG. */
  .gyg-sheet{position:fixed;inset:0;z-index:100001;display:flex;
    flex-direction:column;justify-content:flex-end}
  .gyg-sheet[hidden]{display:none}
  .gyg-sheet-bg{position:absolute;inset:0;background:rgba(17,24,39,.5)}
  .gyg-sheet-panel{position:relative;background:#fff;border-radius:18px 18px 0 0;
    max-height:88vh;display:flex;flex-direction:column;overflow:hidden}
  .gyg-sheet-head{display:flex;align-items:center;gap:10px;padding:14px 16px;
    border-bottom:1px solid #e8eaed}
  .gyg-sheet-x{flex:0 0 auto;width:36px;height:36px;border:0;border-radius:50%;
    background:none;color:#111827;display:flex;align-items:center;
    justify-content:center;padding:0;cursor:pointer}
  .gyg-sheet-x svg{width:20px;height:20px}
  .gyg-sheet-t{flex:1;text-align:center;font-size:18px;font-weight:800;
    color:#111827;padding-right:36px}
  .gyg-sheet-body{flex:1;min-height:0;overflow-y:auto;padding:4px 16px 8px}
  .gyg-sheet-foot{padding:12px 16px 20px;border-top:1px solid #e8eaed}
  .gyg-sheet-body .bf2-section{border:0;padding:0;margin:0;background:none}
  .gyg-sheet-body .bf2-label{display:none}
  .gyg-sheet-body .bf2-pax-row{padding:16px 0}
  .gyg-sheet-body .bf2-pax-row+.bf2-pax-row{border-top:1px solid #f0f2f4}
  .gyg-sheet-body .bf2-counter{gap:14px}
  .gyg-sheet-body .bf2-counter button{width:34px;height:34px;border-radius:50%;
    border:1.5px solid #0e6fdc;background:#fff;color:#0e6fdc;font-size:18px}
  .gyg-sheet-body .bf2-counter button:disabled{border-color:#d5d9e0;color:#c7ccd3}
  .gyg-sheet-body .bf2-counter em,.gyg-sheet-body .bf2-counter span{
    min-width:44px;height:34px;border:1px solid #d5d9e0;border-radius:8px;
    display:inline-flex;align-items:center;justify-content:center;
    font-style:normal;font-weight:700}

  /* Календарь во весь экран: месяцы подряд, шапка закреплена. */
  .gyg-sheet[data-mode="cal"] .gyg-sheet-panel{border-radius:0;max-height:100%;
    height:100%}
  .gyg-sheet[data-mode="cal"] .gyg-sheet-foot{display:none}
  .gyg-sheet .bf2-cal-popup{position:static!important;display:block!important;
    width:100%!important;box-shadow:none!important;border:0!important;
    padding:0!important;background:none!important}
  .gyg-sheet .bf2-cal-head{display:none}
  .gyg-sheet .gyg-cals{grid-template-columns:1fr;gap:26px}
  .gyg-sheet .gyg-cmt{text-align:left;font-size:19px;margin:0 0 10px}
  .gyg-sheet .bf2-cal-dow{position:sticky;top:0;z-index:2;background:#fff;
    padding:6px 0;border-bottom:1px solid #e8eaed;margin-bottom:8px}
  .gyg-sheet .bf2-day{min-height:44px;line-height:44px;font-size:16px}
  .gyg-sheet .gyg-calnote{padding-bottom:24px}

  /* Точки лежат на белой плашке — на светлом кадре без неё их не видно. */
  .gyg-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:12px;
    z-index:4;display:flex;align-items:center;justify-content:center;gap:5px;
    padding:7px 10px;border-radius:20px;background:rgba(255,255,255,.92);
    box-shadow:0 2px 8px rgba(0,0,0,.14);pointer-events:none}
  .gyg-dots i{width:6px;height:6px;border-radius:3px;background:#c7ccd3;
    transition:width .15s}
  .gyg-dots i.on{width:18px;background:#1b2a4a}

  /* Полоса крошек не нужна: её заменила стрелка на фото. */
  .bc-strip{display:none!important}

  /* Баннер cookie (z-index 9990 у ядра) вставал поверх липкой ленты
     «Проверить места» (z-index 600–800) и закрывал кнопку и цену — снаружи
     это выглядело так, будто лента пропадает. Поднимаем баннер над лентой,
     а не под неё, чтобы оба были видны и не перекрывались. */
  #at3-cookie-bar{bottom:calc(84px + env(safe-area-inset-bottom, 0px))!important}

  /* «изменить» на телефоне не нужно: сам выбор стоит выше, в тёмном блоке
     «Выберите участников и дату». Здесь — только то, что выбрано. */
  .gyg-when-x{display:none}
  .gyg-when{grid-template-columns:minmax(0,1fr)}
  /* Значение даты/участников само по себе кликабельно — синим и жирным,
     чтобы читалось как ссылка, а не как обычный текст. */
  .gyg-when-d,.gyg-when-p{color:#0e6fdc!important;font-weight:700!important;
    cursor:pointer}
  /* Проверили на свежих скринах самого GYG: заголовок, оценка и лид у них
     выровнены по левому краю, не по центру. Раньше здесь стояла центровка
     по ошибочному предположению — убрано. */
  .tl-head{padding-top:8px}
  .tl-head .ti-h1{margin-bottom:12px}
  /* У GYG под заголовком только рейтинг — организатора там нет вовсе,
     он есть отдельной карточкой ниже. На телефоне убираем и точку-разделитель. */
  .tl-meta .tl-org-bit,
  .tl-meta .tl-sep:has(+ .tl-org-bit){display:none}
  /* Лид-абзац — как у GYG между оценкой и фактами, с линией под ним. */
  .ti-lead{display:block;margin:12px 0 18px;font-size:15.5px;line-height:22px;
    color:#374151;padding-bottom:18px;border-bottom:1px solid #e8eaed}
}

/* Один отзыв сразу после фактов — «Что понравилось путешественникам» */
.gyg-quote{margin:20px 0 4px}
.gyg-quote-h{margin:0 0 12px;font-size:20px;font-weight:800;letter-spacing:-.015em;
  color:#111827}
.gyg-quote-card{border:1px solid #e3e6ea;border-radius:14px;padding:16px}
.gyg-quote-st{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.gyg-quote-st span{color:#111827;font-size:15px;letter-spacing:1px}
.gyg-quote-st b{font-size:15px;font-weight:700;color:#111827}
.gyg-quote-who{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.gyg-quote-av{flex:0 0 auto;width:40px;height:40px;border-radius:50%;
  background:#FFCF08;color:#1D1D1D;font-size:17px;font-weight:800;
  line-height:40px;text-align:center}
.gyg-quote-who b{display:block;font-size:15px;font-weight:700;color:#111827;
  line-height:1.3}
.gyg-quote-who span{display:block;margin-top:1px;font-size:13.5px;color:#6b7280}
.gyg-quote-tx{margin:0;font-size:16px;line-height:22px;color:#1f2937}

/* Сетка фактов — как у GetYourGuide: иконка в сером квадрате, заголовок,
   пояснение. Раньше это были чипы с эмодзи и серая полоса под ними. */
.gfacts{display:grid;grid-template-columns:1fr;gap:14px;margin:16px 0 4px;
  padding:16px 0 0;border-top:1px solid #e8eaed}
.gfact{display:flex;gap:12px;align-items:flex-start}
.gfact-i{flex:0 0 auto;width:40px;height:40px;border-radius:12px;background:#eaeef2;
  display:flex;align-items:center;justify-content:center;color:#374151}
.gfact-i svg{width:20px;height:20px}
.gfact b{display:block;font-size:15.5px;font-weight:700;line-height:20px;color:#111827}
/* Раньше это правило цепляло и .gfact-i (тоже <span>, но иконка) —
   flex-центровка внутри квадрата слетала на display:block, и все иконки
   ехали в левый верхний угол. Сузили селектор до вложенного span. */
.gfact>div>span{display:block;margin-top:2px;font-size:14px;line-height:19px;color:#6b7280}
@media(min-width:768px){.gfacts{grid-template-columns:1fr 1fr;gap:16px 28px}}

/* Раздел: подпись слева, содержимое справа, между разделами линия.
   Плашки с эмодзи в заголовках читались как лента наклеек. */
.gsec{padding:24px 0;border-top:1px solid #e8eaed}
.gsec:first-of-type{border-top:0;padding-top:4px}
.gsec .glab,.gsec h2.glab{margin:0 0 10px;font-size:20px;font-weight:700;
  line-height:24px;letter-spacing:normal;color:#111827}
.glab-sub{display:block;margin-top:4px;font-size:13px;font-weight:400;color:#6b7280}

/* Текст разделов: 16/22, как у GYG. Раньше размеры приходили вразнобой
   из ядра и из содержимого записи — от 13 до 15 px. */
.gbody{font-size:16px;line-height:22px;color:#1f2937}
.gbody>:first-child{margin-top:0}
.gbody>:last-child{margin-bottom:0}
.gbody p{font-size:16px;line-height:22px;margin:0 0 14px}
.gbody h3,.gbody h4{font-size:16px;font-weight:500;line-height:22px;
  margin:20px 0 8px;color:#111827}
.gbody ul,.gbody ol{padding-left:16px;margin:0 0 14px}
.gbody li{font-size:16px;line-height:22px;margin-bottom:8px}
.gbody li:last-child{margin-bottom:0}
.gbody .at3-prg{margin:0;padding:0;background:none;border:0}
.gbody .at3-prg-title,.gbody .at3-prg-desc{font-size:16px;line-height:22px}
.gbody .at3-know-list li,.gbody .meet-pt-lbl{font-size:16px;line-height:22px}
.mp-gn{font-size:16px;line-height:22px}

/* Включено и не включено — один список */
.ilist{list-style:none;margin:0;padding:0}
.ilist li{display:flex;gap:10px;margin-bottom:9px;font-size:16px;line-height:22px;color:#1f2937}
.ilist li:last-child{margin-bottom:0}
.ilist i{flex:0 0 auto;font-style:normal;font-weight:800;font-size:14px;line-height:1.6}
.ilist .yes i{color:#16a34a}
.ilist .no i{color:#c2410c}
.ilist .no span{color:#4b5563}

/* Наши лошади — карточки-визитки с фото и характером, роcтер общий на
   организатора (at_org_horses), показывается на всех его турах. */
.at3-horses-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;
  padding-bottom:4px;scrollbar-width:thin}
.at3-horse-card{flex:0 0 200px;aspect-ratio:3/4;border-radius:16px;overflow:hidden;
  position:relative;background:#1a1a1a;scroll-snap-align:start}
.at3-horse-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.at3-horse-card::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.78) 100%);z-index:1}
.at3-horse-info{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px}
.at3-horse-info h3{margin:0 0 4px;font-size:17px;font-weight:700;letter-spacing:.02em;
  text-transform:uppercase;color:#fff;line-height:1.15}
.at3-horse-info p{margin:0;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.9)}

/* Правая колонка один в один как у GetYourGuide: серые пилюли-поля,
   синяя кнопка-пилюля, ниже разделитель и две гарантии с галочками. */
.gyg-field{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 8px;
  padding:11px 16px;border:0;border-radius:24px;background:#eef0f2;
  color:#111827;font-family:inherit;font-size:15.5px;font-weight:600;line-height:1.3;
  text-align:left;cursor:pointer}
.gyg-field:hover{background:#e5e8ea}
.gyg-field.on{background:#e2e6e9;box-shadow:inset 0 0 0 1px #9ca3af}
.gyg-fi{flex:0 0 auto;font-size:16px;line-height:1;filter:grayscale(1);opacity:.65}
.gyg-fl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gyg-fx{flex:0 0 auto;width:8px;height:8px;border-right:2px solid #4b5563;
  border-bottom:2px solid #4b5563;transform:rotate(45deg) translate(-2px,-2px)}
.gyg-field.on .gyg-fx{transform:rotate(-135deg) translate(-3px,-3px)}
/* Цвет/форма — как у Klook (владелец 08.09.2026): точный фирменный
   Klook «Blaze Orange» #FF5B00 вместо синего, форма уже была пилюлей —
   оставили. */
.gyg-blue{display:block;width:100%;padding:15px 18px;border:0;border-radius:28px;
  background:#ff5b00;color:#fff;font-family:inherit;font-size:16px;font-weight:700;
  line-height:1.2;cursor:pointer}
.gyg-blue:hover{background:#e04f00}

.gyg-trust{list-style:none;margin:22px 0 0;padding:20px 0 0;
  border-top:1px solid #e3e6ea;display:grid;gap:15px}
.gyg-trust li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:11px;
  align-items:start}
.gyg-trust i{width:22px;height:22px;border-radius:50%;border:1.6px solid #16a34a;
  color:#16a34a;font-style:normal;font-size:12px;font-weight:800;line-height:19px;
  text-align:center}
.gyg-trust b{display:block;font-size:14.5px;font-weight:700;line-height:1.3;color:#111827}
.gyg-trust span{display:block;margin-top:2px;font-size:13.5px;line-height:1.4;color:#6b7280}
.gyg-check{margin-top:4px}

/* Просмотрщик фото — светлый, в два режима: сетка и одиночный кадр.
   Так у GetYourGuide: белый фон, ✕ слева, счётчик по центру, кнопка-сетка
   справа, внизу «Проверить места». */
/* Одиночный кадр — на тёмном: фото так не спорит с интерфейсом и лучше
   читается. Сетка всех фото остаётся белой — там сама плитка и есть фон. */
.lb{position:fixed;inset:0;z-index:100000;background:#111214;
  display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.lb[hidden]{display:none}
.lb[data-mode="grid"]{background:#fff}

.lb-bar{grid-row:1;display:flex;align-items:center;gap:12px;
  padding:14px 16px;background:transparent}
.lb-x,.lb-g{flex:0 0 auto;width:44px;height:44px;border:0;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;
  justify-content:center;cursor:pointer;padding:0}
.lb-x svg,.lb-g svg{width:20px;height:20px}
.lb-x:hover,.lb-g:hover{background:rgba(255,255,255,.2)}
.lb-n{flex:1;text-align:center;color:#fff;font-size:17px;font-weight:700;
  font-variant-numeric:tabular-nums}
.lb[data-mode="grid"] .lb-x,.lb[data-mode="grid"] .lb-g{background:#f1f3f5;color:#111827}
.lb[data-mode="grid"] .lb-x:hover,.lb[data-mode="grid"] .lb-g:hover{background:#e5e8ea}
.lb[data-mode="grid"] .lb-n{color:#111827}

/* Сетка всех фото: два столбца, кадры разной высоты */
.lb-grid{grid-row:2;display:none;grid-template-columns:1fr 1fr;gap:10px;
  align-content:start;overflow-y:auto;padding:2px 16px 20px;width:100%;
  box-sizing:border-box}
.lb[data-mode="grid"] .lb-grid{display:grid}
.lb[data-mode="grid"] .lb-fig,
.lb[data-mode="grid"] .lb-a,
.lb[data-mode="grid"] .lb-foot{display:none}
.lb-t{padding:0;border:0;border-radius:12px;overflow:hidden;background:#f1f3f5;
  cursor:pointer;aspect-ratio:4/3}
.lb-t.tall{aspect-ratio:3/4}
.lb-t img{width:100%;height:100%;object-fit:cover;display:block}

/* Одиночный кадр */
.lb-fig{grid-row:2;margin:0;min-height:0;display:flex;align-items:center;
  justify-content:center;padding:4px 16px;box-sizing:border-box}
.lb-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  border-radius:12px}
.lb-video{width:min(1120px,92vw);height:min(630px,72vh);aspect-ratio:16/9;
  border:none;border-radius:12px;background:#000}
.lb-a{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;
  border:0;border-radius:50%;background:#f1f3f5;color:#111827;font-size:24px;
  line-height:1;cursor:pointer}
.lb-a:hover{background:#e5e8ea}
.lb-prev{left:12px}
.lb-next{right:12px}
.lb-foot{grid-row:3;display:flex;justify-content:center;padding:14px 16px 20px}
.lb-cta{padding:13px 30px;border:1.5px solid #1b2a4a;border-radius:28px;
  background:#fff;color:#1b2a4a;font-family:inherit;font-size:15.5px;
  font-weight:700;cursor:pointer}
.lb-cta:hover{background:#f4f6f9}

.lb-all{position:absolute;left:12px;bottom:12px;z-index:3;padding:9px 14px;
  border:0;border-radius:10px;background:rgba(17,24,39,.82);color:#fff;
  font-family:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.lb-all:hover{background:rgba(17,24,39,.95)}
/* Попап календаря брони (.bf2-cal-popup, до 520px на широком экране —
   два месяца сразу) визуально перекрывает эту кнопку и оверлей
   «Просмотреть все» на последнем кадре карусели: они в разных
   стековых контекстах (сайдбар брони — position:sticky, галерея —
   internal overflow), z-index друг против друга тут не сравнивается
   напрямую. Проще спрятать оба элемента на время, пока календарь
   открыт (класс ставит at3-main.js). */
body.at3-cal-open .lb-all,body.at3-cal-open .gyg-seeall{visibility:hidden}

/* Последний кадр карусели — вход в сетку */
.gyg-seeall{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:8px;background:rgba(17,24,39,.45);
  color:#fff;pointer-events:none}
.gyg-seeall svg{width:26px;height:26px}
.gyg-seeall b{font-size:15px;font-weight:700}

@media(min-width:1025px){
  .lb-grid{grid-template-columns:repeat(4,1fr);max-width:1120px;margin:0 auto}
  .lb-img{max-width:min(1120px,88vw)}
}
@media (prefers-reduced-motion:reduce){.lb *{transition:none!important}}

/* Владелец 30.08.2026: выбор даты должен быть виден и кликабелен как
   обычно — подпись «Дата» и пилюли-ярлыки (Сегодня/Завтра/…) больше НЕ
   прячем. Раньше здесь была схема «остаётся только невидимая точка для
   календаря», из-за которой в карточке физически нечем было выбрать
   дату (ни подписи, ни кнопок) — баг всплыл на «Aya-Sofiya», но касался
   любого тура на этом skin'е.

   Не создаём здесь систему координат — пусть попап считается от карточки,
   тогда его правый край совпадает с её краем. */
.bk-main-card .bf2-cal-wrap{position:static}

/* Воздух в карточке: полей по бокам не было вовсе — поле 346 px в карточке
   348 px. И overflow:hidden обрезал выпадающий календарь. */
.bk-main-card{padding:0 18px 18px;overflow:visible;position:relative}
.bk-main-card .bk-price-head{padding-left:0;padding-right:0}
/* Цена и блок акции 2+1 (ярлык + «В корзину») в один ряд, не друг под
   другом — карточка короче, «Чат с гидом» ниже по карточке попадает в
   видимую область без прокрутки (владелец 12.09.2026). */
.bk-price-2col{display:flex;justify-content:space-between;align-items:flex-start;
  gap:10px;flex-wrap:wrap}
.bk-price-2p1{flex:0 0 auto;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}
.bk-price-2p1 .at3k-add-tour{width:auto;padding:8px 14px;font-size:13.5px}
/* Подсказка-условие вынесена из узкой колонки на всю ширину карточки
   (см. коммент у вызова в PHP) — своя строка сразу под рядом цена/корзина. */
.bk-price-2p1note{margin-top:6px}
.bk-price-2p1note .at3k-note{margin:0;text-align:left}
@media(max-width:420px){
  .bk-price-2p1{flex:1 1 100%}
}

/* Раскрытая панель — отдельная карточка под своим полем, а не текст враспор.
   Подпись «Участники» убрана: поле над ней и так говорит «Взрослые × 2». */
.bk-main-card .bf2-section{margin:-4px 0 8px;padding:2px 14px;
  border:1px solid #e3e6ea;border-radius:16px;background:#fff}
.bk-main-card .bf2-pax-row{padding:8px 0;gap:14px}
.bk-main-card .bf2-pax-row+.bf2-pax-row{border-top:1px solid #f0f2f4}
.bk-main-card .bf2-counter{gap:14px}
.bk-main-card .bf2-counter button{width:32px;height:32px;border-radius:50%;
  border:1px solid #d5d9e0;background:#fff;font-size:16px;line-height:1}
.bk-main-card .bf2-counter button:hover:not(:disabled){border-color:#111827}
.bk-main-card .bf2-counter button:disabled{opacity:.35}
.gyg-check{margin-top:18px}
.bk-main-card .bf2-onetime{margin:2px 0 0;padding:0}

/* «Доступен 1 вариант» — карточка с формой в теле страницы */
.gyg-book{margin:18px 0 4px}
.gyg-book-h{margin:0 0 10px;font-size:19px;font-weight:800;letter-spacing:-.02em;color:#111827}
.gyg-book-card{position:relative;border:2px solid #0e6fdc;border-radius:16px;padding:16px 18px}
.gyg-left{position:absolute;top:-13px;left:14px;background:#dc2626;color:#fff;
  border-radius:7px;padding:4px 10px;font-size:12.5px;font-weight:700;line-height:1.2}
.meet-note{margin:0 0 12px;font-size:16px;line-height:22px;color:#1f2937}
.gyg-book-name{display:block;font-size:16.5px;font-weight:800;letter-spacing:-.015em;
  color:#111827;margin-bottom:7px}
.gyg-book-facts{display:flex;flex-wrap:wrap;gap:4px 20px;margin-bottom:12px;
  padding-bottom:12px;border-bottom:1px solid #e8eaed}
.gyg-book-facts span{font-size:13.5px;color:#4b5563}

/* Панель, переехавшая в карточку */
.gyg-slot{grid-column:1/-1;position:relative}
.gyg-slot:empty{display:none}
.gyg-slot .bf2-section{margin:10px 0 2px;padding:4px 14px;border:1px solid #e3e6ea;
  border-radius:14px;background:#fff}
.gyg-slot .bf2-cal-wrap{position:relative}
.gyg-slot .bf2-cal-popup{left:0!important;right:auto!important;width:520px!important}
.gyg-slot .bf2-pax-row{padding:10px 0}
.gyg-slot .bf2-pax-row+.bf2-pax-row{border-top:1px solid #f0f2f4}
.gyg-slot .bf2-counter button{width:32px;height:32px;border-radius:50%;
  border:1px solid #d5d9e0;background:#fff}
.gyg-when-x.on{color:#111827}

/* Сводка выбора: дата словами, время плашкой, участники — с «изменить» */
.gyg-when{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 16px;
  align-items:center;padding-bottom:12px;margin-bottom:12px;
  border-bottom:1px solid #e8eaed}
.gyg-when-lb{grid-column:1/-1;margin:0;font-size:14px;font-weight:700;color:#111827}
.gyg-when-lb2{margin-top:12px}
.gyg-when-d,.gyg-when-p{grid-column:1;margin:1px 0 0;font-size:15px;line-height:21px;
  color:#4b5563}
.gyg-when-t{grid-column:1;justify-self:start;margin-top:7px;padding:6px 13px;
  border-radius:9px;background:#111827;color:#fff;font-size:14px;font-weight:800}
.gyg-when-x{grid-column:2;align-self:center;border:0;background:none;padding:0;
  color:#0e6fdc;font-family:inherit;font-size:13.5px;font-weight:600;
  text-decoration:underline;cursor:pointer}
.gyg-when-x:hover{color:#0b5cbb}

/* Подвал: сумма слева, кнопка справа. Если сумму скрыли (десктоп, «Итого»
   убрано 10.09.2026) — .gyg-foot-money пустой, кнопка одна уходит к правому
   краю. */
.gyg-foot{display:flex;align-items:flex-end;justify-content:space-between;
  gap:16px;flex-wrap:wrap;margin-top:10px;padding-top:10px;
  border-top:1px solid #e8eaed}
.gyg-foot-money{flex:1;min-width:170px}
.gyg-foot-money:empty{display:none}
.gyg-foot:has(.gyg-foot-money:empty){justify-content:flex-end}
.gyg-foot .bk-submit-btn{width:auto;max-width:none;flex:0 0 auto;
  padding:13px 34px;margin:0}
/* Полная кнопка «Чат с гидом» — отдельной строкой под «Заказать» внутри
   карточки брони (владелец 12.09.2026: полный текст «железно», а с
   «Заказать» в одну строку он физически не помещается на фиксированном
   348px сайдбаре — см. коммент у вызова в JS). Стандартного
   margin-top:9px у базового .gyg-chat достаточно — ставим не встык, сразу
   после подписи-мелочи под «Заказать». */
/* Подпись под кнопкой (подтверждение в мессенджере + согласие) — JS
   переносит сюда .bf2-after; в flex-подвале ей нужна вся ширина и место
   после кнопки. */
.gyg-foot .bf2-after{flex:0 0 100%;order:99;margin-top:2px;text-align:center}
/* Того же цвета, что «Проверить места»: это то же действие, доведённое до
   конца. Форма — пилюля, как у Klook (было 12px — прямоугольнее). */
.bk-submit-btn.gyg-send{background:#ff5b00!important;color:#fff!important;
  border-radius:999px!important;font-weight:700}
.bk-submit-btn.gyg-send:hover{background:#e04f00!important}
#gyg-book-slot .bf2-section{margin-bottom:10px}
#gyg-book-slot .bf{margin-top:10px}
#gyg-book-slot .bf2-total-row,#gyg-book-slot .bf2-prepay-row,
#gyg-book-slot .bf2-fee-row,#gyg-book-slot .bf2-section,
#gyg-book-slot .bf,#gyg-book-slot .bk-submit-btn,
#gyg-book-slot .gyg-qwrap{max-width:560px}
/* Строка «Предоплата / N ₽» в форме брони — убрана по просьбе владельца
   09.09.2026: сумма предоплаты и так видна на шаге оплаты после брони,
   а на форме только путала рядом с «Итого». display:none, не удаление —
   JS (labels()/move[]) продолжает ссылаться на .bf2-prepay-row/.bf2-prepay2,
   удалять узлы из DOM рискованно. */
.bf2-prepay-row{display:none!important}
#gyg-org-slot .gyg-org{margin:16px 0 0}
#gyg-org-slot .gyg-ask{width:auto;margin:0 0 0 auto;padding:9px 16px}
/* Рядом с «Об организаторе» кнопка чата растягивалась на всю ширину карточки
   (владелец 11.09.2026) — та же база .gyg-chat{width:100%} нужна там, где
   кнопка одна в колонке (сайдбар), а не рядом с другой пилюлей. Тут — тоже
   компактная, по содержимому, как и .gyg-ask выше. */
#gyg-org-slot .gyg-chat{width:auto;margin:9px 0 0 auto}
@media(max-width:1024px){
  /* Тёмная карточка выбора — как у GetYourGuide */
  /* scroll-margin-top: верхняя липкая полоса (54px) иначе перекрывала
     заголовок блока при прокрутке к нему с кнопки «Проверить места». */
  .gyg-pick{background:#1b2a4a;border-radius:16px;padding:18px 16px;margin:18px 0 4px;
    scroll-margin-top:72px}
  .gyg-pick-h{margin:0 0 14px;font-size:20px;font-weight:800;line-height:26px;
    color:#fff;text-align:center}
  .gyg-pick .gyg-field{background:#fff;border-radius:28px;margin-bottom:12px}
  .gyg-pick .gyg-field.on{background:#fff;box-shadow:inset 0 0 0 2px #0e6fdc}
  .gyg-pick .gyg-blue{margin-top:2px}
  .gyg-pick .bf2-section{background:#fff;border-radius:14px;padding:4px 14px;
    margin:-6px 0 12px;border:0}
  /* Ядро красит эту строку тёмным — на синем фоне она пропадала. */
  .gyg-pick .bf2-onetime,
  .gyg-pick .bf2-onetime *{color:#c7d2e4!important}
  .gyg-pick .bf2-onetime{font-size:13.5px;margin:0 0 12px;text-align:center}
  .gyg-pick .bf2-onetime svg{stroke:#c7d2e4!important;fill:none}
  .gyg-pick .bf2-cal-popup{width:100%!important;left:0!important;right:auto!important}

  /* Аккордеон — цвет, размер текста и стрелка как у GYG: заголовок почти
     чёрный и не такой тяжёлый, стрелка крупнее и темнее серого ядра. */
  .gyg-acc .glab{display:flex;align-items:center;justify-content:space-between;
    gap:12px;cursor:pointer;margin:0;padding:2px 0;font-size:18px!important;
    font-weight:700!important;color:#1a1a1a!important}
  .gyg-acc .glab::after{content:'';flex:0 0 auto;width:11px;height:11px;
    border-right:2.4px solid #222;border-bottom:2.4px solid #222;
    transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s}
  .gyg-acc.on .glab::after{transform:rotate(-135deg) translate(-3px,-3px)}
  .gyg-acc .gbody{padding-top:12px}
  /* Каждый раздел — свой белый блок на сером фоне, как основной блок
     текста вверху. Раньше «Об экскурсии» был белым, а разделы ниже —
     плоские на сером, только с тонкой линией; теперь все одинаковые. */
  .tl-gyg{background:#f0f2f5}
  .ti-card{background:#fff;border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.05);
    padding:18px 16px;margin:0 0 14px}
  .ti-card .gfacts{margin-bottom:0}
  .gyg-acc{background:#fff!important;border-radius:14px!important;
    box-shadow:0 1px 2px rgba(16,24,40,.05)!important;margin:0 0 10px!important;
    padding:18px 16px!important;border-top:0!important}
  .gyg-acc:first-of-type{padding-top:18px!important}

  /* Кнопка в ленте — оранжевая Klook (#FF5B00, владелец 08.09.2026), как
     «Заказать» в карточке. Форма — таблетка целиком, как у GYG, не
     скруглённый прямоугольник. У ядра на .mob-bk-book свой жёлтый фон,
     поэтому !important. */
  #mob-bk-book{background:#FF5B00!important;color:#fff!important;
    border-radius:999px!important;font-weight:700;box-shadow:none!important;
    padding:15px 26px!important;font-size:16px!important;min-height:52px}
  #mob-bk-book:hover{background:#d4401b!important}
  /* Скрыта, пока виден тёмный блок выбора или форма брони — своя кнопка
     там уже есть, дублировать её снизу незачем. */
  .mob-bk-bar.gyg-bar-hide{display:none!important}

  /* Плашка в липкой ленте */
  .mob-bk-free{display:inline-block;margin-top:3px;padding:2px 8px;border-radius:6px;
    background:#eef0f2;color:#4b5563;font-size:11.5px;font-weight:600;white-space:nowrap}
  /* «/чел» — сразу после цифр в одну строку, не отдельной строкой снизу. */
  .mob-bk-price-num{display:inline}
  .mob-bk-price-lbl{display:inline;margin-left:4px;font-size:12.5px;color:#6b7280}

  /* Карточка организатора собрана для узкой колонки: на телефоне кнопки
     не помещались рядом с именем и налезали на аватар. Кладём их отдельной
     строкой во всю ширину. */
  .gyg-org{flex-wrap:wrap;gap:10px 11px}
  .gyg-org-in{flex:1 1 auto;min-width:0}
  .gyg-org-btn{flex:1 1 100%;text-align:center;padding:11px 14px}
  #gyg-org-slot .gyg-ask{flex:1 1 100%;width:100%;margin:0;padding:11px 14px;
    text-align:center;white-space:normal}
  #gyg-org-slot .gyg-chat{flex:1 1 100%;width:100%;margin:0}

  /* На телефоне карточка варианта раскрыта сразу: прятать её за кнопкой
     негде — правой колонки нет. */
  .gyg-book{margin:14px 0 4px}
  .gyg-book-card{padding:14px}
  .gyg-foot{flex-direction:column;align-items:stretch}
  /* Короче по ширине, но заметнее по высоте — не растянута во всю ширину,
     а крупная таблетка по центру, как остальные основные кнопки. */
  .gyg-foot .bk-submit-btn{width:auto!important;align-self:center;
    padding:17px 46px!important;font-size:16.5px!important;
    border-radius:999px!important}
  .gyg-slot .bf2-cal-popup{width:100%!important;left:0!important;right:auto!important}
  .gyg-when{grid-template-columns:minmax(0,1fr) auto}
}

/* Организатор — карточка с человеком и действием */
/* flex-wrap — в строке теперь до четырёх элементов (аватар, имя, «Об
   организаторе», «Блог гида») плюс кнопка чата из JS: на узком сайдбаре
   без переноса они бы выдавливали друг друга. */
.gyg-org{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin-top:14px;padding:13px 14px;
  border:1px solid #e3e6ea;border-radius:14px;background:#fff}
.gyg-org-ava{flex:0 0 auto;width:38px;height:38px;border-radius:50%;
  background:#FFCF08;color:#1D1D1D;font-family:inherit;font-size:16px;font-weight:800;
  line-height:38px;text-align:center;
  text-decoration:none}
/* С логотипом кружок не красим — фон логотипа может быть свой. */
.gyg-org-ava-img{background:#fff;border:1px solid #e5e7eb;overflow:hidden;line-height:0}
.gyg-org-ava-img img{width:100%;height:100%;object-fit:cover;display:block}
.gyg-org-in{flex:1;min-width:0}
.gyg-org-name{display:flex;align-items:center;gap:5px;font-size:15px;font-weight:700;
  color:#111827;text-decoration:none;line-height:1.25}
.gyg-org-name:hover{text-decoration:underline}
.gyg-org-stats{display:block;margin-top:2px;font-size:12.5px;color:#6b7280}
.gyg-org-btn{flex:0 0 auto;padding:8px 14px;border:1px solid #d5d9e0;border-radius:10px;
  background:#fff;color:#111827;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;
  text-decoration:none;white-space:nowrap}
.gyg-org-btn:hover{border-color:#9ca3af}

/* Вторая кнопка и поле вопроса */
.gyg-ask{display:block;width:100%;margin-top:9px;padding:12px 16px;
  border:1px solid #d5d9e0;border-radius:12px;background:#fff;color:#111827;
  font-family:inherit;font-size:15px;font-weight:700;line-height:1.2;cursor:pointer}
.gyg-ask:hover{border-color:#9ca3af}
/* Живой чат с гидом в мессенджере (владелец 11.09.2026). Стоит рядом с
   «Задать вопрос» и отличается от него цветом: это не форма с ожиданием
   звонка, а разговор здесь и сейчас — у конкурентов (GuideGo) это
   заглавная фича. */
/* Градиент от телеграмного голубого к максовому фиолетовому — те же два
   цвета, что у иконок справа: кнопка сама показывает, куда ведёт.
   Выпуклость даёт нижний «бортик» (0 4px 0) поверх мягкой тени: при
   наведении кнопка светлеет и приподнимается, при нажатии проваливается —
   владелец 11.09.2026: «чтобы так и хотелось её нажать». */
.gyg-chat{display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;margin-top:9px;padding:9px 12px;border:1.5px solid #3b9fe0;
  border-radius:12px;background:#fff;color:#1173b8;font-size:15px;font-weight:700;
  cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}
.gyg-chat:hover{background:#f2f9fe;border-color:#1c8fd6}
.gyg-chat-t{line-height:1.2;white-space:nowrap}
/* Текст слева (justify-content:space-between даёт ему всё свободное место),
   обе иконки крупно и вместе справа — не растащены по разным краям. */
.gyg-chat-ic{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}
.gyg-chat-ic svg{display:block}
@media(max-width:480px){
  .gyg-chat{font-size:14px;padding:10px 12px}
}
/* Плавающая кнопка чата — та же «пилюля» с текстом и иконками, что и
   остальные копии .gyg-chat, только круглая и закреплена справа внизу
   поверх всего контента (владелец 12.09.2026: «круглую можно сделать,
   текст сверху 2 иконки снизу» — пилюлю в ряд сменили на круг, текст и
   иконки идут друг под другом, тот же порядок, что и в HTML кнопки).
   #id перебивает .gyg-chat по специфичности без !important. */
#gyg-chat-fab{position:fixed;right:20px;bottom:24px;z-index:9500;
  width:64px;height:64px;margin:0;padding:3px;border-radius:50%;
  flex-direction:column;justify-content:center;align-items:center;gap:1px;
  text-align:center;box-shadow:0 6px 20px rgba(17,24,39,.28);
  transition:transform .15s ease,box-shadow .15s ease,background .15s,border-color .15s}
/* Кнопку уменьшили, кружки выбора мессенджера (ниже) — увеличили: были
   заметно мельче кнопки, что смотрелось неровно (владелец 13.09.2026). */
#gyg-chat-fab .gyg-chat-t{white-space:normal;font-size:11px;line-height:1.1;font-weight:800}
#gyg-chat-fab .gyg-chat-ic{gap:3px}
#gyg-chat-fab .gyg-chat-ic svg{width:20px;height:20px}
#gyg-chat-fab:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(17,24,39,.34)}
#gyg-chat-fab:active{transform:translateY(1px)}
@media(max-width:1024px){
  /* На мобильном липкая полоса брони (.mob-bk-bar) и нижний таббар сайта
     тоже сидят у нижнего края — поднимаем кнопку над ними, не перекрывать.
     76px — практическая высота .mob-bk-bar (тот же запас уже использован
     для .float-btns в at3-main.css), --tabbar-h — нижний таббар сайта. */
  #gyg-chat-fab{right:14px;width:56px;height:56px;padding:2px;
    bottom:calc(76px + var(--tabbar-h,56px) + 14px)}
  #gyg-chat-fab .gyg-chat-t{font-size:9.5px}
  #gyg-chat-fab .gyg-chat-ic svg{width:16px;height:16px}
}
/* Кружки выбора мессенджера, выпадающие рядом с плавающей кнопкой (заменили
   полноэкранный поп-ап — владелец 13.09.2026). Колонка той же ширины, что
   и сама кнопка (right/width совпадают с #gyg-chat-fab на каждой ширине
   экрана), поэтому кружки центрируются точно над ней. Кружок крупнее
   кнопки-триггера (владелец 13.09.2026: «кнопку уменьшить, иконки
   увеличить»). Отдельного крестика закрытия больше нет — сама кнопка
   работает переключателем, плюс клик мимо и Escape. */
.gyg-chat-pop{position:fixed;right:20px;bottom:102px;width:64px;z-index:9500;
  display:flex;flex-direction:column;align-items:center;gap:12px}
.gyg-chat-pop-b{width:64px;height:64px;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;border-radius:50%;text-decoration:none;background:#fff;
  box-shadow:0 6px 16px rgba(17,24,39,.24);transition:transform .15s ease}
.gyg-chat-pop-b:hover{transform:translateY(-2px)}
.gyg-chat-pop-b svg{width:40px;height:40px;display:block}
@media(max-width:1024px){
  .gyg-chat-pop{right:14px;width:56px;
    bottom:calc(76px + var(--tabbar-h,56px) + 14px + 56px + 12px)}
  .gyg-chat-pop-b{width:56px;height:56px}
  .gyg-chat-pop-b svg{width:35px;height:35px}
}
.gyg-cm-ov{position:fixed;inset:0;z-index:10050;background:rgba(17,24,39,.6);
  display:flex;align-items:center;justify-content:center;padding:18px;
  animation:at3cmFade .15s ease}
@keyframes at3cmFade{from{opacity:0}to{opacity:1}}
.gyg-cm{position:relative;background:#fff;border-radius:20px;padding:26px 22px 20px;
  max-width:360px;width:100%;box-shadow:0 24px 60px rgba(0,0,0,.32);text-align:center;
  animation:at3cmPop .18s cubic-bezier(.2,.8,.3,1.2)}
@keyframes at3cmPop{from{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:none}}
.gyg-cm-h{margin:0 0 7px;font-size:20px;font-weight:800;color:#111827}
.gyg-cm-s{margin:0 0 18px;font-size:13.5px;line-height:1.5;color:#6b7280}
/* Белые кнопки, цвет и объём несёт крупная фирменная иконка (30px) и
   цветная рамка — владелец 11.09.2026: «кнопки белые, иконки большие». */
.gyg-cm-b{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;
  margin-bottom:10px;padding:12px 18px;border:1.5px solid #e5e7eb;border-radius:14px;
  background:#fff;font-size:15.5px;font-weight:700;cursor:pointer;text-decoration:none;
  font-family:inherit;transition:transform .13s ease,box-shadow .13s ease,border-color .15s,background .15s}
.gyg-cm-b:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(17,24,39,.12)}
.gyg-cm-b:active{transform:translateY(1px);box-shadow:0 2px 6px rgba(17,24,39,.1)}
.gyg-cm-b svg{flex-shrink:0}
.gyg-cm-max{color:#7c3aed}
.gyg-cm-max:hover{border-color:#c4b5fd;background:#faf8ff}
.gyg-cm-tg{color:#1c8fd6}
.gyg-cm-tg:hover{border-color:#a8dcf7;background:#f2fbff}
/* Крестик в углу вместо текстовой ссылки «Закрыть» под кнопками — компактнее
   и привычнее по месту (владелец 11.09.2026). */
.gyg-cm-x{position:absolute;top:12px;right:12px;width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;
  background:#f3f4f6;color:#6b7280;font-size:20px;line-height:1;cursor:pointer;
  font-family:inherit;transition:background .15s,color .15s}
.gyg-cm-x:hover{background:#e5e7eb;color:#111827}
@media(max-width:480px){.gyg-cm{padding:24px 18px 16px}.gyg-cm-h{font-size:18px}}
/* Компактнее (владелец 08.09.2026: форма «Задать вопрос» не помещалась на
   экран без прокрутки) — меньше поля, отступов и подсказки под ним. */
.gyg-qwrap{margin:8px 0 2px}
.gyg-qlb{display:block;margin-bottom:3px;font-size:11px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:#6b7280}
.gyg-qta{width:100%;padding:8px 10px;border:1px solid #d5d9e0;border-radius:10px;
  font-family:inherit;font-size:14px;line-height:1.4;color:#111827;resize:vertical;min-height:44px}
.gyg-qta:focus{outline:none;border-color:#0e6fdc}
.gyg-qhint{margin:3px 0 0;font-size:11px;color:#6b7280}
.bf2-day.gyg-off{text-decoration:line-through;opacity:.35;pointer-events:none;cursor:default}
.gyg-calnote{margin:10px 0 0;font-size:11.5px;line-height:1.4;color:#6b7280;text-align:left}

/* Категории города — тихая ссылочная строка внизу страницы, не карточки:
   гость её либо заметит и уйдёт смотреть другой раздел, либо она просто
   не будет мешать читать «Похожие экскурсии» над ней. */
.city-more-wrap{padding:4px 0 44px}
.city-more-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.city-more-lb{font-size:13px;color:#6b7280;margin-right:2px}
.city-more-pill{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;
  font-weight:700;color:var(--p);background:rgba(30,58,95,.08);
  padding:5px 13px;border-radius:50px;text-decoration:none;white-space:nowrap}
.city-more-pill:hover{background:rgba(30,58,95,.15)}

/* ВОЗВРАЩЕНО 02.09.2026 (владелец: «нету календаря в форме бронирования»,
   заявки на десктопе тихо уходили с датой «сегодня» без права выбрать
   другую). Правило рассчитывало, что где-то на странице есть своя
   свёрнутая строка даты (.gyg-field/.gyg-pick), которая открывает тот же
   попап — эта замена так и не была построена (проверено вживую Playwright:
   ни одного .gyg-pick/.gyg-field в DOM ни на десктопе, ни на мобильном),
   поэтому правило просто прятало единственный работающий способ выбрать
   дату. Если такую строку когда-нибудь достроят по-настоящему — тогда и
   возвращать сюда display:none, не раньше. */

/* Календарь на два месяца — как у GetYourGuide */
.gyg-cals{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.gyg-cmt{display:block;text-align:center;font-size:14px;font-weight:700;
  color:#111827;margin-bottom:8px}
/* Подложка под календарём (десктоп). Открыта/закрыта — решает чистый
   CSS :has(), а не JS-наблюдатель: раньше следили за одним из ДВУХ
   .bf2-cal-popup в DOM через MutationObserver, он рассинхронизировался
   с реальным попапом, подложка застряла видимой и блокировала все
   клики на сайте (заявки не отправлялись). :has() пересчитывается
   браузером сам на каждый кадр и видит оба попапа сразу — «залипнуть»
   ей физически нечем: нет открытого .open — нет display:block, и точка. */
.gyg-cal-scrim{position:fixed;inset:0;z-index:100049;background:rgba(17,24,39,.5);display:none}
@media(min-width:1025px){
  body:has(.bf2-cal-popup.open) .gyg-cal-scrim{display:block}
  /* .bk-sidebar — position:sticky, а значит сам по себе свой стековый
     контекст: z-index:100050 у попапа внутри играет роль только ВНУТРИ
     этого контекста, а сам сайдбар как коробка стоит в общем контексте
     страницы на обычном уровне — ниже подложки (100049). Из-за этого
     подложка рисовалась ПОВЕРХ попапа: календарь выглядел затемнённым
     и не реагировал на клики (клик попадал в подложку, а не в дату).
     Поднимаем весь сайдбар выше подложки, пока календарь открыт —
     ровно то же исправление, что раньше делали точечно для .gyg-seeall. */
  body:has(.bf2-cal-popup.open) .bk-sidebar{z-index:100060}
  /* Слева от формы бронирования калндарь всегда цеплял галерею: между
     сайдбаром (348px) и остальным контентом всего 32px зазора — попапу
     на 520px там попросту негде быть, не наезжая на фото. Вместо этого —
     как у GetYourGuide: по центру экрана, поверх всего, с подложкой. */
  .bf2-cal-popup{position:fixed!important;width:560px!important;max-width:92vw!important;
    left:50%!important;right:auto!important;top:50%!important;margin:0!important;
    transform:translate(-50%,-50%);z-index:100050!important;
    box-shadow:0 24px 64px rgba(0,0,0,.35)!important;
    max-height:min(88vh,calc(100vh - 40px))!important;overflow-y:auto!important}
  /* Цифры дат были 12 px в ячейке 33×30 — мелко для основного действия. */
  .bf2-cal-popup .bf2-day{font-size:14.5px;min-height:36px;line-height:36px}
  .bf2-cal-popup .bf2-cal-dow i,.bf2-cal-popup .bf2-cal-dow span{font-size:12px}
  .gyg-cmt{font-size:15px}
  /* У ядра свой заголовок месяца по центру шапки — он дублировал наши
     подписи над колонками. Оставляем только стрелки. */
  .bf2-cal-popup .bf2-cal-head>span{display:none}
  .bf2-cal-popup .bf2-cal-head{justify-content:space-between;margin-bottom:0}
}
@media(max-width:1024px){
  .gyg-cals{grid-template-columns:1fr;gap:16px}
}

/* «Где вас заберут» — плоский раздел, как остальные, а не плашка в рамке */
.gsec .meet-map-block{border:0;background:none;padding:0;margin:0;box-shadow:none;border-radius:0}
.gsec .meet-map-ym{border-radius:12px;overflow:hidden}
.gsec .meet-map-link{display:inline-block;margin-top:10px}
#gyg-step2{margin-top:2px}

/* Якорь на форму в теле страницы */
.gyg-anchor{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  border:1px solid #d5d9e0;border-radius:14px;padding:16px 18px;margin:22px 0}
.gyg-anchor-tx{flex:1;min-width:200px}
.gyg-anchor-tx b{display:block;font-size:16px;font-weight:800;color:#111827}
.gyg-anchor-tx span{display:block;margin-top:3px;font-size:13.5px;color:#6b7280}
.gyg-anchor .gyg-blue{width:auto;flex:0 0 auto;padding:13px 26px}

/* Выбранная в форме остановка — тёмной строкой в списке */
.meet-pt.meet-pt-on{background:#111827!important;border-radius:10px}
.meet-pt.meet-pt-on .meet-pt-lbl{color:#fff!important;font-weight:700}
.meet-pt.meet-pt-on .meet-pt-n{background:#fff!important;color:#111827!important}

/* Места посадки без карты: посёлки списком, остановки внутри. */
.gsec .meet-map-sub{margin:0 0 12px;font-size:15px;line-height:1.5;color:#4b5563}
.mp-groups{list-style:none;margin:0;padding:0;border-top:1px solid #e8eaed}
.mp-group{border-bottom:1px solid #e8eaed}
.mp-gh{display:flex;align-items:center;gap:12px;width:100%;padding:13px 2px;
  border:0;background:none;text-align:left;cursor:pointer;font-family:inherit;font-size:16px}
.mp-gn{flex:1;min-width:0;font-size:15.5px;font-weight:700;color:#111827}
.mp-gc{font-size:13.5px;color:#6b7280;white-space:nowrap}
.mp-gx{flex:0 0 auto;width:8px;height:8px;border-right:2px solid #9ca3af;
  border-bottom:2px solid #9ca3af;transform:rotate(-45deg);transition:transform .15s}
.mp-gh.on .mp-gx{transform:rotate(45deg)}
.mp-gh:hover .mp-gn{text-decoration:underline}
.mp-gl{list-style:none;margin:0;padding:0 0 10px}
.mp-gl .meet-pt{cursor:default}
@media (prefers-reduced-motion:reduce){.mp-gx{transition:none}}

/* Обёрнутые блоки ядра теряют вид плашки — они уже внутри раздела. */
.gsec-wrapped .sched-block,
.gsec-wrapped .at3-how,
.gsec-wrapped .steps-section{margin:0;border:0;background:none;padding:0;box-shadow:none}
@media(min-width:1025px){
  /* Одна сетка вместо двух: галерея и карточка брони начинаются на одной
     высоте, карточка едет с гостем до конца страницы. */
  .tour-layout.tl-gyg{display:grid;grid-template-columns:minmax(0,1fr) 348px;
    gap:32px;align-items:start}
  /* Галерея во всю ширину сетки, отдельной строкой сверху (владелец
     15.09.2026, «как на klook») — .tl-main и .bk-sidebar авто-переносятся
     во 2-ю строку, раз 1-я занята целиком. Сужение до 1040px (пробовали
     раньше) владелец отменил — по ширине нужна вся ширина сайта, узким
     должен быть только силуэт блока (см. height в at3-main.css,
     .stcrs:has(nth-of-type(5))) — у klook блок широкий и невысокий, не
     просто уменьшенная копия. min-width:0 всё равно нужен: grid-item по
     умолчанию min-width:auto — скрытый пол по контент-сайзу детей (фото
     внутри .stcrs), без сброса ширина блока не садится на 100% сетки. */
  .tl-gyg .tl-gal-row{grid-column:1/-1;min-width:0}
  .tl-gyg .tl-main{min-width:0}
  /* Ограничение высоты с внутренней прокруткой было нужно, пока в колонке
     стояла вся анкета на 870 px. Форма уехала в тело, карточка короткая —
     полоса прокрутки только мешала. */
  /* Шапка сайта липкая и занимает 79 px — при top:16 верх карточки с ценой
     уходил под неё, и при прокрутке цены было не видно. top:95 (лишний
     16px запас) → 79 (вплотную к шапке) → 70 → 55px, владелец несколько раз
     подряд просил поднять ещё выше (09.09.2026). На 55 уже 24px внахлёст
     под шапку — если верх карточки обрежется, тянуть обратно к 79. */
  .tl-gyg .bk-sidebar{position:sticky;top:55px}
  .tl-head .ti-h1{font-size:34px;line-height:1.13;max-width:900px}

  /* Галерея-мозаика: большое фото и колонка миниатюр рядом. Одно фото на
     всю ширину показывало один кадр из четырёх — остальные видели единицы. */
  .tl-gyg .tl-gal{display:grid;grid-template-columns:minmax(0,1fr) 232px;
    gap:10px;align-items:stretch}
  .tl-gyg .tl-gal .stcrs{align-self:start;margin:0}
  .tl-gyg .stcrs-thumbs{display:grid;grid-template-columns:1fr;
    grid-template-rows:repeat(3,1fr);gap:10px;margin:0;height:0;min-height:100%;
    overflow:hidden}
  .tl-gyg .stcrs-thumbs .stcrs-thumb{width:100%;height:100%;border-radius:12px;
    overflow:hidden;flex:none}
  .tl-gyg .stcrs-thumbs .stcrs-thumb img{width:100%;height:100%;object-fit:cover}
  .tl-gyg .stcrs-thumbs .stcrs-thumb:nth-child(n+4){display:none}

  /* Подпись раздела уходит в свою колонку */
  /* Колонка подписи 215 px и отступ 30 — ровно как у GYG (у них подпись
     начинается на 108, содержимое на 323). */
  .tl-gyg .gsec{display:grid;grid-template-columns:215px minmax(0,1fr);
    gap:30px;padding:26px 0}
  .tl-gyg .glab{margin:0}
  /* Отзывы — карточки в 2 колонки внутри контентной колонки (533px)
     смотрелись тесно. Заголовок раздела встаёт сверху во всю ширину,
     сама сетка карточек — тоже во всю ширину секции, а не только
     content-колонки [добавлено 27.08.2026]. */
  .tl-gyg .gsec.revs-section{grid-template-columns:1fr}
  .tl-gyg .gsec.revs-section .glab{margin:0 0 10px}
  /* Цена уже стоит в карточке справа — второй раз под галереей она лишняя. */
  .tl-gyg .tour-info .ti-price-row,
  .tl-gyg .tour-info .ti-entry{display:none}
  .tl-gyg .tour-info{padding:0}
}

/* Тёмная тема наравне со светлой — телефон часто в системном тёмном
   режиме, и без своих цветов страница отдавалась на откуп браузерной
   эвристике: серые полукарточки, нечитаемый серый на сером. Здесь —
   собственная тёмная палитра для того же набора карточек.
   Владелец (01.09.2026) попросил пока везде светлый фон — эта тема
   зависела от СИСТЕМНОЙ настройки телефона (не от at3-night в
   at3-chrome.php, тот отключён отдельно), и без отключения тут
   получалось «пол сайта светлое, пол тёмное» на устройствах с
   системной тёмной темой. disabled-for-now — не настоящее медиа-
   условие, поэтому блок ниже никогда не сработает; вернуть —
   убрать этот кусок из condition. */
@media(max-width:1024px) and (prefers-color-scheme:dark) and (disabled-for-now){
  .tl-gyg{background:#17181b}
  .ti-card,.gyg-acc{background:#232428!important}
  .gyg-acc .glab{color:#f2f2f0!important}
  .gyg-acc .glab::after{border-color:#c7ccd3}
  .gbody{color:#d6d7db}
  .gbody a{color:#5b9dff}
  .gsec{border-top-color:#34353a}
  .ti-lead{color:#c7ccd3;border-bottom-color:#34353a}
  .gfact-i{background:#33343a;color:#c7ccd3}
  .gfact b{color:#f2f2f0}
  .gfact>div>span{color:#9aa0aa}
  .gyg-quote-card{background:#232428;border-color:#3a3b40}
  .gyg-quote-h{color:#f2f2f0}
  .gyg-quote-st span,.gyg-quote-st b{color:#f2f2f0}
  .gyg-quote-who b{color:#f2f2f0}
  .gyg-quote-who span{color:#9aa0aa}
  .gyg-quote-tx{color:#d6d7db}
  .gyg-book-card{background:#1d1e21;border-color:#2c8fe0}
  .gyg-when-lb{color:#f2f2f0}
  .gyg-when-t{background:#f2f2f0;color:#111827}
  .gyg-back,.gyg-heart,.gyg-share{background:#f2f2f0}
  .gyg-sheet-panel{background:#1d1e21}
  .gyg-sheet-head{border-bottom-color:#33343a}
  .gyg-sheet-x{color:#f2f2f0}
  .gyg-sheet-t{color:#f2f2f0}
  .gyg-sheet-foot{border-top-color:#33343a}
  .gyg-sheet-body .bf2-pax-row+.bf2-pax-row{border-top-color:#2c2d31}
  .gyg-sheet-body .bf2-counter em,.gyg-sheet-body .bf2-counter span{
    border-color:#3a3b40;color:#f2f2f0}
  #bf2-phone,input[type="tel"]{background:#1d1e21;border-color:#3a3b40!important;
    color:#f2f2f0}
  .ti-h1{color:#f2f2f0}
  .tl-meta{color:#c7ccd3}
  .gyg-org{background:#232428;border-color:#3a3b40}
  .gyg-org-name{color:#f2f2f0}
  .gyg-org-stats{color:#9aa0aa}
  .gyg-org-btn,.gyg-ask{background:#1d1e21;border-color:#3a3b40;color:#f2f2f0}
  .gyg-qta{background:#1d1e21;border-color:#3a3b40;color:#f2f2f0}
  .gyg-qlb,.gyg-qhint{color:#9aa0aa}
  .gyg-cmt{color:#f2f2f0}
  .gyg-sheet .bf2-cal-dow{background:#1d1e21;border-bottom-color:#33343a}
}
