/*! склейка: /assets/base.css /assets/pa/header.css /assets/pa/popups.css /assets/pa/phone.css /assets/fonts.css /assets/pa/common.css /assets/home/home.css /assets/home/hero.css /assets/pa/advantages.css /assets/home/catalog.css /assets/ribbon.css /assets/reviews.css /assets/pa/banner.css /assets/home/about.css /assets/home/booking.css /assets/home/faq.css /assets/pa/subscribe.css /assets/pa/partners.css /assets/pa/footer.css */
/* /assets/base.css */
/* Основа страниц своей вёрстки без CSS Webflow (пока — страница тура): правила Webflow для тегов —
 * сброс normalize.css, его базовые стили и стили сайта для body, заголовков, абзацев, ссылок, списков —
 * перенесены как есть (те же значения), и шрифт заголовков Bebas Neue. Классов здесь нет: вид частей
 * страницы — в их CSS (assets/tour/, assets/pa/). */

@font-face {
  font-family: Bebasneue;
  src: url("/v/c9ebed3530/assets/cdn.prod.website-files.com/67e3d4a57de60de33068b63c/67e3d69bcf693c4b877634df_BebasNeue-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Bebasneue;
  src: url("/v/b1c3911d6e/assets/cdn.prod.website-files.com/67e3d4a57de60de33068b63c/67e3d69b61f1b66fbb06fe47_BebasNeue-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-family: sans-serif;
}
body {
  margin: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}
audio, canvas, progress, video {
  vertical-align: baseline;
  display: inline-block;
}
audio:not([controls]) {
  height: 0;
  display: none;
}
[hidden], template {
  display: none;
}
a {
  background-color: #0000;
}
a:active, a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b, strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  margin: .67em 0;
  font-size: 2em;
}
mark {
  color: #000;
  background: #ff0;
}
small {
  font-size: 80%;
}
sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}
sup {
  top: -.5em;
}
sub {
  bottom: -.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code, kbd, pre, samp {
  font-family: monospace;
  font-size: 1em;
}
button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button, select {
  text-transform: none;
}
button, html input[type="button"], input[type="reset"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled], html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td, th {
  padding: 0;
}
* {
  box-sizing: border-box;
}
html {
  height: 100%;
}
body {
  color: #333;
  background-color: #fff;
  min-height: 100%;
  margin: 0;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
}
img {
  vertical-align: middle;
  max-width: 100%;
  display: inline-block;
}
h1, h2, h3, h4, h5, h6 {
  margin-bottom: 10px;
  font-weight: bold;
}
h1 {
  margin-top: 20px;
  font-size: 38px;
  line-height: 44px;
}
h2 {
  margin-top: 20px;
  font-size: 32px;
  line-height: 36px;
}
h3 {
  margin-top: 20px;
  font-size: 24px;
  line-height: 30px;
}
h4 {
  margin-top: 10px;
  font-size: 18px;
  line-height: 24px;
}
h5 {
  margin-top: 10px;
  font-size: 14px;
  line-height: 20px;
}
h6 {
  margin-top: 10px;
  font-size: 12px;
  line-height: 18px;
}
p {
  margin-top: 0;
  margin-bottom: 10px;
}
blockquote {
  border-left: 5px solid #e2e2e2;
  margin: 0 0 10px;
  padding: 10px 20px;
  font-size: 18px;
  line-height: 22px;
}
figure {
  margin: 0 0 10px;
}
figcaption {
  text-align: center;
  margin-top: 5px;
}
ul, ol {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
button, [type="button"], [type="reset"] {
  cursor: pointer;
  -webkit-appearance: button;
  border: 0;
}
label {
  margin-bottom: 5px;
  font-weight: bold;
  display: block;
}
:root {
  --_colors---light: white;
  --_colors---primary: #27282b;
  --_colors---background: #fafafa;
  --_colors---primary-hover: #5d5e62;
  --_colors---secondary-dark: #e3e3e3;
  --_border-radius---6px: 6px;
  --_colors---secondary: #f0f0f0;
  --_colors---accent: #e1f641;
  --_colors---color-4: #e3d7ff;
  --_colors---color-1: #dbe7fd;
  --_colors---color-2: #ffdad3;
  --_colors---color-3: #f3f57f;
  --_colors---ya-stars: #ffc300;
  --_colors---error: #ff3725;
}
body {
  background-color: var(--_colors---light);
  color: var(--_colors---primary);
  font-family: Roboto Condensed, sans-serif;
  font-size: 16px;
  line-height: 20px;
}
h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Bebasneue, Arial, sans-serif;
  font-size: 128px;
  font-weight: 700;
  line-height: 90%;
}
h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Bebasneue, Arial, sans-serif;
  font-size: 72px;
  font-weight: 700;
  line-height: 105%;
}
h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Bebasneue, Arial, sans-serif;
  font-size: 56px;
  font-weight: 700;
  line-height: 105%;
}
h4 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Bebasneue, Arial, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 115%;
}
p {
  margin-bottom: 0;
  font-family: Roboto Condensed, sans-serif;
  font-size: 32px;
  line-height: 130%;
}
a {
  color: var(--_colors---primary);
}
ul {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 21px;
  font-size: 22px;
  line-height: 130%;
  list-style-type: square;
}
li {
  margin-bottom: 12px;
}
@media screen and (min-width: 1440px) {
  h1 {
    font-size: 128px;
  }
  h2 {
    line-height: 105%;
  }
  h3 {
    font-size: 56px;
  }
  h4 {
    font-family: Bebasneue, Arial, sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 115%;
  }
  ul {
    margin-bottom: 0;
    padding-left: 22px;
    font-size: 22px;
    line-height: 130%;
    list-style-type: square;
  }
  li {
    margin-bottom: 12px;
  }
}

@media screen and (max-width: 991px) {
  h1 {
    font-size: 70px;
    line-height: 90%;
  }
  h2 {
    font-size: 48px;
  }
  h3 {
    font-size: 40px;
  }
}

/* Кадр фото (eleventy/frames.js, site/_data/photo-frames.yaml): какая часть фото видна в рамке.
 * Сборка ставит у картинки data-frame и положение рамки; на телефоне — свою, если кадр там другой.
 * <picture class="pa-frame"> (свои копии фото для телефона) не меняет вёрстку: картинка стоит, как без него. */
img[data-frame] { object-position: var(--frame-x) var(--frame-y); }
@media (max-width: 767px) {
  img[data-frame] { object-position: var(--frame-phone-x, var(--frame-x)) var(--frame-phone-y, var(--frame-y)); }
}
picture.pa-frame { display: contents; }

/* /assets/pa/header.css */
/* Шапка сайта (site/_includes/pa/header.njk): своя вёрстка без классов Webflow, приставка pa- — общие части
 * всего сайта. Значения — те же, что были у прежней шапки Webflow: внешне шапка не изменилась
 * (scripts/compare-pages.mjs). Поведение — assets/pa/header.js. */
.pa-header {
  --pa-dark: #27282b;
  --pa-light: #fafafa;
  --pa-accent: #e1f641;
  --pa-font-head: Bebasneue, Arial, sans-serif;
  --pa-font-text: "Roboto Condensed", sans-serif;
  position: absolute;
  inset: 0 0 auto;
  z-index: 99999;
  padding: 20px 0;
  color: var(--pa-light);
  font-family: var(--pa-font-text);
  font-size: 16px;
  line-height: 20px;
}
.pa-header, .pa-header *, .pa-header *::before, .pa-header *::after { box-sizing: border-box; }
@media (min-width: 1440px) { .pa-header { overflow: hidden; } }
@media (max-width: 991px) { .pa-header { height: 72px; } }
@media (max-width: 767px) { .pa-header { height: auto; padding: 14px 0; } }

/* Ширина и поля по краям — как у остальных блоков страницы. */
.pa-header-container { display: flex; flex-direction: column; margin: 0 auto; padding: 0 32px; }
@media (min-width: 1440px) { .pa-header-container { max-width: 1440px; padding: 0 50px; } }
@media (max-width: 991px) { .pa-header-container { padding: 0 24px; overflow: hidden; } }
@media (max-width: 767px) { .pa-header-container { padding: 0 16px; } }

/* Полоса: слева меню, по центру логотип, справа телефон и мессенджеры; до 991 px — логотип и кнопка меню. */
.pa-header-bar { position: relative; display: flex; justify-content: space-between; align-items: center; }
.pa-header-nav { display: flex; justify-content: flex-start; align-items: center; gap: 48px; }
.pa-header-contacts { display: flex; justify-content: flex-end; align-items: center; gap: 32px; }
@media (min-width: 1440px) { .pa-header-nav { gap: 57px; } }
@media (max-width: 991px) { .pa-header-nav, .pa-header-contacts { display: none; } }

.pa-header-link { color: var(--pa-light); line-height: 130%; text-decoration: none; white-space: nowrap; }
.pa-header-link:hover { text-decoration: none; }
@media (min-width: 1280px) { .pa-header-link:hover { color: #e3e3e3; } }
@media (min-width: 1440px) { .pa-header-link { transition: all .2s; } }

.pa-header-logo { position: absolute; inset: 0; width: 161px; margin: 0 auto; }
.pa-header-logo-link { display: inline-block; max-width: 100%; width: 161px; height: 28.333px; color: var(--pa-light); }
@media (min-width: 1440px) { .pa-header-logo-link[aria-current] { height: 28.33px; } }
@media (max-width: 991px) { .pa-header-logo { position: static; margin-left: 0; } }
@media (max-width: 479px) {
  .pa-header-logo { display: flex; justify-content: flex-start; align-items: center; width: 120px; height: 21.5px; }
  .pa-header-logo-link[aria-current] { width: 120px; height: 21.5px; }
}

/* Круглые кнопки Telegram и WhatsApp — в шапке и в меню. */
.pa-chats { display: flex; justify-content: flex-start; align-items: center; gap: 8px; }
.pa-chat {
  display: flex; justify-content: center; align-items: center; width: 32px; height: 32px; border-radius: 40px;
  background-color: var(--pa-light); color: var(--pa-dark); transition: background-color .2s;
}
.pa-chat:hover { background-color: #d4d4d4; }
.pa-chat-icon { width: 18px; height: 18px; color: var(--pa-dark); }
.pa-chat-icon-telegram { margin-right: 3px; }
.pa-chat-icon-whatsapp { margin-left: 1px; }

.pa-header-burger, .pa-menu-close {
  display: none; margin: 0; padding: 0; border: 0; background: none; color: inherit; cursor: pointer;
}
.pa-header-burger-icon, .pa-menu-close-icon { display: block; width: 100%; height: auto; }
@media (max-width: 991px) { .pa-header-burger { display: block; width: 34px; height: 34px; } }

/* Меню до 991 px: во весь экран, выезжает сверху. Закрытое — невидимо и для клавиатуры. */
.pa-menu { display: none; }
@media (max-width: 991px) {
  .pa-menu {
    position: fixed; top: -100%; left: 0; z-index: 1000; display: flex; width: 100%; height: 100%; padding: 48px 32px;
    overflow-y: auto; background-color: var(--pa-dark); visibility: hidden;
    transition: top .3s ease-in-out, visibility 0s .3s;
  }
  .pa-menu.pa-menu-open { top: 0; visibility: visible; transition: top .3s ease-in-out; }
  .pa-menu-close { display: block; position: absolute; top: 0; right: 0; width: 34px; height: 34px; margin: 14px 32px 0 0; }
}
@media (prefers-reduced-motion: reduce) { .pa-menu, .pa-menu.pa-menu-open { transition: none; } }
.pa-menu-inner { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; min-height: 100%; }
.pa-menu-nav { display: flex; flex-direction: column; gap: 20px; }
.pa-menu-list { margin: 0; padding: 0; list-style: none; font-size: 22px; line-height: 130%; }
.pa-menu-list li { margin: 15px 0; }
.pa-menu-link {
  color: var(--pa-light); font-family: var(--pa-font-head); font-size: 48px; font-weight: 700; line-height: 108%;
  text-decoration: none; transition: color .3s ease;
}
.pa-menu-bottom { display: flex; flex-direction: column; gap: 24px; }
.pa-menu-contacts { display: flex; gap: 24px; }
.pa-menu-contact { color: var(--pa-light); font-size: 13px; text-decoration: none; }
.pa-menu-email { text-decoration: underline; }

/* Кнопка «Наверх»: появляется, когда страницу пролистали (assets/pa/header.js). */
.pa-to-top {
  display: none; position: fixed; right: 32px; bottom: 100px; z-index: 99; width: 50px; height: 50px; margin: 0; padding: 1px 6px;
  border: none; border-radius: 50%; background-color: var(--pa-accent); color: black;
  font-family: var(--pa-font-text); font-size: 18px; line-height: 20px; cursor: pointer;
  box-shadow: 0 4px 15px rgba(37, 211, 102, .5);
  transition: background-color .3s ease, transform .2s ease-out, box-shadow .2s ease-out;
}
.pa-to-top.pa-to-top-shown { display: block; }
.pa-to-top:hover { background-color: #d4eb26; transform: scale(1.1); box-shadow: 0 6px 20px rgba(37, 211, 102, .7); }
@media (max-width: 767px) { .pa-to-top { right: 16px; } }

/* Плавающая кнопка WhatsApp в правом нижнем углу, «дышит» тенью. */
.pa-whatsapp { position: fixed; right: 32px; bottom: 32px; width: 50px; height: 50px; }
@media (min-width: 1440px) { .pa-whatsapp { z-index: 2147483647; } }
@media (max-width: 767px) { .pa-whatsapp { z-index: 9999; right: 16px; } }
.pa-whatsapp-button {
  display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; border-radius: 40px;
  background-color: #25d366; color: var(--pa-dark); text-decoration: none;
  box-shadow: 0 4px 15px rgba(37, 211, 102, .5);
  transition: transform .2s ease-out, box-shadow .2s ease-out;
  animation: pa-whatsapp-pulse 1.5s infinite;
}
.pa-whatsapp-button:hover { background-color: #22b95a; transform: scale(1.1); box-shadow: 0 6px 20px rgba(37, 211, 102, .7); }
.pa-whatsapp-icon { width: 28px; height: 28px; margin-left: 1px; color: white; }
@keyframes pa-whatsapp-pulse {
  0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .5); }
  70% { box-shadow: 0 0 0 10px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .pa-whatsapp-button { animation: none; }
  .pa-header-link, .pa-chat, .pa-menu-link, .pa-to-top, .pa-whatsapp-button { transition: none; }
}

/* Тёмная шапка (pa-header--dark, headerTheme = "dark") — на страницах со светлым фоном сверху: стоит в потоке
 * страницы, а не поверх первого раздела; текст, логотип и «бургер» тёмные, кнопки мессенджеров в полосе — тёмные
 * с белым значком; поля сверху и снизу — 20 px на всех ширинах. Меню на телефоне — как у светлой. Кнопка
 * «Наверх» — как была у этой шапки в Webflow: справа 32 px на всех ширинах и выше всего на странице. */
.pa-header--dark { position: static; z-index: auto; color: var(--pa-dark); }
@media (min-width: 1440px) { .pa-header--dark { overflow: visible; } }
@media (max-width: 991px) { .pa-header--dark { height: auto; } }
@media (max-width: 767px) { .pa-header--dark { padding: 20px 0; } }
.pa-header--dark .pa-header-link, .pa-header--dark .pa-header-logo-link { color: var(--pa-dark); }
.pa-header--dark .pa-header-link:hover { color: #5d5e62; }
.pa-header--dark .pa-header-contacts .pa-chat { background-color: var(--pa-dark); }
.pa-header--dark .pa-header-contacts .pa-chat:hover { background-color: #5d5e62; }
.pa-header--dark .pa-header-contacts .pa-chat-icon { color: white; }
.pa-header--dark .pa-menu-close { color: var(--pa-light); }
.pa-header--dark .pa-to-top { z-index: 99999999; }
@media (max-width: 767px) { .pa-header--dark .pa-to-top { right: 32px; } }

/* Кнопка «Записаться в группу» страницы тура (#fixed-button, site/tour.njk) видна только на телефоне —
 * правило жило во встроенном стиле старой шапки; на компьютере кнопка занимает место, но не видна. */
#fixed-button { visibility: hidden; }
@media (max-width: 767px) { #fixed-button { visibility: visible; } }

/* /assets/pa/popups.css */
/* Окна с формами заявок (site/_includes/pa/popups.njk): «Индивидуальный тур», «Куда хотите поехать»,
 * «Задать вопрос». Тёмная карточка по центру экрана на затемнённом фоне; значения — те же, что были у
 * прежней шапки Webflow. Открывает и закрывает assets/pa/popups.js (класс pa-popup-open). */
.pa-popup {
  position: fixed; inset: 0; display: none; justify-content: center; align-items: center;
  font-family: "Roboto Condensed", sans-serif; font-size: 16px; line-height: 20px;
}
.pa-popup.pa-popup-open { display: flex; }
.pa-popup-overlay { position: fixed; inset: 0; z-index: 1; background-color: #00000080; }
.pa-popup-close {
  position: absolute; top: 0; right: 0; z-index: 100; width: 40px; height: 40px; margin: 24px 24px 0 0; padding: 0;
  border: 0; background: none; color: #e1f641; cursor: pointer;
}
.pa-popup-close-icon { display: block; width: 100%; height: auto; }

/* Карточка: по вертикали — по центру окна, по горизонтали — 556 px по центру (на телефоне — с полями 16 px). */
.pa-popup-box {
  position: absolute; left: 0; right: 0; z-index: 1; width: 556px; margin: 0 auto; padding: 32px;
  border-radius: 6px; background-color: #27282b;
}
.pa-popup-box:focus { outline: none; }
.pa-popup--individual .pa-popup-box { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 24px; }
@media (max-width: 767px) { .pa-popup-box { width: auto; margin: 0 16px; padding: 16px; } }

.pa-popup-title { margin: 0; color: #e1f641; font-family: Bebasneue, Arial, sans-serif; font-size: 32px; font-weight: 700; line-height: 115%; }

.pa-popup-form { display: flex; flex-direction: column; flex: 0 auto; width: 100%; }
/* Поля: только нижняя салатовая линия. Телефон оформляет intl-tel-input (assets/pa/phone.css). */
.pa-popup-field {
  display: block; width: 100%; height: 61px; margin: 0 0 8px; padding: 20px 0;
  border: 0; border-bottom: 1px solid #e1f641; border-radius: 0; outline: 0;
  background-color: transparent; color: #e1f641;
  font-family: inherit; font-size: 14px; line-height: 130%; vertical-align: middle;
}
.pa-popup-field::placeholder { color: #e1f64180; }
.pa-popup-comment { height: auto; min-height: 61px; max-height: 61px; margin-bottom: 0; line-height: 1.42857; overflow: auto; }

.pa-popup-submit {
  display: inline-block; height: 48px; margin: 20px 0 12px; padding: 8px 12px; border: 0; border-radius: 6px;
  background-color: #e1f641; color: #27282b; font: inherit; line-height: inherit;
  appearance: button; cursor: pointer; transition: background-color .2s;
}
.pa-popup-submit:hover { background-color: #d4eb26; }

/* Согласие: квадратик и мелкий текст со ссылками; текст — строчный блок рядом с плавающим квадратиком,
 * как было у Webflow (от этого зависит высота строки). */
.pa-popup-consent { display: block; margin: 0 0 5px; padding-left: 20px; color: #e1f641; font-weight: 400; cursor: pointer; }
.pa-popup-consent-text { display: inline-block; font-size: 12px; }
.pa-popup-checkbox {
  float: left; width: 12px; height: 12px; margin: 4px 0 0 -20px; border: 1px solid #e1f641; border-radius: 2px;
  appearance: none; cursor: pointer;
}
.pa-popup-checkbox:checked {
  border-color: #3898ec;
  background: #3898ec url("/v/83f5fbb274/assets/cdn.prod.website-files.com/67e3d4a57de60de33068b63c/686cde71535ac6bbdb5478c1_action-icons1.svg") 50% / cover no-repeat;
}
.pa-popup-checkbox:focus-visible { outline: 0; box-shadow: 0 0 3px 1px #3898ec; }
.pa-popup-muted { opacity: .5; }
.pa-popup-consent a { color: #e1f641; }

/* Ответ после отправки (показывает site-enhancements.js). */
.pa-popup-done { display: none; padding: 20px; background-color: #ddd; text-align: center; }
.pa-popup-fail { display: none; margin-top: 10px; padding: 10px; background-color: #ffdede; }

@media (prefers-reduced-motion: reduce) { .pa-popup-submit { transition: none; } }

/* /assets/pa/phone.css */
/* Поле телефона во всех формах страницы (intl-tel-input, assets/pa/phone.js): флаг страны слева в поле,
 * список стран со строкой поиска. Подключается после intlTelInput.css и поправляет его под наши поля. */
.iti__country-container {
  position: absolute;
  top: 16px;
  bottom: 28px;
  background-color: transparent;
  padding: var(--iti-border-width);
  border-radius: 6px;
  font-family: Roboto Condensed, sans-serif;
}

.iti--inline-dropdown .iti__dropdown-content {
  position: absolute;
  z-index: 2;
  margin-top: 8px;
  margin-left: 0px;
  padding: 8px 8px 8px 8px;
  border: 0px;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
  max-width: 360px;
  font-family: Roboto Condensed, sans-serif;
}

.iti__search-input {
  width: 100%;
  border-width: 0;
  border-radius: 6px;
  height: 35px;
  padding-left: 10px;
  margin-bottom: 6px;
  border: solid 1px;
  border-color: #5D5E62;
  font-family: Roboto Condensed, sans-serif;
}

.iti {
  width: 100%;
}
.iti__dropdown-content {
  border-radius: 6px;
  padding: 4px;
}

.iti-0__dropdown-content {
  font-family: Roboto Condensed, sans-serif;
  border-radius: 6px;
  padding: 4px;
}

.iti-input.iti__tel-input {
  margin-bottom: 8px;
}

.iti input.iti__tel-input,
.iti input.iti__tel-input[type=text],
.iti input.iti__tel-input[type=tel] {
  position: relative;
  z-index: 0;
  margin-bottom: 8px !important;
}

/* /assets/fonts.css */
/* Шрифт Roboto Condensed (основной текст) лежит на нашем сервере, а не у Google: браузер посетителя
 * никуда не отправляет его адрес. Шрифт переменный — один файл на набор символов даёт и обычное (400),
 * и жирное (700) начертание. Лицензия SIL Open Font License. Скачан с fonts.gstatic.com (v31). */
/* cyrillic */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/v/b96fbbb3e9/assets/fonts/roboto-condensed-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/v/718ced55c5/assets/fonts/roboto-condensed-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/v/2683aec232/assets/fonts/roboto-condensed-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/v/a0116a788a/assets/fonts/roboto-condensed-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* /assets/pa/common.css */
/* Общие части сайта своей вёрсткой без Webflow (site/_includes/pa/*.njk): подвал, баннер, подписка,
 * партнёры, «Почему этот тур особенный». Здесь общее для них — цвета, ширина страницы, заголовок
 * раздела и салатовая кнопка; стили каждой части — site/assets/pa/<часть>.css. Классы — с приставкой
 * pa-, чтобы не пересекаться с CSS Webflow, который другие части страниц пока подключают.
 * Значения — те же, что были у Webflow: внешне страницы не изменились (scripts/compare-pages.mjs). */
:root {
  --pa-dark: #27282b;
  --pa-dark-hover: #5d5e62;
  --pa-light: #fff;
  --pa-grey: #f0f0f0;
  --pa-accent: #e1f641;
  --pa-accent-hover: #d4eb26;
  --pa-radius: 6px;
  --pa-font-head: Bebasneue, Arial, sans-serif;
  --pa-font-text: "Roboto Condensed", sans-serif;
}

/* Ширина содержимого и поля по краям — как .container Webflow. */
.pa-container { box-sizing: border-box; display: flex; flex-direction: column; margin: 0 auto; padding: 0 32px; }
@media (min-width: 1440px) { .pa-container { max-width: 1440px; padding: 0 50px; } }
@media (max-width: 991px) { .pa-container { padding: 0 24px; overflow: hidden; } }
@media (max-width: 767px) { .pa-container { padding: 0 16px; } }

/* Заголовок раздела. */
.pa-title { margin: 0; font-family: var(--pa-font-head); font-size: 72px; font-weight: 700; line-height: 105%; }
@media (max-width: 991px) { .pa-title { font-size: 48px; } }

/* Салатовая кнопка-ссылка со стрелкой, которая выезжает при наведении. */
.pa-accent-button {
  box-sizing: border-box; display: flex; justify-content: center; align-items: center; width: 100%; height: 50px; padding: 8px 12px;
  border-radius: var(--pa-radius); background-color: var(--pa-accent); color: var(--pa-dark);
  font-family: var(--pa-font-text); font-size: 16px; line-height: 130%; text-decoration: none; transition: background-color .2s;
}
.pa-accent-button:hover { background-color: var(--pa-accent-hover); }
.pa-button-mark { display: flex; width: 0; height: 16px; padding-left: 6px; overflow: hidden; transition: all .2s cubic-bezier(.645, .045, .355, 1); }
.pa-button-mark svg { width: 12px; }
.pa-accent-button:hover .pa-button-mark, .pa-accent-button:focus-visible .pa-button-mark { width: 18px; }
@media (prefers-reduced-motion: reduce) { .pa-accent-button, .pa-button-mark { transition: none; } }

/* /assets/home/home.css */
/* Главная страница (site/index.njk, разделы — site/_includes/home/): своя вёрстка без классов Webflow,
 * приставка hp-. Здесь общее для разделов — тёмная кнопка со стрелкой и плавная прокрутка к якорю
 * («Выбрать маршрут» → каталог); стили каждого раздела — site/assets/home/<раздел>.css. Ширина страницы —
 * .pa-container, салатовая кнопка — .pa-accent-button (assets/pa/common.css), теги — assets/base.css.
 * Значения — те же, что были у Webflow: внешне страница не изменилась (scripts/compare-pages.mjs). */
:root {
  --hp-dark: #27282b;
  --hp-dark-hover: #1c1d1f;
  --hp-light: #fafafa;
  --hp-grey: #f0f0f0;
  --hp-grey-dark: #e3e3e3;
  --hp-accent: #e1f641;
  --hp-lilac: #e3d7ff;
  --hp-radius: 6px;
  --hp-font-head: Bebasneue, Arial, sans-serif;
  --hp-font-text: "Roboto Condensed", sans-serif;
}

/* Ссылка на раздел этой же страницы листает плавно, как делал webflow.js. */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

/* Тёмная кнопка (ссылка, кнопка или подпись внутри ссылки-карточки) со стрелкой, которая выезжает при наведении. */
.hp-dark-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  height: 50px;
  margin: 0;
  padding: 8px 12px;
  border: 0;
  border-radius: var(--hp-radius);
  background-color: var(--hp-dark);
  color: var(--hp-accent);
  font: 16px/130% var(--hp-font-text);
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s;
}
.hp-dark-button:hover { background-color: var(--hp-dark-hover); }
.hp-dark-button--wish { color: var(--hp-lilac); }
.hp-button-mark { display: flex; width: 0; height: 16px; padding-left: 6px; overflow: hidden; transition: all .2s cubic-bezier(.645, .045, .355, 1); }
.hp-button-mark svg { flex: none; width: 12px; }
.hp-dark-button:hover .hp-button-mark, .hp-dark-button:focus-visible .hp-button-mark { width: 18px; }
@media (prefers-reduced-motion: reduce) { .hp-dark-button, .hp-button-mark { transition: none; } }

/* /assets/home/hero.css */
/* Главная, первый экран (site/_includes/home/hero.njk): фото во всю ширину под шапкой, заголовок, четыре
 * «стеклянные» цифры с зерном и подсказкой у второй, кнопка к каталогу. Размеры — те же, что были у Webflow. */
.hp-hero { margin-top: -130px; overflow: hidden; }
.hp-hero-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 40px;
  margin-top: 72px;
  padding-top: 73px;
  padding-bottom: 72px;
}
.hp-hero-heading { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 8px; margin-top: 145px; }
.hp-hero-title { color: var(--hp-accent); text-align: center; }
.hp-hero-text-wrap { width: 600px; }
.hp-hero-text { color: var(--hp-light); font-size: 22px; text-align: center; }
.hp-hero-content { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 40px; width: 100%; }
.hp-hero-button { width: 438px; }

/* Цифры: полупрозрачная карточка, под текстом — слой с зерном. */
.hp-stats { display: flex; gap: 8px; margin: 0; padding: 0; font-size: 16px; line-height: 20px; list-style: none; }
.hp-stat {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 195px;
  height: 120px;
  margin: 0;
  padding: 20px 16px;
  border-radius: var(--hp-radius);
  background: rgb(250 250 250 / 20%);
  box-shadow: 0 6px 16px 0 rgb(0 0 0 / 10%), 0 -1px 5.2px 0 rgb(0 0 0 / 25%) inset;
  backdrop-filter: blur(7.5px);
}
.hp-stat--hint { z-index: 2; }
.hp-stat-value { color: var(--hp-light); }
.hp-stat-caption { color: var(--hp-light); font-size: 16px; }
.hp-stat-grain {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .07;
  background: url("/v/e18141be04/assets/cdn.prod.website-files.com/67e3d4a57de60de33068b63c/67e64c059bba8c136e23c026_grain.webp") #fafafa33 0 0 / 100px 100px repeat;
  mix-blend-mode: screen;
  box-shadow: 0 6px 16px 0 rgb(0 0 0 / 10%), 0 -1px 5.2px 0 rgb(0 0 0 / 25%) inset;
  backdrop-filter: blur(7.5px);
}

/* Значок «i» в углу цифры; подсказка видна, пока на значок наведена мышь или на нём фокус. */
.hp-stat-info { position: absolute; inset: 0 0 auto auto; margin-top: 12px; margin-right: 12px; }
.hp-stat-hint { display: block; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.hp-stat-tooltip { position: absolute; display: none; border-radius: var(--hp-radius); background-color: var(--hp-light); }
.hp-stat-hint:hover + .hp-stat-tooltip, .hp-stat-hint:focus-visible + .hp-stat-tooltip { display: flex; }
.hp-stat-tooltip-text { font-size: 16px; }

/* Фото: во всю ширину экрана, закрывает место целиком (object-fit: cover) — по середине или в кадре,
 * выбранном в админке (eleventy/frames.js). */
.hp-hero-bg { position: absolute; top: 0; bottom: 0; left: calc(50% - 50vw); z-index: -1; width: 100vw; overflow: hidden; }
.hp-hero-photo { display: block; width: 100%; max-width: none; height: 100%; object-fit: cover; }

@media (min-width: 1440px) {
  .hp-hero-wrapper { gap: 56px; height: 900px; margin-left: auto; margin-right: auto; padding-top: 108px; }
  .hp-hero-heading { max-width: 100%; margin-top: 109px; }
  .hp-hero-text-wrap { width: 506px; }
  .hp-stat { width: 180px; }
  .hp-hero-content { gap: 48px; }
  .hp-hero-button { width: 430px; }
  .hp-stat-tooltip { width: 324px; margin-top: 4px; padding: 18px; }
}
@media (max-width: 991px) {
  .hp-hero-text { font-size: 18px; }
  .hp-hero-wrapper { gap: 32px; padding-top: 45px; padding-bottom: 64.5px; }
  .hp-hero-heading { width: 612px; }
  .hp-hero-text-wrap { width: auto; max-width: 449px; }
  .hp-stats { max-width: 658px; }
  .hp-stat { width: 159px; height: 96px; }
  .hp-hero-button { width: 318px; }
  .hp-stat-caption { font-size: 13px; }
}
@media (max-width: 767px) {
  .hp-hero-wrapper { margin-top: 64px; padding-top: 54px; padding-bottom: 72px; }
  .hp-hero-heading, .hp-hero-text-wrap { width: auto; }
  .hp-stats { display: grid; grid-template: auto auto / auto auto; grid-auto-columns: 1fr; align-items: start; width: 100%; max-width: none; }
  .hp-stat { width: 100%; min-width: 160px; max-width: none; }
  .hp-hero-content { gap: 32px; }
  .hp-hero-button { width: 100%; }
  .hp-stat-tooltip { margin-top: 8px; margin-left: -264px; padding: 12px; }
}
@media (max-width: 479px) {
  .hp-stats { place-items: start stretch; }
  .hp-stat { max-width: 219px; }
}

/* /assets/pa/advantages.css */
/* «Почему этот тур особенный» (site/_includes/pa/advantages.njk): четыре карточки со значком над вырезом,
 * за ними на компьютере — длинная линия-маршрут. На страницах туров на планшете карточки встают сеткой по
 * две, на главной и в «О нас» (.pa-advantages--site) — переносятся строками. Значения — как у Webflow. */
.pa-advantages { position: relative; margin-top: 120px; }
.pa-advantages-wrapper { display: flex; flex-direction: column; gap: 40px; height: 360px; }
.pa-advantages-title { text-align: center; }
.pa-advantages-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin: 0; padding: 0; list-style: none; }
.pa-advantages-card { display: flex; justify-content: flex-start; align-items: flex-start; gap: 23px; margin: 0; }
.pa-advantages--site .pa-advantages-card { display: block; }
.pa-advantages-item { height: 247px; }
.pa-advantages-icon { display: flex; justify-content: center; align-items: flex-start; width: 100%; margin-bottom: -15px; }
.pa-advantages-icon-img { display: inline-block; max-width: 100%; vertical-align: middle; border: 0; }
/* Верх карточки: два скруглённых угла и между ними вырез под значок. */
.pa-advantages-top { display: flex; justify-content: space-between; align-items: center; height: 26px; }
.pa-advantages-corner { width: 100%; height: 26px; background-color: var(--pa-grey); }
.pa-advantages-corner--left { border-top-left-radius: var(--pa-radius); }
.pa-advantages-corner--right { border-top-right-radius: var(--pa-radius); }
.pa-advantages-notch { width: 70px; min-width: 70px; min-height: 26px; color: var(--pa-grey); }
.pa-advantages-content {
  box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; align-items: center;
  min-width: 220px; max-width: 317px; min-height: 195px; padding: 22px 16px 16px;
  border-radius: 0 0 var(--pa-radius) var(--pa-radius); background-color: var(--pa-grey);
}
.pa-advantages-name { margin: 0; font-family: var(--pa-font-head); font-size: 32px; font-weight: 700; line-height: 115%; text-align: center; }
.pa-advantages-text { margin: 0; font-family: var(--pa-font-text); font-size: 16px; line-height: 130%; text-align: center; }
.pa-advantages-line {
  position: absolute; inset: 0 0 auto; z-index: -1; display: flex; justify-content: center; align-items: flex-start;
  margin: -327px auto 0; overflow: hidden;
}
.pa-advantages-line-img { display: inline-block; max-width: 100%; min-width: 2314px; vertical-align: middle; border: 0; }
@media (min-width: 1440px) {
  .pa-advantages-item { min-width: 286px; max-width: 317px; height: 248px; }
  .pa-advantages-content { padding: 24px; }
  .pa-advantages-line { margin-top: -368px; }
  .pa-advantages-line-img { min-width: 2520px; }
}
@media (max-width: 991px) {
  .pa-advantages { margin-top: 80px; }
  .pa-advantages-wrapper { gap: 32px; height: auto; }
  .pa-advantages-row { display: grid; grid-template-rows: auto auto; grid-template-columns: 1fr 1fr; grid-auto-columns: 1fr; gap: 16px; }
  .pa-advantages--site .pa-advantages-row { display: flex; flex-wrap: wrap; gap: 20px; }
  .pa-advantages--site .pa-advantages-card { flex: 1; }
  .pa-advantages-item { flex: 1; min-width: 290px; max-width: 452px; height: 246px; }
  .pa-advantages-content { min-width: 320px; max-width: 452px; padding: 24px; }
  .pa-advantages-head { max-width: 320px; }
  .pa-advantages-line { display: none; }
}
@media (max-width: 767px) {
  .pa-advantages { margin-top: 120px; }
  .pa-advantages-wrapper { width: 100%; }
  .pa-advantages-row { grid-template-columns: 1fr; }
  .pa-advantages--site .pa-advantages-row { flex-direction: column; }
  .pa-advantages-card { width: 100%; }
  .pa-advantages-item, .pa-advantages-content { width: 100%; min-width: 0; max-width: none; }
  .pa-advantages-text-wrap { max-width: 320px; }
}
@media (max-width: 479px) {
  .pa-advantages { margin-top: 90px; }
}

/* /assets/home/catalog.css */
/* Главная, «Каталог туров» (site/_includes/home/catalog.njk, карточка — home/tour-card.njk): сетка в три
 * колонки (до 991 px — в две, до 767 px — одна под другой), карточки туров и две карточки-заявки. При
 * наведении и фокусе карточка приподнимается, фото тура чуть увеличивается. Размеры — те же, что были у Webflow. */
.hp-catalog { margin-top: 180px; }
.hp-catalog-wrapper { display: flex; flex-direction: column; gap: 40px; }
.hp-catalog-grid {
  display: grid;
  grid-template: minmax(574px, 1fr) auto / 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  gap: 24px;
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 20px;
  list-style: none;
}

.hp-card {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  margin: 0;
  border-radius: 8px;
  transition: transform 280ms ease, box-shadow 280ms ease;
}
.hp-card:hover, .hp-card:focus-within {
  z-index: 2;
  transform: translateY(-7px) scale(1.015);
  outline: 2px solid rgb(208 119 50 / 48%);
  outline-offset: 2px;
  box-shadow: 0 16px 34px rgb(18 43 48 / 22%);
}
.hp-card-link { display: flex; flex-direction: column; flex: 1; max-width: 100%; text-decoration: none; }
.hp-card-pic {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 251px;
  overflow: hidden;
  border-top-left-radius: var(--hp-radius);
  border-top-right-radius: var(--hp-radius);
}
.hp-card-photo { flex: 1; height: 251px; object-fit: cover; transition: transform 500ms cubic-bezier(.2, .7, .2, 1); }
.hp-card:focus-within .hp-card-photo { transform: scale(1.055); }
.hp-card:hover .hp-card-photo { transform: scale(1.05); }
.hp-card-tag {
  position: absolute;
  inset: 0 0 auto auto;
  margin-top: 18px;
  margin-right: 18px;
  padding: 4px 12px;
  border-radius: var(--hp-radius);
  background-color: var(--hp-light);
  text-transform: uppercase;
}
.hp-card-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: space-between;
  align-items: flex-start;
  padding: 16px;
  border-bottom-left-radius: var(--hp-radius);
  border-bottom-right-radius: var(--hp-radius);
  background-color: var(--hp-grey);
}
.hp-card-top { display: flex; flex-direction: column; gap: 8px; }
.hp-card-head { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; }
.hp-card-dates { display: flex; flex-wrap: wrap; gap: 2px; }
.hp-card-date { padding: 6px 12px; border-radius: var(--hp-radius); background-color: var(--hp-grey-dark); }
.hp-card-description { margin-top: 8px; }
.hp-card-text {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  font-size: 16px;
  opacity: .7;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.hp-card-bottom { display: flex; flex-direction: column; gap: 16px; width: 100%; margin-top: 21px; }
.hp-card-price-row { display: flex; justify-content: flex-start; align-items: center; gap: 8px; }
.hp-card-old-price, .hp-card-amount { font-family: var(--hp-font-head); line-height: 115%; }
.hp-card-old-price { text-decoration: line-through; }
.hp-card-amount { font-weight: 700; }
.hp-card-muted { opacity: .5; }

/* Карточки-заявки: салатовая «Индивидуальный тур» и сиреневая «Страна мечты». */
.hp-offer {
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  gap: 40px;
  min-height: 572px;
  padding: 16px;
  border-radius: var(--hp-radius);
  background-color: var(--hp-accent);
}
.hp-offer--wish { background-color: var(--hp-lilac); }
.hp-offer-body { display: flex; flex-direction: column; flex: 1; justify-content: space-between; align-items: flex-start; }
.hp-offer-text { font-size: 16px; }

@media (prefers-reduced-motion: reduce) {
  .hp-card, .hp-card-photo { transition: none !important; }
}
@media (max-width: 991px) {
  .hp-catalog { margin-top: 80px; }
  .hp-catalog-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
  .hp-catalog-grid { display: flex; flex-direction: column; }
  .hp-card { min-height: 577px; }
  .hp-card--offer { min-height: 300px; }
  .hp-offer { min-height: 300px; max-height: 300px; }
}

/* /assets/ribbon.css */
/* Лента карточек на обычной прокрутке браузера (assets/ribbon.js) — общая для сайта: «Что вас ждёт» и
 * «Проживание» на странице тура, «Отзывы» и фото в отзыве. .pa-ribbon — окно с прокруткой вбок без видимой
 * полосы, в нём дорожка .pa-ribbon-track; .pa-ribbon-button — круглая стрелка. Размеры карточек и
 * промежутки задаёт раздел.
 * .pa-ribbon--bleed — лента до краёв экрана с обеих сторон, а карточки встают по полю содержимого: окно
 * стоит в блоке содержимого, отцентрованном на странице (.tp-container, контейнер отзывов), и выходит из
 * него до краёв экрана, а поле окна возвращает карточки к полю содержимого. Лишнее за краями экрана
 * обрезает раздел (overflow: hidden) — так было у Webflow: Swiper без своих стилей ничего не обрезал. */
.pa-ribbon {
  position: relative; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain;
  scrollbar-width: none; cursor: grab; -webkit-user-select: none; user-select: none;
}
.pa-ribbon::-webkit-scrollbar { display: none; }
.pa-ribbon-dragging { cursor: grabbing; }
.pa-ribbon-track { display: flex; margin: 0; padding: 0; list-style: none; }
.pa-ribbon-track > * { flex: none; margin: 0; }
.pa-ribbon img { -webkit-user-drag: none; }
.pa-ribbon--bleed { margin-inline: calc(50% - 50vw); padding-inline: calc(50vw - 50%); }
.pa-ribbon--bleed > .pa-ribbon-track { width: max-content; }
/* Бесконечная лента вначале: копии слева не видны, поле пустое (ribbon.js снимает класс, когда лента сдвинулась). */
.pa-ribbon-fresh [data-ribbon-before] { visibility: hidden; }

/* Круглая стрелка: светлый акцент, тёмная стрелка; «вперёд» — та же стрелка, повёрнутая. */
.pa-ribbon-button {
  box-sizing: border-box; display: flex; justify-content: center; align-items: center; width: 58px; height: 58px; padding: 9px;
  border: 0; border-radius: 100px; background-color: #e1f641; color: #27282b; cursor: pointer;
  transition: background-color .2s;
}
.pa-ribbon-button:hover { background-color: #d4eb26; }
.pa-ribbon-button svg { width: 24px; height: 24px; }
.pa-ribbon-button-next svg { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .pa-ribbon-button { transition: none; } }

/* /assets/reviews.css */
/* Блок «Отзывы» (site/_includes/reviews.njk) — общий для главной, «О нас» и страниц туров: своя вёрстка без
 * классов Webflow, всё нужное блоку — здесь (лента и круглые стрелки — assets/ribbon.css). Размеры, отступы и
 * цвета — те же, что были у Webflow: внешне блок не изменился (scripts/compare-pages.mjs). */
.pa-reviews {
  margin-top: 180px; overflow: hidden;
  color: #27282b; font-family: "Roboto Condensed", sans-serif; font-size: 16px; line-height: 20px;
}
.pa-reviews *, .pa-reviews *::before, .pa-reviews *::after { box-sizing: border-box; }

/* Ширина содержимого: до 1280 px (с 1440 px экрана — до 1440), поля 32 px, на планшете 24, на телефоне 16. */
.pa-reviews-container {
  display: flex; flex-direction: column; gap: 40px;
  width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 32px;
}
.pa-reviews-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.pa-reviews-head h2 { margin: 0; font-family: Bebasneue, Arial, sans-serif; font-size: 72px; font-weight: 700; line-height: 105%; }
.pa-reviews-nav { display: flex; gap: 12px; }

/* Кнопка «Оставить отзыв» справа от заголовка и стрелок (reviewsWrite — страницы отзывов): тёмная, стрелка
 * выезжает при наведении; до 767 px кнопки нет — как было у Webflow. */
.pa-reviews-title { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.pa-reviews-title .pa-reviews-head { width: 100%; }
.pa-reviews-write-wrap { width: 205px; padding-bottom: 18px; }
.pa-reviews-write {
  display: flex; justify-content: center; align-items: center; width: 100%; height: 50px; padding: 8px 12px;
  border: 0; border-radius: 6px; background-color: #27282b; color: #e1f641;
  font: inherit; font-size: 16px; line-height: 130%; cursor: pointer; transition: background-color .2s;
}
.pa-reviews-write:hover { background-color: #1c1d1f; }
.pa-reviews-write-mark { display: flex; width: 0; height: 16px; padding-left: 6px; overflow: hidden; transition: all .2s cubic-bezier(.645, .045, .355, 1); }
.pa-reviews-write-mark svg { flex: none; width: 12px; }
.pa-reviews-write:hover .pa-reviews-write-mark, .pa-reviews-write:focus-visible .pa-reviews-write-mark { width: 18px; }
/* На телефоне кнопка «Оставить отзыв» — под заголовком во всю ширину. */
@media (max-width: 767px) {
  .pa-reviews-title { flex-direction: column; align-items: stretch; gap: 16px; }
  .pa-reviews-write-wrap { width: 100%; padding-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) { .pa-reviews-write, .pa-reviews-write-mark { transition: none; } }

/* Лента карточек: до краёв экрана, карточка встаёт по полю содержимого; все карточки — по высоте самой высокой. */
.pa-reviews-list { gap: 24px; font-size: 16px; line-height: 20px; } /* у списков и абзацев Webflow свои размеры */
.pa-reviews-card {
  display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start;
  width: 504px; min-height: 469px; padding: 16px; border-radius: 6px; background-color: #f0f0f0;
}
.pa-reviews-top { align-self: stretch; }
.pa-reviews-user { display: flex; gap: 12px; margin-bottom: 16px; }
.pa-reviews-avatar {
  flex: none; width: 58px; height: 58px; border-radius: 58px;
  background: url("/v/9e608f28fc/assets/cdn.prod.website-files.com/67e3d4a57de60de33068b63c/67f78345d6b5da87c7982771_avatar.svg") 50% / cover;
}
.pa-reviews-name { margin: 0; font-family: Bebasneue, Arial, sans-serif; font-size: 32px; font-weight: 700; line-height: 115%; }
.pa-reviews-date { margin: 0; font-size: 16px; line-height: 130%; opacity: .5; }

/* Оценка: закрашенные звёзды — pa-reviews-star--on (шаблон), остальные серые. */
.pa-reviews-star { width: 24px; height: 24px; overflow: hidden; color: #e3e3e3; }
.pa-reviews-star--on { color: #ffc300; }

/* Текст отзыва: 11 строк (с фото — 6), остальное — по «Читать полностью» (assets/reviews.js). */
.pa-reviews-body { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 4px; margin-top: 16px; }
.pa-reviews-text {
  display: -webkit-box; margin: 0; overflow: hidden; font-size: 16px; line-height: 130%;
  -webkit-box-orient: vertical; -webkit-line-clamp: 11; line-clamp: 11;
}
.pa-reviews-text--photos { -webkit-line-clamp: 6; line-clamp: 6; }
.pa-reviews-text--open { -webkit-line-clamp: unset; line-clamp: none; }
.pa-reviews-more {
  display: block; margin: 0; padding: 0; border: 0; background: none; color: inherit;
  font: inherit; line-height: 20px; text-align: left; opacity: .5; cursor: pointer;
}
.pa-reviews-more[hidden] { display: none; }

/* Фото к отзыву — своя лента внутри карточки; у края она передаёт прокрутку ленте отзывов. */
.pa-reviews-gallery { margin-top: 16px; overscroll-behavior-x: auto; }
.pa-reviews-photos { gap: 8px; }
.pa-reviews-photo-link { display: block; }
.pa-reviews-photo { display: block; width: 88px; height: 88px; border-radius: 6px; object-fit: cover; }

.pa-reviews-yandex {
  display: inline-flex; align-self: flex-start; align-items: center; gap: 4px; margin-top: 32px; padding: 6px 12px;
  border-radius: 6px; background-color: #e3e3e3; color: #27282b; text-decoration: none;
}
.pa-reviews-yandex svg { display: block; width: 18px; height: 18px; color: #fc401d; }
.pa-reviews-yandex span { line-height: 130%; }

@media (min-width: 1440px) {
  .pa-reviews-container { max-width: 1440px; padding: 0 50px; }
}
@media (max-width: 991px) {
  .pa-reviews { margin-top: 80px; }
  .pa-reviews-container { max-width: none; gap: 32px; padding: 0 24px; overflow: hidden; }
  .pa-reviews-head h2 { font-size: 48px; }
  .pa-reviews-nav { display: none; }
  .pa-reviews-list { gap: 16px; }
  .pa-reviews-card { width: 320px; }
}
@media (max-width: 767px) {
  .pa-reviews { margin-top: 140px; }
  .pa-reviews-container { padding: 0 16px; }
  .pa-reviews-card { width: 284px; }
}
@media (max-width: 479px) {
  .pa-reviews-card { width: 304px; }
}

/* Окно «Оставьте свой отзыв» поверх затемнённой страницы (открывает assets/reviews.js). */
.pa-review-popup { position: fixed; inset: 0; z-index: 99; display: flex; justify-content: center; align-items: center; }
.pa-review-popup[hidden] { display: none; }
.pa-review-popup:focus { outline: 0; }
html.pa-review-popup-open body { overflow: hidden; }
.pa-review-popup-overlay { position: absolute; inset: 0; background-color: rgba(0, 0, 0, .5); }
.pa-review-popup-close {
  position: absolute; top: 24px; right: 24px; z-index: 100; width: 40px; height: 40px; padding: 0;
  border: 0; background: none; color: #fafafa; cursor: pointer;
}
.pa-review-popup-close svg { display: block; width: 40px; height: 40px; }
.pa-review-popup-box {
  position: absolute; z-index: 1; width: 464px; margin: auto; padding: 32px;
  border-radius: 6px; background-color: #fafafa;
}
.pa-review-popup-title { margin: 0; font-family: Bebasneue, Arial, sans-serif; font-size: 32px; font-weight: 700; line-height: 115%; }
.pa-review-form-head { display: flex; flex-direction: column; gap: 8px; }

/* Звёзды оценки: справа налево, чтобы «эта и все левее» закрашивались через ~ без скрипта. */
.pa-review-rating { align-self: flex-start; height: 32px; margin-bottom: 20px; direction: rtl; }
.pa-review-rating-input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.pa-review-rating-star {
  display: inline-block; width: 32px; height: 32px; margin-bottom: 5px; cursor: pointer;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23cccccc'%3E%3Cpath d='M12.0023 17.2698L16.1523 19.7798C16.9123 20.2398 17.8423 19.5598 17.6423 18.6998L16.5423 13.9798L20.2123 10.7998C20.8823 10.2198 20.5223 9.11977 19.6423 9.04977L14.8123 8.63977L12.9223 4.17977C12.5823 3.36977 11.4223 3.36977 11.0823 4.17977L9.19227 8.62977L4.36227 9.03977C3.48227 9.10977 3.12227 10.2098 3.79227 10.7898L7.46227 13.9698L6.36227 18.6898C6.16227 19.5498 7.09227 20.2298 7.85227 19.7698L12.0023 17.2698Z'/%3E%3C/svg%3E") 0 0 / contain no-repeat;
}
.pa-review-rating-input:checked ~ .pa-review-rating-star,
.pa-review-rating-star:hover,
.pa-review-rating-star:hover ~ .pa-review-rating-star {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FFD700'%3E%3Cpath d='M12.0023 17.2698L16.1523 19.7798C16.9123 20.2398 17.8423 19.5598 17.6423 18.6998L16.5423 13.9798L20.2123 10.7998C20.8823 10.2198 20.5223 9.11977 19.6423 9.04977L14.8123 8.63977L12.9223 4.17977C12.5823 3.36977 11.4223 3.36977 11.0823 4.17977L9.19227 8.62977L4.36227 9.03977C3.48227 9.10977 3.12227 10.2098 3.79227 10.7898L7.46227 13.9698L6.36227 18.6898C6.16227 19.5498 7.09227 20.2298 7.85227 19.7698L12.0023 17.2698Z'/%3E%3C/svg%3E");
}
.pa-review-rating-input:focus-visible + .pa-review-rating-star { outline: 2px solid #27282b; outline-offset: 2px; }

.pa-review-field {
  display: block; width: 100%; height: 61px; margin: 0 0 8px; padding: 20px 0;
  border: 0; border-bottom: 1px solid #27282b; border-radius: 0; background-color: transparent;
  color: #27282b; font: inherit; line-height: 130%; vertical-align: middle;
}
.pa-review-field:focus { border-bottom-color: #5d5e62; outline: 0; }
.pa-review-field::placeholder { color: #999; }
.pa-review-field--text { height: auto; min-height: 120px; margin-bottom: 0; color: #333; }
.pa-review-field--text:focus-visible { border-bottom-color: #e1f641; color: #27282b; }
.pa-review-field--text::placeholder { color: #27282b80; }
.pa-review-submit {
  display: block; width: 100%; height: 48px; margin: 20px 0 12px; padding: 8px 12px;
  border: 0; border-radius: 6px; background-color: #27282b; color: #e1f641;
  font: inherit; line-height: 130%; cursor: pointer; transition: background-color .2s; -webkit-appearance: button; appearance: button;
}
.pa-review-submit:hover { background-color: #1c1d1f; }

/* Галочка согласия: настоящий флажок невидим, рисуем свой квадрат. */
.pa-review-consent { display: block; margin: 24px 0 5px; padding-left: 20px; }
.pa-review-consent-input { position: absolute; z-index: -1; opacity: 0; }
.pa-review-consent-box {
  float: left; width: 12px; height: 12px; margin: 4px 0 0 -20px;
  border: 1px solid #1c1d1f; border-radius: 2px; line-height: normal;
}
.pa-review-consent-input:checked + .pa-review-consent-box {
  background: #3898ec url("/v/83f5fbb274/assets/cdn.prod.website-files.com/67e3d4a57de60de33068b63c/686cde71535ac6bbdb5478c1_action-icons1.svg") 50% / cover no-repeat;
}
.pa-review-consent-input:focus-visible + .pa-review-consent-box { box-shadow: 0 0 3px 1px #3898ec; }
.pa-review-consent-text { display: inline-block; color: #1c1d1f; font-size: 12px; font-weight: 400; cursor: pointer; }
.pa-review-consent-muted { opacity: .5; }
.pa-review-consent-link { color: #1c1d1f; }

/* «Спасибо» и «не удалось» — показывает site-enhancements.js вместо формы. */
.pa-review-done { display: none; }
.pa-review-done p { margin: 0; font-size: 16px; line-height: 130%; }
.pa-review-fail { display: none; margin-top: 10px; padding: 10px; background-color: #ffdede; }

@media (max-width: 479px) {
  .pa-review-popup-box { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .pa-review-submit { transition: none; }
}

/* /assets/pa/banner.css */
/* Баннер «telegram-канал о путешествиях» (site/_includes/pa/banner.njk): фото во всю ширину, текст и
 * кнопка «Подписаться» внизу слева. Значения — те же, что были у Webflow. */
.pa-banner { margin-top: 180px; }
.pa-banner-wrapper {
  box-sizing: border-box; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 48px;
  height: 540px; padding: 28px; border-radius: var(--pa-radius);
  background: url("/v/534c4af67b/assets/cdn.prod.website-files.com/67e3d4a57de60de33068b63c/67ee304593e0d1ee4c7aefc7_banner.webp") 50% 100% / cover;
}
.pa-banner-texts { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 6px; width: 893px; }
.pa-banner-title, .pa-banner-text { color: var(--pa-accent); }
.pa-banner-lead { width: 572px; }
.pa-banner-text { margin: 0; font-family: var(--pa-font-text); font-size: 22px; line-height: 130%; }
.pa-banner-action { width: 359px; }
@media (max-width: 991px) {
  .pa-banner { margin-top: 100px; }
  .pa-banner-wrapper { gap: 40px; height: 400px; padding: 16px; background-position: 50% 0; background-repeat: no-repeat; }
  .pa-banner-texts { width: auto; }
  .pa-banner-text { font-size: 18px; }
  .pa-banner-action { width: 100%; }
}
@media (max-width: 767px) {
  .pa-banner-wrapper { height: 635px; }
  .pa-banner-lead { width: auto; }
}
@media (max-width: 479px) {
  .pa-banner-wrapper { background-position: 50% 100%; }
  .pa-banner-head { max-width: 271px; }
}

/* /assets/home/about.css */
/* Главная, блок о компании (site/_includes/home/about.njk): слева заголовок, текст и кнопка, справа фото;
 * до 767 px — одно под другим, кнопка — под фото. Размеры — те же, что были у Webflow. */
.hp-about { margin-top: 120px; }
.hp-about-wrapper { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.hp-about-content { display: flex; flex-direction: column; gap: 48px; width: 596px; min-width: 351px; }
.hp-about-texts { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 24px; }
.hp-about-text { max-width: 528px; }
.hp-about-p { font-size: 16px; }
.hp-about-button { width: 303px; }
.hp-about-pic { min-width: 400px; overflow: hidden; }
.hp-about-photo {
  display: inline-block;
  min-width: 400px;
  max-width: 100%;
  height: auto;
  min-height: 457px;
  max-height: 490px;
  border-radius: var(--hp-radius);
  object-fit: cover;
}
.hp-about-button-mobile { display: none; }

@media (min-width: 1440px) {
  .hp-about-content { width: auto; }
  .hp-about-photo { height: 457px; }
  .hp-about-texts { width: 658px; min-width: 400px; }
}
@media (max-width: 991px) {
  .hp-about { margin-top: 80px; }
  .hp-about-content { justify-content: space-between; align-items: flex-start; height: 349px; }
  .hp-about-pic { min-width: 320px; border-radius: var(--hp-radius); }
  .hp-about-photo { width: 100%; min-width: 0; height: 490px; min-height: 349px; }
  .hp-about-texts { gap: 16px; }
  .hp-about-text { width: auto; }
  .hp-about-button { width: 100%; }
}
@media (max-width: 767px) {
  .hp-about-wrapper { flex-wrap: wrap; gap: 32px; }
  .hp-about-content { gap: 32px; width: auto; height: auto; }
  .hp-about-pic { width: 100%; }
  .hp-about-photo { width: 100%; min-width: 0; height: auto; }
  .hp-about-text { max-width: none; }
  .hp-about-button { display: none; }
  .hp-about-button-mobile { display: flex; width: 100%; }
}
@media (max-width: 479px) {
  .hp-about-content, .hp-about-pic { min-width: 0; }
}

/* /assets/home/booking.css */
/* Главная, «Как забронировать» (site/_includes/home/booking.njk): заголовок на две колонки и пять шагов
 * сеткой в четыре колонки (до 991 px — в три, до 767 px — в две, до 479 px — одна под другой); перед
 * последним шагом — анимированная картинка. Размеры и места в сетке — те же, что были у Webflow. */
.hp-booking { margin-top: 180px; }
.hp-booking-grid {
  display: grid;
  grid-template: auto auto / 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  gap: 24px;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 20px;
  list-style: none;
}
.hp-booking-item { display: flex; justify-content: flex-start; align-items: flex-start; gap: 23px; margin: 0; }
.hp-booking-item--head { grid-area: 1 / 1 / 2 / 3; }
.hp-booking-item--row2 { grid-area: 2 / 1 / 3 / 2; }
.hp-booking-heading { width: 596px; }
.hp-booking-title { width: 392px; }
.hp-booking-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  min-width: 180px;
  max-width: 317px;
  min-height: 230px;
  padding: 18px;
  border-radius: var(--hp-radius);
  background-color: var(--hp-grey);
}
.hp-booking-card--dark { background-color: var(--hp-dark); }
.hp-booking-card--picture { padding: 0; background-color: transparent; }
.hp-booking-card-title { display: flex; justify-content: space-between; align-items: flex-start; width: 100%; }
.hp-booking-card--dark .hp-booking-card-title, .hp-booking-card--dark .hp-booking-text { color: var(--hp-accent); }
.hp-booking-number { font-family: var(--hp-font-head); font-size: 32px; font-weight: 700; line-height: 115%; opacity: .3; }
.hp-booking-text { font-size: 16px; }
.hp-booking-gif { width: 100%; min-width: 180px; max-width: 317px; max-height: 230px; }

@media (min-width: 1440px) {
  .hp-booking-gif { min-height: 230px; }
}
@media (max-width: 991px) {
  .hp-booking { margin-top: 80px; }
  .hp-booking-grid { grid-template-columns: 1fr 1fr 1fr; }
  .hp-booking-item--head { grid-area: 1 / 1 / 2 / 4; }
  .hp-booking-item--row2 { grid-area: auto; }
  .hp-booking-card { min-height: 260px; }
}
@media (max-width: 767px) {
  .hp-booking-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .hp-booking-item { width: 100%; }
  .hp-booking-item--head { grid-column-end: 3; }
  .hp-booking-heading { display: flex; justify-content: center; align-items: flex-start; }
  .hp-booking-title { width: auto; }
  .hp-booking-card { max-width: 370px; }
  .hp-booking-card--picture { justify-content: center; align-items: center; }
}
@media (max-width: 479px) {
  .hp-booking { margin-top: 140px; }
  .hp-booking-grid { display: flex; flex-direction: column; }
  .hp-booking-heading { justify-content: flex-start; }
  .hp-booking-card { width: 100%; max-width: none; height: 212px; min-height: 212px; }
}

/* /assets/home/faq.css */
/* Главная, «Вы часто спрашиваете» (site/_includes/home/faq.njk): две колонки вопросов (до 991 px — одна под
 * другой). Ответ раскрывается плавно там, где браузер это умеет (::details-content), в остальных — сразу,
 * крестик поворачивается — как анимация Webflow. Размеры и отступы — те же, что были у Webflow. */
.hp-faq { margin-top: 180px; padding-bottom: 80px; }
.hp-faq-wrapper { display: flex; flex-direction: column; gap: 40px; }
.hp-faq-columns { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.hp-faq-column { display: flex; flex-direction: column; gap: 8px; width: 100%; min-width: 380px; max-width: 676px; }
.hp-faq-item { border-radius: var(--hp-radius); background-color: var(--hp-grey); interpolate-size: allow-keywords; }
.hp-faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 24px; list-style: none; cursor: pointer; }
.hp-faq-item summary::-webkit-details-marker { display: none; }
.hp-faq-question { font-family: var(--hp-font-text); font-size: 22px; line-height: 130%; }
.hp-faq-icon { display: flex; align-self: flex-start; justify-content: center; align-items: center; width: 2rem; transition: transform .4s ease; }
.hp-faq-item[open] .hp-faq-icon { transform: rotate(45deg); }
.hp-faq-item::details-content { content-visibility: visible; block-size: 0; overflow: hidden; visibility: hidden; transition: block-size .4s ease, visibility .4s; }
.hp-faq-item[open]::details-content { block-size: auto; visibility: visible; }
.hp-faq-answer { display: flex; flex-direction: column; gap: 12px; margin: 0 24px; padding-bottom: 24px; }
.hp-faq-p { font-size: 16px; }
.hp-faq-list { margin-bottom: 0; font-size: 16px; line-height: 130%; list-style-type: decimal; }
.hp-faq-li { margin-bottom: 8px; }
@media (prefers-reduced-motion: reduce) {
  .hp-faq-icon, .hp-faq-item::details-content { transition: none; }
}

@media (max-width: 991px) {
  .hp-faq { margin-top: 80px; }
  .hp-faq-wrapper { gap: 32px; }
  .hp-faq-columns { flex-direction: column; gap: 8px; }
  .hp-faq-column { min-width: 340px; max-width: none; }
  .hp-faq-item summary { padding: 16px; }
  .hp-faq-question { font-size: 18px; }
  .hp-faq-answer { margin: 0 16px; padding-bottom: 16px; }
}
@media (max-width: 767px) {
  .hp-faq-column { width: auto; min-width: 0; }
  .hp-faq-icon { width: 1.75rem; }
}
@media (max-width: 479px) {
  .hp-faq-column { width: 100%; }
}

/* /assets/pa/subscribe.css */
/* Подписка на рассылку (site/_includes/pa/subscribe.njk): тёмная карточка с формой и фото с логотипом.
 * Значения — те же, что были у Webflow. */
.pa-subscribe { margin-top: 70px; }
.pa-subscribe-wrap { display: flex; justify-content: flex-start; align-items: center; gap: 24px; }
.pa-subscribe-card {
  box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start;
  width: 544px; height: 553px; margin: 0; padding: 24px; border-radius: var(--pa-radius); background-color: var(--pa-dark);
}
.pa-subscribe-title { color: var(--pa-accent); }

/* Поле почты и кнопка-стрелка — в одной строке, галочка согласия — под ними. */
.pa-subscribe-fields { display: flex; flex-wrap: wrap; width: 100%; margin: 0; }
.pa-subscribe-email {
  box-sizing: border-box; display: block; flex: 1 1 0; width: auto; min-width: 0; height: 61px; margin: 0 0 8px; padding: 20px 0;
  border: 0; border-bottom: 1px solid var(--pa-accent); border-radius: 0; background-color: transparent; color: var(--pa-accent);
  font-family: var(--pa-font-text); font-size: 22px; line-height: 130%; vertical-align: middle;
}
.pa-subscribe-email:focus { outline: 0; }
.pa-subscribe-email::placeholder { color: #e1f64180; }
.pa-subscribe-submit {
  box-sizing: border-box; display: inline-block; height: 61px; margin: 0; padding: 9px 15px; border: 0; border-bottom: 1px solid var(--pa-accent);
  border-radius: 0; color: var(--pa-light); font-family: var(--pa-font-text); font-size: 16px; line-height: 20px; appearance: button; cursor: pointer;
  background: transparent url("/v/b0b78558d0/assets/cdn.prod.website-files.com/67e3d4a57de60de33068b63c/67e5550e6e9228850c50c5ba_action-icons.svg") 100% / 20px 20px no-repeat;
}
.pa-subscribe-submit:hover { background-image: url("/v/eb4a73d1ad/assets/cdn.prod.website-files.com/67e3d4a57de60de33068b63c/67e64241e7ba47623f452fd9_action-icons-hover.svg"); }

/* Согласие: квадратик и мелкий текст со ссылкой; квадратик — плавающий, как было у Webflow. */
.pa-subscribe-consent {
  display: block; flex: 0 0 100%; width: 100%; margin: 12px 0 5px; padding-left: 20px; box-sizing: border-box;
  font-family: var(--pa-font-text); font-size: 16px; font-weight: 400; line-height: 20px; cursor: pointer;
}
.pa-subscribe-checkbox {
  box-sizing: border-box; float: left; width: 12px; height: 12px; margin: 4px 0 0 -20px; padding: 0;
  border: 1px solid var(--pa-accent); border-radius: 2px; background-color: transparent; appearance: none; cursor: pointer;
}
.pa-subscribe-checkbox:checked {
  border-color: #3898ec;
  background: #3898ec url("/v/83f5fbb274/assets/cdn.prod.website-files.com/67e3d4a57de60de33068b63c/686cde71535ac6bbdb5478c1_action-icons1.svg") 50% / cover no-repeat;
}
.pa-subscribe-checkbox:focus-visible { outline: 0; box-shadow: 0 0 3px 1px #3898ec; }
.pa-subscribe-consent-text { display: inline-block; color: var(--pa-accent); font-size: 12px; }
.pa-subscribe-muted { opacity: .5; }
.pa-subscribe-consent a { color: var(--pa-accent); }

/* Ответ после отправки (показывает site-enhancements.js). */
.pa-subscribe-done { display: none; box-sizing: border-box; padding: 20px; background-color: #ddd; text-align: center; }
.pa-subscribe-fail { display: none; box-sizing: border-box; margin-top: 10px; padding: 10px; background-color: #ffdede; }

.pa-subscribe-pic {
  display: flex; justify-content: center; align-items: center; width: 100%; height: 553px; border-radius: var(--pa-radius);
  background: url("/v/714c4830f0/assets/cdn.prod.website-files.com/67e3d4a57de60de33068b63c/67e555fea8dfa98e5e6cf47f_imagesub.webp") 50% / cover no-repeat;
}
.pa-subscribe-logo { width: 175px; height: 234px; color: var(--pa-accent); }

@media (max-width: 991px) {
  .pa-subscribe { margin-top: 80px; }
  .pa-subscribe-wrap { flex: 1; align-items: stretch; gap: 20px; }
  .pa-subscribe-card { width: auto; min-width: 328px; max-width: 544px; height: 100%; }
  .pa-subscribe-pic { height: auto; min-height: 380px; }
  .pa-subscribe-logo { width: 138px; height: 172px; }
}
@media (max-width: 767px) {
  .pa-subscribe-wrap { flex-wrap: wrap; width: auto; }
  .pa-subscribe-form { width: 100%; min-width: 280px; }
  .pa-subscribe-card { min-width: 0; max-width: none; }
  .pa-subscribe-pic { min-width: 240px; max-width: none; height: 332px; min-height: 0; }
}
@media (max-width: 479px) {
  .pa-subscribe-form { min-width: 240px; }
}

/* /assets/pa/partners.css */
/* «Наши партнеры» (site/_includes/pa/partners.njk): серые карточки с логотипами, при наведении — в
 * цвете. Значения — те же, что были у Webflow. */
.pa-partners { padding-top: 190px; }
.pa-partners-wrapper { display: flex; flex-direction: column; gap: 32px; }
.pa-partners-title { text-align: center; }
.pa-partners-cards { display: flex; justify-content: center; align-items: flex-start; gap: 24px; }
.pa-partners-card {
  box-sizing: border-box; display: flex; justify-content: center; align-items: center; width: 431px; max-width: 100%; height: 294px;
  border-radius: var(--pa-radius); background-color: var(--pa-grey); filter: grayscale(); transition: filter .2s;
}
.pa-partners-card:hover, .pa-partners-card:focus-visible { filter: none; }
.pa-partners-logo { display: inline-block; max-width: 100%; vertical-align: middle; border: 0; }
@media (max-width: 991px) {
  .pa-partners { padding-top: 80px; }
  .pa-partners-cards { gap: 16px; }
  .pa-partners-card { width: 100%; height: 240px; padding-top: 16px; padding-bottom: 16px; }
  .pa-partners-logo { flex: 0 auto; align-self: stretch; }
}
@media (max-width: 767px) {
  .pa-partners-cards { flex-direction: column; }
  .pa-partners-logo { object-fit: cover; }
}
@media (max-width: 479px) {
  .pa-partners-card { padding: 16px 33px; }
}
@media (prefers-reduced-motion: reduce) { .pa-partners-card { transition: none; } }

/* /assets/pa/footer.css */
/* Подвал (site/_includes/pa/footer.njk) и плашка согласия на cookie. Значения — те же, что были у
 * Webflow. На компьютере — реквизиты слева и три колонки ссылок; на планшете и телефоне колонки
 * встают сеткой, а год, «Наверх» и «Разработка сайта» уходят в нижнюю строку (.pa-footer-bottom). */
.pa-footer { margin-top: 180px; background-color: var(--pa-grey); color: var(--pa-dark); font-family: var(--pa-font-text); font-size: 16px; line-height: 20px; }
.pa-footer-wrap { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; padding-top: 40px; }
.pa-footer-col, .pa-footer-column { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; height: 332px; }
.pa-footer-org { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 16px; min-width: 180px; max-width: 317px; }
.pa-footer-org-content { display: flex; flex-direction: column; gap: 8px; font-style: normal; }
.pa-footer-text { margin: 0; font-family: var(--pa-font-text); font-size: 16px; line-height: 130%; }
.pa-footer-small { font-size: 12px; }
.pa-footer-label { opacity: .4; }
.pa-footer-muted { opacity: .5; white-space: normal; }
.pa-footer-nav { display: flex; gap: 24px; }
.pa-footer-column--meta { display: none; }
.pa-footer-menu { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 12px; min-width: 180px; max-width: 203px; }
.pa-footer-links { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 8px; }
.pa-footer-link { color: var(--pa-dark); line-height: 130%; text-decoration: none; }
.pa-footer-link:hover { color: var(--pa-dark-hover); }
.pa-footer-aside { color: var(--pa-dark); font-family: var(--pa-font-text); font-weight: 400; }
.pa-footer-up { margin-left: auto; }
/* Сноска про Meta: на компьютере — под колонкой «Соцсети», не раздвигая её. */
.pa-footer-meta { position: absolute; width: 170px; margin-top: 114px; }
.pa-footer-meta-text { margin: 0; font-family: var(--pa-font-text); font-size: 12px; line-height: 130%; opacity: .4; }
.pa-footer-bottom, .pa-footer-bottom-side { display: none; }
.pa-footer-logo { width: 100%; max-height: 170px; margin: 18px auto 0; overflow: hidden; }
.pa-footer-logo-svg { display: block; width: 100%; }
@media (min-width: 1440px) {
  .pa-footer-link { transition: all .2s; }
}
@media (max-width: 991px) {
  .pa-footer-desktop { display: none; }
  .pa-footer-wrap { flex-direction: column; }
  .pa-footer-org { min-width: 0; max-width: none; }
  .pa-footer-col { height: auto; }
  .pa-footer-column { gap: 8px; height: auto; }
  .pa-footer-menu { width: auto; min-width: 216px; max-width: 293px; }
  .pa-footer-nav {
    display: grid; grid-template-rows: auto auto; grid-template-columns: 1fr 1fr; grid-auto-columns: 1fr; justify-content: space-between;
    align-items: flex-start; gap: 40px; width: 100%;
  }
  .pa-footer-meta { position: static; width: 100%; margin-top: 8px; white-space: nowrap; }
  .pa-footer-meta--side { display: flex; }
  .pa-footer-meta-text { white-space: normal; }
  .pa-footer-bottom { display: flex; justify-content: space-between; align-items: flex-start; width: 100%; margin-top: 24px; }
  .pa-footer-bottom-side { display: flex; flex-direction: column; gap: 8px; }
}
@media (max-width: 767px) {
  .pa-footer-meta--side { display: none; }
  .pa-footer-column--meta { display: flex; justify-content: flex-end; align-items: flex-start; min-width: 200px; max-width: 200px; height: 112px; }
  .pa-footer-menu { min-width: 200px; max-width: 216px; }
  .pa-footer-nav { justify-content: flex-start; }
}
@media (max-width: 479px) {
  .pa-footer-meta { width: auto; }
  .pa-footer-column--meta { min-width: 90px; max-width: none; height: auto; }
  .pa-footer-menu { width: 100%; min-width: 90px; }
  .pa-footer-nav { justify-content: space-between; }
  .pa-footer-bottom { gap: 8px; height: 100%; min-height: 100%; }
  .pa-footer-bottom-side--end { flex: 1; justify-content: space-between; align-items: flex-end; height: 100%; min-height: 100%; }
}
@media (prefers-reduced-motion: reduce) { .pa-footer-link { transition: none; } }

/* Плашка согласия на cookie внизу экрана: видна, пока посетитель не нажал «ОК» (assets/pa/footer.js). */
.pa-cookie {
  position: fixed; inset: auto 0 0; z-index: 999; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center;
  gap: 16px; width: 40%; margin: 0 auto 20px; padding: 20px; border-radius: 12px; background-color: #eef0f4; box-shadow: 0 2px 10px #00000014;
  color: var(--pa-dark); font-family: var(--pa-font-text); font-size: 16px; line-height: 20px;
}
.pa-cookie[hidden] { display: none; }
.pa-cookie-text { margin: 0; font-family: var(--pa-font-text); font-size: 14px; line-height: 120%; }
.pa-cookie-button {
  box-sizing: border-box; display: flex; justify-content: center; align-items: center; width: 100px; margin: 0; padding: 10px 0; border: 0;
  border-radius: 12px; background-color: var(--pa-accent); color: var(--pa-dark); font-family: var(--pa-font-text); font-size: 14px;
  font-weight: 400; line-height: 140%; text-transform: none; appearance: none; cursor: pointer;
}
@media (max-width: 991px) {
  .pa-cookie { right: auto; justify-content: flex-start; width: 100%; margin-bottom: 0; margin-right: 0; }
  .pa-cookie-button { width: 200px; }
}
