/*! склейка: /assets/base.css /assets/fonts.css /assets/pa/common.css /assets/privacy/privacy.css /assets/pa/header.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/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/privacy/privacy.css */
/* Страница «Политика конфиденциальности» (site/privacy/index.njk): своя вёрстка без классов Webflow, классы — с
 * приставкой pv-. Заголовок страницы по середине и пунктир под ним, ниже — разделы: слева название, справа текст
 * (на планшете и телефоне — текст под названием). Ширина страницы — общая (assets/pa/common.css), теги —
 * assets/base.css. Значения — те же, что были у Webflow: внешне страница не изменилась (scripts/compare-pages.mjs). */

/* Отступ под шапку и до подвала — как .main у Webflow. */
.pv-main { margin-top: 68px; margin-bottom: 180px; }

.pv-wrapper { display: flex; flex-direction: column; gap: 64px; }
.pv-head { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 20px; }
.pv-title { margin: 0; font-family: var(--pa-font-head); font-size: 72px; font-weight: 700; line-height: 105%; }

/* Пунктир (site/_includes/dash-line.njk): рисунок 1340 px по середине, лишнее обрезано. */
.pv-sep-line { display: flex; justify-content: center; align-items: flex-start; width: 100%; height: 3px; margin: 0 auto; overflow: hidden; }
.pv-sep-svg { display: block; min-width: 1340px; height: 3px; }

.pv-content { display: flex; flex-direction: column; gap: 72px; }
.pv-block { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.pv-block-title {
  width: auto; min-width: 372px; max-width: 389px; margin: 0;
  font-family: var(--pa-font-head); font-size: 32px; font-weight: 700; line-height: 115%;
}
.pv-text {
  display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; gap: 12px;
  width: auto; min-width: 529px; max-width: 803px;
}
/* Колонка текста у всех разделов — как у раздела с длинным текстом: браузер считает его исходную ширину огромной,
 * и колонка занимает всё, что оставляет заголовок (до 803 px). Без этого раздел из коротких строк сжимается и
 * встаёт правее остальных. */
@media (min-width: 992px) { .pv-text { flex-basis: 10000px; } }
.pv-text p, .pv-list { font-size: 16px; line-height: 130%; }
/* Пункты «— …» — список; тире — в самом тексте, как было. */
.pv-list { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pv-list li { margin: 0; }

@media (max-width: 991px) {
  .pv-title { font-size: 48px; }
  .pv-head { overflow: hidden; }
  .pv-block { flex-wrap: wrap; gap: 16px; }
  .pv-block-title, .pv-text { width: auto; min-width: 0; max-width: none; }
}

/* /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); }
}
/* Под WhatsApp — плавающая кнопка Telegram (на каждой странице), поэтому WhatsApp и «Наверх» стоят на шаг (68 px) выше. */
.pa-to-top--raised { bottom: 168px; }
.pa-whatsapp--raised { bottom: 100px; }

/* Плавающая кнопка Telegram (на каждой странице): фирменный голубой, «дышит» тенью в такт с WhatsApp, но
 * вполовину позже; при наведении кнопка увеличивается, по ней пробегает блик, а самолётик «улетает»
 * вправо-вверх и влетает обратно слева. */
.pa-telegram { position: fixed; right: 32px; bottom: 32px; width: 50px; height: 50px; }
@media (min-width: 1440px) { .pa-telegram { z-index: 2147483647; } }
@media (max-width: 767px) { .pa-telegram { z-index: 9999; right: 16px; } }
.pa-telegram-button {
  position: relative; display: flex; justify-content: center; align-items: center; width: 50px; height: 50px;
  overflow: hidden; border-radius: 40px; background: linear-gradient(135deg, #37bbfe 0%, #229ed9 100%);
  color: white; text-decoration: none; box-shadow: 0 4px 15px rgba(34, 158, 217, .5);
  transition: transform .25s cubic-bezier(.34, 1.56, .64, 1), box-shadow .2s ease-out;
  animation: pa-telegram-pulse 1.5s .75s infinite;
}
.pa-telegram-button::after {
  content: ""; position: absolute; top: 0; left: -75%; width: 50%; height: 100%;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .55), rgba(255, 255, 255, 0));
  transform: skewX(-20deg); pointer-events: none;
}
.pa-telegram-button:hover, .pa-telegram-button:focus-visible {
  transform: scale(1.1) rotate(-6deg); box-shadow: 0 6px 20px rgba(34, 158, 217, .7); animation-play-state: paused;
}
.pa-telegram-button:hover::after, .pa-telegram-button:focus-visible::after { left: 125%; transition: left .6s ease-out; }
.pa-telegram-icon { position: relative; z-index: 1; width: 26px; height: 26px; margin-right: 3px; color: white; }
.pa-telegram-button:hover .pa-telegram-icon, .pa-telegram-button:focus-visible .pa-telegram-icon {
  animation: pa-telegram-fly .7s ease-in-out;
}
@keyframes pa-telegram-pulse {
  0% { box-shadow: 0 0 0 0 rgba(34, 158, 217, .5); }
  70% { box-shadow: 0 0 0 10px rgba(34, 158, 217, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 158, 217, 0); }
}
@keyframes pa-telegram-fly {
  0% { transform: translate(0, 0) rotate(0); opacity: 1; }
  40% { transform: translate(26px, -26px) rotate(-12deg); opacity: 0; }
  41% { transform: translate(-26px, 26px) rotate(-12deg); opacity: 0; }
  100% { transform: translate(0, 0) rotate(0); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .pa-whatsapp-button, .pa-telegram-button, .pa-telegram-button:hover .pa-telegram-icon,
  .pa-telegram-button:focus-visible .pa-telegram-icon { animation: none; }
  .pa-header-link, .pa-chat, .pa-menu-link, .pa-to-top, .pa-whatsapp-button, .pa-telegram-button,
  .pa-telegram-button:hover::after { 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/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; }
}
