/*! склейка: /assets/base.css /assets/photo-lost.css /assets/fonts.css /assets/pa/common.css /assets/about/page.css /assets/about/hero.css /assets/about/company.css /assets/about/team.css /assets/about/tours.css /assets/pa/header.css /assets/pa/popups.css /assets/pa/phone.css /assets/pa/advantages.css /assets/pa/banner.css /assets/pa/subscribe.css /assets/pa/footer.css /assets/ribbon.css /assets/reviews.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/photo-lost.css */
/* Заглушка «фото потерялось» (site/_includes/photo-lost.njk): картинка в стиле сайта и надпись
 * поверх неё. Размер задаёт место, где она стоит: класс бывшей картинки (tp-expectations-photo, ab-gallery-photo…) или
 * правила программы по дням в program.css. Подключается на каждой странице с заглушками. */
.photo-lost {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding: 20px;
  border-radius: 6px;
  background: #f0f0f0 center / cover no-repeat;
  box-sizing: border-box;
}
.photo-lost-1 { background-image: url("/v/bc30985c77/assets/photo-lost/1.svg"); }
.photo-lost-2 { background-image: url("/v/134be7f1cc/assets/photo-lost/2.svg"); }
.photo-lost-3 { background-image: url("/v/4bc336501e/assets/photo-lost/3.svg"); }
.photo-lost-4 { background-image: url("/v/813df26969/assets/photo-lost/4.svg"); }
.photo-lost-text {
  max-width: 300px;
  padding: 10px 14px 8px;
  border-radius: 6px;
  background: #fafafa;
  box-shadow: 4px 4px 0 #e1f641;
  color: #27282b;
  font-family: Bebasneue, Arial, sans-serif;
  font-size: 28px;
  line-height: 1.05;
  text-transform: uppercase;
}
@media (max-width: 479px) {
  .photo-lost { padding: 14px; }
  .photo-lost-text { font-size: 22px; }
}

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

/* Отступ под закреплённую шапку и до подвала — как .main у Webflow. */
.ab-main { margin-top: 68px; margin-bottom: 180px; }

/* Стрелки ленты справа от заголовка раздела (на планшете и телефоне их нет — ленту листают пальцем). */
.ab-nav { display: flex; gap: 12px; }
@media (max-width: 991px) {
  .ab-nav { display: none; }
}

/* /assets/about/hero.css */
/* «О нас», первый экран (site/_includes/about/hero.njk): заголовок, четыре цифры на «матовых» карточках и
 * фото на фоне. Раздел заходит под закреплённую шапку и обрезает фото по своей высоте. Фото — 1920 px в
 * ширину на любом экране, по середине страницы (на телефоне — чуть левее, как было у Webflow). */
.ab-hero { margin-top: -130px; overflow: hidden; }
.ab-hero-inner {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 40px;
  height: 800px; padding: 73px 0 72px;
}
.ab-hero-title { margin: 130px 0 8px; color: var(--pa-accent); text-align: center; }
/* Фото: во всю ширину экрана, закрывает место целиком (object-fit: cover) — в кадре, выбранном в админке
 * (eleventy/frames.js). */
.ab-hero-photo {
  position: absolute; top: 61px; left: calc(50% - 50vw); z-index: -1;
  width: 100vw; max-width: none; height: calc(100% - 61px); object-fit: cover;
}

/* Цифры: в строку, на телефоне — по две. Строка шрифта — как у страницы: от неё зависит место значка «i». */
.ab-hero-stats { display: flex; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 16px; line-height: 20px; }
.ab-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(--pa-radius);
  background: rgba(250, 250, 250, .2);
  box-shadow: 0 6px 16px 0 rgba(0, 0, 0, .1), 0 -1px 5.2px 0 rgba(0, 0, 0, .25) inset;
  backdrop-filter: blur(7.5px);
}
/* «Зерно» поверх стекла карточки. */
.ab-stat::before {
  content: ""; 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 rgba(0, 0, 0, .1), 0 -1px 5.2px 0 rgba(0, 0, 0, .25) inset;
  backdrop-filter: blur(7.5px);
}
.ab-stat--hint { z-index: 2; } /* подсказка ложится поверх соседних карточек */
.ab-stat-value { margin: 0; color: #fafafa; font-family: var(--pa-font-head); font-size: 56px; font-weight: 700; line-height: 105%; }
.ab-stat-caption { margin: 0; color: #fafafa; font-size: 16px; line-height: 130%; }

/* Значок «i» в углу карточки и подсказка под ним. */
.ab-stat-hint { position: absolute; top: 0; right: 0; margin: 12px 12px 0 0; }
.ab-stat-hint-button { display: inline-block; vertical-align: middle; margin: 0; padding: 0; border: 0; background: none; cursor: default; }
.ab-stat-hint-icon { display: block; width: 20px; height: 20px; }
.ab-stat-tooltip {
  display: none; position: absolute; width: 324px; margin-top: 4px; padding: 18px;
  border-radius: var(--pa-radius); background-color: #fafafa;
}
.ab-stat-hint:hover .ab-stat-tooltip, .ab-stat-hint:focus-within .ab-stat-tooltip { display: flex; }
.ab-stat-tooltip p { margin: 0; font-size: 16px; line-height: 130%; }

@media (min-width: 1440px) {
  .ab-hero-inner { gap: 56px; height: 828px; margin: 0 auto; padding-top: 108px; }
  .ab-stat { width: 180px; }
}
@media (max-width: 991px) {
  .ab-hero-inner { gap: 32px; height: 600px; padding-top: 45px; padding-bottom: 64.5px; }
  .ab-hero-title { max-width: 612px; }
  .ab-hero-stats { max-width: 658px; }
  .ab-stat { width: 159px; height: 96px; }
  .ab-stat-value { font-size: 40px; }
  .ab-stat-caption { font-size: 13px; }
}
@media (max-width: 767px) {
  .ab-hero-inner { height: 768px; margin-top: 64px; padding-top: 54px; padding-bottom: 72px; }
  .ab-hero-photo { top: -4px; height: calc(100% + 4px); }
  .ab-hero-stats { display: grid; grid-template-columns: auto auto; justify-content: normal; align-items: start; width: 100%; max-width: none; }
  .ab-stat { width: 100%; min-width: 160px; }
  .ab-stat-tooltip { width: auto; margin: 8px 0 0 -264px; padding: 12px; }
}
@media (max-width: 479px) {
  .ab-hero-photo { top: -5px; height: calc(100% + 5px); }
  .ab-stat { max-width: 219px; }
}

/* /assets/about/company.css */
/* «О нас», «О компании» (site/_includes/about/company.njk): заголовок слева, текст справа (на телефоне —
 * друг под другом) и лента фото во всю ширину экрана. Фото — во всю высоту ленты, ширина по пропорциям, но
 * не уже места и не шире ленты; заглушка «фото потерялось» — того же размера. На компьютере вместо курсора
 * над лентой — круглая стрелка (assets/about/company.js), полосы прокрутки нет; на планшете и телефоне —
 * тонкая полоса прокрутки. */
.ab-company { margin-top: 120px; overflow: hidden; }
.ab-company-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.ab-company-title { width: 568px; }
.ab-company-text { display: flex; flex-direction: column; gap: 12px; width: 493px; }
.ab-company-text p { margin: 0; font-size: 16px; line-height: 130%; }
.ab-company-text ul { margin: 0; font-size: 16px; line-height: 130%; list-style-type: decimal; }
.ab-company-text li { margin-bottom: 8px; }

.ab-gallery { position: relative; display: flex; justify-content: center; align-items: center; margin-top: 72px; overflow: hidden; cursor: none; }
.ab-gallery-track {
  container-type: inline-size; display: flex; justify-content: flex-start; align-items: center; gap: 8px;
  min-width: 100%; max-width: 100%; padding: 0 24px; overflow-x: auto; scrollbar-width: none;
}
.ab-gallery-track::-webkit-scrollbar { display: none; }
.ab-gallery-item { display: block; flex: none; border-radius: var(--pa-radius); }
.ab-gallery-photo { min-width: 658px; height: 433px; border-radius: var(--pa-radius); overflow: hidden; }
img.ab-gallery-photo {
  display: block; flex: none; width: auto; max-width: 100cqw; object-fit: cover;
  pointer-events: none; -webkit-user-select: none; user-select: none; -webkit-user-drag: none;
}
.ab-gallery-cursor {
  position: absolute; top: 50%; left: 50%; z-index: 1; display: flex; justify-content: center; align-items: center;
  width: 58px; height: 58px; border-radius: 100px; background-color: var(--pa-accent);
  transform: translate(-50%, -50%); opacity: 0; pointer-events: none; transition: opacity .2s ease;
}
.ab-gallery-cursor svg { width: 40px; }
.ab-gallery--active .ab-gallery-cursor { opacity: 1; }

@media (max-width: 991px) {
  .ab-company { margin-top: 80px; }
  .ab-gallery { margin-top: 40px; cursor: auto; }
  .ab-gallery-track { scrollbar-width: thin; }
  .ab-gallery-track::-webkit-scrollbar { display: block; height: 6px; }
  .ab-gallery-track::-webkit-scrollbar-thumb { border-radius: 3px; background: rgba(0, 0, 0, .3); }
  .ab-gallery-cursor { display: none; }
}
@media (max-width: 767px) {
  .ab-company-head { flex-direction: column; }
  .ab-company-title, .ab-company-text { width: auto; }
  .ab-gallery { margin-top: 48px; }
  .ab-gallery-track { padding: 0 16px; }
  .ab-gallery-photo { min-width: 422px; height: 277px; }
}
@media (max-width: 479px) {
  .ab-gallery-photo { min-width: 304px; height: 200px; }
}
@media (prefers-reduced-motion: reduce) {
  .ab-gallery-cursor { transition: none; }
}

/* /assets/about/team.css */
/* «О нас», «Наша команда» (site/_includes/about/team.njk): лента карточек 317 px (.pa-ribbon--bleed, общее —
 * в assets/ribbon.css) — до краёв экрана, карточки встают по полю содержимого; раздел обрезает лишнее.
 * Между карточками 24 px, на телефоне — вплотную, как было у Webflow. */
.ab-team { margin-top: 150px; overflow: hidden; }
.ab-team-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.ab-team-ribbon { margin-top: 40px; }
.ab-team-list { gap: 24px; }
.ab-team-card { display: flex; flex-direction: column; width: 317px; min-height: 528px; overflow: hidden; }
.ab-team-photo { display: block; width: 317px; max-width: none; height: 317px; border-radius: var(--pa-radius) var(--pa-radius) 0 0; object-fit: cover; }
.ab-team-text {
  display: flex; flex-direction: column; gap: 12px; height: 211px; padding: 16px;
  border-radius: 0 0 var(--pa-radius) var(--pa-radius); background-color: var(--pa-grey);
}
.ab-team-who { display: flex; flex-direction: column; gap: 2px; }
.ab-team-name { margin: 0; font-family: var(--pa-font-head); font-size: 32px; font-weight: 700; line-height: 115%; }
.ab-team-role, .ab-team-bio { margin: 0; font-size: 16px; line-height: 130%; }
.ab-team-role { opacity: .5; }
@media (max-width: 991px) {
  .ab-team { margin-top: 80px; }
}
@media (max-width: 767px) {
  .ab-team-list { gap: 0; }
}

/* /assets/about/tours.css */
/* «О нас», «Наши путешествия» (site/_includes/about/tours.njk): заголовок со стрелками и лента карточек
 * туров (.pa-ribbon--bleed, общее — в assets/ribbon.css) — до краёв экрана, карточки встают по полю
 * содержимого; раздел обрезает лишнее. Карточка — та же, что в «Куда ещё можно поехать» на странице тура
 * (assets/tour/other-tours.css); размеры — как были у Webflow. */
.ab-tours { margin-top: 180px; overflow: hidden; }
.ab-tours-head { display: flex; justify-content: space-between; align-items: flex-start; }
.ab-tours-ribbon { margin-top: 40px; }
.ab-tours-list { gap: 24px; align-items: flex-start; font-size: 16px; line-height: 20px; }

/* Карточка тура. */
.ab-tour-card { display: flex; flex-direction: column; flex: none; width: 389px; margin: 0; overflow: hidden; }
.ab-tour-card-pic {
  display: flex; justify-content: center; align-items: flex-start; position: relative; overflow: hidden; min-height: 251px;
  border-top-left-radius: var(--pa-radius); border-top-right-radius: var(--pa-radius);
}
.ab-tour-card-photo { display: block; width: 100%; max-width: 100%; height: 251px; object-fit: cover; }
.ab-tour-card-tag {
  position: absolute; top: 18px; right: 18px; padding: 4px 12px; border-radius: var(--pa-radius); background-color: #fafafa;
  font-family: var(--pa-font-text); font-size: 16px; line-height: 20px; text-transform: uppercase;
}
.ab-tour-card-info {
  display: flex; flex-direction: column; flex: 1; justify-content: space-between; align-items: flex-start;
  min-height: 323px; max-height: 323px; padding: 16px; background-color: var(--pa-grey);
  border-bottom-left-radius: var(--pa-radius); border-bottom-right-radius: var(--pa-radius);
}
.ab-tour-card-top { display: flex; flex-direction: column; gap: 8px; }
.ab-tour-card-title { margin: 0; font-family: var(--pa-font-head); font-size: 32px; font-weight: 700; line-height: 115%; }
.ab-tour-card-dates { display: flex; flex-wrap: wrap; gap: 2px; }
.ab-tour-card-date {
  padding: 6px 12px; border-radius: var(--pa-radius); background-color: #e3e3e3;
  font-family: var(--pa-font-text); font-size: 16px; line-height: 20px;
}
.ab-tour-card-text {
  display: -webkit-box; margin-top: 8px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;
  font-size: 16px; opacity: .7;
}
.ab-tour-card-bottom { display: flex; flex-direction: column; gap: 16px; width: 100%; margin-top: 21px; }
.ab-tour-card-price { font-size: 32px; }
.ab-tour-card-old-price, .ab-tour-card-amount { font-family: var(--pa-font-head); line-height: 115%; }
.ab-tour-card-amount { font-weight: 700; }
.ab-tour-card-muted { opacity: .5; }

/* «Подробнее»: при наведении справа выезжает стрелка-логотип. */
.ab-tour-card-button {
  display: flex; justify-content: center; align-items: center; width: 100%; height: 50px; padding: 8px 12px;
  border-radius: var(--pa-radius); background-color: var(--pa-dark); color: var(--pa-accent);
  font-family: var(--pa-font-text); font-size: 16px; line-height: 130%; text-decoration: none; transition: background-color .2s;
}
.ab-tour-card-button:hover { background-color: #1c1d1f; }
.ab-tour-card-mark {
  display: flex; width: 0; height: 16px; padding-left: 6px; overflow: hidden;
  transition: all .2s cubic-bezier(.645, .045, .355, 1);
}
.ab-tour-card-button:hover .ab-tour-card-mark { width: 18px; }
.ab-tour-card-mark svg { flex: none; width: 12px; height: 16px; }

@media (max-width: 991px) {
  .ab-tours { margin-top: 80px; }
  .ab-tours-head { justify-content: center; }
  .ab-tours-ribbon { margin-top: 32px; }
  .ab-tours-list { gap: 20px; align-items: stretch; }
  .ab-tour-card { width: 320px; }
  .ab-tour-card-info { max-height: none; }
}
@media (max-width: 767px) {
  .ab-tours-head { flex-direction: column; justify-content: space-between; align-items: center; gap: 8px; }
  .ab-tour-card { width: 350px; }
}
@media (prefers-reduced-motion: reduce) {
  .ab-tour-card-mark { transition: 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/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/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/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/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/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; }
}

/* /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; }
}
