/* Calendar Embla basic layout */
.cal-embla .embla__viewport {
  width: 100%;
}

.cal-embla .embla__container {
  display: flex;
}

.blog_list_grid.blog_list_grid--2col .other-pic-wrap {
  height: 401.824px;
}

.cal-embla .embla__slide {
  flex: 0 0 auto;
  min-width: 0;
}

/* Progress bar (reuses existing swiper-progressbar styles) */
.swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
  position: static;
  width: 100%;
  height: 2px;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: left top;
}

/* ===== CSS VARIABLES & FONTS ===== */
@font-face {
  font-family: 'Bebas Neue';
  src: url('/wp-content/themes/svoboda.team/assets/fonts/BebasNeue-Bold_0ae7a96263ad2d4a6793335396e6e2cf.otf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bebas Neue';
  src: url('/wp-content/themes/svoboda.team/assets/fonts/Bebas Neue Pro Book.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

:root {
  --light: #EDEDED;
  --primary: #222222;
  --yellow: #FFC166;
  --purple: #6C7EAA;
  --green: #C2CBA4;
}

/* ===== COOKIE BANNER ===== */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  background-color: var(--primary);
  color: var(--light);
  padding: 0;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
  transform: translateY(100%);
  transition: transform 0.3s ease-in-out;
  font-family: "Inter", sans-serif;
}

.cookie-banner--visible {
  transform: translateY(0);
}

.cookie-banner__content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
}

.cookie-banner__text {
  flex: 1;
  width: 100%;
}

.cookie-banner__title {
  font-family: 'Bebas Neue', sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  margin: 0 0 12px 0;
  color: var(--light);
  letter-spacing: 0.5px;
}

.cookie-banner__description {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  color: var(--light);
  opacity: 0.9;
}

.cookie-banner__link {
  color: var(--yellow);
  text-decoration: underline;
  transition: opacity 0.2s ease;
}

.cookie-banner__link:hover {
  opacity: 0.8;
}

.cookie-banner__link:focus {
  outline: 2px solid var(--yellow);
  outline-offset: 2px;
}

.cookie-banner__actions {
  display: flex;
  gap: 12px;
  width: 100%;
  flex-wrap: wrap;
}

.cookie-banner__button {
  font-family: 'Bebas Neue', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  padding: 14px 32px;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  flex: 1;
  min-width: 140px;
  border: 2px solid transparent;
}

.cookie-banner__button--accept {
  background-color: var(--yellow);
  color: var(--primary);
}

.cookie-banner__button--accept:hover {
  background-color: #FFB84D;
  transform: translateY(-1px);
}

.cookie-banner__button--accept:active {
  transform: translateY(0);
}

.cookie-banner__button--decline {
  background-color: transparent;
  color: var(--light);
  border-color: var(--light);
}

.cookie-banner__button--decline:hover {
  background-color: rgba(237, 237, 237, 0.1);
  border-color: var(--yellow);
  color: var(--yellow);
}

.cookie-banner__button--decline:active {
  transform: translateY(0);
}

.cookie-banner__button:focus {
  outline: 2px solid var(--yellow);
  outline-offset: 2px;
}

/* Адаптивность для планшетов */
@media (min-width: 768px) {
  .cookie-banner__content {
    flex-direction: row;
    align-items: center;
    padding: 28px 40px;
    gap: 32px;
  }

  .cookie-banner__text {
    flex: 1;
  }

  .cookie-banner__title {
    font-size: 28px;
    margin-bottom: 8px;
  }

  .cookie-banner__description {
    font-size: 15px;
  }

  .cookie-banner__actions {
    flex: 0 0 auto;
    width: auto;
    flex-wrap: nowrap;
  }

  .cookie-banner__button {
    padding: 16px 40px;
    min-width: 160px;
    flex: 0 1 auto;
  }
}

/* Адаптивность для десктопов */
@media (min-width: 1024px) {
  .cookie-banner__content {
    padding: 32px 60px;
    gap: 40px;
  }

  .cookie-banner__title {
    font-size: 32px;
  }

  .cookie-banner__description {
    font-size: 16px;
  }

  .cookie-banner__button {
    padding: 18px 48px;
    font-size: 20px;
  }
}

/* Для очень маленьких экранов */
@media (max-width: 480px) {
  .cookie-banner__content {
    padding: 20px 16px;
    gap: 16px;
  }

  .cookie-banner__title {
    font-size: 22px;
    margin-bottom: 10px;
  }

  .cookie-banner__description {
    font-size: 13px;
  }

  .cookie-banner__actions {
    flex-direction: column;
  }

  .cookie-banner__button {
    width: 100%;
    padding: 16px 24px;
    font-size: 16px;
  }
}

/* ===== BASE STYLES & RESET ===== */
html {
  scroll-behavior: smooth;
  /* Кроссбраузерная поддержка overflow-x */
  overflow-x: hidden;
  overflow-y: auto;
  /* Для iOS Safari - плавная прокрутка */
  -webkit-overflow-scrolling: touch;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  background-color: var(--light);
  color: var(--light);
  font-family: "Inter", sans-serif;
  margin: 0;
  /* Кроссбраузерная поддержка overflow-x */
  overflow-x: hidden;
  overflow-y: auto;
  /* Для iOS Safari - плавная прокрутка */
  -webkit-overflow-scrolling: touch;
  padding: 0;
  /* Предотвращение горизонтальной прокрутки на мобильных */
  width: 100%;
  max-width: 100vw;
  position: relative;
}

ul {
  margin-block-end: 0;
  margin-block-start: 0;
  padding-inline-start: 0;
}

/* ===== UTILITY CLASSES ===== */
.txt-primary {
  color: var(--primary);
}

/* ===== CALENDAR GRID ===== */

.calendar-grid {
  padding: 48px 0px 180px 0px;
}

.tour-tag {
  color: #6C7EAA;

/* tablet/body 2 */
font-family: Inter;
font-size: 15px;
font-style: normal;
font-weight: 400;
line-height: 140%; /* 21px */
letter-spacing: -0.3px;
margin-bottom: 6px;
}

.calendar-item-meta {
  display: flex;
  align-items: center;
  gap: 14px;
}

.calendar-item-price {
  display: flex;
padding: 11px 20px 7px 20px;
justify-content: center;
align-items: center;
gap: 10px;
background: var(--primary, #222);
color: var(--light, #EDEDED);
font-family: "Bebas Neue";
font-size: 26px;
font-style: normal;
font-weight: 700;
line-height: 100%; /* 26px */
letter-spacing: -0.26px;
text-transform: uppercase;
}

.calendar-grid-item-content {
  display: flex;
max-width: 544px;
flex-direction: column;
align-items: flex-start;
gap: 24px;
align-self: stretch;
}

.calendar-item-date {
  display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
}

.calendar-grid-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 78px;
  column-gap: 24px;
}

.calendar-grid-item-wide {
  grid-column: span 2;
}

.calendar-grid-item.calendar-grid-item-wide a {
  flex-direction: row;
  gap: 24px;
}

.calendar-grid-item.calendar-grid-item-wide .calendar-grid-item-image {
  display: flex;
height: 486px;
align-items: flex-start;
flex: 1 0 0;
order: 2;
}

.calendar-grid-item.calendar-grid-item-wide .calendar-grid-item-content {
  display: flex;
width: 300px;
flex-direction: column;
align-items: flex-start;
gap: 24px;
order: 1;
}

.calendar-grid-item-link {
  display: flex;
flex-direction: column;
align-items: flex-start;
gap: 14px;
flex: 1 0 0;
}

.calendar-grid-item-link:hover .calendar-grid-item-image {
  border: 6px solid var(--purple, #6C7EAA);
}

.calendar-grid-item-link:hover .calendar-item-title h2 {
  color: var(--purple, #6C7EAA);
}

.calendar-item-title h2 {
  transition: color 0.2s ease;
}



.calendar-grid-item-image {
  display: flex;
height: 320px;
align-items: flex-start;
gap: 4px;
align-self: stretch;
border: 0px solid transparent;
transition: border 0.2s linear;
}

.calendar-grid-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


@media (max-width: 767px) {
  .calendar-grid-wrap {
    grid-template-columns: 1fr;
    gap: 15vw;
  }

  .calendar-item-price {
    display: flex;
    padding: 2.29vw 4.17vw 1.25vw 4.17vw;
    justify-content: center;
    align-items: center;
    gap: 2.08vw;
    font-size: 5.42vw;
  }

  .calendar-grid-item-image {
    height: 50.46vw;
  }

  .calendar-grid-item.calendar-grid-item-wide .calendar-grid-item-image {
    height: 50.46vw;
    order: 1;
  }

  .calendar-grid-item.calendar-grid-item-wide .calendar-grid-item-content {
    order: 2;
  }

  .calendar-page {
    margin-top: 22.5vw !important;
  }

  .calendar-grid-item.calendar-grid-item-wide a {
    flex-direction: column;
    gap: 5vw;
  }

  .calendar-grid-item-content {
    gap: 5vw;
  }

  .calendar-grid-item.calendar-grid-item-wide .calendar-grid-item-content {
    width: 100%;
  }

  .tour-tag {
    font-size: 3.13vw;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: -0.06vw;
    margin-bottom: 1.25vw;
  }

  .calendar-item-meta {
    gap: 2.92vw;
  }
  
  .calendar-grid-item-wide {
    grid-column: span 1;
  }
}

.highlight-text {
  background-color: #FFC166;
  padding: 2px 4px;
}

/* ===== TYPOGRAPHY ===== */
.caption {
  font-family: Inter;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.3px;
  line-height: 120%;
  /* 18px */
  margin-block-end: 0;
  margin-block-start: 0;
}

.fw-600 {
  font-weight: 600;
}

/* ===== LAYOUT COMPONENTS ===== */
.container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  padding-left: 50px;
  padding-right: 50px;
}

.mw395 {
  max-width: 395px;
}

video {
  margin-block-end: 0;
  margin-block-start: 0;
  padding-inline-start: 0;
}

/* ===== HEADER ===== */
header {
  background: transparent;
  left: 0;
  position: absolute;
  top: 0;
  transition: background 0.3s ease;
  width: 100%;
  z-index: 15;
  /* Поверх всего */
}

/* ===== HERO SECTION ===== */
.hero .container {
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  z-index: 5;
  /* Поверх видео, но под хэдером */
}

.blog-header {
  padding: 125px 0 56px 0;
  text-align: center;
}

.header-wrapper {
  backdrop-filter: blur(0px);
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  height: 64px;
  justify-content: space-between;
  padding: 20px 50px;
  top: 0;
  transition: backdrop-filter 0.3s ease;
  width: 100%;
  z-index: 10;
  /* Поверх видео */
}

.nav-link {
  align-items: center;
  color: var(--light, #EDEDED);
  display: flex;
  flex-direction: row;
  font-family: Inter;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  gap: 2px;
  letter-spacing: -0.26px;
  line-height: 140%;
  /* 18.2px */
  text-align: center;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  /* Улучшенная видимость поверх видео */
  transition: color 0.3s ease, opacity 200ms ease, text-shadow 0.3s ease;
}

.nav-link:hover {
  color: #ffffff;
  opacity: 50%;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

.header-nav {
  display: flex;
  flex-direction: row;
  gap: 16px;
}

.header-nav ul {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 16px;
  list-style-type: none;
}

/* ===== HEADINGS ===== */
h1,
.h1 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 120px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: -1.2px;
  line-height: 100%;
  /* 120px */
  margin-block-end: 0;
  margin-block-start: 0;
  text-transform: uppercase;
}

h2,
.h2 {
  font-family: "Bebas Neue";
  font-size: 72px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  /* 72px */
  margin-block-end: 0;
  margin-block-start: 0;
  text-transform: uppercase;
}

h3,
.h3 {
  font-family: "Bebas Neue";
  font-size: 38px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: -0.38px;
  line-height: 105%;
  /* 39.9px */
  margin-block-end: 0;
  margin-block-start: 0;
  text-transform: uppercase;
}

h4,
.h4 {
  font-family: "Bebas Neue";
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: -0.28px;
  line-height: 100%;
  /* 28px */
  margin-block-end: 0;
  margin-block-start: 0;
  text-transform: uppercase;
}

/* ===== TEXT STYLES ===== */
.body-1 {
  font-family: Inter;
  font-size: 17px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: -0.17px;
  line-height: 140%;
  /* 23.8px */
  margin-block-end: 0;
  margin-block-start: 0;
}

.body-2 {
  font-family: Inter;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.3px;
  line-height: 140%;
  /* 21px */
  margin-block-end: 0;
  margin-block-start: 0;
}

.body-3 {
  font-family: Inter;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.13px;
  line-height: 140%;
  /* 18.2px */
  margin-block-end: 0;
  margin-block-start: 0;
}

/* ===== BUTTONS ===== */
.button {
  display: inline-block;
  font-family: Inter;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.15px;
  line-height: 140%;
  /* 21px */
  margin-block-end: 0;
  margin-block-start: 0;
  text-transform: uppercase;
  text-wrap: nowrap;
  width: fit-content;
}

.title-1 {
  font-family: Caveat;
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: 110%;
  /* 30.8px */
  margin-block-end: 0;
  margin-block-start: 0;
}

.title-2 {
  font-family: Inter;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.4px;
  line-height: 110%;
  /* 22px */
  margin-block-end: 0;
  margin-block-start: 0;
}

.cal-embla.embla {
  width: 100%;
}

.card-title {
  font-family: Caveat;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 110%;
  /* 26.4px */
  margin-block-end: 0;
  margin-block-start: 0;
}

.tag {
  font-family: Inter;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.24px;
  line-height: 140%;
  /* 33.6px */
  margin-block-end: 0;
  margin-block-start: 0;
}

/* ===== LINKS ===== */
a {
  color: var(--light);
  text-decoration: none;
}

.link-bg {
  font-family: "Bebas Neue";
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: -0.32px;
  line-height: 100%;
  /* 32px */
  margin-block-end: 0;
  margin-block-start: 0;
  text-decoration-line: underline;
  text-decoration-skip-ink: auto;
  text-decoration-style: solid;
  text-decoration-thickness: auto;
  text-transform: uppercase;
  text-underline-offset: auto;
  text-underline-position: from-font;
  transition: opacity 200ms ease;
}

.link-bg:hover {
  opacity: 0.5;
}

.link-sm {
  font-family: Inter;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.3px;
  line-height: 140%;
  /* 21px */
  margin-block-end: 0;
  margin-block-start: 0;
  transition: opacity 200ms ease;
}

.link-sm:hover {
  opacity: 0.5;
}

.logo-link {
  height: 25px;
  padding-top: 21px;
  width: 115px;
}

.header-logo {
  display: flex;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.3));
  /* Улучшенная видимость поверх видео */
  inset: 0%;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  transition: filter 0.3s ease;
  width: 115px;
}

.header-logo:hover {
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.5));
}

.hero {
  contain: layout style paint;
  /* Современные оптимизации */
  height: 100vh;
  justify-content: center;
  margin: 0;
  max-height: 700px;
  overflow: hidden;
  padding: 0;
  position: relative;
  will-change: transform;
}

.form-consent {
  margin-bottom: 8px;
}

.tour-about-left-image {
  height: 521px;
  align-self: stretch;
  overflow: hidden;
}

.tour-about-left-image img {
  object-fit: cover;
  height: 100%;
}

.tour-about-right-image {
  height: 444px;
  align-self: stretch;
  overflow: hidden;
}


.route {
  height: 745px;
}

.route-wrapper {
  display: flex;
  position: relative;
}

.hero-indi {
  margin-top: 101px;
  margin-bottom: 104px;
}

.hero-indi-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}

.hero-indi-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  align-self: stretch;
}

.hero-indi-title h1 {
  max-width: 741px;
}

.hero-indi-title p {
  max-width: 544px;
  margin-bottom: 24px;
}

.hero-indi-image {
  height: 550px;
  align-self: stretch;
  overflow: hidden;
}

.hero-indi-image img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.indi-conditions {
  margin-bottom: 144px;
}

.indi-conditions-wrap {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 40px;
}

.indi-conditions-steps {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  align-self: stretch;
}

.indi-conditions-content {
  display: flex;
  width: 885px;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}

.indi-conditions-content-title p {
  width: 432px;
}

.indi-steps {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  align-self: stretch;
}


.indi-step {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  flex: 1 0 0;
  max-width: 280px;
}

.indi-step-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
}

.indi-step-number {
  position: relative;
  width: 32px;
  height: 33px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.indi-step-number svg {
  position: absolute;
  top: 0;
  left: 0;
}

.indi-conditions-card {
  display: flex;
  width: 415px;
  height: 290px;
  padding: 20px;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  flex-shrink: 0;
  background: var(--primary);
}

.indi-card-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
}

.indi-card-title h2 {
  color: var(--light, #EDEDED);
  font-family: "Bebas Neue";
  font-size: 120px;
  font-style: normal;
  font-weight: 300;
  line-height: 100%;
  /* 120px */
  letter-spacing: -1.2px;
  text-transform: uppercase;
}

.calendar-page {
  margin-top: 72px;
}


.route-left {
  display: flex;
  width: 584px;
  flex-direction: column;
  align-items: flex-start;
  gap: 56px;
  margin-top: 61px;
}

.route-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  align-self: stretch;
}

.route-meta {
  display: flex;
  align-items: flex-start;
  align-content: flex-start;
  gap: 28px;
  flex-wrap: wrap;
  flex-direction: column;
}

.route-meta-temperature {
  display: flex;
  flex-direction: row;
  gap: 28px;
}

.route-meta-climate {
  display: flex;
  flex-direction: row;
  gap: 28px;
}

.route-right {
  position: absolute;
  right: 0;
  top: 14px;
  z-index: -1;
}

.tour-about-right-image img {
  object-fit: cover;
  height: 100%;
}

.hero-bg {
  contain: layout style paint;
  /* Современные оптимизации */
  height: 100%;
  inset: 0;
  margin-top: -1px;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  width: 100%;
  will-change: transform;
  z-index: -1;
}

/* Hero video positioning */
.hero-bg video {
  border: 0;
  height: 100%;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  will-change: transform;
  z-index: -1;
}

/* Hero iframe fallback */
.hero-bg iframe {
  border: 0;
  height: 100%;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  z-index: -1;
}

.hero-wrapper.tour h1 {
  max-width: 888px;
}

/* Hero poster image */
.hero-bg img {
  height: 100%;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.5s ease;
  width: auto;
  z-index: -2;
}



.hero-left {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-bottom: 50px;
  width: 450px;
}

.hero-wrapper {
  align-items: flex-end;
  display: flex;
  flex-direction: row;
  gap: 87px;
  height: 100vh;
  justify-content: space-between;
  margin: 0;
  padding: 0;
}

/* ===== POSITION SECTION ===== */
.position {
  background-color: var(--light);
  overflow: hidden;
}

.button {
  align-items: center;
  border: 0;
  border-radius: 40px;
  cursor: pointer;
  display: flex;
  gap: 8px;
  justify-content: center;
  padding: 8px 32px;
  transition: background-color 200ms ease, color 200ms ease;
}

.button.light {
  background-color: var(--light);
  color: var(--primary);
}

.button.light:hover {
  background-color: #DBDBDB;
}

.button.dark {
  background-color: var(--primary);
  color: var(--light);
}

.button.dark:hover {
  background-color: #3F3F3F;
  color: var(--light);
}

.hero-right {
  margin-bottom: 25px;
}

.hero-right h1 {
  text-align: end;
}

.shifted {
  margin-right: -20px;
}

.position-wrap {
  align-items: flex-end;
  display: flex;
  gap: 40px;
  height: 780px;
  justify-content: space-between;
  padding-bottom: 50px;
  padding-top: 50px;
}

.position-wrap .button {
  grid-area: button;
  justify-self: start;
  /* кнопка будет прижата к левому краю */
}


.position-content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-bottom: 20px;
  width: 658px;
}

.p-grid-2row {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 16px;
}

.p-grid-2row>* {
  min-width: 0;
  /* важно для grid/flex */
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
}

.position-pic {
  align-self: stretch;
  display: flex;
  height: 680px;
  justify-content: center;
  min-width: 400px;
  overflow: hidden;
  position: relative;
  width: 642px;
}

.who-goes-single-image {
  width: 100%;
  height: 500px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.who-goes-single-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pdf-form-wrapper label {
  color: var(--light);
}

.tour-booking-form label {
  color: var(--light);
}

.form-consent-wrapper {
  display: flex;
  flex-direction: column;
}

.pdf-form-wrapper label a {
  color: var(--light);
}

.tour-booking-form label a {
  color: var(--light);
}

.tour-booking-form .form-consent-wrapper {
  margin-top: 16px;
}

.pdf-details-image {
  min-width: 461px;
  height: 267px;
}

.pdf-image {
  display: flex;
  height: 345.915px;
  width: 248.506px;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  overflow: hidden;
  position: absolute;
}

.pdf-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pdf-image.img1 {
  transform: rotate(8.184deg);
  background: linear-gradient(0deg, #B0B0B0 0%, #B0B0B0 100%), url(<path-to-image>) lightgray 0px -273.496px / 100% 194.721% no-repeat;
  right: 509px;
  top: 163px;
  z-index: 3;
}

.pdf-image.img2 {
  transform: rotate(-11.526deg);
  background: linear-gradient(0deg, #C8C8C8 0%, #C8C8C8 100%), url(<path-to-image>) lightgray 0px -281.081px / 100% 194.721% no-repeat;
  right: 289px;
  top: 20px;
  z-index: 2;
}

.pdf-image.img3 {
  transform: rotate(26deg);
  background: linear-gradient(0deg, #AFAFAF 0%, #AFAFAF 100%), url(<path-to-image>) lightgray 0px -302.887px / 100% 194.721% no-repeat;
  right: 62px;
  top: 81px;
  z-index: 1;
}

.position-pic p {
  position: absolute;
  z-index: 1;
  top: 24px;
  left: 24px;
}

.position-pic img {
  height: 680px;
}

.position-content h2 {
  position: relative;
}

header .container {
  padding: 0;
}

.position-content h2 svg {
  position: absolute;
  left: 4px;
  bottom: -4px;
}

/* ===== FILMS SECTION ===== */
.films {
  background-color: var(--primary);
}

.films-wrap {
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  gap: 48px;
  justify-content: flex-start;
  padding-bottom: 140px;
  padding-top: 77px;
}

.films-content {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.films-content-head {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.films-content-head .body-2 {
  max-width: 470px;
}

.films-benefits {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.films-benefits-content {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.benefits-content-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.films-video {
  width: 100%;
  min-width: 320px;
  max-width: 512px;
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.privacy {
  margin-top: 120px;
}

.privacy h1 {
  margin-bottom: 40px;
}

.privacy h2 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.films-video video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.34);
  transform-origin: center center;
  will-change: transform;
}

.play-button {
  display: flex;
  width: 192px;
  height: 36px;
  align-items: center;
  gap: 10px;
  position: absolute;
  bottom: 26px;
  left: 16px;
}

.fancybox__content {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  /* убираем скругление контейнера */
}

.fancybox__content>iframe,
.fancybox__content>video {
  display: block;
  width: 100%;
  height: 100%;
}

.play-button:hover svg path {
  transform: scale(1.3);
  transform-origin: center;
}

.play-button:hover svg circle {
  stroke-opacity: 1;
}

.play-button svg path {
  transition: transform 0.3s ease;
  transform-origin: center;
}

.play-button svg circle {
  transition: stroke-opacity 0.3s ease;
}

/* ===== CALENDAR SECTION ===== */
.calendar {
  overflow: hidden;
}



.calendar-wrap {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 51px;
  padding-bottom: 120px;
  padding-top: 117px;
}

.tour-slide {
  display: flex;
  width: 660px;
  min-width: 660px;
  max-width: 660px;
  gap: 20px;
  margin-right: 72px;
  min-height: 100%;
}


.kicker {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 17px;
}


.tour-kicker {
  display: flex;
  align-items: center;
  gap: 7px;
}

.op50 {
  opacity: 0.5;
}

.op75 {
  opacity: 0.75;
}

.tour-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
}

.tour-top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  align-self: stretch;
}

.tour-bottom {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}

.tour-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.tour-content {
  display: flex;
  width: 300px;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  align-self: stretch;
}

.tour-date-price {
  display: flex;
  align-items: center;
  gap: 20px;
  align-self: stretch;
}

.tour-pic {
  display: flex;
  width: 340px;
  height: 470px;
  padding: 8px 20px 8px 8px;
  align-items: center;
  gap: 10px;
  aspect-ratio: 34/47;
  position: relative;
  box-sizing: border-box;
}

.tour-img {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  flex: 1 0 0;
  align-self: stretch;
  overflow: hidden;
  object-fit: cover;
  /* обрезает изображение, сохраняя пропорции и заполняя контейнер */
  object-position: center;
  border: 2px solid var(--light);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.20) 100%), url(<path-to-image>) lightgray -159.559px 0px / 218.559% 100% no-repeat;
}

.card-title.top {
  position: absolute;
  top: 24px;
  left: 24px;
}

.card-title.bottom {
  position: absolute;
  bottom: 24px;
  right: 36px;
}

.swiper-wrapper {
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  max-width: 1340px;
}

.swiper-slide.calen {
  max-width: 660px !important;
}

.swiper-nav {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
  margin-top: 22px;
}

.swiper-buttons {
  display: flex;
  align-items: center;
  gap: 8px;
}

.swiper-button-next,
.swiper-button-prev {
  display: flex;
  width: 56px;
  height: 56px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  aspect-ratio: 1/1;
  border: 1px solid rgba(34, 34, 34, 0.50);
  cursor: pointer;
}

.swiper-button-disabled {
  opacity: 0.5;
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
  /* position: absolute; */
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--primary);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
  position: static;
  width: 100%;
  --swiper-scrollbar-drag-bg-color: var(--primary);
  --swiper-scrollbar-bg-color: #DBDBDB;
  height: 2px;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: .3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
  overflow: hidden;
}

/* ===== MOVIES SECTION ===== */
.movies {
  background: var(--primary);
  overflow: hidden;
}

.movies-wrap {
  width: 100%;
  display: inline-flex;
  height: 859px;
  padding-top: 50px;
  padding-bottom: 80px;
  flex-direction: column;
  position: relative;
}

.movies-head {
  margin-bottom: 56px;
  display: inline-flex;
  align-items: flex-start;
  gap: 150px;
  padding: 32px 28px 0px 28px;
}

.movies-head p {
  width: 386px;
}

.corner {
  position: absolute;
}

.corner.lt {
  top: 50px;
  left: 0;
}

.corner.rt {
  top: 50px;
  right: 0;
  transform: rotate(90deg);
}

.corner.lb {
  bottom: 80px;
  left: 0;
  transform: rotate(270deg);
}

.corner.rb {
  bottom: 80px;
  right: 0;
  transform: rotate(180deg);
}

.body-2.op50.lb {
  position: absolute;
  bottom: 100px;
  left: 16px;
}

.body-2.op50.rb {
  position: absolute;
  bottom: 100px;
  right: 16px;
}

.slide-movies {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 480px;
}

.slide-movies:hover h3 {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.slide-movies:hover h3 span {
  text-decoration: none !important;
}

.slide-movies:hover h3 span {
  text-decoration: none;
  text-decoration-line: none;
}

.slide-movies:hover h3 span {
  display: inline-block;
  text-decoration: none;
}

.filter-fade-right, .filter-fade-left {
  display: none;
}

.swiper-button-prev.mov,
.swiper-button-next.mov {
  border-color: var(--light);
}

.swiper-button-prev.mov svg path {
  fill: var(--light)
}

.swiper-button-next.mov svg path {
  fill: var(--light)
}

.swiper-slide.mov {
  opacity: 0.4;
  transition: opacity 600ms ease;
}

.swiper-slide.mov h3 {
  opacity: 0;
  transition: opacity 600ms ease;
}

.swiper-slide.mov.swiper-slide-active {
  opacity: 1;
}

.swiper-slide.mov.swiper-slide-active h3 {
  opacity: 1;
}

/* Embla: Movies slider active/inactive states */
.embla__slide.mov {
  opacity: 0.4;
  transition: opacity 600ms ease;
}

.embla__slide.mov h3 {
  opacity: 0;
  transition: opacity 600ms ease;
}

.embla__slide.mov.embla__slide--active {
  opacity: 1;
}

.embla__slide.mov.embla__slide--active h3 {
  opacity: 1;
}

.swiper-nav.mov {
  margin-top: 22px;
}

.swiper-button-next.mov.swiper-button-disabled {
  opacity: 1;
}

.swiper-wrapper.mov {
  margin-left: 565px;
}

/* Embla: Movies slider layout */
.movies-embla .embla__viewport {
  overflow: hidden;
  width: 100%;
}

.movies-embla .embla__container {
  display: flex;
  gap: 24px;
}

.embla__slide.mov {
  flex: 0 0 auto;
}

.movies-embla .embla__container.mov {
  margin-left: 565px;
}

.swiper-nav.mov {
  margin-left: 565px;
}

.ptours-wrap {
  display: flex;
  padding: 24px;
  gap: 48px;
  justify-content: space-between;
  align-items: flex-start;
  background: var(--primary);
}

.ptours-content {
  display: flex;
  width: 407px;
  gap: 48px;
  padding: 8px 0;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  align-self: stretch;
}

.ptours-content-top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
}

.ptour-video {
  position: relative;
}

.ptour-video video {
  display: flex;
  width: 100%;
  max-width: 703px;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
}

.carousel {
  height: 500vh;
  /* 100vh на каждый слайд */
  position: relative;
}

.carousel .container {
  width: 100%;
  max-width: none;
  padding: 0;
  height: 100svh;
  position: sticky;
  top: 0;
  overflow: hidden;
}

/* трек слайдов */
.carousel-wrap {
  display: flex;
  height: 100%;
  /* ✨ ВОТ ИЗМЕНЕНИЕ: Возвращаем плавный переход */
  transition: transform 0.5s ease-in-out;
  will-change: transform;
}

/* Остальные стили (.carousel-item и т.д.) без изменений */

/* Стили для .carousel-item и других элементов остаются без изменений */
.carousel-item {
  min-width: 100vw;
  height: 100%;
  padding: 140px 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.carousel-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  align-self: stretch;
}

.carousel-content {
  display: flex;
  width: 398px;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.films-content-head h2 {
  max-width: 666px;
}

.carousel-pic {
  height: 260px;
  align-self: stretch;
}

.promo-wrap {
  padding: 135px 0px 160px 0px;
  display: flex;
  flex-direction: column;
  gap: 43px;
}

.running-line {
  display: flex;
  white-space: nowrap;
}

/* ===== PROMO SECTION ===== */
.promo {
  overflow: hidden;
}

.promo-wrap h2 {
  width: 782px;
  align-self: center;
}

.txt-center {
  text-align: center;
}

.promo-content {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.tour-about-wrapper {
  display: flex;
  padding: 80px 0px 100px 0px;
  justify-content: center;
  align-items: flex-start;
  gap: 64px;
  align-self: stretch;
}

.tour-about-left {
  display: flex;
  width: 504px;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
}

.tour-about-right {
  display: flex;
  width: 772px;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
}

.blog-date svg {
  opacity: 0.6;
}

.tour-about-right-content {
  display: flex;
  width: 700px;
  padding-top: 4px;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.tour-about-right-content p {
  max-width: 455px;
}

.promo-buttons {
  display: flex;
  align-items: center;
  gap: 8px;
  align-self: center;
}

.running-line-wrap {
  width: 100%;
}

.running-line {
  display: flex;
  white-space: nowrap;
  justify-content: flex-start;
  /* не центр! */
}

.running-line-inner {
  display: flex;
  animation: scroll 20s linear infinite;
  /* скорость регулируй тут */
  will-change: transform;
}

.running-line-tag {
  display: flex;
  padding: 8px 20px 12px;
  margin: 0 8px;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  color: var(--primary);
  border-radius: 50px;
  border: 1px solid rgba(34, 34, 34, .6);
  flex: 0 0 auto;
  font-family: Inter;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 33.6px */
  letter-spacing: -0.24px;
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }

  /* уезжает ровно на длину первой половины */
}

/* ===== FOOTER ===== */
footer {
  padding-top: 120px;
}

.footer-wrap {
  display: flex;
  padding-bottom: 20px;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
}

.nav-side {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  align-self: stretch;
  flex-direction: column;
}

.navigation-wrap {
  display: flex;
  align-items: flex-start;
  gap: 133px;
  align-self: stretch;
}

.navigation {
  display: flex;
  width: 94px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.legal-links {
  display: flex;
  width: 248px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.logo-side {
  display: flex;
  width: 568px;
  min-width: none;
  flex-direction: column;
  align-items: flex-end;
  gap: 40px;
}

.main-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  align-self: stretch;
}

.footer-mail-form {
  display: flex;
  width: 437px;
  flex-direction: column;
  align-items: flex-start;
  gap: 17px;
}

.form-input {
  display: flex;
  width: 437px;
  padding: 20px 0;
  justify-content: space-between;
  align-items: center;
  color: var(--primary, #222);
  font-family: Inter;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 21px */
  letter-spacing: -0.3px;
  background: transparent;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 1px solid var(--primary, #222);
}

.footer-form {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
}

.footer-form .form-input {
  flex: 1 1 auto;
  width: auto;
}

.footer-form .form-arrow-button {
  flex: 0 0 auto;
}

.footer-form .form-consent {
  flex-basis: 100%;
}

.form-arrow-button {
  background: transparent;
  border: none;
  /* убираем все границы */
  border-bottom: 1px solid var(--primary, #222);
  /* только нижняя */
  cursor: pointer;
  position: relative;
  background-image: url("/wp-content/themes/svoboda.team/assets/icons/slide-next.svg");
  /* или .svg */
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  /* размер стрелки */
  transition: opacity 100ms ease;
  width: 24px;
}

/* При наведении — можно усилить бордер */
.form-arrow-button:hover {
  opacity: 0.5;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
}

.footer-bottom-left {
  display: flex;
  align-items: center;
  gap: 24px;
}

.dnt {
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0.5;
  transition: opacity 200ms ease;
}

.dnt:hover {
  opacity: 1;
}

/* ===== CONTACT SECTION ===== */
.contact {
  background-color: var(--primary);
  padding: 50px 0;
}

.contact-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 36px;
  color: var(--light);
}

.link-sm {
  font-size: 17px;
}





.idea-contact {
  display: flex;
  width: 342px;
  min-width: 342px;
  padding: 8px 0;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  align-self: stretch;
  gap: 48px;
}

.idea-contact-top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  align-self: stretch;
}

.idea-links {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.social-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--light, #EDEDED);
  font-family: Inter;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 110%;
  /* 22px */
  letter-spacing: -0.4px;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  transition: opacity 100ms ease;
}

.social-link:hover {
  opacity: 0.5;
}

.contact-video video {
  width: 100%;
  max-width: 772px;
  align-self: stretch;
}

.contact-video {
  width: 100%;
  max-width: 772px;
  align-self: stretch;
}

.button.dark.inst {
  position: relative;
}

.m-menu {
  display: none;
}

.warning {
  width: 239px;
  position: absolute;
  right: -63px;
  bottom: -42px;
  color: var(--primary, #222);
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 16.8px */
  opacity: 0.3;
  text-transform: none;
  text-wrap: wrap;
}

/* ===== FORMS ===== */
.form {
  padding-bottom: 140px;
  margin-top: 140px;
}

.form-title h2 {
  line-height: 99%;
}

.form-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.form-title {
  display: flex;
  width: 544px;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.form-title h2 {
  position: relative;
  width: 429px;
}

.form-title h2 svg {
  position: absolute;
  left: 4px;
  bottom: -4px;
}

.form-title p {
  width: 315.74px;
}

.form-input-1 {
  width: 100%;
  display: flex;
  padding: 24px 16px;
  justify-content: space-between;
  align-items: center;
  color: var(--primary, #222);
  font-family: Inter;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 21px */
  letter-spacing: -0.3px;
  background: transparent;
  border: 0;
  background: #DFDFDF;
  margin-bottom: 14px;
}

/* Селект с кастомной стрелкой (16px от правого края) */
.contact-form select.form-input-1 {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M20.7803 8.40527L12 17.1855L3.21973 8.40527L4.28027 7.34473L12 15.0645L19.7197 7.34473L20.7803 8.40527Z" fill="%23222222"/></svg>');
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 24px 24px;
  padding-right: 56px;
  /* место для стрелки */
}

/* Прячем стрелку в старых браузерах */
.contact-form select.form-input-1::-ms-expand {
  display: none;
}

.form-input-2::placeholder {
  color: rgba(34, 34, 34, .5);
}

.form-input-2:focus-visible {
  outline: 2px solid var(--primary, #222);
  outline-offset: 2px;
}


.contact-form {
  width: 772px;
}

.contact-form textarea {
  height: 195px;
}

.contact-form p a {
  color: var(--primary);
  text-decoration: underline;
  opacity: 1;
}

.form-button {
  display: flex;
  padding: 8px 32px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  align-self: stretch;
  border-radius: 40px;
  background: var(--primary, #222);
  border: 0;
  justify-self: stretch;
  color: var(--light);
  cursor: pointer;
  margin-bottom: 16px;
  transition: background-color 200ms ease;
  color: var(--light, #EDEDED);
  font-family: Inter;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 25.2px */
  letter-spacing: 0.18px;
  text-transform: uppercase;
}

.burger {
  display: none;
}

.form-button:hover {
  background-color: #3F3F3F;
}

.d-none {
  display: none;
}

.underline {
  /* Нижнее подчёркивание */
  text-decoration: underline;
}

.form-consent-wrap {
  display: flex;
  flex-direction: column;
}

.private-tours {
  margin-bottom: 180px;
}

/* ===== MODALS ===== */
.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}

.modal.is-open {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

.modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .5);
}

.modal__dialog {
  position: relative;
  max-width: 560px;
  width: calc(100% - 32px);
  margin: 64px auto;
  padding: 24px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
}

.modal__close {
  position: absolute;
  top: 8px;
  right: 8px;
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.form-row {
  margin-bottom: 14px;
}

body.modal-open {
  overflow: hidden;
}


/* всё, что внутри попап-формы, не должно вылезать */
#tour-modal .contact-form {
  display: flex;
  flex-direction: column;
}

/* инпуты/текстареа/кнопка занимают ширину диалога и учитывают padding */
#tour-modal .form-input-2,
#tour-modal .contact-form textarea,
#tour-modal .form-button {
  display: block;
  /* не flex на самом input */
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* стили самого поля */
#tour-modal .form-input-2,
#tour-modal .contact-form textarea {
  padding: 24px 16px;
  background-color: #DFDFDF;
  border: 0;
  color: var(--primary, #222);
  font: 400 15px/1.4 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  letter-spacing: -0.3px;
}

/* кнопка */
#tour-modal .form-button {
  padding: 14px 18px;
  border: 0;
}

/* видимый фокус для доступности */
#tour-modal .form-input-2:focus-visible,
#tour-modal .contact-form textarea:focus-visible,
#tour-modal .form-button:focus-visible {
  outline: 2px solid var(--primary, #222);
  outline-offset: 2px;
}

.form-input-2 {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 24px 16px;
  color: var(--primary, #222);
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -0.3px;
  background-color: #DFDFDF;
  /* одно свойство вместо двух */
  border: 0;
  margin-bottom: 14px;
}

.modal__dialog h3 {
  margin-bottom: 6px;
}

.modal__dialog p {
  margin-bottom: 6px;
}

.hero-wrapper.tour {
  padding: 0px 0px 50px 0px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items:
    flex-start;
  gap: 37px;
  max-height: 700px;
}

.hero-title.tour {
  gap: 17px;
}


.hero-bg.tour {
  max-height: 700px;
}

.hero.tour {
  max-height: 700px;
}


.hero-title {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* компактный мета-блок в hero */
.tour-meta {
  display: flex;
  width: 317px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 14px;
}

.tour-meta .meta-item {
  display: flex;
  width: 317px;
  height: 55px;
  padding-bottom: 10px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 2px;
  border-bottom: 1px solid rgba(34, 34, 34, 0.20);
}



.thanks-wrapper {
  margin-top: 128px;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: center;
}

.thanks-content {
  max-width: 648px;
}

.thanks-wrapper .position-pic {
  height: 500px;
}

.thanks-wrapper .position-pic img {
  height: 500px;
}

.who-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.who-card-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  align-self: stretch;
}

.who-goes-wrapper {
  display: flex;
  padding: 160px 114px;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  align-self: stretch;
}

.who-goes-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  width: 100%;
}

.who-card-image {
  width: 100%;
  height: 340px;
  overflow: hidden;
}

.who-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ===== MEDIA QUERIES ===== */
@media (min-width: 901px) {
  .who-goes-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}



@media (max-width: 600px) {
  .who-goes-grid {
    gap: 12px;
  }

  .who-card {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
}

.who-card {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Стили для верстки одного человека */
.who-goes-single .who-goes-single-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 20px;
}

.who-goes-single-image {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.who-goes-single-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.who-goes-single-name {
  margin: 0;
}

.who-goes-single-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  width: 100%;
  max-width: 100%;
}

.who-goes-single-bio,
.who-goes-single-bio2 {
  width: 100%;
}

.who-goes-single-bio p,
.who-goes-single-bio2 p {
  margin: 0;
}

/* Два столбца для десктопа */
@media (min-width: 901px) {
  .who-goes-single-content {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}




/* ===== TOUR PAGE STYLES ===== */

/* Hero секция тура */
.tour-hero {
  position: relative;
  height: 100vh;
  min-height: 540px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}

/* затемняющий градиент поверх медиа */
.tour-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.55) 100%);
  z-index: 1;
}

.tour-hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

/* видео/изображение перекрывают весь экран по высоте с кропом по ширине */
.tour-hero-video,
.tour-hero-image {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

.tour-hero-image {
  object-position: center;
}

.tour-hero-content {
  position: relative;
  z-index: 2;
  color: white;
  text-align: left;
}

/* выравниваем контент по нижнему краю, добавляем внутренние отступы */
.tour-hero .container {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: flex-end;
  padding-bottom: 60px;
}

.tour-breadcrumbs {
  margin-bottom: 20px;
  font-size: 14px;
  opacity: 0.8;
}

.tour-breadcrumbs a {
  color: white;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.tour-breadcrumbs a:hover {
  opacity: 0.7;
}

.tour-breadcrumbs span {
  margin: 0 10px;
  opacity: 0.6;
}

.tour-title {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 30px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.tour-meta {
  display: flex;
  flex-wrap: wrap;
}

.tour-duration,
.tour-difficulty,
.tour-price {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 500;
}

.meta-icon {
  font-size: 18px;
}

/* Основной контент */

.tour-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 60px;
  align-items: start;
}

.tour-main {
  background: white;
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.tour-description h2,
.tour-gallery h2 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #2c3e50;
}

.tour-description {
  margin-bottom: 50px;
}

.tour-description p {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 20px;
}

/* Программа тура */
.program-timeline {
  margin-top: 30px;
}

.program-day {
  display: flex;
  gap: 20px;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #eee;
}

.program-day:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.day-number {
  width: 40px;
  height: 40px;
  background: #3498db;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
  flex-shrink: 0;
}

.day-content h3 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #2c3e50;
}

.day-content p {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  margin: 0;
}

/* Галерея */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  aspect-ratio: 4/3;
}

.gallery-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.gallery-item:hover .gallery-image {
  transform: scale(1.05);
}

/* Боковая панель */
.tour-sidebar {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.booking-form {
  background: white;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.tour-booking-form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  align-self: stretch;
  width: 686px
}

.tour-booking-form form {
  width: 100%;
}


.booking-form h3,
.tour-info h3,
.tour-contacts h3 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #2c3e50;
}

.booking-prepay-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.booking-prepay-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.booking-info {
  display: flex;
  width: 544px;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
  flex-shrink: 0;
}

/* Форма бронирования */
.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
  color: #2c3e50;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #e1e8ed;
  border-radius: 8px;
  font-size: 16px;
  transition: border-color 0.3s ease;
  box-sizing: border-box;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: #3498db;
}

.booking-submit {
  width: 100%;
  background: #3498db;
  color: white;
  border: none;
  padding: 16px 24px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease;
}

.booking-submit:hover {
  background: #2980b9;
}

/* ===== Booking form dark theme (matches screenshot) ===== */

.booking-form-dark .form-group input,
.booking-form-dark .form-group textarea,
.booking-form-dark .form-group select {
  display: flex;
  padding: 24px 16px;
  align-items: center;
  align-self: stretch;
  background: rgba(223, 223, 223, 0.10);
  border-radius: 0;
  border: none;
  outline: none;
  color: var(--light, #EDEDED);
  font-family: Inter;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 21px */
  letter-spacing: -0.3px;
}

.booking-form-dark .form-group input::placeholder,
.booking-form-dark .form-group textarea::placeholder {
  color: rgba(237, 237, 237, 0.6);
}

.booking-form-dark .form-group input:focus,
.booking-form-dark .form-group textarea:focus,
.booking-form-dark .form-group select:focus {
  border-color: #555;
}

.booking-form-dark .button.light.w-full {
  width: 100%;
  background: #ededed;
  color: #1e1e1e;
  border-radius: 9999px;
  padding: 14px 20px;
}

.booking-form-dark .booking-consent {
  margin-top: 10px;
  color: rgba(237, 237, 237, 0.6);
}

.booking-form-dark .link-underline {
  color: #ededed;
  text-decoration: underline;
}

/* Consent checkbox text color */
.form-consent {
  color: var(--primary);
}

.form-consent a {
  color: var(--primary);
  text-decoration: underline;
}

.booking-form-dark .phone-input-wrapper {
  position: relative;
}




/* Информация о туре */
.info-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #eee;
}

.info-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.info-item strong {
  color: #2c3e50;
  font-weight: 600;
}

.info-item .price {
  font-weight: 700;
  color: #27ae60;
  font-size: 18px;
}

/* Контакты */
.contact-item {
  margin-bottom: 15px;
}

.contact-item strong {
  display: block;
  color: #2c3e50;
  font-weight: 600;
  margin-bottom: 5px;
}

.contact-item a {
  color: #3498db;
  text-decoration: none;
  transition: color 0.3s ease;
}

.contact-item a:hover {
  color: #2980b9;
}

/* Похожие туры */
.related-tours {
  padding: 80px 0;
  background: white;
}

.related-tours h2 {
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 50px;
  color: #2c3e50;
}

.tours-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

.tour-card {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tour-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.tour-card-image {
  height: 200px;
  overflow: hidden;
}

.tour-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.tour-card:hover .tour-card-image img {
  transform: scale(1.05);
}

.tour-card-content {
  padding: 25px;
}

.tour-card-content h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #2c3e50;
}

.tour-card-meta {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  font-size: 14px;
  color: #666;
}

.tour-card-link {
  display: inline-block;
  background: #3498db;
  color: white;
  padding: 12px 24px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  transition: background 0.3s ease;
}

.tour-card-link:hover {
  background: #2980b9;
}

.tour-program-wrapper {
  display: flex;
  padding: 110px 114px 140px 114px;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  align-self: stretch;
}

/* Меньше зазор «Программа» → «Кто едет», пока блок PDF скрыт (класс на main) */
.tour-page--no-pdf-details .tour-program-wrapper {
  padding-bottom: 72px;
}
.tour-page--no-pdf-details .who-goes-wrapper {
  padding: 80px 114px 100px;
}

.tour-program-title {
  display: flex;
  width: 530px;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
}

.tg-banner {
  background: var(--primary, #222);
}

.tg-banner-wrapper {
  display: flex;
  padding: 20px 0px;
  justify-content: center;
  align-items: center;
  gap: 32px;
}

.tg-banner-right {
  max-width: 491px;
}

.tg-banner-link {
  display: flex;
  padding-top: 2px;
  align-items: flex-start;
  gap: 10px;
  transition: opacity 0.15s ease;
}

.tg-banner-link:hover {
  opacity: 0.8;
}

.tg-banner-link h2 {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.tg-banner-link svg {
  fill: var(--white, #FFF);
}

.tour-advantages-wrapper {
  display: flex;
  padding: 100px 0px 160px 0px;
  align-items: flex-start;
  gap: 44px;
  align-self: stretch;
}

.tour-advantages-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  flex: 1 0 0;
}

.tour-advantages-right-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
  align-self: stretch;
}

.tour-advantages-right-content-item p {
  max-width: 483px;
}

.tour-advantages-right-content-item h3 {
  width: 265px;
}

.tour-advantages-right-content-item {
  display: flex;
  padding-top: 10px;
  align-items: flex-start;
  gap: 24px;
  align-self: stretch;
  border-top: 1px solid rgba(30, 30, 30, 0.20);
}

.icluded-price {
  display: flex;
  padding: 0 6px 3px 6px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: var(--yellow, #FFC166);
}

.tour-expenses-wrapper {
  display: flex;
  padding: 0 0px 160px 0px;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
  align-self: stretch;
}

.included,
.not-included {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  flex: 1 0 0;
}

.included-content p,
.not-included-content p {
  margin-bottom: 8px;
}


.tour-expenses-content {
  display: flex;
  width: 999px;
  align-items: flex-start;
  gap: 24px;
}

.included-title {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  align-self: stretch;
}

.tour-advantages-left {
  display: flex;
  width: 524px;
  height: 583px;
  padding-top: 32px;
  align-items: center;
  gap: 10px;
  overflow: hidden;
}

.tour-advantages-left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ===== МОБИЛЬНАЯ АДАПТАЦИЯ ДЛЯ СТРАНИЦЫ ТУРА ===== */

/* merged into unified 768px media block below */

/* merged into unified 480px media block below */

/* Стили для программы по дням */

.tour-day-item {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  align-self: stretch;
}

.tour-program-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 64px;
}

.tour-day-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  align-self: stretch;
}


.tour-day-content {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

/* Центрированный стандартный layout */
.tour-day-centered {
  justify-content: center;
}

.tour-day-content.tour-day-centered .tour-day-title {
  max-width: 540px;
}


.tour-day-item.tour-day-layout-centered,
.tour-day-item.tour-day-layout-centered-reverse {
  justify-content: center;
}


.tour-day-centered .tour-day-title .tour-day-title-inner {
  max-width: 443px;
}

.tour-day-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.tour-day-image {
  flex: 1;
  position: relative;
  overflow: hidden;
}

.tour-day-image .day-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.tour-day-date {
  font-size: 14px;
  color: #888;
  margin-bottom: 8px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.tour-day-title {
  font-size: 24px;
  font-weight: 700;
  color: #333;
  margin-bottom: 20px;
  line-height: 1.3;
}

.tour-day-stats {
  margin-bottom: 25px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tour-day-stats .stat-item {
  display: flex;
  padding: 2px 8px 4px 8px;
  align-items: center;
  gap: 4px;
  background: #F9F9F9;
  color: var(--primary, #222);
  font-family: Inter;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  /* 18.2px */
  letter-spacing: -0.13px;
}

.tour-day-stats .stat-item strong {
  opacity: 0.7;
  font-weight: 500;
}

.tour-day-description {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
}

.tour-day-description p {
  margin-bottom: 15px;
}

.tour-day-description p:last-child {
  margin-bottom: 0;
}

.tour-program-empty {
  text-align: center;
  padding: 60px 20px;
  color: #888;
  font-style: italic;
}

/* Стили для разных шаблонов дней */
.tour-day-layout-full-width .tour-day-image-full {
  width: 100%;
  height: 532px;
  overflow: hidden;
}

/* Полная ширина: один столбик */
.tour-day-layout-full-width-1col .tour-day-content-full {
  max-width: 658px;
}

.tour-day-layout-full-width-1col .tour-day-image-full {
  width: 100%;
  height: 532px;
  overflow: hidden;
}

.tour-day-item.tour-day-layout-full-width-1col {
  flex-direction: column;
  align-items: center;
}

.tour-day-layout-full-width-1col .tour-day-image-full .day-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tour-day-layout-full-width .tour-day-image-full .day-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tour-day-item.tour-day-layout-full-width {
  flex-direction: column;
  gap: 28px;
}

.tour-day-columns {
  display: flex;
  gap: 30px;
}

.tour-day-content-full .tour-day-title {
  margin-bottom: 0;
}

.tour-day-content-full .tour-day-title .tour-day-stats {
  margin-bottom: 18px;
}

.tour-day-column {
  flex: 1;
}

.tour-day-column:first-child {
  flex: 1.5;
  /* Первый столбик шире */
}

.tour-day-column:last-child {
  flex: 1;
  /* Второй столбик уже */
}

.tour-day-item.tour-day-layout-text-only {
  justify-content: center;
}

.tour-day-layout-image-only .tour-day-image-only {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}

.tour-day-layout-image-only .tour-day-image-only .day-image {
  width: 100%;
  height: 400px;
  object-fit: cover;
}

.tour-day-layout-image-only .tour-day-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
  color: white;
  padding: 30px;
}

.tour-day-layout-image-only .tour-day-caption .body-2 {
  color: rgba(255, 255, 255, 0.8);
}

.tour-day-layout-image-only .tour-day-caption .txt-primary {
  color: white;
}

/* Обратный layout */
.tour-day-reverse {
  flex-direction: row-reverse;
}

.pdf-details-wrapper {
  display: flex;
  padding: 24px 24px 32px 24px;
  justify-content: space-between;
  align-items: flex-start;
  background: var(--primary, #222);
  position: relative;
}

.pdf-form .form-group {
  margin-bottom: 0;
}

.pdf-form .form-group input {
  border-radius: 0;
}

.w-full {
  width: 100%;
}

.pdf-details-image {
  min-width: 345.91px;
  position: absolute;
  right: -34px;
  top: -64px;
}

.pdf-details-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.pdf-details-text p {
  margin-bottom: 8px;
}



.pdf-details-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  max-width: 508px;
}

.pdf-form-wrapper {
  width: 100%;
}

.pdf-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.form-group {
  display: flex;
  flex-direction: column;
}

.pdf-form input[type="text"],
.pdf-form input[type="tel"] {
  width: 100%;
  padding: 12px 16px;
  background: #404040;
  border: none;
  color: #fff;
  font-size: 16px;
  outline: none;
  transition: background-color 0.3s ease;
}

.pdf-form input[type="text"]:focus,
.pdf-form input[type="tel"]:focus {
  background: #505050;
}

.pdf-form input::placeholder {
  color: #999;
}

.phone-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.country-selector {
  position: absolute;
  left: 12px;
  display: flex;
  align-items: center;
  gap: 4px;
  z-index: 1;
  pointer-events: none;
}

.country-flag {
  font-size: 16px;
}

.country-arrow {
  color: #999;
  font-size: 12px;
}

.pdf-form-submit {
  width: 100%;
  padding: 16px;
  background: #EBEBEB;
  border: none;
  border-radius: 4px;
  color: #333;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.pdf-form-submit:hover {
  background: #D0D0D0;
}

.pdf-form-submit:active {
  background: #C0C0C0;
}

/* ===== Блок бронирования ===== */
.booking-wrapper {
  display: flex;
  padding: 40px 24px 48px 24px;
  justify-content: space-between;
  align-items: flex-start;
  background: var(--primary, #222);
}

.booking-list {
  list-style: none;
  /* Убирает ВСЕ маркеры (точки, квадраты и т.д.) */
  padding-left: 0;
  /* Убирает стандартные отступы браузера */
  margin: 0;
  /* Опционально: сбрасывает внешние отступы */
}

.hero-calendar-wrap {
  display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
align-self: stretch;
}

.calendar-filter-wrap {
  display: flex;
flex-direction: column;
align-items: flex-start;
gap: 16px;
align-self: stretch;
}

.calendar-filter-wrap p {
  max-width: 540px;
}

.calendar-filter {
  display: flex;
align-items: center;
gap: 8px;
align-self: stretch;
}

.calendar-filter-item-button {
  display: flex;
height: 41px;
padding: 6px 6px 2px 6px;
justify-content: center;
align-items: center;
gap: 10px;
color: var(--purple, #6C7EAA);
text-align: center;
font-family: "Bebas Neue";
font-size: 28px;
font-style: normal;
font-weight: 700;
line-height: 100%; /* 28px */
letter-spacing: -0.28px;
text-decoration-line: underline;
text-decoration-style: solid;
text-decoration-skip-ink: auto;
text-decoration-color: rgba(108, 126, 170, 0.20);
text-decoration-thickness: auto;
text-underline-offset: 14%; /* 3.92px */
text-underline-position: from-font;
text-transform: uppercase;
border: none;
cursor: pointer;
background: none;
transition: all 0.2s ease;
&:hover {
  text-decoration-color: #6C7EAA;
}
&:active {
  background: var(--purple, #6C7EAA);
  color: var(--light);
  text-decoration-color: var(--purple);
}
&.active {
  background: var(--purple, #6C7EAA);
  color: var(--light);
  text-decoration-color: var(--purple);
}
}

.booking-info-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  align-self: stretch;
}

.booking-info-title p {
  max-width: 395px;
}

.booking-info-title h2 {
  max-width: 472px;
}

.booking-info {
  flex: 1;
}

.booking-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
}

.booking-form {
  width: 420px;
}

/* merged into unified 900px media block below */

/* ===== Секция вопросов ===== */
.questions-wrapper {
  display: flex;
  padding: 140px 0px;
  justify-content: space-between;
  align-items: flex-start;
  align-self: stretch;
}

.questions-left {
  display: flex;
  width: 772px;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}

.questions-left-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  align-self: stretch;
}

.questions-left-content-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
}


.questions-right {
  display: flex;
  width: 430px;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.questions-right-top {
  width: 100%;
  height: 202px;
  overflow: hidden;
}

.questions-right-top img {
  width: 202px;
  height: 202px;
  aspect-ratio: 1/1;
  object-fit: cover;
}

._700 {
  font-weight: 700;
}


.questions-right-links {
  display: flex;
  gap: 16px;
  justify-content: center;
}

.questions-whatsapp,
.questions-telegram {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  transition: opacity 0.15s ease;
}

.questions-whatsapp:hover,
.questions-telegram:hover {
  opacity: 0.5;
}


.questions-whatsapp img,
.questions-telegram img {
  width: 28px;
  height: 28px;
}

/* Desktop and tablet styles */
@media (max-width: 900px) {
  .questions-wrapper {
    padding: 64px 20px;
    flex-direction: column;
    gap: 32px;
  }

  .container {
    padding-right: 20px;
    padding-left: 20px;
  }

  .questions-right {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }

  .questions-right-top {
    height: 150px;
  }

  /* Booking section (merged) */
  .booking-wrapper {
    padding: 64px 20px;
    flex-direction: column;
    gap: 24px;
  }

  .booking-form {
    width: 100%;
  }
}

/* Tablet styles */
@media (max-width: 768px) {
  .pdf-details-wrapper {
    padding: 2.604vw;
  }

  .pdf-details-content {
    gap: 2.604vw;
    order: 2;
  }


  .pdf-form-wrapper {
    max-width: 100%;
  }

  .tour-day-content {
    flex-direction: column;
  }

  .tour-day-text {
    padding: 3.906vw 2.604vw;
  }

  .tour-day-image {
    min-height: 32.552vw;
  }

  .tour-day-title {
    font-size: 2.604vw;
  }



  .tour-program-wrapper {
    display: flex;
    padding: 15.625vw 0px 18.229vw 0px;
    flex-direction: column;
    align-items: center;
    gap: 7.292vw;
    align-self: stretch;
  }

  .tour-page--no-pdf-details .tour-program-wrapper {
    padding-bottom: 8vw;
  }

  .tour-day-stats .stat-item:last-child {
    margin-bottom: 0;
  }

  /* Адаптивность для разных шаблонов */
  .tour-day-layout-full-width .tour-day-image-full {
    height: 26.042vw;
  }

  .tour-day-layout-full-width-1col .tour-day-image-full {
    height: 26.042vw;
  }

  .tour-day-layout-full-width .tour-day-content-full {
    padding: 2.604vw;
  }

  .tour-day-columns {
    flex-direction: column;
    gap: 2.604vw;
  }

  .tour-day-column:first-child,
  .tour-day-column:last-child {
    flex: 1;
  }

  .tour-day-layout-text-only .tour-day-content-text-only {
    padding: 2.604vw;
  }

  .tour-day-layout-image-only .tour-day-image-only .day-image {
    height: 32.552vw;
  }

  .tour-day-layout-image-only .tour-day-caption {
    padding: 2.604vw;
  }

  .tour-day-reverse {
    flex-direction: column;
  }

  /* Tour page (merged from earlier 768px block) */
  .tour-hero {
    height: 50vh;
    min-height: 39.063vw;
  }

  .tour-title {
    font-size: 4.167vw;
    margin-bottom: 2.604vw;
  }

  .tour-meta {
    gap: 2.604vw;
    flex-direction: column;
    align-items: flex-start;
  }

  .tour-duration,
  .tour-difficulty,
  .tour-price {
    font-size: 1.823vw;
  }

  .tour-content {
    padding: 5.208vw 0;
  }

  .tour-layout {
    grid-template-columns: 1fr;
    gap: 3.906vw;
  }

  .tour-main {
    padding: 2.604vw;
  }

  .tour-description h2,
  .tour-gallery h2 {
    font-size: 3.125vw;
  }

  .films-content-head {
    gap: 2.083vw;
  }

  .program-day {
    flex-direction: column;
    gap: 1.953vw;
    text-align: center;
  }

  .day-number {
    align-self: center;
  }

  .gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(26.042vw, 1fr));
    gap: 1.953vw;
  }

  .booking-form,
  .tour-info,
  .tour-contacts {
    padding: 2.604vw;
  }

  .booking-form h3,
  .tour-info h3,
  .tour-contacts h3 {
    font-size: 2.604vw;
  }

  .form-group input,
  .form-group select,
  .form-group textarea {
    font-size: 2.083vw;
  }

  .info-item {
    flex-direction: column;
    gap: 0.651vw;
    text-align: left;
  }

  .related-tours {
    padding: 5.208vw 0;
  }

  .related-tours h2 {
    font-size: 3.646vw;
    margin-bottom: 3.906vw;
  }

  .tours-grid {
    grid-template-columns: 1fr;
    gap: 2.604vw;
  }

  .tour-card-content {
    padding: 2.604vw;
  }

  .tour-card-content h3 {
    font-size: 2.344vw;
  }
}

/* ===== RESPONSIVE VW LAYOUT (768px and below) ===== */
@media (max-width: 768px) {

  /* Container and layout adjustments */
  .container {
    padding-left: 1.56vw;
    /* 12px at 768px */
    padding-right: 1.56vw;
  }

  /* Header responsive */
  .header-wrapper {
    padding: 5.99vw 3.125vw 0;
    /* 23px 12px 0 at 384px */
  }

  .header-logo {
    width: 33.85vw;
    /* 130px at 384px */
    height: 7.29vw;
    /* 28px at 384px */
  }

  .logo-link svg {
    width: 33.85vw;
    height: 7.29vw;
  }

  /* Typography responsive */
  .h1 {
    font-size: 20.83vw;
    /* 80px at 384px */
  }

  h1 {
    font-size: 23.44vw;
    /* 180px at 768px */
    display: flex;
    flex-wrap: wrap;
    gap: 1.3vw;
    /* 10px at 768px */
  }

  .hero-wrapper h1 {
    font-size: 18.75vw;
    /* 144px at 768px */
  }

  h2 {
    font-size: 18.23vw;
    /* 70px at 384px */
  }

  h3,
  .h3 {
    font-size: 8.33vw;
    /* 32px at 384px */
  }

  h4,
  .h4 {
    font-size: 6.77vw;
    /* 26px at 384px */
  }

  .body-2 {
    font-size: 4.43vw;
    /* 17px at 384px */
  }

  .caption {
    font-size: 4.43vw;
    /* 17px at 384px */
  }

  /* Hero section responsive */
  .hero-wrapper {
    height: 100vh;
    display: flex;
    flex-direction: column;
    gap: 0;
    justify-content: flex-end;
    align-items: flex-start;
    margin: 0;
    padding: 0;
  }

  .hero {
    margin: 0;
    padding: 0;
    height: 100vh;
  }

  .hero-title {
    gap: 4.17vw;
    /* 16px at 384px */
  }

  .hero-left {
    width: auto;
    gap: 12.5vw;
    /* 48px at 384px */
    margin-bottom: 8.33vw;
    /* 32px at 384px */
  }

  .hero-right {
    order: 1;
    margin-bottom: 2.08vw;
    /* 8px at 384px */
  }

  .hero-left {
    order: 2;
  }

  .hero-right h1 {
    text-align: start;
  }

  .hero-left .button {
    width: 100%;
  }

  /* Button responsive */
  .button {
    font-size: 4.69vw;
    /* 18px at 384px */
    padding: 4.69vw 7.29vw;
    /* 18px 28px at 384px */
  }

  /* Position section responsive */
  .position-wrap {
    flex-direction: column;
    height: auto;
    gap: 8.33vw;
    /* 32px at 384px */
    padding-top: 20.83vw;
    /* 80px at 384px */
  }

  .position-content {
    width: auto;
    gap: 6.25vw;
    /* 24px at 384px */
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .position-pic {
    width: 100%;
    min-width: 0;
    height: 72.92vw;
    /* 280px at 384px */
  }

  .position-pic img {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }

  .position-pic p {
    top: 4.17vw;
    /* 16px at 384px */
    left: 4.17vw;
  }

  .position-content h2 svg {
    width: 63.72vw;
    /* 209.835px at 384px */
    height: auto;
  }

  .p-grid-2row {
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr;
    grid-row-gap: 3.65vw;
    /* 14px at 384px */
  }

  .position-wrap .button {
    width: 100%;
  }

  /* Films section responsive */
  .films-wrap {
    flex-direction: column;
    padding-top: 15.63vw;
    /* 60px at 384px */
    padding-bottom: 18.23vw;
    /* 70px at 384px */
  }

  .films-benefits-content {
    flex-direction: column;
  }

  .films-video {
    order: 2;
    width: 100%;
    min-width: 92vw;
  }

  .films-video video {
    width: 100%;
    min-width: 0;
  }

  .films-content {
    order: 1;
  }

  .play-button {
    width: 100%;
  }

  /* Calendar section responsive */
  .calendar-wrap {
    padding-top: 30.73vw;
    /* 118px at 384px */
    padding-bottom: 5.21vw;
    /* 20px at 384px */
    gap: 10.42vw;
    /* 40px at 384px */
    align-content: flex-start;
  }

  .calendar-filter-wrap {
    position: relative;
  }

  .calendar-filter {
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    margin-right: -2.5vw;
    margin-left: -2.5vw;
    padding-right: 2.5vw;
    padding-left: 2.5vw;
  }

  .filter-fade-right {
    display: block;
    position: absolute;
    right: -2.5vw;
    top: 0;
    width: 2.5vw;
    height: 41px;
    background: linear-gradient(270deg, #EDEDED 21.48%, rgba(237, 237, 237, 0.00) 100%);
  }

  .calendar-filter-item-button {
    height: 8.54vw;
    padding: 1.25vw 1.25vw .42vw 1.25vw;
    justify-content: center;
    align-items: center;
    gap: 2.08vw;
    font-size: 5.83vw;
  }

  .filter-fade-left {
    display: block;
    position: absolute;
    left: -2.5vw;
    top: 0;
    width: 2.5vw;
    height: 41px;
    background: linear-gradient(90deg, #EDEDED 21.48%, rgba(237, 237, 237, 0.00) 100%);
  }

  .calendar-filter::-webkit-scrollbar {
    display: none;  /* Safari and Chrome */
  }

  .calendar-filter-item-button {
    white-space: nowrap;
  }

  /* Tour page responsive */
  .tour-hero {
    height: 40vh;
    min-height: 65.1vw;
    /* 250px at 384px */
  }

  .tour-title {
    font-size: 7.29vw;
    /* 28px at 384px */
    margin-bottom: 3.91vw;
    /* 15px at 384px */
  }

  .tour-breadcrumbs {
    font-size: 3.13vw;
    /* 12px at 384px */
    margin-bottom: 3.91vw;
  }

  .tour-content {
    padding: 0;
  }

  .tour-main {
    padding: 3.91vw;
    /* 15px at 384px */
  }

  .tour-description h2,
  .tour-gallery h2 {
    font-size: 5.73vw;
    /* 22px at 384px */
    margin-bottom: 3.91vw;
  }

  .tour-program-title {
    width: 100%;
  }

  .tour-day-text {
    padding: 5.21vw 3.91vw;
    /* 20px 15px at 384px */
  }

  .tour-day-title {
    font-size: 4.69vw;
    /* 18px at 384px */
  }

  .tour-day-description {
    font-size: 3.65vw;
    /* 14px at 384px */
  }

  .tour-day-layout-full-width .tour-day-content-full {
    padding: 3.91vw;
    /* 15px at 384px */
  }

  .tour-day-layout-text-only .tour-day-content-text-only {
    padding: 3.91vw;
  }

  .tour-day-layout-image-only .tour-day-caption {
    padding: 3.91vw;
  }

  .tour-day-layout-full-width .tour-day-image-full,
  .tour-day-image,
  .tour-day-image-only,
  .day-image {
    height: 83.33vw;
    /* 320px at 384px */
    min-height: 83.85vw;
    /* 322px at 384px */
  }

  .tour-program-list {
    gap: 12.76vw;
    /* 49px at 384px */
  }

  .tour-program-list button {
    width: 100%;
  }

  /* Booking section responsive */
  .booking .container {
    padding-left: 0;
    padding-right: 0;
  }

  .booking-wrapper {
    padding: 9.64vw 3.65vw;
    /* 37px 14px at 384px */
    gap: 12.5vw;
    /* 48px at 384px */
  }

  .booking-form-dark .form-group input,
  .booking-form-dark .form-group textarea,
  .booking-form-dark .form-group select {
    height: 20.31vw;
    /* 78px at 384px */
  }

  .booking-info-title {
    gap: 2.6vw;
    /* 10px at 384px */
  }

  .booking-info {
    gap: 6.25vw;
    /* 24px at 384px */
  }

  .booking-prepay-col h3.h2 {
    font-size: 13.02vw;
    /* 50px at 384px */
  }

  /* Forms responsive */
  .form-group {
    margin-bottom: 3.91vw;
    /* 15px at 384px */
  }

  .form-group label {
    font-size: 3.65vw;
    /* 14px at 384px */
  }

  .form-group input,
  .form-group select,
  .form-group textarea {
    padding: 2.6vw 3.13vw;
    /* 10px 12px at 384px */
    font-size: 4.17vw;
    /* 16px at 384px */
  }

  .booking-submit {
    padding: 3.65vw 5.21vw;
    /* 14px 20px at 384px */
    font-size: 4.17vw;
  }

  /* Modal responsive */
  .modal__dialog {
    margin: 8.33vw auto;
    /* 32px at 384px */
    padding: 6.25vw;
    /* 24px at 384px */
  }

  /* Footer responsive */
  .footer-bottom {
    flex-direction: column;
    gap: 3.65vw;
    /* 14px at 384px */
  }

  .footer-bottom-left {
    flex-direction: column;
    gap: 3.65vw;
  }

  .footer-bottom-left .body-2.txt-primary.op50 {
    font-size: 3.91vw;
    /* 15px at 384px */
  }

  .logo-side {
    width: 100%;
    gap: 4.17vw;
    /* 16px at 384px */
    align-items: center;
  }

  .link-bg {
    font-size: 6.25vw;
    /* 24px at 384px */
  }

  footer {
    padding-top: 26.04vw;
    /* 100px at 384px */
  }

  /* Contact section responsive */
  .contact {
    padding: 16.67vw 0 20.83vw;
    /* 64px 0 80px at 384px */
  }

  /* Questions section responsive */
  .questions-wrapper {
    padding: 31.25vw 0 36.46vw;
    /* 120px 0 140px at 384px */
  }

  .questions-left {
    width: auto;
    gap: 8.33vw;
    /* 32px at 384px */
  }

  .questions-right {
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 1fr 1fr;
    gap: 5.21vw;
    /* 20px at 384px */
  }

  .films-content-head h2 {
    font-size: 15.23vw;
  }

  .questions-right-top {
    min-width: 31.25vw;
    /* 120px at 384px */
    min-height: 31.25vw;
    height: auto;
    grid-row: 1 / 3;
    grid-column: 1 / 2;
  }

  .questions-right-top img {
    width: 31.25vw;
    height: 31.25vw;
  }

  .questions-contact-info {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
  }

  /* Navigation responsive */
  .header-nav {
    display: none;
  }

  .burger {
    display: flex;
    width: 12.5vw;
    /* 48px at 384px */
    height: 8.33vw;
    /* 32px at 384px */
    padding: 3.13vw 0.52vw 2.86vw 0.52vw;
    /* 12px 2px 11px 2px at 384px */
    justify-content: center;
    align-items: center;
  }

  /* Utility classes */
  .m-none {
    display: none;
  }

  .d-none {
    display: block;
  }

  .logo-link {
    padding-top: 0;
  }

  .shifted {
    margin-right: 0;
  }

  /* Tour about responsive */
  .tour-about-wrapper {
    position: relative;
    flex-direction: column;
    gap: 6.25vw;
    /* 24px at 384px */
    padding: 13.02vw 0 26.04vw;
    /* 50px 0 100px at 384px */
    padding-top: 67.19vw;
    /* 258px at 384px */
  }

  .tour-about-left,
  .tour-about-right {
    width: 100%;
  }

  .tour-about-right {
    order: 1;
  }

  .tour-about-left {
    order: 2;
  }

  .tour-about-left-image {
    position: absolute;
    top: 13.02vw;
    /* 50px at 384px */
    right: 0;
    width: 34%;
    height: 46.09vw;
    /* 177px at 384px */
    overflow: hidden;
  }

  .tour-about-right-image {
    position: absolute;
    top: 13.02vw;
    right: 0;
    left: 0;
    width: 64%;
    height: 46.09vw;
    aspect-ratio: 280.00/177.78;
    overflow: hidden;
  }

  .tour-about-right-content {
    width: 100%;
    gap: 3.13vw;
    /* 12px at 384px */
  }

  .tour-meta {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    column-gap: 6.25vw;
    /* 24px at 384px */
    row-gap: 0;
    width: 100%;
  }

  .tour-meta .meta-item {
    width: auto;
    height: auto;
    padding: 3.13vw 0 3.65vw 0;
    /* 12px 0 14px 0 at 384px */
    border-bottom: 1px solid rgba(34, 34, 34, 0.20);
  }

  .tour-meta .meta-item:first-child {
    grid-column: 1 / -1;
  }

  /* Who goes section responsive */
  .who-goes-wrapper {
    padding: 31.25vw 0 36.46vw;
    /* 120px 0 140px at 384px */
    gap: 12.5vw;
    /* 48px at 384px */
  }

  .who-goes-wrapper h2.h1 {
    font-size: 18.23vw;
    /* 70px at 384px */
  }

  .who-goes-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12.5vw;
    /* 48px at 384px */
  }

  .who-card {
    display: flex;
    flex-direction: column;
  }

  .who-card-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    order: 2;
    height: 72.92vw;
    /* 280px at 384px */
  }

  .who-card-content {
    order: 1;
  }

  .who-card-content h3 {
    font-size: 6.77vw;
    /* 26px at 384px */
  }

  /* PDF section responsive */
  .pdf-details .container {
    padding-left: 0;
    padding-right: 0;
  }

  .pdf-details-wrapper {
    padding: 3.65vw;
    /* 14px at 384px */
    flex-direction: column;
    gap: 8.33vw;
    /* 32px at 384px */
  }

  .pdf-details-image {
    order: 1;
    height: 59.38vw;
    /* 228px at 384px */
    position: static;
    overflow: hidden;
    width: 100%;
  }

  .pdf-details-image img {
    width: 100%;
    max-width: 100vw;
    /* 461.34px at 384px */
  }

  .pdf-form input[type="text"],
  .pdf-form input[type="tel"] {
    height: 20.05vw;
    /* 77px at 384px */
  }

  .pdf-image {
    height: 51.02vw;
    /* 195.923px at 384px */
    width: 36.35vw;
    /* 139.591px at 384px */
  }

  .pdf-image.img1 {
    right: 78.91vw;
    /* 303px at 384px */
    top: -1.82vw;
    /* -7px at 384px */
    transform: rotate(-9.416deg);
  }

  .pdf-image.img2 {
    right: 41.41vw;
    /* 159px at 384px */
    top: 11.46vw;
    /* 44px at 384px */
    transform: rotate(9.474deg);
  }

  .pdf-image.img3 {
    right: 1.04vw;
    /* 4px at 384px */
    top: 7.03vw;
    /* 27px at 384px */
    transform: rotate(4deg);
  }

  /* TG Banner responsive */
  .tg-banner-wrapper {
    display: flex;
    padding: 10.42vw 0 12.5vw;
    /* 40px 0 48px at 384px */
    flex-direction: column;
    align-items: flex-start;
    gap: 2.6vw;
    /* 10px at 384px */
    align-self: stretch;
  }

  /* Tour advantages responsive */
  .tour-advantages-wrapper {
    flex-direction: column;
  }

  .tour-advantages-left {
    order: 2;
    padding-top: 0;
    width: auto;
    height: auto;
  }

  .tour-advantages-right {
    order: 1;
    gap: 8.59vw;
    /* 33px at 384px */
  }

  .tour-advantages-right-content {
    gap: 7.81vw;
    /* 30px at 384px */
  }

  .tour-advantages-right-content-item {
    flex-direction: column;
    padding-top: 3.65vw;
    /* 14px at 384px */
    gap: 2.08vw;
    /* 8px at 384px */
  }

  .tour-advantages-right-content-item h3 {
    width: auto;
  }

  .tour-expenses-wrapper {
    gap: 5.99vw;
    /* 23px at 384px */
  }

  .tour-expenses-content {
    flex-direction: column;
    width: 100%;
    gap: 7.29vw;
    /* 28px at 384px */
  }

  /* Tour day layout responsive */
  .tour-day-layout-full-width .tour-day-content-full {
    padding: 0;
  }

  .tour-day-text {
    padding: 0;
  }

  .program-day {
    margin-bottom: 5.21vw;
    /* 20px at 384px */
    padding-bottom: 5.21vw;
  }

  .day-number {
    width: 9.11vw;
    /* 35px at 384px */
    height: 9.11vw;
    font-size: 4.17vw;
    /* 16px at 384px */
  }

  .day-content h3 {
    font-size: 4.69vw;
    /* 18px at 384px */
  }

  .day-content p {
    font-size: 3.65vw;
    /* 14px at 384px */
  }

  .gallery-grid {
    grid-template-columns: 1fr;
    gap: 2.6vw;
    /* 10px at 384px */
  }

  .booking-form,
  .tour-info,
  .tour-contacts {
    padding: 3.91vw;
    /* 15px at 384px */
  }

  .booking-form h3,
  .tour-info h3,
  .tour-contacts h3 {
    font-size: 4.69vw;
    /* 18px at 384px */
    margin-bottom: 3.91vw;
  }

  .info-item {
    margin-bottom: 2.6vw;
    /* 10px at 384px */
    padding-bottom: 2.6vw;
  }

  .info-item strong {
    font-size: 3.65vw;
    /* 14px at 384px */
  }

  .info-item .price {
    font-size: 4.17vw;
    /* 16px at 384px */
  }

  .contact-item {
    margin-bottom: 2.6vw;
  }

  .contact-item strong {
    font-size: 3.65vw;
  }

  .contact-item a {
    font-size: 3.65vw;
  }

  .related-tours {
    padding: 7.81vw 0;
    /* 30px 0 at 384px */
  }

  .related-tours h2 {
    font-size: 6.25vw;
    /* 24px at 384px */
    margin-bottom: 5.21vw;
  }

  .tour-card-content {
    padding: 3.91vw;
    /* 15px at 384px */
  }

  .tour-card-content h3 {
    font-size: 4.17vw;
    /* 16px at 384px */
    margin-bottom: 2.6vw;
  }

  .tour-card-meta {
    font-size: 3.13vw;
    /* 12px at 384px */
    margin-bottom: 3.91vw;
  }

  .tour-card-link {
    padding: 2.6vw 5.21vw;
    /* 10px 20px at 384px */
    font-size: 3.65vw;
    /* 14px at 384px */
  }

  .card-title {
    font-size: 6.77vw;
    /* 26px at 384px */
  }

  .tour-booking-form {
    width: 100%;
  }

  /* Hero title responsive */
  .hero-title.tour {
    gap: 3.39vw;
    /* 13px at 384px */
  }

  /* Carousel responsive */
  .carousel-item {
    padding: 20.83vw 0;
    /* 80px 0 at 384px */
  }

  /* Footer logo responsive */
  .logo-side .footer-logo {
    order: 2;
  }

  .logo-side a {
    order: 1;
  }

  .footer-logo .d-none svg {
    width: 90vw;
    height: auto;
  }

  /* Main footer responsive */
  .main-footer {
    flex-direction: column;
    gap: 18.75vw;
    /* 72px at 384px */
  }

  .form-input {
    width: 100%;
  }

  .footer-form {
    width: 100%;
  }

  .footer-mail-form {
    width: 100%;
  }

  .nav-side {
    gap: 16.67vw;
    /* 64px at 384px */
  }

  .navigation-wrap {
    gap: 5.21vw;
    /* 20px at 384px */
    justify-content: space-between;
  }

  .legal-links {
    width: 100%;
  }

  .navigation {
    width: 100%;
  }

  /* Swiper responsive */
  .swiper-slide.calen {
    max-width: 100% !important;
    min-height: 100%;
    display: flex;
  }

  .swiper {
    display: flex;
  }

  /* Mobile menu responsive */
  .m-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    display: block;
  }

  .m-menu.active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  .m-menu-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    transition: background-color 0.4s ease;
  }

  .m-menu-wrap {
    position: relative;
    width: 100%;
    background-color: var(--primary);
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    transform: translateY(-100%);
    transition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1);
    padding-bottom: 10.42vw;
    /* 40px at 384px */
  }

  .m-menu.active .m-menu-wrap {
    transform: translateY(0);
  }

  .m-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5.21vw 5.21vw 14.58vw;
    /* 20px 20px 56px at 384px */
  }

  .header-logo .logo-link {
    display: inline-block;
  }

  .header-logo svg {
    height: 7.29vw;
    /* 28px at 384px */
    width: auto;
  }

  .burger-close {
    display: flex;
    width: 12.5vw;
    /* 48px at 384px */
    height: 8.33vw;
    /* 32px at 384px */
    padding: 1.04vw 0.52vw 1.04vw 0.52vw;
    /* 4px 2px 4px 2px at 384px */
    justify-content: center;
    align-items: center;
  }

  .burger-close svg {
    width: 10.18vw;
    /* 39.105px at 384px */
    height: 6.18vw;
    /* 23.732px at 384px */
  }

  .m-menu-main {
    display: flex;
    flex-direction: column;
    gap: 20.83vw;
    /* 80px at 384px */
    padding: 0 5.21vw;
    /* 0 20px at 384px */
  }

  .title-1 {
    font-size: 8.33vw;
    /* 32px at 384px */
  }

  .m-menu-nav ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 2.6vw;
    /* 1rem at 384px */
  }

  .hero-wrapper.tour {
    max-height: 208.33vw;
    /* 800px at 384px */
    padding: 0 0 7.81vw;
    /* 0 0 30px at 384px */
    gap: 11.2vw;
    /* 43px at 384px */
  }

  .hero-bg.tour {
    max-height: 208.33vw;
  }

  .hero.tour {
    max-height: 208.33vw;
  }

  .nav-link {
    color: var(--light, #EDEDED);
    font-family: "Bebas Neue";
    font-size: 14.58vw;
    /* 56px at 384px */
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    text-transform: uppercase;
  }

  .tg-banner-link svg {
    width: 6.25vw;
height: 6.25vw;
  }

  .m-menu-main .idea-links .social-link {
    color: var(--light, #EDEDED);
    text-align: right;
    font-family: "Bebas Neue";
    font-size: 8.33vw;
    /* 32px at 384px */
    font-style: normal;
    font-weight: 700;
    line-height: 105%;
    letter-spacing: -0.32px;
    text-transform: uppercase;
  }

  /* Tour program responsive */
  #tourProgramList[data-collapsed="1"] .tour-day-item:nth-child(n+4) {
    display: none;
  }

  #showAllDaysBtn.tour-program-toggle {
    display: block;
  }

  /* ===== TOUR DAY STYLES (converted from 480px) ===== */
  .tour-day-text {
    padding: 2.6vw 1.95vw;
    /* 20px 15px at 768px */
  }

  .tour-day-title {
    font-size: 2.34vw;
    /* 18px at 768px */
  }

  .tour-day-description {
    font-size: 1.82vw;
    /* 14px at 768px */
  }

  .tour-day-layout-full-width .tour-day-content-full {
    padding: 1.95vw;
    /* 15px at 768px */
  }

  .tour-day-layout-text-only .tour-day-content-text-only {
    padding: 1.95vw;
    /* 15px at 768px */
  }

  .tour-day-layout-image-only .tour-day-caption {
    padding: 1.95vw;
    /* 15px at 768px */
  }

  /* Tour page styles */
  .tour-hero {
    height: 40vh;
    min-height: 32.55vw;
    /* 250px at 768px */
  }

  .tour-title {
    font-size: 3.65vw;
    /* 28px at 768px */
    margin-bottom: 1.95vw;
    /* 15px at 768px */
  }

  .tour-breadcrumbs {
    font-size: 1.56vw;
    /* 12px at 768px */
    margin-bottom: 1.95vw;
    /* 15px at 768px */
  }

  .tour-content {
    padding: 0px 0;
  }

  .corner.lt {
    top: 5.21vw;
    /* 40px at 768px */
  }

  .corner.lb svg {
    width: 5.21vw;
    /* 40px at 768px */
    height: 5.21vw;
  }

  .corner.rb svg {
    width: 5.21vw;
    /* 40px at 768px */
    height: 5.21vw;
  }

  .body-2.op50.lb {
    bottom: 9.77vw;
    /* 75px at 768px */
    left: 2.08vw;
    /* 16px at 768px */
    font-size: 1.95vw;
    /* 15px at 768px */
  }

  .body-2.op50.rb {
    bottom: 9.77vw;
    /* 75px at 768px */
    right: 2.08vw;
    /* 16px at 768px */
    font-size: 1.95vw;
    /* 15px at 768px */
  }

  .corner.lt svg {
    width: 5.21vw;
    /* 40px at 768px */
    height: 5.21vw;
  }

  .corner.rt svg {
    width: 5.21vw;
    /* 40px at 768px */
    height: 5.21vw;
  }

  .corner.rt {
    top: 4.82vw;
    /* 37px at 768px */
  }

  .corner.lb {
    bottom: 7.81vw;
    /* 60px at 768px */
  }

  .corner.rb {
    bottom: 7.81vw;
    /* 60px at 768px */
  }

  .tour-main {
    padding: 1.95vw;
    /* 15px at 768px */
  }

  .tour-description h2,
  .tour-gallery h2 {
    font-size: 2.86vw;
    /* 22px at 768px */
    margin-bottom: 1.95vw;
    /* 15px at 768px */
  }

  .tour-program-title {
    width: 100%;
  }

  .tour-day-image {
    min-height: 0px;
  }

  .tour-program-list {
    gap: 7.29vw;
    /* 56px at 768px */
  }

  .caption {
    font-size: 2.21vw;
    /* 17px at 768px */
  }

  /* ===== TOUR ADVANTAGES STYLES ===== */
  .tour-advantages-left {
    order: 2;
    padding-top: 0px;
    width: auto;
    height: auto;
  }

  .tour-expenses-wrapper {
    gap: 2.99vw;
    /* 23px at 768px */
  }

  .booking .container {
    padding-left: 0px;
    padding-right: 0px;
  }

  .booking-wrapper {
    padding: 4.82vw 1.82vw;
    /* 37px 14px at 768px */
    gap: 6.25vw;
    /* 48px at 768px */
  }

  .booking-prepay-block {
    gap: 1.56vw;
    /* 12px at 768px */
  }

  .booking-prepay-block {
    gap: 2.86vw;
    /* 22px at 768px */
  }

  .booking-form-dark .form-group input,
  .booking-form-dark .form-group textarea,
  .booking-form-dark .form-group select {
    height: 10.16vw;
    /* 78px at 768px */
  }

  .booking-info-title {
    gap: 1.3vw;
    /* 10px at 768px */
  }

  .booking-info {
    gap: 3.13vw;
    /* 24px at 768px */
  }

  .booking-prepay-col h3.h2 {
    font-size: 6.51vw;
    /* 50px at 768px */
  }

  .tour-advantages-right-content {
    gap: 3.91vw;
    /* 30px at 768px */
  }

  .tour-expenses-content {
    flex-direction: column;
    width: 100%;
    gap: 3.65vw;
    /* 28px at 768px */
  }

  .tour-advantages-right {
    order: 1;
    gap: 4.3vw;
    /* 33px at 768px */
  }

  .tour-advantages-wrapper {
    flex-direction: column;
  }

  .tour-advantages-right-content-item {
    flex-direction: column;
    padding-top: 1.82vw;
    /* 14px at 768px */
    gap: 1.04vw;
    /* 8px at 768px */
  }

  .tour-advantages-right-content-item h3 {
    width: auto;
  }

  .tour-day-layout-full-width .tour-day-content-full {
    padding: 0;
  }

  /* ===== PDF STYLES ===== */
  .pdf-image {
    height: 25.52vw;
    /* 195.923px at 768px */
    width: 18.18vw;
    /* 139.591px at 768px */
  }

  .pdf-image.img3 {
    right: 0.52vw;
    /* 4px at 768px */
    top: 3.52vw;
    /* 27px at 768px */
    transform: rotate(4deg);
  }

  .pdf-image.img2 {
    right: 20.7vw;
    /* 159px at 768px */
    top: 5.73vw;
    /* 44px at 768px */
    transform: rotate(9.474deg);
  }

  .pdf-image.img1 {
    right: 39.45vw;
    /* 303px at 768px */
    top: -0.91vw;
    /* -7px at 768px */
    transform: rotate(-9.416deg);
  }

  .pdf-details .container {
    padding-left: 0px;
    padding-right: 0px;
  }

  .pdf-details-image {
    height: 29.69vw;
    /* 228px at 768px */
  }

  .pdf-details-wrapper {
    padding: 1.82vw;
    /* 14px at 768px */
  }

  .pdf-form input[type="text"],
  .pdf-form input[type="tel"] {
    height: 10.03vw;
    /* 77px at 768px */
  }

  /* ===== WHO GOES STYLES ===== */
  .who-goes-wrapper h2.h1 {
    font-size: 9.11vw;
    /* 70px at 768px */
  }

  .who-goes-wrapper {
    gap: 6.25vw;
    /* 48px at 768px */
  }

  .who-card-image {
    order: 2;
  }

  .who-card-content {
    order: 1;
  }

  .who-card-content h3 {
    font-size: 3.39vw;
    /* 26px at 768px */
  }

  .who-card-image {
    height: 36.46vw;
    /* 280px at 768px */
  }

  .tg-banner-wrapper {
    display: flex;
    padding: 5.21vw 0px 6.25vw 0px;
    /* 40px 0px 48px 0px at 768px */
    flex-direction: column;
    align-items: flex-start;
    gap: 1.3vw;
    /* 10px at 768px */
    align-self: stretch;
  }

  .tour-day-text {
    padding: 0;
  }

  .program-day {
    margin-bottom: 2.6vw;
    /* 20px at 768px */
    padding-bottom: 2.6vw;
    /* 20px at 768px */
  }

  .day-number {
    width: 4.56vw;
    /* 35px at 768px */
    height: 4.56vw;
    font-size: 2.08vw;
    /* 16px at 768px */
  }

  .day-content h3 {
    font-size: 2.34vw;
    /* 18px at 768px */
  }

  .day-content p {
    font-size: 1.82vw;
    /* 14px at 768px */
  }

  .gallery-grid {
    grid-template-columns: 1fr;
    gap: 1.3vw;
    /* 10px at 768px */
  }

  /* ===== FORMS AND BUTTONS ===== */
  .booking-form,
  .tour-info,
  .tour-contacts {
    padding: 1.95vw;
    /* 15px at 768px */
  }

  .booking-form h3,
  .tour-info h3,
  .tour-contacts h3 {
    font-size: 2.34vw;
    /* 18px at 768px */
    margin-bottom: 1.95vw;
    /* 15px at 768px */
  }

  .form-group {
    margin-bottom: 1.95vw;
    /* 15px at 768px */
  }

  .form-group label {
    font-size: 1.82vw;
    /* 14px at 768px */
  }

  .form-group input,
  .form-group select,
  .form-group textarea {
    padding: 1.3vw 1.56vw;
    /* 10px 12px at 768px */
    font-size: 2.08vw;
    /* 16px at 768px */
  }

  .hero-title.tour {
    gap: 1.69vw;
    /* 13px at 768px */
  }

  .booking-submit {
    padding: 1.82vw 2.6vw;
    /* 14px 20px at 768px */
    font-size: 2.08vw;
    /* 16px at 768px */
  }

  .yacht-embla .embla__slide {
    width: 92vw;
    flex: 0 0 auto;
  }

  .info-item {
    margin-bottom: 1.3vw;
    /* 10px at 768px */
    padding-bottom: 1.3vw;
    /* 10px at 768px */
  }

  .tour-day-layout-full-width .tour-day-image-full,
  .tour-day-image,
  .tour-day-image-only,
  .day-image {
    height: 41.67vw;
    /* 320px at 768px */
  }

  .who-goes-wrapper {
    padding: 15.63vw 0px 18.23vw 0px;
    /* 120px 0px 140px 0px at 768px */
  }

  .tour-page--no-pdf-details .who-goes-wrapper {
    padding: 56px 0 80px;
  }

  .info-item strong {
    font-size: 1.82vw;
    /* 14px at 768px */
  }

  .info-item .price {
    font-size: 2.08vw;
    /* 16px at 768px */
  }

  .contact-item {
    margin-bottom: 1.3vw;
    /* 10px at 768px */
  }

  .contact-item strong {
    font-size: 1.82vw;
    /* 14px at 768px */
  }

  .contact-item a {
    font-size: 1.82vw;
    /* 14px at 768px */
  }

  .related-tours {
    padding: 3.91vw 0;
    /* 30px 0 at 768px */
  }

  .related-tours h2 {
    font-size: 3.13vw;
    /* 24px at 768px */
    margin-bottom: 2.6vw;
    /* 20px at 768px */
  }

  .tour-card-content {
    padding: 1.95vw;
    /* 15px at 768px */
  }

  .tour-card-content h3 {
    font-size: 2.08vw;
    /* 16px at 768px */
    margin-bottom: 1.3vw;
    /* 10px at 768px */
  }

  .position-wrap {
    padding-top: 10.42vw;
    /* 80px at 768px */
  }

  .card-title {
    font-size: 3.39vw;
    /* 26px at 768px */
  }

  .questions-left {
    width: auto;
  }

  .questions-wrapper {
    padding: 15.63vw 0px 18.23vw 0px;
    /* 120px 0px 140px 0px at 768px */
  }

  .questions-right-top {
    height: auto;
  }

  /* ===== HEADER AND HERO STYLES ===== */
  .header-nav {
    display: none;
  }

  .pdf-details-image {
    order: 1;
  }

  /* Мобильный хэдер поверх видео */
  header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 15;
    background: transparent;
  }

  .header-wrapper {
    padding: 2.99vw 1.56vw 0;
    /* 23px 12px 0 at 768px */
    z-index: 15;
  }

  .h1 {
    font-size: 10.42vw;
    /* 80px at 768px */
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }

  .blog-header h1 {
    font-size: 14.17vw;
  }

  .featured-article__meta h2 {
    font-size: 10.42vw;
  }

  .header-logo {
    position: static;
    width: 16.93vw;
    /* 130px at 768px */
    height: 3.65vw;
    /* 28px at 768px */
    aspect-ratio: 65/14;
    margin-left: 0;
    margin-right: 0;
  }

  .logo-link svg {
    width: 16.93vw;
    /* 130px at 768px */
    height: 3.65vw;
    /* 28px at 768px */
    aspect-ratio: 65/14;
  }

  .hero-wrapper {
    height: 100vh;
    display: flex;
    flex-direction: column;
    gap: 0;
    justify-content: flex-end;
    align-items: flex-start;
    margin: 0;
    padding: 0;
  }

  .hero {
    margin: 0;
    padding: 0;
    height: 100vh;
  }

  .tour-hero-actions {
    width: 100%;
  }

  .tour-hero-actions a {
    width: 100%;
  }

  .hero-title {
    gap: 2.08vw;
    /* 16px at 768px */
  }

  .button {
    font-size: 2.34vw;
    /* 18px at 768px */
    padding: 2.34vw 3.65vw;
    /* 18px 28px at 768px */
  }

  .modal__dialog {
    margin: 4.17vw auto;
    /* 32px auto at 768px */
    padding: 3.13vw;
    /* 24px at 768px */
  }

  .tour-about-wrapper {
    padding: 6.51vw 0px 13.02vw 0px;
    /* 50px 0px 100px 0px at 768px */
  }

  /* ===== TOUR ABOUT MOBILE ===== */
  .tour-about-wrapper {
    position: relative;
    flex-direction: column;
    gap: 3.13vw;
    /* 24px at 768px */
    /* reserve space for the top images */
    padding-top: 33.59vw;
    /* 258px at 768px */
  }

  .tour-about-left,
  .tour-about-right {
    width: 100%;
  }

  .route-wrapper {
    display: flex;
    position: static;
    flex-direction: column;
    gap: 5.208vw;
  }

  .route-right {
    position: static;
    height: 100%;
  }

  .route-wrapper {
    display: flex;
    position: static;
    flex-direction: column;
    gap: 5.208vw;
  }

  .route-right {
    position: static;
  }



  .route-left {
    width: 100%;
    gap: 5.208vw;
  }

  .route {
    height: auto;
  }

  .route-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Place text block before meta on mobile */
  .tour-about-right {
    order: 1;
  }

  .tour-about-left {
    order: 2;
  }

  /* Big image on the left */
  .tour-about-left-image {
    position: absolute;
    top: 6.51vw;
    /* 50px at 768px */
    right: 0;
    width: 34%;
    height: 23.05vw;
    /* 177px at 768px */
    overflow: hidden;
  }

  .tour-about-left-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Small image overlay on the right */
  .tour-about-right-image {
    position: absolute;
    top: 6.51vw;
    /* 50px at 768px */
    right: 0;
    left: 0;
    width: 64%;
    height: 23.05vw;
    /* 177px at 768px */
    aspect-ratio: 280.00/177.78;
    overflow: hidden;
  }

  .tour-about-right-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .tour-about-right-content {
    width: 100%;
    gap: 1.56vw;
    /* 12px at 768px */
  }

  /* Meta block layout like screenshot */
  .tour-meta {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    column-gap: 3.13vw;
    /* 24px at 768px */
    row-gap: 0px;
    width: 100%;
  }

  .tour-meta .meta-item {
    width: auto;
    height: auto;
    padding: 1.56vw 0 1.82vw 0;
    /* 12px 0 14px 0 at 768px */
    border-bottom: 1px solid rgba(34, 34, 34, 0.20);
  }

  /* Date row spans full width */
  .tour-meta .meta-item:first-child {
    grid-column: 1 / -1;
  }

  .who-goes-title {
    text-align: center;
    margin-bottom: 4.17vw;
    /* 32px at 768px */
    font-size: 9.38vw;
    /* 72px at 768px */
    line-height: 1;
    font-weight: 800;
    letter-spacing: 1px;
  }

  .who-goes-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6.25vw;
    /* 48px at 768px */
  }

  .who-card {
    display: flex;
    flex-direction: column;
  }

  .who-card-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }

  .who-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .who-card-name {
    margin-top: 2.08vw;
    /* 16px at 768px */
    margin-bottom: 1.04vw;
    /* 8px at 768px */
    text-transform: uppercase;
    font-weight: 800;
  }

  .pdf-details-wrapper {
    flex-direction: column;
    gap: 4.17vw;
    /* 32px at 768px */
  }

  .pdf-details-image img {
    width: 100%;
    max-width: 100vw;
    /* 461.34px at 768px */
  }

  .pdf-details-image {
    position: static;
  }

  .who-card-bio {
    color: var(--text-secondary, #777);
  }

  .body-2 {
    font-size: 2.21vw;
    /* 17px at 768px */
  }


  .position-wrap {
    flex-direction: column;
    height: auto;
    gap: 4.17vw;
    /* 32px at 768px */
  }

  .position-content h2 svg {
    width: 63.72vw;
    /* 209.835px at 768px */
    height: auto;
  }

  .carousel-item {
    padding: 10.42vw 0;
    /* 80px 0 at 768px */
  }

  .position-content {
    gap: 3.13vw;
    /* 24px at 768px */
    margin-bottom: 0;
  }

  .position-pic {
    width: 100%;
    min-width: 0px;
    /* 280px at 768px */
  }

  .position-pic img {
    width: 100%;
  }

  .position-pic p {
    top: 2.08vw;
    /* 16px at 768px */
    left: 2.08vw;
    /* 16px at 768px */
  }

  .m-none {
    display: none;
  }

  .logo-link {
    padding-top: 0;
  }

  .d-none {
    display: block;
  }

  .tour-booking-form {
    width: 100%;
  }

  .tour-card-meta {
    font-size: 1.56vw;
    /* 12px at 768px */
    margin-bottom: 1.95vw;
    /* 15px at 768px */
  }

  .tour-card-link {
    padding: 1.3vw 2.6vw;
    /* 10px 20px at 768px */
    font-size: 1.82vw;
    /* 14px at 768px */
  }

  /* Styles from 480px media query - now applied to 768px and below */
  .tour-day-text {
    padding: 4.17vw 3.13vw;
    /* 20px 15px at 480px */
  }

  .tour-day-title {
    font-size: 3.75vw;
    /* 18px at 480px */
  }

  .tour-day-description {
    font-size: 2.92vw;
    /* 14px at 480px */
  }

  .tour-day-layout-full-width .tour-day-content-full {
    padding: 3.13vw;
    /* 15px at 480px */
  }

  .tour-day-layout-text-only .tour-day-content-text-only {
    padding: 3.13vw;
    /* 15px at 480px */
  }

  .tour-day-layout-image-only .tour-day-caption {
    padding: 3.13vw;
    /* 15px at 480px */
  }

  /* Tour page (merged from earlier 480px block) */
  .tour-hero {
    height: 40vh;
    min-height: 52.08vw;
    /* 250px at 480px */
  }

  .tour-title {
    font-size: 5.83vw;
    /* 28px at 480px */
    margin-bottom: 3.13vw;
    /* 15px at 480px */
  }

  .tour-breadcrumbs {
    font-size: 2.5vw;
    /* 12px at 480px */
    margin-bottom: 3.13vw;
    /* 15px at 480px */
  }

  .tour-content {
    padding: 0px 0;
  }

  .corner.lt {
    top: 8.33vw;
    /* 40px at 480px */
  }

  .corner.lb svg {
    width: 8.33vw;
    /* 40px at 480px */
    height: 8.33vw;
  }

  .corner.rb svg {
    width: 8.33vw;
    /* 40px at 480px */
    height: 8.33vw;
  }

  .body-2.op50.lb {
    bottom: 15.63vw;
    /* 75px at 480px */
    left: 3.33vw;
    /* 16px at 480px */
    font-size: 3.13vw;
    /* 15px at 480px */
  }

  .body-2.op50.rb {
    bottom: 15.63vw;
    /* 75px at 480px */
    right: 3.33vw;
    /* 16px at 480px */
    font-size: 3.13vw;
    /* 15px at 480px */
  }

  .corner.lt svg {
    width: 8.33vw;
    /* 40px at 480px */
    height: 8.33vw;
  }

  .corner.rt svg {
    width: 8.33vw;
    /* 40px at 480px */
    height: 8.33vw;
  }

  .corner.rt {
    top: 7.71vw;
    /* 37px at 480px */
  }

  .corner.lb {
    bottom: 12.5vw;
    /* 60px at 480px */
  }

  .corner.rb {
    bottom: 12.5vw;
    /* 60px at 480px */
  }

  .tour-main {
    padding: 3.13vw;
    /* 15px at 480px */
  }

  .tour-description h2,
  .tour-gallery h2 {
    font-size: 4.58vw;
    /* 22px at 480px */
    margin-bottom: 3.13vw;
    /* 15px at 480px */
  }

  .tour-program-title {
    width: 100%;
  }

  .tour-day-image {
    min-height: 0px;
  }

  .tour-program-list {
    gap: 11.67vw;
    /* 56px at 480px */
  }

  .caption {
    font-size: 3.54vw;
    /* 17px at 480px */
  }

  .tour-advantages-left {
    order: 2;
    padding-top: 0px;
    width: auto;
    height: auto;
  }

  .tour-expenses-wrapper {
    gap: 4.79vw;
    /* 23px at 480px */
  }

  .booking .container {
    padding-left: 0px;
    padding-right: 0px;
  }

  .booking-wrapper {
    padding: 7.71vw 2.92vw;
    /* 37px 14px at 480px */
    gap: 10vw;
    /* 48px at 480px */
  }

  .booking-prepay-block {
    gap: 2.5vw;
    /* 12px at 480px */
  }

  .booking-prepay-block {
    gap: 4.58vw;
    /* 22px at 480px */
  }


  .booking-form-dark .form-group input,
  .booking-form-dark .form-group textarea,
  .booking-form-dark .form-group select {
    height: 16.25vw;
    /* 78px at 480px */
  }

  .booking-info-title {
    gap: 2.08vw;
    /* 10px at 480px */
  }

  .booking-info {
    gap: 5vw;
    width: 100%;
  }

  .booking-prepay-col h3.h2 {
    font-size: 10.42vw;
    /* 50px at 480px */
  }

  .tour-advantages-right-content {
    gap: 6.25vw;
    /* 30px at 480px */
  }

  .tour-expenses-content {
    flex-direction: column;
    width: 100%;
    gap: 5.83vw;
    /* 28px at 480px */
  }

  .tour-advantages-right {
    order: 1;
    gap: 6.88vw;
    /* 33px at 480px */
  }

  .tour-advantages-wrapper {
    flex-direction: column;
  }

  .tour-advantages-right-content-item {
    flex-direction: column;
    padding-top: 2.92vw;
    /* 14px at 480px */
    gap: 1.67vw;
    /* 8px at 480px */
  }

  .tour-advantages-right-content-item h3 {
    width: auto;
  }

  .tour-day-layout-full-width .tour-day-content-full {
    padding: 0;
  }

  .pdf-image {
    height: 40.82vw;
    /* 195.923px at 480px */
    width: 29.08vw;
    /* 139.591px at 480px */
  }

  .pdf-image.img3 {
    right: 0.83vw;
    /* 4px at 480px */
    top: 5.63vw;
    /* 27px at 480px */
    transform: rotate(4deg);
  }

  .pdf-image.img2 {
    right: 33.13vw;
    /* 159px at 480px */
    top: 9.17vw;
    /* 44px at 480px */
    transform: rotate(9.474deg);
  }

  .pdf-image.img1 {
    right: 63.13vw;
    /* 303px at 480px */
    top: -1.46vw;
    /* -7px at 480px */
    transform: rotate(-9.416deg);
  }

  .pdf-details .container {
    padding-left: 0px;
    padding-right: 0px;
  }

  .pdf-details-image {
    height: 47.5vw;
    /* 228px at 480px */
  }

  .pdf-details-wrapper {
    padding: 2.92vw;
    /* 14px at 480px */
  }

  .pdf-form input[type="text"],
  .pdf-form input[type="tel"] {
    height: 16.04vw;
    /* 77px at 480px */
  }

  .who-goes-wrapper h2.h1 {
    font-size: 14.58vw;
    /* 70px at 480px */
  }

  .who-goes-wrapper {
    gap: 10vw;
    /* 48px at 480px */
  }

  .who-card-image {
    order: 2;
  }

  .who-card-content {
    order: 1;
  }

  .who-card-content h3 {
    font-size: 5.42vw;
    /* 26px at 480px */
  }

  .who-card-image {
    height: 58.33vw;
    /* 280px at 480px */
  }

  .tg-banner-wrapper {
    display: flex;
    padding: 8.33vw 0px 10vw 0px;
    /* 40px 0px 48px 0px at 480px */
    flex-direction: column;
    align-items: flex-start;
    gap: 2.08vw;
    /* 10px at 480px */
    align-self: stretch;
  }

  .tour-day-text {
    padding: 0;
  }

  .program-day {
    margin-bottom: 4.17vw;
    /* 20px at 480px */
    padding-bottom: 4.17vw;
    /* 20px at 480px */
  }

  .day-number {
    width: 7.29vw;
    /* 35px at 480px */
    height: 7.29vw;
    font-size: 3.33vw;
    /* 16px at 480px */
  }

  .day-content h3 {
    font-size: 3.75vw;
    /* 18px at 480px */
  }

  .day-content p {
    font-size: 2.92vw;
    /* 14px at 480px */
  }

  .gallery-grid {
    grid-template-columns: 1fr;
    gap: 2.08vw;
    /* 10px at 480px */
  }

  .booking-form,
  .tour-info,
  .tour-contacts {
    padding: 3.13vw;
    /* 15px at 480px */
  }

  .booking-form h3,
  .tour-info h3,
  .tour-contacts h3 {
    font-size: 3.75vw;
    /* 18px at 480px */
    margin-bottom: 3.13vw;
    /* 15px at 480px */
  }

  .form-group {
    margin-bottom: 3.13vw;
    /* 15px at 480px */
  }

  .form-group label {
    font-size: 2.92vw;
    /* 14px at 480px */
  }

  .form-group input,
  .form-group select,
  .form-group textarea {
    padding: 2.08vw 2.5vw;
    /* 10px 12px at 480px */
    font-size: 3.33vw;
    /* 16px at 480px */
  }

  .hero-title.tour {
    gap: 2.71vw;
    /* 13px at 480px */
  }


  .booking-submit {
    padding: 2.92vw 4.17vw;
    /* 14px 20px at 480px */
    font-size: 3.33vw;
    /* 16px at 480px */
  }

  .info-item {
    margin-bottom: 2.08vw;
    /* 10px at 480px */
    padding-bottom: 2.08vw;
    /* 10px at 480px */
  }

  .tour-day-layout-full-width .tour-day-image-full,
  .tour-day-image,
  .tour-day-image-only,
  .day-image {
    height: 66.67vw;
    /* 320px at 480px */
  }

  .who-goes-wrapper {
    padding: 25vw 0px 29.17vw 0px;
    /* 120px 0px 140px 0px at 480px */
  }

  .tour-page--no-pdf-details .who-goes-wrapper {
    padding: 40px 0 56px;
  }

  .info-item strong {
    font-size: 2.92vw;
    /* 14px at 480px */
  }

  .info-item .price {
    font-size: 3.33vw;
    /* 16px at 480px */
  }

  .contact-item {
    margin-bottom: 2.08vw;
    /* 10px at 480px */
  }

  .contact-item strong {
    font-size: 2.92vw;
    /* 14px at 480px */
  }

  .contact-item a {
    font-size: 2.92vw;
    /* 14px at 480px */
  }

  .related-tours {
    padding: 6.25vw 0;
    /* 30px 0 at 480px */
  }

  .related-tours h2 {
    font-size: 5vw;
    /* 24px at 480px */
    margin-bottom: 4.17vw;
    /* 20px at 480px */
  }

  .tour-card-content {
    padding: 3.13vw;
    /* 15px at 480px */
  }

  .tour-card-content h3 {
    font-size: 3.33vw;
    /* 16px at 480px */
    margin-bottom: 2.08vw;
    /* 10px at 480px */
  }

  .position-wrap {
    padding-top: 16.67vw;
    /* 80px at 480px */
  }

  .card-title {
    font-size: 5.42vw;
    /* 26px at 480px */
  }

  .questions-left {
    width: auto;
  }

  .questions-wrapper {
    padding: 25vw 0px 29.17vw 0px;
    /* 120px 0px 140px 0px at 480px */
  }

  .questions-right-top {
    height: auto;
  }

  /* ===== DEVELOPMENT TOOLS ===== */
  .pxl-overlay[aria-hidden="true"],
  .pxl-overlay {
    position: absolute !important;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100vh;
    transform: translate(-50%, -50%);
    /* interactable when unlocked (managed via JS) */
    pointer-events: auto;
    z-index: 2147483646 !important;
    mix-blend-mode: normal;
  }

  .pxl-overlay img {
    position: absolute;
    /* center the design image inside the viewport */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* keep natural pixel size of the design image */
    width: auto;
    height: auto;
    max-width: none;
    max-height: none;
    object-fit: none;
    image-rendering: -webkit-optimize-contrast;
    z-index: 2147483646 !important;
  }

  .pxl-overlay-controls {
    position: fixed !important;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 2147483647 !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    border-radius: 8px;
    backdrop-filter: blur(4px);
    flex-wrap: wrap;
    width: 90vw;
    justify-content: center;
  }

  .pxl-overlay img {
    pointer-events: none;
  }

  .pxl-btn {
    appearance: none;
    border: 1px solid rgba(255, 255, 255, 0.5);
    background: transparent;
    color: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    cursor: pointer;
  }

  .pxl-btn:hover {
    opacity: .8;
  }

  .pxl-label {
    font: 400 12px/1.2 Inter, sans-serif;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  .pxl-overlay,
  .pxl-overlay * {
    user-select: none;
  }

  .pxl-grid {
    pointer-events: none;
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2147483645 !important;
    display: none;
  }

  .pxl-grid.is-on {
    display: block;
  }

  .pxl-grid::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(to right, rgba(255, 0, 0, 0.25) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255, 0, 0, 0.25) 1px, transparent 1px);
    background-size: var(--pxl-grid, 8px) var(--pxl-grid, 8px);
  }

  .tour-booking-form {
    width: 100%;
  }

  .tour-card-meta {
    font-size: 2.5vw;
    /* 12px at 480px */
    margin-bottom: 3.13vw;
    /* 15px at 480px */
  }

  .tour-card-link {
    padding: 2.08vw 4.17vw;
    /* 10px 20px at 480px */
    font-size: 2.92vw;
    /* 14px at 480px */
  }

  .container {
    padding-left: 2.5vw;
    /* 12px at 480px */
    padding-right: 2.5vw;
  }

  .header-nav {
    display: none;
  }

  .pdf-details-image {
    order: 1;
  }

  /* Мобильный хэдер поверх видео */
  header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 15;
    background: transparent;
  }

  .header-wrapper {
    padding: 4.79vw 2.5vw 0;
    /* 23px 12px 0 at 480px */
    z-index: 15;
  }

  .h1 {
    font-size: 16.67vw;
    /* 80px at 480px */
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }

  .header-logo {
    position: static;
    width: 27.08vw;
    /* 130px at 480px */
    height: 5.83vw;
    /* 28px at 480px */
    aspect-ratio: 65/14;
    margin-left: 0;
    margin-right: 0;
  }

  .logo-link svg {
    width: 27.08vw;
    /* 130px at 480px */
    height: 5.83vw;
    /* 28px at 480px */
    aspect-ratio: 65/14;
  }

  .hero-wrapper {
    height: 100vh;
    display: flex;
    flex-direction: column;
    gap: 0;
    justify-content: flex-end;
    align-items: flex-start;
    margin: 0;
    padding: 0;
  }

  .hero {
    margin: 0;
    padding: 0;
    height: 100vh;
  }


  .tour-hero-actions {
    width: 100%;
  }

  .tour-hero-actions a {
    width: 100%;
  }


  .hero-title {
    gap: 3.33vw;
    /* 16px at 480px */
  }


  .button {
    font-size: 3.75vw;
    /* 18px at 480px */
    padding: 3.75vw 5.83vw;
    /* 18px 28px at 480px */
  }

  .modal__dialog {
    margin: 6.67vw auto;
    /* 32px auto at 480px */
    padding: 5vw;
    /* 24px at 480px */
  }

  .tour-about-wrapper {
    padding: 10.42vw 0px 20.83vw 0px;
    /* 50px 0px 100px 0px at 480px */
  }

  /* ===== tour-about mobile (≤480px) ===== */
  .tour-about-wrapper {
    position: relative;
    flex-direction: column;
    gap: 5vw;
    /* 24px at 480px */
    /* reserve space for the top images */
    padding-top: 53.75vw;
    /* 258px at 480px */
  }

  .tour-about-left,
  .tour-about-right {
    width: 100%;
  }

  /* Place text block before meta on mobile */
  .tour-about-right {
    order: 1;
  }

  .tour-about-left {
    order: 2;
  }

  /* Big image on the left */
  .tour-about-left-image {
    position: absolute;
    top: 10.42vw;
    /* 50px at 480px */
    right: 0;
    width: 34%;
    height: 36.88vw;
    /* 177px at 480px */
    overflow: hidden;
  }

  .tour-about-left-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .kicker {
    font-size: 3.54vw;
  }

  .time_to_read svg, .blog-date svg {
    width: 3.33vw;
    height: 3.33vw;
  }
  .time_to_read, .blog-date {
    gap: .83vw;
  }

  .case-card-meta {
    gap: 3.33vw;
  }

  .other-items__link {
    gap: 5vw;
  }

  .other-items-content {
    gap: 2.5vw;
  }


  /* Small image overlay on the right */
  .tour-about-right-image {
    position: absolute;
    top: 10.42vw;
    /* 50px at 480px */
    right: 0;
    left: 0;
    width: 64%;
    height: 36.88vw;
    /* 177px at 480px */
    aspect-ratio: 280.00/177.78;
    overflow: hidden;
  }

  .tour-about-right-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .tour-about-right-content {
    width: 100%;
    gap: 2.5vw;
    /* 12px at 480px */
  }

  /* Meta block layout like screenshot */
  .tour-meta {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    column-gap: 5vw;
    /* 24px at 480px */
    row-gap: 0px;
    width: 100%;
  }

  .tour-meta .meta-item {
    width: auto;
    height: auto;
    padding: 2.5vw 0 2.92vw 0;
    /* 12px 0 14px 0 at 480px */
    border-bottom: 1px solid rgba(34, 34, 34, 0.20);
  }

  /* Date row spans full width */
  .tour-meta .meta-item:first-child {
    grid-column: 1 / -1;
  }

  .who-goes-title {
    text-align: center;
    margin-bottom: 6.67vw;
    /* 32px at 480px */
    font-size: 15vw;
    /* 72px at 480px */
    line-height: 1;
    font-weight: 800;
    letter-spacing: 1px;
  }

  .who-goes-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10vw;
    /* 48px at 480px */
  }

  .who-card {
    display: flex;
    flex-direction: column;
  }

  .who-card-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }

  .who-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .who-card-name {
    margin-top: 3.33vw;
    /* 16px at 480px */
    margin-bottom: 1.67vw;
    /* 8px at 480px */
    text-transform: uppercase;
    font-weight: 800;
  }

  .pdf-details-wrapper {
    flex-direction: column;
    gap: 6.67vw;
    /* 32px at 480px */
  }

  .pdf-details-image img {
    width: 100%;
    max-width: 100vw;
    /* 461.34px at 480px */
  }

  .pdf-details-image {
    position: static;
    overflow: hidden;
    width: 100%;
  }

  .who-card-bio {
    color: var(--text-secondary, #777);
  }

  /* Nested media query for who-goes grid */
  @media (max-width: 900px) {
    .who-goes-grid {
      grid-template-columns: 1fr;
      gap: 10vw;
      /* 48px at 480px */
    }

  }

  .body-2 {
    font-size: 3.54vw;
    /* 17px at 480px */
  }

  h3 {
    font-size: 6.67vw;
    /* 32px at 480px */
  }

  .position-wrap {
    flex-direction: column;
    height: auto;
    gap: 6.67vw;
    /* 32px at 480px */
  }

  .position-content h2 svg {
    width: 63.72vw;
    /* 209.835px at 480px */
    height: auto;
  }

  .carousel-item {
    padding: 16.67vw 0;
    /* 80px 0 at 480px */
  }

  .position-content {
    gap: 5vw;
    /* 24px at 480px */
    margin-bottom: 0;
  }

  .position-pic {
    width: 100%;
    min-width: 0px;
    height: 58.33vw;
    /* 280px at 480px */
  }



  .blog_list_grid.blog_list_grid--2col .other-pic-wrap {
    height: 55.72vw;
  }

  .position-pic img {
    width: 100%;
  }

  .position-pic p {
    top: 3.33vw;
    /* 16px at 480px */
    left: 3.33vw;
    /* 16px at 480px */
  }

  .m-none {
    display: none;
  }

  .logo-link {
    padding-top: 0;
  }

  .d-none {
    display: block;
  }

  .position-wrap .button {
    width: 100%;
  }


  h3 {
    font-size: 6.67vw;
    /* 32px at 480px */
  }

  .h3 {
    font-size: 6.67vw;
    /* 32px at 480px */
  }


  .position-content {
    width: auto;
    padding-bottom: 0px;
  }

  .p-grid-2row {
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr;
    grid-row-gap: 2.92vw;
    /* 14px at 480px */
  }

  .logo-side .footer-logo {
    order: 2;
  }

  .logo-side a {
    order: 1;
  }

  .tour-day-layout-full-width .tour-day-image-full,
  .tour-day-image,
  .tour-day-image-only,
  .day-image {
    min-height: 67.08vw;
    /* 322px at 480px */
  }

  .tour-program-list {
    gap: 10.21vw;
    /* 49px at 480px */
  }

  .tour-program-list button {
    width: 100%;
  }

  .shifted {
    margin-right: 0;
  }

  .hero-right {
    order: 1;
    margin-bottom: 1.67vw;
    /* 8px at 480px */
  }

  .hero-left {
    order: 2;
  }

  /* Мобильная оптимизация hero видео */
  .hero-bg {
    height: 100vh;
  }

  .hero-bg video,
  .hero-bg iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: -1;
  }

  .hero-bg img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: -2;
  }

  .questions-right-links {
    justify-content: flex-start;
    flex-wrap: wrap;
  }


  .hero-right h1 {
    text-align: start;
  }

  .hero-left {
    width: auto;
    gap: 10vw;
    /* 48px at 480px */
    margin-bottom: 6.67vw;
    /* 32px at 480px */
  }

  .hero-left .button {
    width: 100%;
  }

  .burger {
    display: flex;
    width: 10vw;
    /* 48px at 480px */
    height: 6.67vw;
    /* 32px at 480px */
    padding: 2.5vw 0.42vw 2.29vw 0.42vw;
    /* 12px 2px 11px 2px at 480px */
    justify-content: center;
    align-items: center;
  }



  .films-wrap {
    flex-direction: column;
    padding-top: 12.5vw;
    /* 60px at 480px */
    padding-bottom: 14.58vw;
    /* 70px at 480px */
  }

  .tour-program-title p {
    max-width: 75.83vw;
    /* 364px at 480px */
  }

  .tour-day-content {
    gap: 2.29vw;
    /* 11px at 480px */
  }

  .films-benefits-content {
    flex-direction: column;
  }

  .films-video {
    order: 2;
    width: 100%;
    min-width: 92vw;
  }

  .films-video video {
    width: 100%;
    min-width: 0px;
  }

  .films-content {
    order: 1;
  }

  .play-button {
    width: 100%;
  }

  .calendar-wrap {
    padding-top: 24.58vw;
    /* 118px at 480px */
    padding-bottom: 4.17vw;
    /* 20px at 480px */
    gap: 8.33vw;
    /* 40px at 480px */
    align-content: flex-start;
  }

  .questions-left {
    gap: 6.67vw;
    /* 32px at 480px */
  }

  .questions-right-top {
    min-width: 25vw;
    /* 120px at 480px */
    min-height: 25vw;
    grid-row: 1 / 3;
    grid-column: 1 / 2;
  }

  .questions-contact-info {
    grid-row: 2 / 3;
    grid-column: 2 / 3;
  }

  .questions-contact-info {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
  }

  .questions-right {
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 1fr 1fr;
    gap: 4.17vw;
    /* 20px at 480px */
  }

  .questions-right-top img {
    width: 25vw;
    height: 25vw;
  }

  .embla__slide.calen {
    padding-right: 6.67vw;
  }

  .tour-slide {
    flex-direction: column;
    width: 78.13vw;
    min-width: 0px;
    max-width: 78.13vw;
    gap: 3.33vw;
    margin-right: 0px;
    justify-content: space-between;
  }

  .tour-pic {
    height: 91.67vw;
    /* 440px at 480px */
    width: 78.13vw;
    /* 375px at 480px */
    order: 1;
  }

  .tour-content {
    width: 100%;
    height: 100%;
    gap: 6.67vw;
    /* 32px at 480px */
    order: 2;
    justify-content: space-between;
  }


  .tour-head {
    gap: 1.67vw;
    /* 8px at 480px */
  }


  .tour-bottom .button.dark {
    width: 100%;
  }

  .tour-bottom {
    width: 100%;
  }

  .swiper-nav {
    flex-direction: column;
    gap: 6.67vw;
    /* 32px at 480px */
  }

  .swiper-nav .swiper-buttons {
    order: 2;
  }

  .swiper-nav .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
    order: 1;
  }



  .ptours-wrap {
    padding: 4.17vw 3.33vw;
    /* 20px 16px at 480px */
    gap: 5vw;
    /* 24px at 480px */
    flex-direction: column;
  }

  .ptours-content {
    width: auto;
    gap: 8.33vw;
    /* 40px at 480px */
    padding: 0;
    order: 2;
  }

  .ptours-content .button.light {
    width: 100%;
  }

  .ptour-video {
    order: 1;
  }

  .ptours-content-top {
    gap: 0.781vw;
  }

  .movies-head {
    flex-direction: column-reverse;
    gap: 2.083vw;
    padding: 3.646vw 2.604vw 0 2.604vw;
  }

  .movies-head p {
    width: auto;
    opacity: 1;
  }

  .swiper-wrapper.mov {
    margin-left: 2.604vw;
  }

  /* Embla: Movies slider responsive offset */
  .movies-embla .embla__container.mov {
    margin-left: 2.604vw;
    gap: 3.125vw;
  }

  .slide-movies,
  .slide-movies img {
    width: 49.479vw;
  }

  .swiper-nav.mov {
    margin-left: 0;
    align-items: start;
    margin-left: 2.604vw;
  }

  .h4 {
    font-size: 3.385vw;
  }

  .movies-wrap {
    height: 172.474vw;
    padding-top: 5.208vw;
  }

  .promo-wrap h2 {
    width: auto;
  }

  .promo-wrap {
    padding: 110px 0px 183px 0px;
    gap: 32px;
  }

  .promo-content a.button {
    width: 216px;
  }

  .form-input-1 {
    height: 80px;
    font-size: 17px;
  }

  .contact-form textarea {
    height: 80px;
  }

  /* .idea-contact-top h2 { max-width: 60.42vw; } */

  .running-line-tag {
    font-size: 4.17vw;
    /* 20px at 480px */
  }

  .promo-content {
    gap: 8.33vw;
    /* 40px at 480px */
  }

  .warning {
    width: 37.63vw;
    right: 5.58vw;
    bottom: -14.38vw;
    /* -69px at 480px */
    font-size: 2.5vw;
    /* 12px at 480px */
  }

  .form {
    padding-top: 0px;
    padding-bottom: 25vw;
    /* 120px at 480px */
  }

  .form-wrap {
    flex-direction: column;
    gap: 6.67vw;
    /* 32px at 480px */
    text-align: center;
  }

  .form-title {
    width: 100%;
    align-items: center;
  }

  .form-title p {
    width: 100%;
  }

  .form-title h2 {
    width: 68.54vw;
    /* 329px at 480px */
    display: flex;
    justify-content: center;
  }

  .who-goes-single-image {
    height: auto;
  }

  .form-title h2 svg {
    width: 37.89vw;
    /* 181.874px at 480px */
    height: 2.03vw;
    /* 9.748px at 480px */
    left: auto;
    right: auto;
    bottom: -0.42vw;
    /* -2px at 480px */
    align-self: center;
  }

  .contact-form {
    width: auto;
  }

  .form-button {
    padding: 3.75vw 5.83vw;
    /* 18px 28px at 480px */
  }

  .contact-wrap {
    flex-direction: column;
  }

  .idea-contact {
    width: 100%;
    min-width: 0px;
    gap: 5.83vw;
    /* 28px at 480px */
  }

  h2 {
    font-size: 10.42vw;
    /* 50px at 480px */
  }

  /* Override for title-2 on ≤480px: proportional scaling from base 20px */
  .title-2 {
    font-family: Inter;
    font-size: 4.17vw;
    /* 20px at 480px */
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.083vw;
    /* -0.4px at 480px */
    line-height: 110%;
    margin-block-end: 0;
    margin-block-start: 0;
  }

  .pdf-form .form-consent {
    color: var(--light);
  }

  .tour-booking-form .form-consent {
    color: var(--light);
  }

  .tour-booking-form .form-consent a {
    color: var(--light);
  }



  .pdf-form .form-consent a {
    color: var(--light);
  }

  .contact {
    padding: 13.33vw 0px 16.67vw 0px;
    /* 64px 0px 80px 0px at 480px */
  }

  .main-footer {
    flex-direction: column;
    gap: 15vw;
    /* 72px at 480px */
  }

  .form-input {
    width: 100%;
  }

  .footer-form {
    width: 100%;
  }

  .footer-mail-form {
    width: 100%;
  }

  .nav-side {
    gap: 13.33vw;
    /* 64px at 480px */
  }

  .navigation-wrap {
    gap: 4.17vw;
    /* 20px at 480px */
    justify-content: space-between;
  }

  .legal-links {
    width: 100%;
  }

  .navigation {
    width: 100%;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 2.92vw;
    /* 14px at 480px */
  }

  .footer-bottom-left {
    flex-direction: column;
    gap: 2.92vw;
    /* 14px at 480px */
  }

  .footer-bottom-left .body-2.txt-primary.op50 {
    font-size: 3.13vw;
    /* 15px at 480px */
  }

  .footer-logo .d-none svg {
    width: 87vw;
    height: auto;
  }

  .logo-side {
    width: 100%;
    gap: 3.33vw;
    /* 16px at 480px */
    align-items: center;
  }

  .link-bg {
    font-size: 5vw;
    /* 24px at 480px */
  }

  footer {
    padding-top: 20.83vw;
    /* 100px at 480px */
  }

  .swiper-slide.calen {
    max-width: 100% !important;
    min-height: 100%;
    display: flex;
  }

  .swiper {
    display: flex;
  }



  /* Scale swiper arrows on ≤480px */
  .swiper-button-next,
  .swiper-button-prev {
    width: 11.67vw;
    /* 56px at 480px */
    height: 11.67vw;
    /* 56px at 480px */
    gap: 2.08vw;
    /* 10px at 480px */
    border-width: 0.21vw;
    /* 1px at 480px */
    aspect-ratio: 1 / 1;
  }

  .swiper-button-next svg,
  .swiper-button-prev svg {
    width: 4.17vw;
    /* 20px at 480px */
    height: 4.17vw;
    /* 20px at 480px */
  }

  /* Additional responsive overrides for elements without 480px rules */
  .body-1 {
    font-size: 3.54vw;
    /* 17px at 480px */
    letter-spacing: -0.035vw;
    /* -0.17px at 480px */
  }

  .private-tours {
    margin-bottom: 37.5vw;
    /* 180px at 480px */
  }

  .swiper-slide {
    margin-right: 4.17vw;
    /* 20px at 480px */
  }

  .h4 {
    font-size: 5.83vw;
    /* 28px at 480px */
    letter-spacing: -0.058vw;
    /* -0.28px at 480px */
  }

  .promo-buttons {
    gap: 1.67vw;
    /* 8px at 480px */
  }

  .button {
    padding: 3.75vw 5.83vw;
    /* 18px 28px at 480px */
  }

  .promo-content a.button {
    width: 45vw;
    /* 216px at 480px */
  }

  .link-sm {
    font-size: 3.54vw;
    /* 17px at 480px */
  }

  .form-input-1 {
    height: 16.67vw;
    /* 80px at 480px */
    font-size: 3.54vw;
    /* 17px at 480px */
  }

  .social-link {
    font-size: 3.54vw;
    /* 17px at 480px */
  }

  .social-link svg {
    width: 6.67vw;
    /* 32px at 480px */
    height: 6.67vw;
    /* 32px at 480px */
  }

  .movies-wrap {
    padding-top: 8.33vw;
    /* 40px at 480px */
  }

  .slide-movies,
  .slide-movies img {
    width: 79.17vw;
    /* 380px at 480px */
  }

  .swiper-button-prev.mov,
  .swiper-button-next.mov {
    width: 10.67vw;
    height: 10.67vw;
  }

  .swiper-nav.mov {
    margin-top: 48px;
  }


  .swiper-button-prev.mov svg,
  .swiper-button-next.mov svg {
    width: 4.17vw;
    /* 20px at 480px */
    height: 4.17vw;
    /* 20px at 480px */
  }

  .m-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    display: block;
  }

  .hero-indi-title {
    flex-direction: column;
    gap: .83vw;
  }

  .hero-indi-title h1 {
    font-size: 14.42vw;
    /* 50px at 480px */
  }

  .hero-indi {
    margin-top: 20.83vw;
    margin-bottom: 16.67vw;
  }

  .hero-indi-title p {
    width: 100%;
    margin-bottom: 0;
  }

  .indi-conditions-wrap {
    flex-direction: column;
    gap: 13.33vw;
  }

  .indi-conditions-card {
    order: 2;
    width: 100%;
  }

  .indi-card-title h2 {
    font-size: 20vw;
  }

  h2,
  .h2 {
    font-size: 15vw;
  }

  .indi-conditions-content {
    width: 100%;
    order: 1;
  }

  .indi-conditions-steps {
    flex-direction: column;
    gap: 5vw;
  }

  .indi-step {
    flex-direction: row;
    max-width: 100%;
    gap: 2.5vw;
  }

  .indi-step-number,
  .indi-step-number svg {
    min-width: 6.67vw;
    height: 6.88vw;
  }


  .hero-indi-wrap {
    gap: 7.5vw;
  }

  .hero-indi-image {
    height: 75vw;
  }

  .hero-indi-title p {
    font-size: 3.54vw;
    /* 17px at 480px */
  }

  .m-menu.active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  /* Оверлей (затемнение фона) */
  .m-menu-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    transition: background-color 0.4s ease;
  }

  .m-menu-overlay::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    transition: background 0.3s ease;
  }

  /* Основной блок меню (выезжает слева) */
  .m-menu-wrap {
    position: relative;
    width: 100%;
    background-color: var(--primary);
    box-shadow: -0.42vw 0 2.08vw rgba(0, 0, 0, 0.1);
    /* -2px 0 10px at 480px */
    transform: translateY(-100%);
    transition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1);
    padding-bottom: 8.33vw;
    /* 40px at 480px */
  }

  .m-menu.active .m-menu-wrap {
    transform: translateY(0);
  }

  /* Шапка меню */
  .m-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4.17vw 4.17vw 11.67vw 4.17vw;
    /* 20px 20px 56px 20px at 480px */
  }

  .header-logo .logo-link {
    display: inline-block;
  }

  .header-logo svg {
    height: 5.83vw;
    /* 28px at 480px */
    width: auto;
  }

  .burger-close {
    display: flex;
    width: 10vw;
    /* 48px at 480px */
    height: 6.67vw;
    /* 32px at 480px */
    padding: 0.83vw 0.42vw 0.83vw 0.42vw;
    /* 4px 2px 4px 2px at 480px */
    justify-content: center;
    align-items: center;
  }

  .burger-close svg {
    width: 8.15vw;
    /* 39.105px at 480px */
    height: 4.94vw;
    /* 23.732px at 480px */
  }


  /* Основное меню */
  .m-menu-main {
    display: flex;
    flex-direction: column;
    gap: 16.67vw;
    /* 80px at 480px */
    padding: 0px 4.17vw 0px 4.17vw;
    /* 0px 20px 0px 20px at 480px */
  }

  .title-1 {
    font-size: 6.67vw;
    /* 32px at 480px */
  }

  .m-menu-nav ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .hero-wrapper.tour {
    max-height: 166.67vw;
    /* 800px at 480px */
    padding: 0px 0px 6.25vw 0px;
    /* 0px 0px 30px 0px at 480px */
    gap: 8.96vw;
    /* 43px at 480px */
  }



  .hero-bg.tour {
    max-height: 166.67vw;
    /* 800px at 480px */
  }

  .hero.tour {
    max-height: 166.67vw;
    /* 800px at 480px */
  }




  .nav-link {
    color: var(--light, #EDEDED);
    font-family: "Bebas Neue";
    font-size: 11.67vw;
    /* 56px at 480px */
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    text-transform: uppercase;
  }


  .m-menu-main .idea-links .social-link {
    color: var(--light, #EDEDED);
    text-align: right;
    font-family: "Bebas Neue";
    font-size: 6.67vw;
    /* 32px at 480px */
    font-style: normal;
    font-weight: 700;
    line-height: 105%;
    letter-spacing: -0.32px;
    text-transform: uppercase;
  }

  /* ===== Tour program: collapse to 3 days on mobile (≤480px) ===== */
  #tourProgramList[data-collapsed="1"] .tour-day-item:nth-child(n+4) {
    display: none;
  }

  /* Show the toggle button on mobile */
  #showAllDaysBtn.tour-program-toggle {
    display: block;
  }

  /* Yacht styles from second 480px block */
  .yacht-info {
    padding: 5.208vw 0px;
  }

  .yacht-swiper-container {
    width: 92vw;
    margin: 0 auto;
  }

  .yacht-gallery {
    width: 100%;
    max-width: none;
  }

  .yacht-embla {
    width: 92vw;
    margin: 0;
  }

  .yacht-embla .embla__viewport {
    width: 92vw;
    height: 32.552vw;
  }

  .yacht-content-left h3 {
    font-size: 5.83vw;
  }

  .yacht-content p {
    margin-bottom: 0;
  }

  .yacht-pagination {
    margin-top: 3.75vw;
  }

  .yacht-content-left {
    width: 100%;
  }

  .yacht-scheme {
    width: 100%;
  }

  .yacht-content-left p {
    font-size: 3.13vw;
  }

  .yacht-title {
    font-size: 3.125vw;
  }

  .yacht-scheme img {
    object-position: center;
  }

  .yacht-embla .embla__slide {
    width: 92vw;
    flex: 0 0 auto;
  }

  .yacht-subtitle {
    font-size: 2.344vw;
  }

  .yacht-description {
    font-size: 1.823vw;
  }

  /* Movies (Киностудия) — мобильные стили Embla (бывшие для Swiper) */
  .movies-embla .embla__container.mov {
    margin-left: 2.604vw;
    gap: 3.125vw;
  }

  .slide-movies,
  .slide-movies img {
    width: 49.479vw;
  }

  .swiper-nav.mov {
    margin-left: 2.604vw;
    align-items: start;
  }
}

/* ========================================
   БЛОК "НАШ ДОМ НА ПАРУСАХ"
   ======================================== */

.yacht-info {
  display: flex;
  padding: 140px 50px;
  justify-content: space-between;
  align-items: flex-start;
  flex-shrink: 0;
}

.yacht-info-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  margin: 0 auto;
}

.yacht-gallery {
  min-width: 650px;
  width: 100%;
}

.yacht-swiper-container {
  position: relative;
  width: 100%;
  max-width: 650px;
  flex-shrink: 0;
  align-self: stretch;
  box-sizing: border-box;
}

.yacht-embla .embla__viewport {
  width: 100%;
  height: 400px;
  overflow: hidden;
}

.yacht-embla .embla__container {
  display: flex;
}

.yacht-embla .embla__slide {
  flex: 0 0 100%;
  min-width: 0;
}

.yacht-embla .embla__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}



.yacht-gallery-link {
  display: block;
  width: 100%;
  height: 100%;
}


.yacht-pagination {
  position: relative;
  margin-top: 18px;
  text-align: center;
  z-index: 10;
}

/* Override global Swiper defaults for yacht gallery pagination */
.yacht-pagination.swiper-pagination {
  position: relative !important;
  left: 0 !important;
  bottom: 0 !important;
  transform: none !important;
  width: 100%;
  height: auto;
  overflow: visible;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.yacht-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #CECECE;
  opacity: 1;
  margin: 0 8px;
  transition: background 0.2s ease;
  border-radius: 50%;
  border: 0;
  padding: 0;
  line-height: 0;
  display: inline-block;
  box-sizing: content-box;
}

.yacht-pagination .swiper-pagination-bullet-active {
  background: #6C7EAA;
}

.yacht-content h2 {
  margin-bottom: 40px;
}

.yacht-content h3 {
  margin-bottom: 8px;
}

.yacht-content p {
  margin-bottom: 40px;
}



.yacht-title {
  font-size: 32px;
  font-weight: 700;
  color: #333;
  margin: 0 0 16px 0;
  line-height: 1.2;
}

.yacht-subtitle {
  font-size: 24px;
  font-weight: 600;
  color: #555;
  margin: 0 0 24px 0;
  line-height: 1.3;
}

.yacht-description {
  font-size: 16px;
  line-height: 1.6;
  color: #666;
  margin: 0 0 32px 0;
}

.yacht-scheme {
  margin-top: 24px;
  width: 100%;
  height: 203px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.yacht-scheme a {
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.yacht-scheme img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left;
  transition: opacity 0.3s ease;
}

.yacht-scheme a:hover img {
  opacity: 0.9;
}

/* Blog Header Styles */
.blog-header {
  padding: 125px 0 56px 0;
  text-align: center;
}


/* Featured Article Styles */

.featured-article {
  width: 100%;
}

/* Large Card Styles (для больших карточек из метабокса) */
.blog-large-card-wrapper {
  width: 100%;
  margin-bottom: 48px;
}

.featured-article.large-card {
  width: 100%;
  max-width: 100%;
}

.featured-article__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.featured-article__image {
  width: 100%;
  max-height: 660px;
  margin: 0 0 32px 0;
  overflow: hidden;
}

.featured-article__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.featured-article__content {
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.featured-article {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.featured-article__link {
  display: flex;
flex-direction: column;
align-items: flex-start;
gap: 24px;
align-self: stretch;
}

.featured-article__title {
  font-size: 40px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.2;
  margin: 0 0 24px 0;
  color: var(--primary, #222);
}

.featured-article__meta {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.featured-article__meta .blog-date,
.featured-article__meta .time_to_read {
  display: flex;
  align-items: center;
  gap: 8px;
}

.time_to_read {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Blog Listing Grid Styles */
.blog-listing {
  padding: 48px 0;
}

.case-card-meta {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}

.case-card-meta .blog-date {
  display: flex;
  align-items: center;
  gap: 8px;
}

.blog_list_grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 48px;
}

.op60 {
  opacity: 0.6;
}

.blog_list_grid--3col {
  grid-template-columns: repeat(3, 1fr);
  grid-auto-columns: 1fr;
}


.other-pic-wrap {
  overflow: hidden;
  width: 100%;
  height: 263.425px;
}

.other-items__link {
  display: flex;
flex-direction: column;
align-items: flex-start;
gap: 24px;
flex: 1 0 0;
transition: opacity 0.2s ease;
}

.other-pic-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.other-items-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.read-more__head {
  position: static;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.other-items__link:hover h3 {
  opacity: 0.8;
}


.blog_list_grid--3col > * {
  min-width: 0;
  width: 100%;
}

.blog_list_grid--2col {
  grid-template-columns: repeat(2, 1fr);
}

/* Blog Page Responsive adjustments */
@media (max-width: 1024px) {
  .blog_list_grid--3col {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .blog_list_grid--3col,
  .blog_list_grid--2col {
    grid-template-columns: 1fr;
    gap: 4.17vw;
    margin-bottom: 10vw;
  }

  .other-items-content {
    gap: 2.5vw;
  }

  .other-pic-wrap,
  .featured-article__image {
    height: 55.72vw;
    max-height: 100%;
  }
  
  .featured-article__meta {
    flex-direction: row;
    align-items: flex-start;
    gap: 3.33vw;
  }

  .single-image-wrap {
    margin-top: 8.33vw;
    margin-bottom: 8.33vw;
  }

  .blog_list_grid {
    grid-template-columns: 1fr;
  }

  .read-more__head {
    flex-direction: column;
    gap: 2.5vw;
    align-items: center;
  }

  .single-image-wrap {
    margin-top: 8.33vw;
    margin-bottom: 8.33vw;
  }

  .single-top-wrap {
    gap: 2.92vw;
  }

  .single-meta {
    margin-bottom: 3.33vw;
  }

  .single-h1 {
    margin-bottom: 1.67vw;
  }


  .featured-article__image {
    margin: 0;
  }
}

/* Blog Pagination Styles */
.blog-pagination {
  margin-top: 64px;
  text-align: center;
}

.pagination-wrapper {
  display: inline-block;
}

.pagination-wrapper .page-numbers {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}

.pagination-wrapper .page-numbers li {
  display: inline-block;
}

.pagination-wrapper .page-numbers a,
.pagination-wrapper .page-numbers span {
  display: inline-block;
  padding: 8px 16px;
  text-decoration: none;
  color: var(--primary, #222);
  border: 1px solid rgba(34, 34, 34, 0.2);
  transition: all 0.2s ease;
}

.pagination-wrapper .page-numbers a:hover {
  background-color: var(--primary, #222);
  color: #fff;
}

.pagination-wrapper .page-numbers .current {
  background-color: var(--primary, #222);
  color: #fff;
  border-color: var(--primary, #222);
}

@media (max-width: 1024px) {
  .yacht-info-wrapper {
    flex-direction: column;
    gap: 40px;
  }

  .yacht-gallery {
    flex: none;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
  }

  .yacht-swiper {
    height: 350px;
  }
}

@media (max-width: 768px) {

  .yacht-info-wrapper {
    gap: 4.167vw;
  }

  .tour-about-right-content p {
    max-width: 100%;
  }

  .yacht-gallery {
    margin: 0;
    order: 2;
    min-width: 0;
  }

  .author_name {
    font-size: 3.54vw;
  }

  .author__bio {
    font-size: 3.13vw;
  }

  .post-toc__title {
    font-size: 3.54vw;
  }

  .post-toc {
    display: flex;
padding: 4.17vw 8.33vw 8.33vw 5vw;
flex-direction: column;
align-items: flex-start;
gap: 5vw;
align-self: stretch;
  }

  .post-content ul li {
font-size: 3.54vw;
font-style: normal;
font-weight: 400;
line-height: 140%; /* 4.96vw */
letter-spacing: -0.04vw;
text-decoration-line: underline;
text-decoration-style: solid;
text-decoration-skip-ink: auto;
text-decoration-color: rgba(34, 34, 34, 0.20);
text-decoration-thickness: .21vw; /* 5.882% */
text-underline-offset: auto;
text-underline-position: from-font;
  }

  .post-toc {
    display: flex;
padding: 1.25rem 2.5rem 2.5rem 1.5rem;
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
align-self: stretch;
  }


  .post-toc a {
    font-size: 3.13vw;
  }



  .post-content h2 {
    display: flex;
margin: 48px 0 24px 0;
align-items: center;
gap: 10.08px;
align-self: stretch;
font-size: 6.67vw;
  }
  .yacht-content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 5vw;
  }

  .yacht-content-left {
    flex-direction: column;
  }

  .yacht-scheme {
    margin-top: 0;
  }

  .yacht-content {
    order: 1;
    max-width: 92vw;
  }

  .yacht-info {
    padding: 18.229vw 0px;
  }

  .yacht-swiper {
    height: 39.063vw;
  }

  .yacht-embla.embla {
    width: 92vw;
  }

  .yacht-embla .embla__viewport {
    overflow: hidden;
  }

  .yacht-embla .embla__slide {
    width: 92vw;
    flex: 0 0 auto;
  }

  .yacht-title {
    font-size: 3.646vw;
  }

  .yacht-subtitle {
    font-size: 2.604vw;
  }

  .blog-header {
    padding: 26.04vw 0 11.67vw 0;
  }

  .yacht-description {
    font-size: 1.953vw;
  }
}