@charset "UTF-8";
@font-face {
  font-family: "Lora";
  font-display: swap;
  src: url(../fonts/Lora.woff2) format("woff2"), url(../fonts/Lora.woff) format("woff");
  font-style: normal;
}
* {
  padding: 0;
  margin: 0;
  border: 0;
}

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

html {
  scroll-behavior: smooth;
}

body,
html {
  height: 100%;
  min-width: 320px;
}

body {
  color: #000;
  background-color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  font-family: "Lora";
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

button,
input,
textarea {
  font-family: "Lora";
  font-size: inherit;
}

button {
  cursor: pointer;
  color: inherit;
  background-color: inherit;
}

a {
  color: inherit;
}

a:link,
a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

ul li {
  list-style: none;
}

img {
  vertical-align: top;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
  font-size: inherit;
}

.lock body {
  overflow: hidden;
  touch-action: none;
}

.wrapper {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.wrapper > main {
  flex: 1 1 auto;
}

[class*=__container] {
  max-width: 1400px;
  box-sizing: content-box;
  margin: 0 auto;
  padding-inline: 15px;
}

[class*=__title] {
  font-weight: 700;
  font-family: "Lora";
  font-size: clamp(1.563rem, 0.988rem + 2.87vw, 3.5rem);
}

section {
  padding-block: clamp(2.5rem, 1.759rem + 3.704vw, 5rem);
}

img {
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

a {
  transition: color 0.3s ease 0s;
}

.tpdlw0tbzmznnoo__container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  color: #000;
  border-radius: 24px;
  padding-block: 20px;
  max-width: 850px;
}
.tpdlw0tbzmznnoo__subtitle {
  text-align: center;
  font-weight: 700;
  font-family: "Lora";
  color: #000;
  font-size: 35px;
  line-height: 1.2;
}
@media (max-width: 479px) {
  .tpdlw0tbzmznnoo__subtitle {
    font-size: 25px;
  }
}
.tpdlw0tbzmznnoo__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.tpdlw0tbzmznnoo__item {
  font-size: clamp(1rem, 0.963rem + 0.185vw, 1.125rem);
  line-height: 1.5;
}
.tpdlw0tbzmznnoo__item ol li {
  list-style: disc inside;
  margin-left: 20px;
}
.tpdlw0tbzmznnoo__item ol li:not(:last-child) {
  margin-bottom: 10px;
}

.anim {
  opacity: 0;
  transition: opacity 1s ease 0s;
}
.anim.animate {
  opacity: 1;
}

/* Стили для хедера */
.header {
  /* По умолчанию (для десктопа > 991px) */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: #252525;
  /* Изначальный темный фон (по картинке) */
  padding: 15px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  /* Светлая линия сверху */
  transition: background-color 0.3s ease-in-out, border-top-color 0.3s ease-in-out, padding 0.3s ease-in-out;
}

.header--scrolled {
  /* Только для десктопа > 991px */
  background-color: #ffffff;
  border-top-color: #e0e0e0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.header--scrolled .header__logo,
.header--scrolled .header__menu-link {
  color: #333333;
}

.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header__logo {
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: color 0.3s ease-in-out;
}

.header__menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
}

.header__menu-item {
  margin-left: 30px;
}

.header__menu-item:first-child {
  margin-left: 0;
}

.header__menu-link {
  font-size: 16px;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.3s ease-in-out;
}

.header__menu-link:hover {
  color: #cccccc;
}

.header--scrolled .header__menu-link:hover {
  color: #000000;
}

.header__burger {
  display: none;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  width: 30px;
  height: 22px;
  /* 3*3px (полоски) + 2*5px (отступы) = 19px. Можно чуть больше для удобства */
  position: relative;
  z-index: 1001;
  /* Выше чем .header__nav если оно absolute */
}

.header__burger span {
  display: block;
  width: 100%;
  height: 3px;
  background-color: #333333;
  /* Цвет полосок бургера (на белом фоне хедера для мобильных) */
  margin-bottom: 5px;
  transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
  border-radius: 1px;
}

.header__burger span:last-child {
  margin-bottom: 0;
}

/* Стили для мобильной версии (<= 991px) */
@media (max-width: 991.98px) {
  body {
    padding-top: 0;
    /* Убираем отступ, т.к. header не fixed */
  }
  .header {
    position: static;
    background-color: #ffffff;
    border-top-color: #e0e0e0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    /* Убираем класс scrolled, т.к. он тут не нужен для фона */
  }
  .header.header--scrolled {
    /* Если JS все же его добавит, гарантируем белый фон */
    background-color: #ffffff !important;
  }
  .header__logo,
  .header--scrolled .header__logo {
    /* Обеспечиваем цвет лого на белом фоне */
    color: #333333;
  }
  .header__nav {
    display: none;
    flex-direction: column;
    /* Для is-active */
    align-items: center;
    /* Для is-active */
    position: fixed;
    /* Чтобы меню было поверх всего и на весь экран */
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    /* Меню на весь экран */
    background-color: rgba(255, 255, 255, 0.98);
    /* Белый с небольшой прозрачностью */
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
    /* Эффект размытия фона (если поддерживается) */
    padding-top: 80px;
    /* Отступ сверху, чтобы не перекрывать хедер (если хедер остался бы видимым) или для центровки */
    box-sizing: border-box;
    overflow-y: auto;
    /* Если пунктов много */
    z-index: 999;
    /* Ниже бургера, но выше остального контента */
    transform: translateX(-100%);
    transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  }
  .header__nav.is-active {
    display: flex;
    /* Используем flex для центрирования */
    transform: translateX(0);
  }
  .header__menu {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  .header__menu-item {
    margin-left: 0;
    margin-bottom: 25px;
    /* Увеличим отступ для мобильных */
    width: 100%;
    text-align: center;
  }
  .header__menu-item:last-child {
    margin-bottom: 0;
  }
  .header__menu-link,
  .header--scrolled .header__menu-link {
    color: #333333;
    font-size: 20px;
    /* Увеличим для тач-устройств */
    padding: 10px 0;
    display: block;
    /* Чтобы занимали всю ширину li */
  }
  .header__menu-link:hover,
  .header--scrolled .header__menu-link:hover {
    color: #000000;
  }
  .header__burger {
    display: block;
  }
  /* Стили для активного бургера (крестик) */
  .header__burger.is-active span {
    /* Цвет полосок крестика, если нужно изменить */
  }
  .header__burger.is-active span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  .header__burger.is-active span:nth-child(2) {
    opacity: 0;
  }
  .header__burger.is-active span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
  /* Если бургер должен менять цвет на темном фоне меню (если меню не полностью перекрывает хедер) */
  /* .header__burger.is-active span { background-color: #fff; } */
}
.footer {
  background-color: #f8f8f8;
  /* Очень светлый серый фон */
  padding: 40px 0;
  color: #777;
  /* Основной цвет текста */
  font-size: 14px;
  /* Базовый размер шрифта для футера */
  line-height: 1.6;
}

.footer__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  /* Выравнивание по верху, если контент разной высоты */
  flex-wrap: wrap;
  /* Для мобильных, если потребуется */
}

.footer__nav {
  flex-basis: auto;
  /* Занимает место по контенту */
  margin-bottom: 20px;
  /* Отступ снизу на случай переноса на мобильных */
}

.footer__menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  /* Позволяет ссылкам переноситься, если их много */
}

.footer__menu-item {
  margin-right: 25px;
}

.footer__menu-item:last-child {
  margin-right: 0;
}

.footer__menu-link {
  color: #555;
  /* Чуть темнее основного текста */
  text-decoration: none;
  font-size: 15px;
  /* Немного крупнее для навигации */
  transition: color 0.2s ease-in-out;
}

.footer__menu-link:hover {
  color: #c00000;
  /* Пример цвета при наведении, можно подобрать точнее */
}

.footer__info-block {
  flex-basis: 60%;
  /* Даем больше места информационному блоку */
  max-width: 60%;
  /* Ограничение, чтобы не слишком растягивался, если меню короткое */
  text-align: right;
  /* Выравнивание текста вправо для десктопа */
}

.footer__company-details p {
  margin-top: 0;
  margin-bottom: 8px;
  /* Небольшой отступ между строками информации */
}

.footer__company-details p:last-child {
  margin-bottom: 0;
}

.footer__contact-link {
  color: #d9534f;
  /* Красный цвет для контактов */
  text-decoration: none;
  font-weight: 500;
  /* Чуть жирнее */
}

.footer__contact-link:hover {
  text-decoration: underline;
}

.footer__disclaimer {
  margin-top: 15px;
  font-size: 12px;
  /* Мельче */
  color: #aaa;
  /* Светлее */
}

.footer__disclaimer p {
  margin: 0;
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .footer__wrapper {
    flex-direction: column;
    align-items: center;
    /* Центрируем контент на мобильных */
    text-align: center;
    /* Центрируем текст внутри блоков */
  }
  .footer__nav {
    margin-bottom: 30px;
    /* Увеличим отступ */
    width: 100%;
    /* Занимает всю ширину для центрирования меню */
  }
  .footer__menu {
    justify-content: center;
    /* Центрируем пункты меню */
  }
  .footer__menu-item {
    margin-right: 15px;
    /* Можно уменьшить отступы между ссылками */
    margin-left: 15px;
    margin-bottom: 10px;
    /* Отступ, если ссылки переносятся */
  }
  .footer__info-block {
    flex-basis: 100%;
    max-width: 100%;
    text-align: center;
    /* Весь текст в инфо блоке по центру */
  }
}
@media (max-width: 767.98px) {
  .footer {
    padding: 30px 0;
    font-size: 13px;
  }
  .footer__menu-link {
    font-size: 14px;
  }
  .footer__menu-item {
    margin-right: 10px;
    margin-left: 10px;
  }
  .footer__disclaimer {
    font-size: 11px;
  }
}
.container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.hero {
  position: relative;
  min-height: 100vh;
  /* Занимает всю высоту видимой части экрана */
  background-image: url("../img/main/37.jpg");
  /* УКАЖИТЕ ПУТЬ К ВАШЕМУ ФОНУ */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* Центрирование основного контента по вертикали */
  align-items: center;
  text-align: center;
  padding: 60px 0;
  /* Отступы сверху/снизу, особенно важны для мобильных */
  box-sizing: border-box;
}

.hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  /* Затемняющий слой, подберите прозрачность */
  z-index: 1;
}

.hero__container {
  /* Если используете свой .container, добавьте ему это */
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  /* Чтобы занимал всю доступную ширину внутри .hero */
}

.hero__logo-wrapper {
  margin-bottom: 60px;
  /* Отступ от лого до фишек */
}

.hero__logo {
  font-size: clamp(2rem, 10vw, 7rem);
  /* Адаптивный размер шрифта */
  font-weight: 900;
  /* Очень жирный, подберите шрифт, если есть кастомный */
  line-height: 1.1;
  text-transform: uppercase;
  margin: 0;
  position: relative;
  /* Для позиционирования tagline и side-text */
  display: inline-block;
  /* Чтобы рамка у части логотипа работала корректно */
}

.hero__logo-part {
  display: inline-block;
  /* Для возможности отступов и других свойств */
}

/* Стилизация частей логотипа */
/* Для эффекта обводки без заливки (может потребоваться кастомный шрифт или SVG для идеала) */
.hero__logo-part--cash,
.hero__logo-part--no {
  -webkit-text-stroke: 2px #fff;
  /* Для WebKit браузеров (Chrome, Safari, Edge) */
  text-stroke: 2px #fff;
  /* Стандартное свойство, но поддержка пока не везде */
  color: transparent;
  letter-spacing: 0.05em;
  /* Немного разрядить буквы */
}

/* Если text-stroke не работает везде, можно использовать text-shadow как фолбэк (менее качественно) */
/*
.hero__logo-part--cash,
.hero__logo-part--no {
    color: transparent;
    text-shadow:
        -1px -1px 0 #fff,
         1px -1px 0 #fff,
        -1px  1px 0 #fff,
         1px  1px 0 #fff,
        -2px -2px 0 #fff,
         2px -2px 0 #fff,
        -2px  2px 0 #fff,
         2px  2px 0 #fff;
}
*/
.hero__logo-part--shi {
  color: #fff;
  margin: 0 -0.05em;
  /* Небольшая коррекция межбуквенного интервала для слитности */
}

.hero__logo-part--poland {
  color: #fff;
  position: relative;
  /* Для позиционирования красной точки и слогана */
  padding-left: 0.1em;
  /* Небольшой отступ от "NO" */
}

.hero__logo-poland-o {
  /* Стилизация буквы "O" в POLAND */
  position: relative;
  display: inline-block;
}

.hero__logo-poland-o::after {
  /* Красная точка внутри "O" */
  content: "";
  position: absolute;
  width: 0.12em;
  /* Размер точки относительно размера шрифта */
  height: 0.12em;
  background-color: #ff0000;
  /* Ярко-красный */
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* Точные значения top/left/transform могут потребовать подгонки под конкретный шрифт */
}

.hero__logo-tagline {
  display: block;
  font-size: 0.2em;
  /* Размер относительно основного лого */
  font-weight: 700;
  color: #ff0000;
  /* Ярко-красный */
  letter-spacing: 0.1em;
  text-transform: lowercase;
  /* "we create events" в нижнем регистре */
  margin-top: 0.2em;
  text-align: right;
  /* Выравнивание по правому краю слова POLAND */
  padding-right: 0.1em;
  /* Небольшой отступ справа */
}

.hero__logo-side-text {
  position: absolute;
  left: -2.3em;
  /* Отрицательный отступ для позиционирования слева */
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.18em;
  /* Размер относительно основного лого */
  font-weight: 400;
  line-height: 1.3;
  color: #fff;
  text-transform: uppercase;
  text-align: right;
  white-space: nowrap;
  /* Чтобы текст не переносился */
  padding-right: 0.5em;
  /* Отступ до вертикальной линии */
  border-right: 0.03em solid rgba(255, 255, 255, 0.7);
  /* Вертикальная линия */
}

.hero__features {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  /* Элементы могут быть разной высоты из-за текста */
  flex-wrap: wrap;
  gap: 30px;
  /* Отступы между фишками */
  max-width: 900px;
  /* Ограничиваем ширину блока с фишками */
  width: 90%;
}

.hero__feature-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-basis: calc(25% - 22.5px);
  /* 4 элемента в ряд, учитываем gap (30px * 3 / 4) */
  min-width: 150px;
  /* Минимальная ширина для элемента, чтобы не слишком сжимался */
}

.hero__feature-chip {
  width: 100px;
  /* Размер фишки */
  height: 100px;
  background-color: #d90000;
  /* Насыщенный красный */
  border-radius: 50%;
  border: 5px solid #fff;
  /* Белая окантовка */
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-bottom: 15px;
  box-shadow: 0 0 0 3px #d90000, 0 0 15px rgba(0, 0, 0, 0.3);
  /* Легкая тень */
  /* Попытка имитировать зубцы (очень упрощенно) */
  /* Для настоящих зубцов нужен SVG или более сложная CSS графика */
}

.hero__feature-chip::before,
.hero__feature-chip::after {
  /* Для имитации узоров, можно усложнить */
  content: "";
  position: absolute;
  background-color: #fff;
  /* Это очень грубая имитация, лучше SVG */
}

/* Пример имитации прямоугольников по краю (сложно и не идеально) */
/* Этот блок можно расширить или использовать более продвинутые техники */
.hero__feature-chip::before {
  width: 8px;
  height: 18px;
  border-radius: 2px;
  top: 5px;
  left: 50%;
  transform: translateX(-50%) rotate(0deg);
}

/* ...и так далее для каждого "зубца", но это неэффективно и неточно */
/* Лучше всего, если фишка - это SVG фон для .hero__feature-chip */
.hero__chip-value {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
}

.hero__feature-text {
  font-size: 14px;
  line-height: 1.4;
  color: #fff;
  margin: 0;
  font-weight: 500;
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .hero {
    padding: 40px 0;
  }
  .hero__logo-wrapper {
    margin-bottom: 40px;
  }
  .hero__features {
    gap: 20px;
  }
  .hero__feature-item {
    flex-basis: calc(50% - 10px);
    /* 2 элемента в ряд */
    margin-bottom: 20px;
    /* Добавляем отступ снизу для мобильных */
  }
  .hero__feature-chip {
    width: 80px;
    height: 80px;
    border-width: 4px;
  }
  .hero__chip-value {
    font-size: 20px;
  }
  .hero__logo-side-text {
    /* Можно скрыть или переместить на мобильных, если мешает */
    /* display: none; */
    /* Или уменьшить и упростить позиционирование */
    font-size: 0.15em;
    left: -2.5em;
  }
}
@media (max-width: 767.98px) {
  .hero__logo {
    /* font-size: 4rem; Уже управляется clamp() */
  }
  .hero__logo-side-text {
    /* Еще сильнее упрощаем или скрываем */
    font-size: 0.13em;
    left: -2.8em;
    padding-right: 0.3em;
    border-right-width: 0.02em;
    /* Или display: none; */
  }
  .hero__logo-tagline {
    font-size: 0.18em;
  }
}
@media (max-width: 575.98px) {
  .hero__features {
    flex-direction: column;
    /* Фишки одна под другой */
    align-items: center;
    gap: 25px;
  }
  .hero__feature-item {
    flex-basis: auto;
    /* Сбрасываем basis */
    width: 80%;
    /* Ограничиваем ширину, чтобы не растягивались сильно */
    max-width: 250px;
    margin-bottom: 0;
    /* Убираем, т.к. теперь gap между элементами */
  }
  .hero__feature-chip {
    width: 90px;
    height: 90px;
  }
  .hero__chip-value {
    font-size: 22px;
  }
  .hero__feature-text {
    font-size: 13px;
  }
  .hero__logo-side-text {
    display: none;
    /* На совсем маленьких экранах лучше скрыть */
  }
  .hero__logo-tagline {
    /* Может потребоваться немного опустить или уменьшить отступы */
  }
}
.about-section {
  padding: 80px 0;
  /* Отступы сверху и снизу секции */
  padding-bottom: 150px;
  position: relative;
  /* Важно для z-index фонового текста */
  overflow: hidden;
  /* Чтобы гигантский фоновый текст не создавал горизонтальный скролл */
}

/* Добавим .container специфичные стили, если он еще не position: relative */
.about-section .container {
  position: relative;
  /* Обязательно для позиционирования .about-section__background-text */
  z-index: 2;
  /* Чтобы контент был выше фонового текста */
}

.about-section__main-title {
  font-size: 32px;
  font-weight: 600;
  /* Или 700, если нужно жирнее */
  color: #2c3e50;
  /* Темно-синий/серый цвет */
  text-align: center;
  margin-top: 0;
  margin-bottom: 50px;
}

.about-section__subtitle-wrapper {
  text-align: center;
  margin-bottom: 40px;
}

.about-section__subtitle {
  display: inline-block;
  /* Чтобы линия была под текстом нужной ширины */
  position: relative;
  font-size: 28px;
  font-weight: 600;
  color: #333;
  margin: 0;
  padding-bottom: 10px;
  /* Отступ для линии */
}

.about-section__subtitle::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  /* Ширина красной линии */
  height: 3px;
  /* Толщина красной линии */
  background-color: #d9534f;
  /* Красный цвет, как в футере */
}

.about-section__text-content {
  font-size: 16px;
  line-height: 1.7;
  color: #555;
  /* Цвет основного текста */
  max-width: 800px;
  /* Ограничиваем ширину текстового блока для лучшей читаемости */
  margin-left: auto;
  margin-right: auto;
}

.about-section__text-content p {
  margin-top: 0;
  margin-bottom: 20px;
}

.about-section__text-content p:last-child {
  margin-bottom: 0;
}

.about-section__background-text {
  position: absolute;
  /* Позиционирование относительно .container, если он position: relative,
     или относительно .about-section, если .container не имеет position: relative */
  bottom: -136px;
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(1rem, 10vw, 10rem);
  /* Адаптивный огромный размер */
  font-weight: 900;
  /* Очень жирный */
  color: rgba(0, 0, 0, 0.05);
  /* Очень светлый серый, почти прозрачный */
  text-transform: uppercase;
  white-space: nowrap;
  /* Чтобы текст не переносился */
  z-index: 1;
  /* Позади основного контента, но выше фона секции */
  pointer-events: none;
  /* Чтобы не мешал выделению текста и кликам */
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  /* Чтобы нельзя было выделить */
  line-height: 1;
  /* Для более плотного расположения, если текст перенесется */
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .about-section {
    padding: 60px 0;
    padding-bottom: 150px;
  }
  .about-section__main-title {
    font-size: 28px;
    margin-bottom: 40px;
  }
  .about-section__subtitle {
    font-size: 24px;
  }
  .about-section__background-text {
    /* font-size: 10vw; уже управляется clamp() */
  }
}
@media (max-width: 767.98px) {
  .about-section {
    padding: 40px 0;
    padding-bottom: 150px;
  }
  .about-section__main-title {
    font-size: 24px;
    margin-bottom: 30px;
  }
  .about-section__subtitle-wrapper {
    margin-bottom: 30px;
  }
  .about-section__subtitle {
    font-size: 22px;
    padding-bottom: 8px;
  }
  .about-section__subtitle::after {
    width: 50px;
    height: 2px;
  }
  .about-section__text-content {
    font-size: 15px;
  }
  .about-section__background-text {
    /* Можно сделать еще прозрачнее или чуть меньше, если мешает на маленьких экранах */
    /* color: rgba(0, 0, 0, 0.03); */
    /* font-size: 12vw; уже управляется clamp() */
  }
}
@media (max-width: 480px) {
  .about-section__main-title {
    font-size: 20px;
  }
  .about-section__subtitle {
    font-size: 18px;
  }
  .about-section__background-text {
    /* На совсем маленьких экранах можно сделать его менее заметным или меньше */
    /* font-size: 15vw; уже управляется clamp() */
    bottom: -87px;
    /* Ближе к тексту или даже немного заходить на него */
  }
}
.offers-section {
  /* Можно добавить отступы для всей секции, если нужно */
  /* padding: 80px 0; */
  /* Фон секции, если он отличается от фона body */
  /* background-color: #f0f0f0; */
}

.offers-grid {
  display: grid;
  /* 3 колонки на десктопе, 2 на планшете, 1 на мобильном */
  grid-template-columns: repeat(3, 1fr);
  /* Отступы между карточками (если нужны, на картинке их нет) */
  /* gap: 1px; */
  /* Если нужен 1px разделитель, можно сделать через border у карточек */
}

.offer-card {
  position: relative;
  display: block;
  /* Так как это ссылка <a> */
  overflow: hidden;
  /* Чтобы оверлей не выходил за пределы */
  aspect-ratio: 16/9;
  /* Примерное соотношение сторон, подберите под ваши изображения. Или задайте фиксированную высоту. */
  /* min-height: 300px; */
  /* Альтернатива aspect-ratio, если нужна фиксированная высота */
  background-color: #222;
  /* Фоллбек, если изображение не загрузится */
}

.offer-card__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  /* Изображение будет покрывать всю карточку, обрезаясь при необходимости */
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* Плавный зум для изображения */
}

.offer-card__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(204, 0, 0, 0.85);
  /* Ярко-красный с прозрачностью */
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* Центрирование контента по вертикали */
  align-items: center;
  /* Центрирование контента по горизонтали */
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  /* Небольшой сдвиг для эффекта появления снизу */
  transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease;
}

.offer-card:hover .offer-card__overlay {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.offer-card:hover .offer-card__image {
  transform: scale(1.05);
  /* Легкий зум изображения при наведении */
}

.offer-card__category {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
  opacity: 0.8;
}

.offer-card__title {
  font-size: 20px;
  /* Размер может зависеть от длины текста */
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
}

/* Стили для специальной карточки "Pełna oferta" */
.offer-card--special .offer-card__overlay {
  /* Если фон для этой карточки должен быть сразу красным, без наведения */
  /* opacity: 1; */
  /* visibility: visible; */
  /* transform: translateY(0); */
  /* background-color: #cc0000; /* Более плотный красный, если нужно */
}

/* Пример CSS "розетки" для последней карточки */
.offer-card__rosette {
  width: 70px;
  /* Размер розетки */
  height: 70px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.15);
  /* Полупрозрачный белый круг */
  position: relative;
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Ленточки для розетки (упрощенный вариант) */
.offer-card__rosette::before,
.offer-card__rosette::after {
  content: "";
  position: absolute;
  background-color: rgba(255, 255, 255, 0.2);
  /* Цвет ленточек */
  width: 15px;
  /* Ширина ленточки */
  height: 35px;
  /* Длина ленточки */
  z-index: -1;
  /* Позади основного круга */
}

.offer-card__rosette::before {
  bottom: -10px;
  left: 20px;
  transform: rotate(-30deg) skewX(20deg);
}

.offer-card__rosette::after {
  bottom: -10px;
  right: 20px;
  transform: rotate(30deg) skewX(-20deg);
}

/* Если у вас есть SVG иконка розетки, это будет намного лучше: */
/*
.offer-card__rosette {
    width: 80px;
    height: 80px;
    background-image: url('path/to/rosette-icon.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-bottom: 15px;
}
*/
/* Адаптивность для сетки */
@media (max-width: 991.98px) {
  /* Планшеты */
  .offers-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .offer-card__title {
    font-size: 18px;
  }
}
@media (max-width: 767.98px) {
  /* Мобильные */
  .offers-grid {
    grid-template-columns: 1fr;
    /* Одна колонка */
  }
  .offer-card {
    aspect-ratio: 4/3;
    /* Можно сделать менее вытянутыми на мобильных */
    /* min-height: 250px; */
  }
  .offer-card__title {
    font-size: 18px;
    /* Оставляем или немного уменьшаем */
  }
}
/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
.cta-section {
  background-color: #cc0000;
  /* Ярко-красный фон */
  padding: 60px 0;
  /* Отступы сверху и снизу */
  text-align: center;
  /* Центрируем контент */
}

/* Если контейнер не используется для ограничения ширины, можно убрать .cta-section__container */
.cta-section__container {
  /* Дополнительные стили для контейнера внутри этой секции, если нужны */
}

.cta-section__title {
  color: #ffffff;
  /* Белый цвет текста */
  font-size: 24px;
  /* Размер шрифта, можно настроить */
  font-weight: 600;
  /* Полужирный */
  margin-top: 0;
  margin-bottom: 30px;
  /* Отступ до кнопки */
}

.cta-section__button {
  display: inline-block;
  /* Чтобы можно было задать padding и margin */
  background-color: #ffffff;
  /* Белый фон кнопки */
  color: #333333;
  /* Темный цвет текста на кнопке */
  font-size: 14px;
  /* Размер шрифта на кнопке */
  font-weight: 700;
  /* Жирный текст */
  text-transform: uppercase;
  /* Текст в верхнем регистре */
  padding: 12px 30px;
  /* Внутренние отступы кнопки (вертикальные и горизонтальные) */
  border-radius: 25px;
  /* Сильно скругленные углы, чтобы кнопка была овальной */
  text-decoration: none;
  /* Убираем подчеркивание у ссылки */
  border: 2px solid #ffffff;
  /* Белая рамка, на случай если захочется другой фон при наведении */
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
}

.cta-section__button:hover {
  background-color: #f0f0f0;
  /* Чуть темнее белый при наведении */
  color: #222222;
  /* Можно немного изменить цвет текста при наведении */
  /* transform: scale(1.03); /* Легкое увеличение при наведении */
}

.cta-section__button:active {
  transform: scale(0.98);
  /* Небольшое уменьшение при нажатии */
}

/* Адаптивность */
@media (max-width: 767.98px) {
  .cta-section {
    padding: 40px 15px;
    /* Уменьшаем отступы и добавляем боковые, если нет .container */
  }
  .cta-section__title {
    font-size: 20px;
    margin-bottom: 25px;
  }
  .cta-section__button {
    font-size: 13px;
    padding: 10px 25px;
  }
}
@media (max-width: 480px) {
  .cta-section__title {
    font-size: 18px;
  }
}
.photo-gallery {
  /* Можно добавить общий padding для секции, если нужно */
  /* padding: 20px 0; */
}

.photo-gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /* 4 колонки для десктопа */
  gap: 0;
  /* Без отступов между изображениями для плотного прилегания */
}

.photo-gallery__image {
  width: 100%;
  /* Используем aspect-ratio для сохранения пропорций и одинаковой высоты в ряду */
  /* Подберите соотношение сторон под ваши изображения (например, 16/9, 4/3, 16/10) */
  aspect-ratio: 16/10;
  -o-object-fit: cover;
     object-fit: cover;
  /* Изображение будет покрывать ячейку, обрезаясь при необходимости */
  display: block;
  /* Убирает лишний отступ под тегом img */
  cursor: pointer;
  background-color: #f0f0f0;
  /* Фоллбек-цвет на время загрузки изображения */
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.photo-gallery__image:hover {
  transform: scale(1.03);
  /* Небольшое увеличение при наведении */
  z-index: 10;
  /* Чтобы увеличенное изображение было поверх соседних */
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}

/* Лайтбокс */
.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  /* Затемняющий фон */
  z-index: 1000;
  display: flex;
  /* Для центрирования и расположения элементов */
  justify-content: center;
  align-items: center;
  padding: 20px;
  /* Отступы от краев экрана */
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

.lightbox--open {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.lightbox__image-container {
  position: relative;
  /* Для позиционирования счетчика */
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 95%;
  /* Максимальная ширина изображения */
  max-height: 95%;
  /* Максимальная высота изображения */
}

.lightbox__img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  /* Изображение полностью помещается без обрезки */
  border-radius: 4px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.5);
  transition: opacity 0.3s ease-in-out;
  /* Плавная смена изображения */
}

.lightbox__close,
.lightbox__nav {
  position: absolute;
  background-color: rgba(30, 30, 30, 0.7);
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.2s ease;
  z-index: 1001;
  /* Поверх изображения */
}

.lightbox__close:hover,
.lightbox__nav:hover {
  background-color: rgba(0, 0, 0, 0.9);
}

.lightbox__close {
  top: 15px;
  right: 15px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 28px;
  line-height: 1;
}

.lightbox__nav {
  top: 50%;
  transform: translateY(-50%);
  width: 45px;
  height: 60px;
  border-radius: 4px;
}

.lightbox__prev {
  left: 15px;
}

.lightbox__next {
  right: 15px;
}

.lightbox__counter {
  position: absolute;
  bottom: -30px;
  /* Или top: -30px; */
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 5px 10px;
  border-radius: 3px;
  font-size: 14px;
  z-index: 1001;
}

/* Адаптивность для сетки галереи */
@media (max-width: 1024px) {
  /* Планшеты */
  .photo-gallery__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  /* Большие мобильные */
  .photo-gallery__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .photo-gallery__image {
    aspect-ratio: 4/3;
    /* Можно изменить пропорции для мобильных */
  }
  .lightbox__nav {
    width: 40px;
    height: 50px;
    font-size: 20px;
  }
  .lightbox__close {
    width: 35px;
    height: 35px;
    font-size: 24px;
  }
}
@media (max-width: 480px) {
  /* Маленькие мобильные */
  .photo-gallery__grid {
    grid-template-columns: 1fr;
    /* Одна колонка */
  }
  .photo-gallery__image {
    aspect-ratio: 16/10;
    /* Можно вернуть исходные или другие */
  }
  .lightbox {
    padding: 10px;
  }
  .lightbox__nav {
    /* Можно уменьшить или сделать полупрозрачными, если мешают на маленьком экране */
    background-color: rgba(30, 30, 30, 0.5);
  }
  .lightbox__prev {
    left: 5px;
  }
  .lightbox__next {
    right: 5px;
  }
}
/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
.trust-section {
  padding: 60px 0;
  /* Отступы секции */
  background-color: #fff;
  /* Белый фон, если отличается от body */
}

.trust-section__title-wrapper {
  text-align: center;
  margin-bottom: 50px;
}

.trust-section__title {
  display: inline-block;
  position: relative;
  font-size: 28px;
  font-weight: 600;
  color: #333;
  margin: 0;
  padding-bottom: 10px;
  /* Отступ для линии */
}

.trust-section__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  /* Ширина красной линии */
  height: 3px;
  /* Толщина красной линии */
  background-color: #d9534f;
  /* Красный цвет */
}

.trust-section__badges {
  display: flex;
  justify-content: center;
  /* Центрируем бейджи */
  align-items: center;
  /* Выравниваем по центру вертикально */
  flex-wrap: wrap;
  /* Позволяем переноситься на новую строку */
  gap: 40px;
  /* Отступы между бейджами */
}

.trust-section__badge-item {
  /* Размеры можно задать здесь или оставить на усмотрение изображения, если они одинаковые */
  /* max-width: 150px; */
  /* Пример ограничения ширины, если изображения разного размера */
}

.trust-section__badge-item img {
  display: block;
  max-width: 100%;
  /* Чтобы изображение не выходило за пределы родителя */
  height: auto;
  /* Сохраняем пропорции */
  /* Можно добавить небольшой эффект при наведении, если это уместно */
  /* transition: transform 0.2s ease-in-out; */
}

/*
.trust-section__badge-item img:hover {
    transform: scale(1.05);
}
*/
/* Адаптивность */
@media (max-width: 991.98px) {
  .trust-section {
    padding: 50px 0;
  }
  .trust-section__title {
    font-size: 26px;
  }
  .trust-section__title-wrapper {
    margin-bottom: 40px;
  }
  .trust-section__badges {
    gap: 30px;
  }
}
@media (max-width: 767.98px) {
  .trust-section {
    padding: 40px 0;
  }
  .trust-section__title {
    font-size: 22px;
  }
  .trust-section__title-wrapper {
    margin-bottom: 30px;
  }
  .trust-section__badges {
    gap: 20px;
    /* Уменьшаем отступы */
    /* Можно расположить по 2 в ряд, если нужно */
    /* justify-content: space-around; */
  }
  .trust-section__badge-item {
    /* Если нужно, чтобы на мобильных было по 2 в ряд */
    /* flex-basis: calc(50% - 10px); */
    /* text-align: center; */
    /* Для центрирования img, если flex-basis задан */
    max-width: 120px;
    /* Уменьшаем максимальную ширину для мобильных */
  }
}
@media (max-width: 480px) {
  .trust-section__title {
    font-size: 20px;
  }
  .trust-section__badges {
    /* На совсем маленьких экранах можно сделать по одному в ряд или по два */
    /* justify-content: center; */
    gap: 25px;
  }
  .trust-section__badge-item {
    /* flex-basis: calc(50% - 13px); */
    /* если 2 в ряд */
    flex-basis: 100%;
    /* если 1 в ряд */
    display: flex;
    /* для центрирования картинки если она меньше flex-basis */
    justify-content: center;
    max-width: 100px;
    /* или еще меньше */
  }
}
/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
.request-cta-section {
  background-color: #cc0000;
  /* Ярко-красный фон */
  padding: 50px 0;
  /* Отступы сверху и снизу, можно немного меньше, чем у предыдущего CTA */
  text-align: center;
  /* Центрируем контент */
}

/* Если контейнер не используется для ограничения ширины, можно убрать .request-cta-section__container */
.request-cta-section__container {
  /* Дополнительные стили для контейнера внутри этой секции, если нужны */
}

.request-cta-section__title {
  color: #ffffff;
  /* Белый цвет текста */
  font-size: 26px;
  /* Размер шрифта, можно настроить */
  font-weight: 700;
  /* Жирный */
  margin-top: 0;
  margin-bottom: 25px;
  /* Отступ до кнопки */
}

.request-cta-section__button {
  display: inline-block;
  /* Чтобы можно было задать padding и margin */
  background-color: #ffffff;
  /* Белый фон кнопки */
  color: #2c3e50;
  /* Темно-синий/серый цвет текста на кнопке */
  font-size: 13px;
  /* Размер шрифта на кнопке, чуть меньше */
  font-weight: 600;
  /* Полужирный текст */
  text-transform: uppercase;
  /* Текст в верхнем регистре */
  padding: 12px 28px;
  /* Внутренние отступы кнопки (вертикальные и горизонтальные) */
  border-radius: 25px;
  /* Сильно скругленные углы, чтобы кнопка была овальной */
  text-decoration: none;
  /* Убираем подчеркивание у ссылки */
  border: 1px solid #ffffff;
  /* Белая рамка, чтобы была видна на белом фоне при :active */
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
  letter-spacing: 0.5px;
  /* Небольшой letter-spacing для текста кнопки */
}

.request-cta-section__button:hover {
  background-color: #f0f0f0;
  /* Чуть темнее белый при наведении */
  color: #1a2530;
}

.request-cta-section__button:active {
  transform: scale(0.98);
  /* Небольшое уменьшение при нажатии */
  background-color: #e9e9e9;
}

/* Адаптивность */
@media (max-width: 767.98px) {
  .request-cta-section {
    padding: 40px 15px;
  }
  .request-cta-section__title {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .request-cta-section__button {
    font-size: 12px;
    padding: 10px 22px;
  }
}
@media (max-width: 480px) {
  .request-cta-section__title {
    font-size: 20px;
  }
  .request-cta-section__button {
    font-size: 11px;
    padding: 9px 20px;
  }
}
/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
.clients-section {
  padding: 80px 0;
  background-color: #fff;
  /* Явный белый фон */
}

.clients-section__title-wrapper {
  text-align: center;
  margin-bottom: 30px;
  /* Уменьшил отступ до описания */
}

.clients-section__title {
  display: inline-block;
  position: relative;
  font-size: 28px;
  font-weight: 700;
  /* Более жирный, как на картинке */
  color: #333;
  margin: 0;
  padding-bottom: 10px;
}

.clients-section__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 3px;
  background-color: #d9534f;
}

.clients-section__description {
  font-size: 16px;
  line-height: 1.7;
  color: #555;
  max-width: 800px;
  margin: 0 auto 50px auto;
  /* Центрирование и отступ снизу */
  text-align: center;
}

.clients-section__logos-grid {
  display: grid;
  /* По умолчанию 7 колонок, если позволяет ширина */
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 30px 20px;
  /* Вертикальный и горизонтальный отступы */
  align-items: center;
  /* Выравнивание элементов по центру вертикально в строке */
  margin-bottom: 60px;
}

.clients-section__logo-item {
  display: flex;
  justify-content: center;
  align-items: center;
  /* Высота ячейки, чтобы логотипы не "прыгали", если они разной высоты */
  /* min-height: 60px;  Можно задать, если логотипы сильно разные по высоте */
}

.clients-section__logo-item img {
  display: block;
  max-width: 100%;
  /* Максимальная ширина лого = ширина ячейки */
  max-height: 50px;
  /* Ограничение по высоте для единообразия */
  -o-object-fit: contain;
     object-fit: contain;
  /* Чтобы логотип полностью помещался без искажений */
  filter: grayscale(100%);
  opacity: 0.65;
  /* Немного темнее, чем 0.6 */
  /* Убрал transition, т.к. на скриншоте нет hover-эффекта на цвет */
}

.clients-section__button-wrapper {
  text-align: center;
}

.clients-section__button {
  display: inline-block;
  background-color: #cc0000;
  /* Ярко-красный */
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 14px 35px;
  border-radius: 30px;
  /* Сильно скругленные углы */
  text-decoration: none;
  border: none;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.clients-section__button:hover {
  background-color: #a30000;
  /* Темнее красный при наведении */
  transform: translateY(-2px);
  /* Легкий подъем */
}

.clients-section__button:active {
  background-color: #8f0000;
  transform: translateY(0);
}

/* Адаптивность */
@media (max-width: 1200px) {
  /* Если контейнер 1140px, то эта точка может быть 1199.98px */
  .clients-section__logos-grid {
    /* Для меньших экранов можно уменьшить число колонок, 
        но auto-fit с minmax должен справиться. 
        Если нет, можно явно указать:
        grid-template-columns: repeat(5, 1fr);
     */
  }
}
@media (max-width: 991.98px) {
  .clients-section {
    padding: 60px 0;
  }
  .clients-section__title {
    font-size: 26px;
  }
  .clients-section__description {
    margin-bottom: 40px;
    font-size: 15px;
  }
  .clients-section__logos-grid {
    /* grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); */
    gap: 25px 15px;
    margin-bottom: 50px;
  }
  .clients-section__logo-item img {
    max-height: 45px;
  }
}
@media (max-width: 767.98px) {
  .clients-section {
    padding: 40px 0;
  }
  .clients-section__title {
    font-size: 22px;
  }
  .clients-section__description {
    margin-bottom: 30px;
    padding: 0 10px;
    /* Чтобы текст не прилипал к краям на узких экранах */
  }
  .clients-section__logos-grid {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    /* Или, например, явно 3-4 колонки: grid-template-columns: repeat(3, 1fr); */
    gap: 20px 10px;
    margin-bottom: 40px;
  }
  .clients-section__logo-item img {
    max-height: 40px;
  }
  .clients-section__button {
    font-size: 14px;
    padding: 12px 30px;
  }
}
@media (max-width: 480px) {
  .clients-section__title {
    font-size: 20px;
  }
  .clients-section__logos-grid {
    /* 2-3 колонки на самых маленьких экранах */
    grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
    /* grid-template-columns: repeat(2, 1fr); */
    gap: 20px 10px;
  }
  .clients-section__logo-item img {
    max-height: 35px;
    /* Еще меньше, чтобы умещались */
  }
}
/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
.contact-info-section {
  padding: 80px 0;
  background-color: #fff;
}

.contact-info-section__title-wrapper {
  text-align: center;
  margin-bottom: 30px;
}

.contact-info-section__title {
  display: inline-block;
  position: relative;
  font-size: 30px;
  /* Немного крупнее */
  font-weight: 700;
  color: #333;
  margin: 0;
  padding-bottom: 12px;
  /* Чуть больше отступ для линии */
}

.contact-info-section__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #d9534f;
}

.contact-info-section__description {
  font-size: 17px;
  /* Немного крупнее текст описания */
  line-height: 1.7;
  color: #5a6a78;
  /* Серо-голубоватый цвет текста */
  max-width: 700px;
  margin: 0 auto 60px auto;
  text-align: center;
}

.contact-info-section__details-wrapper {
  display: flex;
  justify-content: center;
  /* Центрируем, если блоков меньше, чем доступное место */
  align-items: flex-start;
  /* Выравнивание по верху */
  flex-wrap: wrap;
  gap: 40px;
  /* Отступ между блоками контактов */
}

.contact-info-section__detail-item {
  display: flex;
  flex-direction: column;
  /* Иконка над текстом */
  align-items: center;
  text-align: center;
  flex-basis: 280px;
  /* Примерная ширина каждого блока контакта */
  max-width: 100%;
}

.contact-info-section__icon {
  margin-bottom: 20px;
  color: #5f727f;
  /* Цвет иконок */
}

.contact-info-section__icon svg {
  display: block;
  /* Убирает лишний отступ под svg */
  width: 48px;
  /* Убедимся, что размер соответствует заданному в HTML */
  height: 48px;
}

.contact-info-section__text {
  font-size: 18px;
  line-height: 1.6;
  color: #333;
  font-weight: 500;
}

.contact-info-section__text a {
  display: block;
  /* Каждый номер телефона и email с новой строки */
  color: inherit;
  /* Наследуем цвет от родителя */
  text-decoration: none;
  margin-bottom: 5px;
  transition: color 0.2s ease-in-out;
}

.contact-info-section__text a:last-child {
  margin-bottom: 0;
}

.contact-info-section__text a:hover {
  color: #d9534f;
  /* Красный при наведении для всех ссылок */
}

.contact-info-section__email-link {
  color: #d9534f !important;
  /* Явный красный цвет для email */
  font-weight: 600;
}

.contact-info-section__email-link:hover {
  color: #a30000 !important;
  /* Темнее красный при наведении на email */
}

/* Адаптивность */
@media (max-width: 767.98px) {
  .contact-info-section {
    padding: 60px 0;
  }
  .contact-info-section__title {
    font-size: 26px;
  }
  .contact-info-section__description {
    font-size: 16px;
    margin-bottom: 40px;
  }
  .contact-info-section__details-wrapper {
    flex-direction: column;
    /* Блоки контактов друг под другом */
    align-items: center;
    /* Центрируем их */
    gap: 30px;
  }
  .contact-info-section__detail-item {
    flex-basis: auto;
    /* Сбрасываем basis, т.к. они в колонку */
    width: 100%;
    max-width: 300px;
    /* Ограничиваем ширину, чтобы не растягивались на всю */
  }
  .contact-info-section__text {
    font-size: 17px;
  }
}
@media (max-width: 480px) {
  .contact-info-section__title {
    font-size: 22px;
  }
  .contact-info-section__description {
    font-size: 15px;
  }
}
.service-detail-page {
  padding: 40px 0 80px;
  /* Отступы сверху/снизу для всей секции */
  position: relative;
  /* Для возможного фона или оверлея */
}

/* Если фон должен быть только за контентной частью страницы */
.service-detail-page__background-image-wrapper {
  position: fixed;
  /* Или absolute, если page-wrapper имеет position: relative */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/main/65.jpg");
  /* ЗАМЕНИТЕ НА ВАШ ФОН */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  /* Базовый эффект параллакса */
  z-index: -1;
  /* Позади всего контента */
  opacity: 0.1;
  /* Сделать фон очень бледным */
}

.service-detail-page__container {
  /* Дополнительные стили для контейнера на этой странице, если нужны */
  position: relative;
  /* Чтобы контент был выше фона */
  z-index: 1;
  padding-top: 100px;
}

.service-detail-page__title-wrapper {
  text-align: center;
  margin-bottom: 50px;
}

.service-detail-page__main-title {
  display: inline-block;
  position: relative;
  font-size: 32px;
  font-weight: 700;
  color: #333;
  margin: 0;
  padding-bottom: 12px;
}

.service-detail-page__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #d9534f;
}

.service-detail-page__content-layout {
  display: flex;
  gap: 40px;
  /* Отступ между колонками */
  margin-bottom: 60px;
}

.service-detail-page__image-column {
  flex: 0 0 300px;
  /* Фиксированная ширина левой колонки, не будет расти, не будет сжиматься */
  display: flex;
  flex-direction: column;
  gap: 15px;
  /* Отступ между изображениями */
}

.service-detail-page__image {
  width: 100%;
  height: auto;
  display: block;
  border: 3px solid #fff;
  /* Белая рамка, как на скриншоте */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background-color: #e0e0e0;
  /* Фоллбек для изображений */
}

.service-detail-page__text-column {
  flex: 1 1 auto;
  /* Займет оставшееся место, может расти и сжиматься */
  font-size: 15px;
  line-height: 1.7;
  color: #444;
}

.service-detail-page__text-column p {
  margin-top: 0;
  margin-bottom: 1.2em;
}

.service-detail-page__text-column p:last-child {
  margin-bottom: 0;
}

.service-detail-page__highlight {
  color: #333;
  /* По умолчанию */
}

.service-detail-page__highlight--red {
  color: #cc0000;
}

.service-detail-page__highlight--bold {
  font-weight: 700;
}

.service-detail-page__highlight--uppercase {
  text-transform: uppercase;
}

.service-detail-page__list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 1.2em;
}

.service-detail-page__list li {
  padding-left: 20px;
  position: relative;
  margin-bottom: 0.5em;
}

.service-detail-page__list li::before {
  content: "–";
  /* Тире как маркер списка */
  position: absolute;
  left: 0;
  top: 0;
  color: #555;
  font-weight: bold;
}

.service-detail-page__buttons-wrapper {
  text-align: center;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
}

.service-detail-page__button {
  display: inline-block;
  background-color: #cc0000;
  /* Ярко-красный */
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 10px 25px;
  border-radius: 20px;
  /* Скругленные углы */
  text-decoration: none;
  border: none;
  transition: background-color 0.3s ease, transform 0.2s ease;
  letter-spacing: 0.5px;
}

.service-detail-page__button:hover {
  background-color: #a30000;
  transform: translateY(-2px);
}

.service-detail-page__button:active {
  background-color: #8f0000;
  transform: translateY(0);
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .service-detail-page__main-title {
    font-size: 28px;
  }
  .service-detail-page__content-layout {
    flex-direction: column;
    /* Колонки одна под другой */
    gap: 30px;
  }
  .service-detail-page__image-column {
    flex: 0 0 auto;
    /* Сбрасываем flex-basis, чтобы ширина была по контенту */
    flex-direction: row;
    /* Изображения в ряд, если помещаются */
    flex-wrap: wrap;
    /* Позволяем переноситься */
    justify-content: center;
    /* Центрируем изображения в ряду */
    gap: 10px;
  }
  .service-detail-page__image {
    width: calc(50% - 5px);
    /* По 2 изображения в ряд (учитываем gap) */
    max-width: 200px;
    /* Ограничение максимальной ширины на планшете */
  }
  .service-detail-page__text-column {
    font-size: 14px;
  }
}
@media (max-width: 767.98px) {
  .service-detail-page {
    padding: 30px 0 60px;
  }
  .service-detail-page__main-title {
    font-size: 24px;
  }
  .service-detail-page__image-column {
    /* Оставляем в ряд или перестраиваем в колонку, если нужно */
  }
  .service-detail-page__image {
    /* Можно сделать по одному в ряд: */
    /* width: 80%; */
    /* max-width: 250px; */
  }
}
@media (max-width: 480px) {
  .service-detail-page__image {
    width: calc(100% - 5px);
    /* Изображения по одному в колонке на маленьких экранах */
    max-width: none;
    /* Снимаем ограничение, чтобы занимали доступную ширину */
  }
  .service-detail-page__button {
    font-size: 11px;
    padding: 8px 20px;
    width: calc(100% - 10px);
    /* Кнопки на всю ширину с небольшими отступами */
    box-sizing: border-box;
  }
}
/* --- Общие стили для страницы (если нужны) --- */
.page-wrapper {
  /* Стили для фона, если он общий для всей страницы */
}

/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
/* --- Стили для страницы столов --- */
.game-tables-page {
  padding: 40px 0 80px;
  position: relative;
}

.game-tables-page__background-image-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/main/65.jpg");
  /* ЗАМЕНИТЕ НА ВАШ ФОН */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: -1;
  opacity: 0.1;
}

.game-tables-page__container {
  position: relative;
  z-index: 1;
}

.game-tables-page__title-wrapper {
  text-align: center;
  margin-bottom: 50px;
}

.game-tables-page__main-title {
  display: inline-block;
  position: relative;
  font-size: 32px;
  font-weight: 700;
  color: #2c3e50;
  /* Темно-синий/серый */
  margin: 0;
  padding-bottom: 12px;
}

.game-tables-page__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #d9534f;
}

.game-tables-list {
  display: flex;
  flex-direction: column;
  gap: 50px;
  /* Отступ между элементами списка столов */
}

.game-table-item {
  display: flex;
  gap: 30px;
  /* Отступ между изображением и контентом */
  background-color: rgba(255, 255, 255, 0);
  /* Прозрачный фон для элементов, если фон страницы просвечивает */
  /* padding: 20px; */
  /* Можно добавить внутренние отступы, если нужно */
  /* border-radius: 5px; */
  /* Можно скруглить углы */
  /* box-shadow: 0 4px 15px rgba(0,0,0,0.05); */
  /* Легкая тень, если нужно выделить */
}

.game-table-item__image-wrapper {
  flex: 0 0 320px;
  /* Фиксированная ширина для блока с изображением */
  margin: 0;
  /* Сбрасываем стандартный margin у figure */
  overflow: hidden;
  /* Чтобы изображение не выходило за рамки, если оно больше */
  /* border-radius: 4px; */
  /* Если нужно скруглить углы изображения */
}

.game-table-item__image {
  width: 100%;
  height: auto;
  display: block;
  border: 3px solid #fff;
  /* Белая рамка, как на скриншоте */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background-color: #e0e0e0;
  /* Фоллбек для изображений */
}

.game-table-item__content {
  flex: 1 1 auto;
  /* Занимает оставшееся пространство */
  color: #333;
  /* Основной цвет текста */
}

.game-table-item__title {
  font-size: 22px;
  font-weight: 600;
  color: #2c3e50;
  margin-top: 0;
  margin-bottom: 10px;
}

.game-table-item__description {
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 20px;
}

.game-table-item__specs-title {
  font-size: 16px;
  font-weight: 700;
  /* Жирный */
  color: #333;
  margin-top: 0;
  margin-bottom: 8px;
}

.game-table-item__specs-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #444;
}

.game-table-item__specs-list li {
  margin-bottom: 4px;
  padding-left: 15px;
  /* Отступ для тире */
  position: relative;
}

.game-table-item__specs-list li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
  color: #666;
}

.game-table-item__specs-highlight {
  color: #cc0000;
  /* Красный цвет для выделенных характеристик */
  font-weight: 600;
  /* Можно сделать жирнее */
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .game-tables-page__main-title {
    font-size: 28px;
  }
  .game-table-item {
    gap: 20px;
  }
  .game-table-item__image-wrapper {
    flex-basis: 250px;
    /* Уменьшаем ширину блока с изображением */
  }
  .game-table-item__title {
    font-size: 20px;
  }
}
@media (max-width: 767.98px) {
  .game-tables-page {
    padding: 30px 0 60px;
  }
  .game-tables-page__main-title {
    font-size: 24px;
  }
  .game-table-item {
    flex-direction: column;
    /* Изображение над контентом */
    align-items: center;
    /* Центрируем изображение, если оно меньше ширины */
    text-align: center;
    /* Центрируем текст под изображением */
  }
  .game-table-item__image-wrapper {
    flex-basis: auto;
    /* Сбрасываем basis */
    width: 100%;
    max-width: 400px;
    /* Ограничиваем максимальную ширину изображения */
    margin-bottom: 20px;
  }
  .game-table-item__content {
    width: 100%;
    /* Контент занимает всю ширину */
  }
  .game-table-item__specs-list li {
    text-align: left;
    /* Возвращаем выравнивание для списка, если нужно */
    padding-left: 20px;
    /* Больший отступ для тире */
  }
  .game-table-item__specs-list li::before {
    left: 5px;
    /* Корректируем позицию тире */
  }
}
@media (max-width: 480px) {
  .game-table-item__title {
    font-size: 18px;
  }
  .game-table-item__description,
  .game-table-item__specs-list {
    font-size: 13px;
  }
}
/* --- Общие стили для страницы (если нужны) --- */
.page-wrapper {
  /* Стили для фона, если он общий для всей страницы */
}

/* Container - предполагается, что он у вас уже есть */
/* --- Стили для страницы декораций --- */
.decorations-page {
  padding: 40px 0 80px;
  position: relative;
}

.decorations-page__background-image-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/main/65.jpg");
  /* ЗАМЕНИТЕ НА ВАШ ФОН */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: -1;
  opacity: 0.1;
}

.decorations-page__container {
  position: relative;
  z-index: 1;
}

.decorations-page__title-wrapper {
  text-align: center;
  margin-bottom: 50px;
}

.decorations-page__main-title {
  display: inline-block;
  position: relative;
  font-size: 32px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0;
  padding-bottom: 12px;
}

.decorations-page__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #d9534f;
}

.decorations-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  /* Отступ между элементами списка декораций */
}

.decoration-item {
  display: flex;
  gap: 30px;
}

/* Стиль для элемента без изображения, чтобы текст занимал всю ширину */
.decoration-item--no-image .decoration-item__content {
  flex-basis: 100%;
  /* Занимает всю ширину */
  max-width: 700px;
  /* Ограничиваем максимальную ширину для читаемости текста */
  margin: 0 auto;
  /* Центрируем, если контент уже */
}

/* Если изображение отсутствует, но место под него не нужно занимать */
.decoration-item--no-image .decoration-item__image-wrapper {
  display: none;
}

.decoration-item__image-wrapper {
  flex: 0 0 280px;
  /* Немного уже, чем на странице столов */
  margin: 0;
  overflow: hidden;
}

.decoration-item__image {
  width: 100%;
  height: auto;
  display: block;
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background-color: #e0e0e0;
}

.decoration-item__content {
  flex: 1 1 auto;
  color: #333;
}

.decoration-item__title {
  font-size: 16px;
  /* Заголовки разделов меньше основного заголовка страницы */
  font-weight: 700;
  color: #333;
  /* По умолчанию */
  margin-top: 0;
  margin-bottom: 15px;
  text-transform: uppercase;
}

.decoration-item__title--red {
  color: #cc0000;
  /* Красный цвет для заголовков */
}

.decoration-item__description {
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 15px;
}

.decoration-item__description:last-of-type {
  margin-bottom: 0;
  /* Убираем нижний отступ у последнего параграфа перед списком или в конце */
}

.decoration-item__content > .decoration-item__description:first-child {
  /* Если есть описание перед списком, но после заголовка */
}

.decoration-item__list {
  list-style: none;
  padding-left: 0;
  margin: 0 0 15px 0;
  /* Отступ снизу, если после списка идет еще текст */
  font-size: 14px;
  line-height: 1.6;
  color: #444;
}

.decoration-item__list:last-child {
  margin-bottom: 0;
}

.decoration-item__list li {
  margin-bottom: 5px;
  padding-left: 18px;
  position: relative;
}

.decoration-item__list li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
  color: #666;
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .decorations-page__main-title {
    font-size: 28px;
  }
  .decoration-item {
    gap: 20px;
  }
  .decoration-item__image-wrapper {
    flex-basis: 220px;
  }
  .decoration-item__title {
    font-size: 15px;
  }
}
@media (max-width: 767.98px) {
  .decorations-page {
    padding: 30px 0 60px;
  }
  .decorations-page__main-title {
    font-size: 24px;
  }
  .decoration-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .decoration-item--no-image .decoration-item__content {
    max-width: 100%;
    /* На мобильном текстовый блок может занимать всю ширину */
  }
  .decoration-item__image-wrapper {
    flex-basis: auto;
    width: 100%;
    max-width: 350px;
    margin-bottom: 20px;
  }
  .decoration-item__content {
    width: 100%;
  }
  .decoration-item__list li {
    text-align: left;
    padding-left: 20px;
  }
  .decoration-item__list li::before {
    left: 5px;
  }
}
@media (max-width: 480px) {
  .decoration-item__title {
    font-size: 14px;
  }
  .decoration-item__description,
  .decoration-item__list {
    font-size: 13px;
  }
}
/* --- Общие стили для страницы (если нужны) --- */
.page-wrapper {
  /* ... */
}

/* Container - предполагается, что он у вас уже есть */
/* --- Стили для страницы тематических декораций --- */
.themed-decorations-page {
  padding: 40px 0 80px;
  position: relative;
}

.themed-decorations-page__background-image-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/main/65.jpg");
  /* ЗАМЕНИТЕ НА ВАШ ФОН */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: -1;
  opacity: 0.1;
}

.themed-decorations-page__container {
  position: relative;
  z-index: 1;
}

.themed-decorations-page__title-wrapper {
  text-align: center;
  margin-bottom: 30px;
  /* Уменьшаем отступ до вводного текста */
}

.themed-decorations-page__main-title {
  display: inline-block;
  position: relative;
  font-size: 32px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0;
  padding-bottom: 12px;
}

.themed-decorations-page__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #d9534f;
}

.themed-decorations-page__intro-text {
  font-size: 15px;
  line-height: 1.6;
  color: #444;
  text-align: center;
  max-width: 700px;
  margin: 0 auto 50px auto;
  /* Отступ после вводного текста */
}

.themed-decorations-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.themed-decoration-item {
  display: flex;
  gap: 30px;
}

.themed-decoration-item__image-wrapper {
  flex: 0 0 280px;
  margin: 0;
  overflow: hidden;
}

.themed-decoration-item__image {
  width: 100%;
  height: auto;
  display: block;
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background-color: #e0e0e0;
}

.themed-decoration-item__content {
  flex: 1 1 auto;
  color: #333;
}

.themed-decoration-item__title {
  font-size: 18px;
  /* Заголовки тем декораций */
  font-weight: 700;
  color: #cc0000;
  /* Красный цвет для заголовков тем */
  margin-top: 0;
  margin-bottom: 15px;
  /* text-transform: uppercase; - на скриншоте не в верхнем регистре */
}

.themed-decoration-item__list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #444;
}

.themed-decoration-item__list li {
  margin-bottom: 6px;
  /* Чуть больше отступ между пунктами */
  padding-left: 18px;
  position: relative;
}

.themed-decoration-item__list li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
  color: #666;
}

/* Адаптивность (аналогична предыдущей странице "Декорации") */
@media (max-width: 991.98px) {
  .themed-decorations-page__main-title {
    font-size: 28px;
  }
  .themed-decoration-item {
    gap: 20px;
  }
  .themed-decoration-item__image-wrapper {
    flex-basis: 220px;
  }
  .themed-decoration-item__title {
    font-size: 17px;
  }
}
@media (max-width: 767.98px) {
  .themed-decorations-page {
    padding: 30px 0 60px;
  }
  .themed-decorations-page__main-title {
    font-size: 24px;
  }
  .themed-decorations-page__intro-text {
    font-size: 14px;
    margin-bottom: 40px;
  }
  .themed-decoration-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .themed-decoration-item__image-wrapper {
    flex-basis: auto;
    width: 100%;
    max-width: 350px;
    margin-bottom: 20px;
  }
  .themed-decoration-item__content {
    width: 100%;
  }
  .themed-decoration-item__list li {
    text-align: left;
    padding-left: 20px;
  }
  .themed-decoration-item__list li::before {
    left: 5px;
  }
}
@media (max-width: 480px) {
  .themed-decoration-item__title {
    font-size: 16px;
  }
  .themed-decoration-item__list {
    font-size: 13px;
  }
}
/* --- Общие стили для страницы (если нужны) --- */
.page-wrapper {
  /* ... */
}

/* Container - предполагается, что он у вас уже есть */
/* --- Стили для страницы Alternative Casino --- */
.alternative-casino-page {
  padding: 40px 0 80px;
  position: relative;
}

.alternative-casino-page__background-image-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/main/65.jpg");
  /* ЗАМЕНИТЕ НА ВАШ ФОН */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: -1;
  opacity: 0.1;
}

.alternative-casino-page__container {
  position: relative;
  z-index: 1;
}

.alternative-casino-page__title-wrapper {
  text-align: center;
  margin-bottom: 50px;
}

.alternative-casino-page__main-title {
  display: inline-block;
  position: relative;
  font-size: 32px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0;
  padding-bottom: 12px;
}

.alternative-casino-page__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #d9534f;
}

.alternative-casino-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.alternative-casino-item {
  display: flex;
  gap: 30px;
}

/* Стиль для элемента только с текстом */
.alternative-casino-item--text-only .alternative-casino-item__image-wrapper {
  display: none;
  /* Скрываем блок с изображением */
}

.alternative-casino-item--text-only .alternative-casino-item__content {
  flex-basis: 100%;
  /* Текст занимает всю ширину */
  max-width: 750px;
  /* Ограничиваем для читаемости */
  margin: 0 auto;
  /* Центрируем, если контент уже */
  padding-left: 15px;
  /* Небольшой отступ, если нет картинки слева */
  padding-right: 15px;
}

.alternative-casino-item__image-wrapper {
  flex: 0 0 300px;
  /* Ширина блока с изображением */
  margin: 0;
  overflow: hidden;
}

.alternative-casino-item__image {
  width: 100%;
  height: auto;
  display: block;
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background-color: #e0e0e0;
}

.alternative-casino-item__content {
  flex: 1 1 auto;
  color: #333;
}

.alternative-casino-item__title {
  font-size: 20px;
  font-weight: 700;
  color: #333;
  margin-top: 0;
  margin-bottom: 15px;
}

.alternative-casino-item__sub-title {
  /* Для "Istnieje możliwość rozbudowania dekoracji:" */
  font-size: 16px;
  font-weight: 700;
  color: #333;
  margin-top: 0;
  margin-bottom: 10px;
}

.alternative-casino-item__description {
  font-size: 14px;
  line-height: 1.6;
  color: #444;
  /* Чуть темнее, чем #555 на предыдущих */
  margin-bottom: 1em;
}

.alternative-casino-item__description:last-of-type {
  margin-bottom: 0;
}

.alternative-casino-item__list {
  list-style: none;
  padding-left: 0;
  margin: 0 0 1em 0;
  font-size: 14px;
  line-height: 1.6;
  color: #444;
}

.alternative-casino-item__list:last-of-type {
  /* Если список последний в блоке .content */
  margin-bottom: 0;
}

.alternative-casino-item__list li {
  margin-bottom: 6px;
  padding-left: 18px;
  position: relative;
}

.alternative-casino-item__list li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
  color: #666;
}

.alternative-casino-item__list--red-bullets li {
  color: #cc0000;
  /* Красный цвет текста для пунктов списка */
}

.alternative-casino-item__list--red-bullets li::before {
  color: #cc0000;
  /* Красный цвет для маркеров-тире */
}

.alternative-casino-item__additional-info {
  font-size: 14px;
  line-height: 1.6;
  color: #444;
  margin-bottom: 1em;
}

.alternative-casino-item__additional-info:last-of-type {
  margin-bottom: 0;
}

.alternative-casino-item__highlight-red {
  font-size: 14px;
  line-height: 1.6;
  color: #cc0000;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 1.5em;
  /* Отступ сверху для выделенного текста */
}

/* Адаптивность (аналогична предыдущим страницам) */
@media (max-width: 991.98px) {
  .alternative-casino-page__main-title {
    font-size: 28px;
  }
  .alternative-casino-item {
    gap: 20px;
  }
  .alternative-casino-item__image-wrapper {
    flex-basis: 240px;
  }
  .alternative-casino-item__title {
    font-size: 18px;
  }
  .alternative-casino-item--text-only .alternative-casino-item__content {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (max-width: 767.98px) {
  .alternative-casino-page {
    padding: 30px 0 60px;
  }
  .alternative-casino-page__main-title {
    font-size: 24px;
  }
  .alternative-casino-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .alternative-casino-item__image-wrapper {
    flex-basis: auto;
    width: 100%;
    max-width: 380px;
    margin-bottom: 20px;
  }
  .alternative-casino-item__content {
    width: 100%;
  }
  .alternative-casino-item__list li,
  .alternative-casino-item--text-only .alternative-casino-item__list li {
    /* Для центрированного блока тоже */
    text-align: left;
    padding-left: 20px;
  }
  .alternative-casino-item__list li::before,
  .alternative-casino-item--text-only .alternative-casino-item__list li::before {
    left: 5px;
  }
}
@media (max-width: 480px) {
  .alternative-casino-item__title {
    font-size: 17px;
  }
  .alternative-casino-item__sub-title {
    font-size: 15px;
  }
  .alternative-casino-item__description,
  .alternative-casino-item__list,
  .alternative-casino-item__additional-info,
  .alternative-casino-item__highlight-red {
    font-size: 13px;
  }
}
/* --- Общие стили для страницы (если нужны) --- */
.page-wrapper {
  /* ... */
}

/* Container - предполагается, что он у вас уже есть */
/* --- Стили для страницы Alternative QUIZ --- */
.alternative-quiz-page {
  padding: 40px 0 80px;
  position: relative;
}

.alternative-quiz-page__background-image-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/main/65.jpg");
  /* ЗАМЕНИТЕ НА ВАШ ФОН */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: -1;
  opacity: 0.1;
}

.alternative-quiz-page__container {
  position: relative;
  z-index: 1;
}

.alternative-quiz-page__title-wrapper {
  text-align: center;
  margin-bottom: 50px;
}

.alternative-quiz-page__main-title {
  display: inline-block;
  position: relative;
  font-size: 32px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0;
  padding-bottom: 12px;
}

.alternative-quiz-page__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #d9534f;
}

/* Единственный контентный блок на этой странице */
.alternative-quiz-content-item {
  display: flex;
  gap: 30px;
}

.alternative-quiz-content-item__image-wrapper {
  flex: 0 0 320px;
  /* Ширина блока с изображением, можно настроить */
  margin: 0;
  overflow: hidden;
}

.alternative-quiz-content-item__image {
  width: 100%;
  height: auto;
  /* Изображение более вытянутое по вертикали */
  -o-object-fit: cover;
     object-fit: cover;
  /* Чтобы покрывало контейнер, если пропорции не совпадают */
  display: block;
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background-color: #e0e0e0;
}

.alternative-quiz-content-item__text-content {
  flex: 1 1 auto;
  color: #333;
}

.alternative-quiz-content-item__title {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  margin-top: 0;
  margin-bottom: 15px;
}

.alternative-quiz-content-item__description {
  font-size: 14px;
  line-height: 1.6;
  color: #444;
  margin-bottom: 1em;
}

.alternative-quiz-content-item__description:last-of-type {
  /* Если это последний текстовый блок перед выделенным красным */
  margin-bottom: 1.5em;
  /* Добавляем больше отступа */
}

.alternative-quiz-content-item__list {
  list-style: none;
  padding-left: 0;
  margin: 0 0 1em 0;
  font-size: 14px;
  line-height: 1.6;
  color: #444;
}

.alternative-quiz-content-item__list li {
  margin-bottom: 6px;
  padding-left: 18px;
  position: relative;
  font-weight: 500;
  /* Пункты списка немного жирнее */
}

.alternative-quiz-content-item__list li::before {
  content: "-";
  /* Или кавычки, если нужно как на скриншоте (но кавычки сложнее выравнивать) */
  position: absolute;
  left: 0;
  top: 0;
  color: #666;
}

.alternative-quiz-content-item__highlight-red {
  font-size: 14px;
  line-height: 1.6;
  color: #cc0000;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 1.5em;
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .alternative-quiz-page__main-title {
    font-size: 28px;
  }
  .alternative-quiz-content-item {
    gap: 20px;
  }
  .alternative-quiz-content-item__image-wrapper {
    flex-basis: 260px;
  }
  .alternative-quiz-content-item__title {
    font-size: 17px;
  }
}
@media (max-width: 767.98px) {
  .alternative-quiz-page {
    padding: 30px 0 60px;
  }
  .alternative-quiz-page__main-title {
    font-size: 24px;
  }
  .alternative-quiz-content-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .alternative-quiz-content-item__image-wrapper {
    flex-basis: auto;
    width: 100%;
    max-width: 400px;
    margin-bottom: 20px;
  }
  .alternative-quiz-content-item__text-content {
    width: 100%;
  }
  .alternative-quiz-content-item__list li {
    text-align: left;
    padding-left: 20px;
  }
  .alternative-quiz-content-item__list li::before {
    left: 5px;
  }
}
@media (max-width: 480px) {
  .alternative-quiz-content-item__title {
    font-size: 16px;
  }
  .alternative-quiz-content-item__description,
  .alternative-quiz-content-item__list,
  .alternative-quiz-content-item__highlight-red {
    font-size: 13px;
  }
}
/* --- Общие стили для страницы (если нужны) --- */
.page-wrapper {
  /* ... */
}

/* Container - предполагается, что он у вас уже есть */
/* --- Стили для страницы Symulator Jazdy --- */
.simulator-page {
  padding: 40px 0 80px;
  position: relative;
}

.simulator-page__background-image-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/main/65.jpg");
  /* ЗАМЕНИТЕ НА ВАШ ФОН */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: -1;
  opacity: 0.1;
}

.simulator-page__container {
  position: relative;
  z-index: 1;
}

.simulator-page__title-wrapper {
  text-align: center;
  margin-bottom: 50px;
}

.simulator-page__main-title {
  display: inline-block;
  position: relative;
  font-size: 32px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0;
  padding-bottom: 12px;
}

.simulator-page__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #d9534f;
}

.simulator-content-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.simulator-content-item {
  display: flex;
  gap: 30px;
}

/* Стиль для элемента только с текстом (Dane Techniczne) */
.simulator-content-item--text-only .simulator-content-item__image-wrapper {
  display: none;
}

.simulator-content-item--text-only .simulator-content-item__text-content {
  flex-basis: 100%;
  max-width: 750px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  text-align: center;
  /* Центрируем текст "Dane Techniczne" */
}

.simulator-content-item--text-only .simulator-content-item__list {
  text-align: left;
  /* Возвращаем выравнивание для самого списка */
  display: inline-block;
  /* Чтобы список не растягивался на всю ширину, если текст короткий */
  margin-top: 10px;
  /* Отступ после подзаголовка */
}

.simulator-content-item__image-wrapper {
  flex: 0 0 320px;
  margin: 0;
  overflow: hidden;
}

.simulator-content-item__image {
  width: 100%;
  height: auto;
  display: block;
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background-color: #e0e0e0;
}

.simulator-content-item__text-content {
  flex: 1 1 auto;
  color: #333;
}

.simulator-content-item__sub-title {
  /* Для "DANE TECHNICZNE:" */
  font-size: 15px;
  /* Меньше чем заголовки разделов */
  font-weight: 700;
  color: #333;
  margin-top: 0;
  margin-bottom: 5px;
  /* Меньший отступ до списка */
  text-transform: uppercase;
}

.simulator-content-item__description {
  font-size: 14px;
  line-height: 1.6;
  color: #444;
  margin-bottom: 1em;
}

.simulator-content-item__description:first-child {
  /* Если нет h2, то первый параграф без отступа сверху */
  margin-top: 0;
}

.simulator-content-item__description:last-of-type {
  margin-bottom: 0;
}

.simulator-content-item__list {
  list-style: none;
  padding-left: 0;
  margin: 0 0 1em 0;
  font-size: 14px;
  line-height: 1.6;
  color: #444;
}

.simulator-content-item__list:last-of-type {
  margin-bottom: 0;
}

.simulator-content-item__list li {
  margin-bottom: 6px;
  padding-left: 18px;
  position: relative;
}

.simulator-content-item__list li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
  color: #666;
}

.simulator-content-item__list--bold-items li {
  font-weight: 700;
  /* Жирные пункты списка */
  color: #333;
  /* Можно сделать их чуть темнее */
}

.simulator-content-item__list--bold-items li::before {
  font-weight: normal;
  /* Маркеры не жирные */
  color: #666;
}

.simulator-page__final-highlight {
  text-align: center;
  margin-top: 20px;
  /* Отступ от блока "Dane Techniczne" */
}

.simulator-content-item__highlight-red {
  /* Переиспользуем класс */
  font-size: 14px;
  line-height: 1.6;
  color: #cc0000;
  font-weight: 700;
  text-transform: uppercase;
}

/* Адаптивность (аналогична предыдущим страницам) */
@media (max-width: 991.98px) {
  .simulator-page__main-title {
    font-size: 28px;
  }
  .simulator-content-item {
    gap: 20px;
  }
  .simulator-content-item__image-wrapper {
    flex-basis: 260px;
  }
}
@media (max-width: 767.98px) {
  .simulator-page {
    padding: 30px 0 60px;
  }
  .simulator-page__main-title {
    font-size: 24px;
  }
  .simulator-content-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .simulator-content-item__image-wrapper {
    flex-basis: auto;
    width: 100%;
    max-width: 400px;
    margin-bottom: 20px;
  }
  .simulator-content-item__text-content {
    /* Общий для всех текстовых блоков */
    width: 100%;
  }
  .simulator-content-item--text-only .simulator-content-item__text-content {
    padding-left: 0;
    /* Убираем специфичные отступы, т.к. теперь все центрируется */
    padding-right: 0;
  }
  .simulator-content-item__list li {
    text-align: left;
    padding-left: 20px;
  }
  .simulator-content-item__list li::before {
    left: 5px;
  }
}
@media (max-width: 480px) {
  .simulator-content-item__sub-title {
    font-size: 14px;
  }
  .simulator-content-item__description,
  .simulator-content-item__list,
  .simulator-content-item__highlight-red {
    font-size: 13px;
  }
}
/* --- Общие стили для страницы (если нужны) --- */
.page-wrapper {
  /* ... */
}

/* Container - предполагается, что он у вас уже есть */
/* --- Стили для страницы Agencja Artystyczna --- */
.artistic-agency-page {
  padding: 40px 0 80px;
  position: relative;
}

.artistic-agency-page__background-image-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/main/65.jpg");
  /* ЗАМЕНИТЕ НА ВАШ ФОН */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: -1;
  opacity: 0.1;
}

.artistic-agency-page__container {
  position: relative;
  z-index: 1;
}

.artistic-agency-page__title-wrapper {
  text-align: center;
  margin-bottom: 40px;
  /* Немного меньше отступ до основного текста */
}

.artistic-agency-page__main-title {
  display: inline-block;
  position: relative;
  font-size: 32px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0;
  padding-bottom: 12px;
}

.artistic-agency-page__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #d9534f;
}

.artistic-agency-content {
  max-width: 750px;
  /* Ограничиваем ширину текстового блока */
  margin: 0 auto;
  /* Центрируем текстовый блок */
  color: #333;
}

.artistic-agency-content__paragraph {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  margin-bottom: 1.2em;
}

.artistic-agency-content__paragraph:last-of-type {
  /* Для последнего параграфа, если после него нет списка */
  margin-bottom: 0;
}

.artistic-agency-content__paragraph--intro-list {
  /* Для "Zapewniamy:" */
  margin-bottom: 0.8em;
  /* Меньший отступ до списка */
  font-weight: 500;
  /* Можно сделать немного жирнее */
}

.artistic-agency-content__list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: #444;
}

.artistic-agency-content__list li {
  margin-bottom: 8px;
  /* Отступ между пунктами списка */
  padding-left: 25px;
  /* Отступ для маркера */
  position: relative;
}

.artistic-agency-content__list li::before {
  content: "•";
  /* Точка в качестве маркера */
  position: absolute;
  left: 8px;
  /* Позиционируем точку */
  top: 0px;
  /* Небольшая коррекция для выравнивания с текстом */
  color: #555;
  /* Цвет маркера */
  font-size: 1.2em;
  /* Размер маркера */
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .artistic-agency-page__main-title {
    font-size: 28px;
  }
  .artistic-agency-content {
    max-width: 700px;
  }
}
@media (max-width: 767.98px) {
  .artistic-agency-page {
    padding: 30px 0 60px;
  }
  .artistic-agency-page__main-title {
    font-size: 24px;
  }
  .artistic-agency-page__title-wrapper {
    margin-bottom: 30px;
  }
  .artistic-agency-content__paragraph,
  .artistic-agency-content__list {
    font-size: 14px;
  }
  .artistic-agency-content__list li {
    padding-left: 22px;
  }
  .artistic-agency-content__list li::before {
    left: 6px;
  }
}
@media (max-width: 480px) {
  .artistic-agency-page__main-title {
    font-size: 22px;
  }
}
/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
.offer-hero-section {
  background-color: #cc0000;
  /* Ярко-красный фон */
  color: #ffffff;
  /* Белый цвет текста по умолчанию для секции */
  padding: 70px 0;
  /* Вертикальные отступы */
  text-align: center;
}

.offer-hero-section__container {
  /* Дополнительные стили для контейнера, если нужны */
}

.offer-hero-section__title-wrapper {
  margin-bottom: 40px;
  /* Отступ от заголовка до описания */
}

.offer-hero-section__main-title {
  display: inline-block;
  position: relative;
  font-size: 36px;
  /* Крупный заголовок */
  font-weight: 700;
  color: #ffffff;
  /* Убедимся, что цвет белый */
  margin: 0;
  padding-bottom: 15px;
  /* Отступ для линии */
}

.offer-hero-section__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  /* Длина белой линии */
  height: 3px;
  /* Толщина белой линии */
  background-color: #ffffff;
  /* Белый цвет линии */
}

.offer-hero-section__description {
  font-size: 16px;
  line-height: 1.8;
  /* Увеличим межстрочный интервал для лучшей читаемости */
  max-width: 850px;
  /* Ограничиваем ширину текстового блока */
  margin-left: auto;
  margin-right: auto;
  opacity: 0.9;
  /* Легкая прозрачность для текста, чтобы он не был слишком резким */
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .offer-hero-section {
    padding: 60px 0;
  }
  .offer-hero-section__main-title {
    font-size: 32px;
  }
  .offer-hero-section__description {
    font-size: 15px;
    max-width: 700px;
  }
}
@media (max-width: 767.98px) {
  .offer-hero-section {
    padding: 50px 15px;
    /* Добавляем боковые отступы, если контейнер не используется */
  }
  .offer-hero-section__main-title {
    font-size: 28px;
    padding-bottom: 12px;
  }
  .offer-hero-section__main-title::after {
    width: 60px;
    height: 2px;
  }
  .offer-hero-section__title-wrapper {
    margin-bottom: 30px;
  }
  .offer-hero-section__description {
    font-size: 14px;
    line-height: 1.7;
  }
}
@media (max-width: 480px) {
  .offer-hero-section__main-title {
    font-size: 24px;
  }
}
.event-attractions-intro {
  background-color: #ffffff;
  /* Белый фон */
  padding: 60px 0;
  /* Вертикальные отступы */
  text-align: center;
}

.event-attractions-intro__container {
  /* Дополнительные стили для контейнера, если нужны */
}

.event-attractions-intro__title-wrapper {
  margin-bottom: 30px;
  /* Отступ от заголовка до описания */
}

.event-attractions-intro__main-title {
  display: inline-block;
  position: relative;
  font-size: 30px;
  font-weight: 600;
  /* Полужирный */
  color: #2c3e50;
  /* Темно-синий/серый цвет заголовка */
  margin: 0;
  padding-bottom: 12px;
  /* Отступ для линии */
}

.event-attractions-intro__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  /* Длина красной линии */
  height: 3px;
  /* Толщина красной линии */
  background-color: #d9534f;
  /* Красный цвет линии */
}

.event-attractions-intro__description {
  font-size: 15px;
  line-height: 1.7;
  color: #555c66;
  /* Цвет текста описания */
  max-width: 800px;
  /* Ограничиваем ширину текстового блока */
  margin-left: auto;
  margin-right: auto;
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .event-attractions-intro {
    padding: 50px 0;
  }
  .event-attractions-intro__main-title {
    font-size: 28px;
  }
  .event-attractions-intro__description {
    font-size: 14px;
    max-width: 700px;
  }
}
@media (max-width: 767.98px) {
  .event-attractions-intro {
    padding: 40px 15px;
  }
  .event-attractions-intro__main-title {
    font-size: 24px;
    padding-bottom: 10px;
  }
  .event-attractions-intro__main-title::after {
    width: 40px;
    height: 2px;
  }
  .event-attractions-intro__title-wrapper {
    margin-bottom: 25px;
  }
}
@media (max-width: 480px) {
  .event-attractions-intro__main-title {
    font-size: 22px;
  }
}
/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
.event-service-intro {
  background-color: #ffffff;
  /* Белый фон */
  padding: 60px 0;
  /* Вертикальные отступы */
  text-align: center;
}

.event-service-intro__container {
  /* Дополнительные стили для контейнера, если нужны */
}

.event-service-intro__title-wrapper {
  margin-bottom: 30px;
}

.event-service-intro__main-title {
  display: inline-block;
  position: relative;
  font-size: 30px;
  font-weight: 600;
  color: #2c3e50;
  margin: 0;
  padding-bottom: 12px;
}

.event-service-intro__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 3px;
  background-color: #d9534f;
}

.event-service-intro__description {
  font-size: 15px;
  line-height: 1.7;
  color: #555c66;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Адаптивность (аналогична предыдущему блоку) */
@media (max-width: 991.98px) {
  .event-service-intro {
    padding: 50px 0;
  }
  .event-service-intro__main-title {
    font-size: 28px;
  }
  .event-service-intro__description {
    font-size: 14px;
    max-width: 700px;
  }
}
@media (max-width: 767.98px) {
  .event-service-intro {
    padding: 40px 15px;
  }
  .event-service-intro__main-title {
    font-size: 24px;
    padding-bottom: 10px;
  }
  .event-service-intro__main-title::after {
    width: 40px;
    height: 2px;
  }
  .event-service-intro__title-wrapper {
    margin-bottom: 25px;
  }
}
@media (max-width: 480px) {
  .event-service-intro__main-title {
    font-size: 22px;
  }
}
/* --- Общие стили для страницы (если нужны) --- */
.page-wrapper {
  /* ... */
}

/* Container - предполагается, что он у вас уже есть */
/* --- Стили для страницы Dołącz do nas --- */
.join-us-page {
  padding: 40px 0 0;
  /* Отступ сверху, снизу отступ будет за счет border */
  position: relative;
  background-color: #fff;
  /* Явный белый фон, если отличается от body */
}

.join-us-page__background-image-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/main/65.jpg");
  /* ЗАМЕНИТЕ НА ВАШ ФОН */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: -1;
  opacity: 0.1;
}

.join-us-page__container {
  position: relative;
  z-index: 1;
  padding-bottom: 60px;
  /* Отступ снизу внутри контейнера, до красной линии */
}

.join-us-page__title-wrapper {
  text-align: center;
  margin-bottom: 40px;
}

.join-us-page__main-title {
  display: inline-block;
  position: relative;
  font-size: 30px;
  font-weight: 600;
  color: #2c3e50;
  margin: 0;
  padding-bottom: 12px;
}

.join-us-page__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 3px;
  background-color: #d9534f;
}

.join-us-content {
  max-width: 750px;
  margin: 0 auto;
  color: #333;
}

.join-us-content__sub-title {
  font-size: 16px;
  font-weight: 700;
  color: #2c3e50;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 15px;
}

.join-us-content__paragraph {
  font-size: 14px;
  line-height: 1.7;
  color: #444;
  margin-bottom: 1em;
}

.join-us-content__paragraph:last-of-type {
  margin-bottom: 0;
}

.join-us-content__paragraph--contact-intro {
  /* Для "Zainteresowanych prosimy o:" */
  margin-bottom: 0.7em;
  font-weight: 500;
}

.join-us-content__list {
  list-style: none;
  padding-left: 0;
  margin: 0 0 1em 0;
  font-size: 14px;
  line-height: 1.7;
  color: #444;
}

.join-us-content__list:last-of-type {
  margin-bottom: 0;
}

.join-us-content__list li {
  margin-bottom: 8px;
  padding-left: 25px;
  position: relative;
}

.join-us-content__list li::before {
  content: "•";
  position: absolute;
  left: 8px;
  top: 0px;
  color: #555;
  font-size: 1.2em;
}

.join-us-content__link {
  color: #d9534f;
  /* Красный цвет для ссылок */
  text-decoration: none;
  font-weight: 500;
}

.join-us-content__link:hover {
  text-decoration: underline;
}

.join-us-page__bottom-border {
  height: 6px;
  /* Высота красной линии */
  background-color: #d9534f;
  width: 100%;
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .join-us-page__main-title {
    font-size: 28px;
  }
  .join-us-content {
    max-width: 700px;
  }
  .join-us-content__sub-title {
    font-size: 15px;
  }
}
@media (max-width: 767.98px) {
  .join-us-page {
    padding-top: 30px;
  }
  .join-us-page__container {
    padding-bottom: 40px;
  }
  .join-us-page__main-title {
    font-size: 24px;
  }
  .join-us-page__title-wrapper {
    margin-bottom: 30px;
  }
  .join-us-content__paragraph,
  .join-us-content__list {
    font-size: 13px;
  }
  .join-us-content__list li {
    padding-left: 22px;
  }
  .join-us-content__list li::before {
    left: 6px;
  }
}
@media (max-width: 480px) {
  .join-us-page__main-title {
    font-size: 22px;
  }
}
/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
.send-enquiry-cta {
  background-color: #cc0000;
  /* Ярко-красный фон */
  padding: 50px 0;
  /* Отступы сверху и снизу, как у похожего CTA */
  text-align: center;
  /* Центрируем контент */
}

.send-enquiry-cta__container {
  /* Дополнительные стили для контейнера внутри этой секции, если нужны */
}

.send-enquiry-cta__title {
  color: #ffffff;
  /* Белый цвет текста */
  font-size: 26px;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 25px;
}

.send-enquiry-cta__button {
  display: inline-block;
  background-color: #ffffff;
  color: #2c3e50;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 12px 28px;
  border-radius: 25px;
  text-decoration: none;
  border: 1px solid #ffffff;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
  letter-spacing: 0.5px;
}

.send-enquiry-cta__button:hover {
  background-color: #f0f0f0;
  color: #1a2530;
}

.send-enquiry-cta__button:active {
  transform: scale(0.98);
  background-color: #e9e9e9;
}

/* Адаптивность */
@media (max-width: 767.98px) {
  .send-enquiry-cta {
    padding: 40px 15px;
  }
  .send-enquiry-cta__title {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .send-enquiry-cta__button {
    font-size: 12px;
    padding: 10px 22px;
  }
}
@media (max-width: 480px) {
  .send-enquiry-cta__title {
    font-size: 20px;
  }
  .send-enquiry-cta__button {
    font-size: 11px;
    padding: 9px 20px;
  }
}
/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
.contact-info-section-alt {
  padding: 80px 0;
  background-color: #fff;
}

.contact-info-section-alt__title-wrapper {
  text-align: center;
  margin-bottom: 30px;
}

.contact-info-section-alt__title {
  display: inline-block;
  position: relative;
  font-size: 30px;
  font-weight: 700;
  color: #333;
  /* Цвет заголовка */
  margin: 0;
  padding-bottom: 12px;
}

.contact-info-section-alt__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #d9534f;
  /* Красная линия */
}

.contact-info-section-alt__description {
  font-size: 16px;
  /* Немного меньше, чем у первого варианта */
  line-height: 1.6;
  /* Меньше межстрочный интервал */
  color: #5a6a78;
  max-width: 700px;
  margin: 0 auto 60px auto;
  text-align: center;
}

.contact-info-section-alt__details-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 40px;
}

.contact-info-section-alt__detail-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex-basis: 280px;
  max-width: 100%;
}

.contact-info-section-alt__icon {
  margin-bottom: 20px;
  color: #5f727f;
}

.contact-info-section-alt__icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.contact-info-section-alt__text {
  font-size: 17px;
  /* Немного меньше */
  line-height: 1.5;
  /* Меньше межстрочный */
  color: #444c54;
  /* Цвет текста номеров телефонов */
  font-weight: 500;
}

.contact-info-section-alt__text a {
  display: block;
  color: inherit;
  text-decoration: none;
  margin-bottom: 4px;
  /* Чуть меньше отступ */
  transition: color 0.2s ease-in-out;
}

.contact-info-section-alt__text a:last-child {
  margin-bottom: 0;
}

.contact-info-section-alt__text a:hover {
  color: #d9534f;
}

.contact-info-section-alt__email-link {
  color: #d9534f !important;
  font-weight: 600;
}

.contact-info-section-alt__email-link:hover {
  color: #a30000 !important;
}

/* Адаптивность (аналогична предыдущему блоку контактов) */
@media (max-width: 767.98px) {
  .contact-info-section-alt {
    padding: 60px 0;
  }
  .contact-info-section-alt__title {
    font-size: 26px;
  }
  .contact-info-section-alt__description {
    font-size: 15px;
    margin-bottom: 40px;
  }
  .contact-info-section-alt__details-wrapper {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }
  .contact-info-section-alt__detail-item {
    flex-basis: auto;
    width: 100%;
    max-width: 300px;
  }
  .contact-info-section-alt__text {
    font-size: 16px;
  }
}
@media (max-width: 480px) {
  .contact-info-section-alt__title {
    font-size: 22px;
  }
  .contact-info-section-alt__description {
    font-size: 14px;
  }
}
/* --- Общие стили для страницы (если нужны) --- */
.page-wrapper {
  /* ... */
}

/* Container - предполагается, что он у вас уже есть */
/* --- Стили для страницы Kontakt --- */
.contact-page {
  padding: 40px 0 0;
  /* Убираем нижний padding, т.к. будет разделитель */
  position: relative;
  background-color: #fff;
}

.contact-page__background-image-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/main/65.jpg");
  /* ЗАМЕНИТЕ НА ВАШ ФОН */
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: -1;
  opacity: 0.1;
}

.contact-page__container {
  position: relative;
  z-index: 1;
  padding-bottom: 60px;
  /* Отступ до нижней линии-разделителя */
}

.contact-page__title-wrapper {
  text-align: center;
  margin-bottom: 30px;
}

.contact-page__main-title {
  display: inline-block;
  position: relative;
  font-size: 32px;
  font-weight: 600;
  color: #2c3e50;
  margin: 0;
  padding-bottom: 12px;
}

.contact-page__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 3px;
  background-color: #d9534f;
}

.contact-page__action-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  /* Отступ между кнопками */
  margin-bottom: 50px;
  flex-wrap: wrap;
  /* Перенос кнопок на мобильных */
}

.contact-page__button {
  display: inline-block;
  background-color: #cc0000;
  /* Ярко-красный */
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  padding: 10px 20px;
  border-radius: 4px;
  /* Менее скругленные углы */
  text-decoration: none;
  border: none;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.contact-page__button:hover {
  background-color: #a30000;
  transform: translateY(-1px);
}

.contact-page__info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /* 4 колонки */
  gap: 30px;
  text-align: center;
  margin-bottom: 50px;
  /* Отступ до нижнего разделителя */
}

.contact-page__info-column {
  /* Стили для каждой колонки */
}

.contact-page__icon-wrapper {
  margin-bottom: 20px;
  color: #d9534f;
  /* Красный цвет для иконок */
  line-height: 1;
  /* Чтобы иконка не создавала лишний отступ снизу */
}

.contact-page__icon-wrapper svg {
  display: inline-block;
  /* Чтобы можно было центрировать, если нужно */
  vertical-align: middle;
}

.contact-page__column-title {
  font-size: 18px;
  font-weight: 600;
  color: #2c3e50;
  margin-top: 0;
  margin-bottom: 12px;
}

.contact-page__column-text {
  font-size: 14px;
  line-height: 1.6;
  color: #555c66;
  margin: 0;
}

.contact-page__column-text a {
  color: inherit;
  /* Наследуем цвет, если телефонные номера - ссылки */
  text-decoration: none;
}

.contact-page__column-text a:hover {
  color: #d9534f;
  /* Красный при наведении */
}

.contact-page__bottom-divider {
  height: 1px;
  background-color: #d9534f;
  /* Красный цвет разделителя */
  max-width: 150px;
  /* Ширина разделителя */
  margin: 0 auto;
  /* Центрирование разделителя */
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .contact-page__main-title {
    font-size: 28px;
  }
  .contact-page__info-grid {
    grid-template-columns: repeat(2, 1fr);
    /* 2 колонки на планшетах */
    gap: 40px 20px;
    /* Увеличиваем вертикальный gap */
  }
}
@media (max-width: 767.98px) {
  .contact-page {
    padding-top: 30px;
  }
  .contact-page__container {
    padding-bottom: 40px;
  }
  .contact-page__main-title {
    font-size: 24px;
  }
  .contact-page__action-buttons {
    flex-direction: column;
    /* Кнопки одна под другой */
    align-items: center;
    gap: 15px;
    margin-bottom: 40px;
  }
  .contact-page__button {
    width: 100%;
    max-width: 280px;
    /* Ограничиваем ширину кнопок */
    box-sizing: border-box;
  }
  .contact-page__column-title {
    font-size: 17px;
  }
}
@media (max-width: 575.98px) {
  /* Меньшие мобильные */
  .contact-page__info-grid {
    grid-template-columns: 1fr;
    /* 1 колонка на маленьких мобильных */
    gap: 30px;
  }
}
/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
.delivery-coverage-section {
  padding: 40px 0;
  /* Уменьшенные отступы для этого блока */
  background-color: #fff;
  /* Белый фон */
}

.delivery-coverage-section__container {
  /* Дополнительные стили для контейнера, если нужны */
}

.delivery-coverage-section__top-divider {
  height: 3px;
  background-color: #d9534f;
  /* Красный цвет */
  width: 80px;
  /* Ширина линии */
  margin: 0 auto 50px auto;
  /* Центрирование и отступ снизу */
}

.delivery-coverage-section__content-wrapper {
  display: flex;
  justify-content: space-around;
  /* Распределяем место, можно использовать space-between или gap */
  align-items: center;
  /* Выравнивание по центру вертикально */
  gap: 30px;
  /* Отступ между картой, линией и фургонами */
}

.delivery-coverage-section__map-area {
  flex: 1 1 45%;
  /* Карта занимает примерно 45% доступной ширины */
  max-width: 500px;
  /* Ограничение максимальной ширины карты */
  text-align: center;
  /* Для центрирования img, если он меньше родителя */
}

.delivery-coverage-section__map-image {
  max-width: 100%;
  height: auto;
  display: block;
  /* Или inline-block для центрирования через text-align родителя */
  margin: 0 auto;
  /* Если display: block */
}

.delivery-coverage-section__separator-line {
  width: 2px;
  /* Толщина вертикальной линии */
  background-color: #d9534f;
  /* Красный цвет */
  align-self: stretch;
  /* Растягиваем линию на всю высоту flex-контейнера */
  /* Можно задать min-height, если нужно гарантировать высоту, даже если контент низкий */
  /* min-height: 300px; */
}

.delivery-coverage-section__vans-area {
  flex: 1 1 45%;
  /* Фургоны занимают примерно 45% */
  display: flex;
  justify-content: flex-start;
  /* Выравниваем фургоны к началу (к линии) */
  align-items: center;
  gap: 0;
  /* Без отступа между фургонами, если они должны "накладываться" */
  position: relative;
  /* Для возможного позиционирования фургонов */
  /* min-height: 200px; */
  /* Чтобы было место для фургонов */
}

.delivery-coverage-section__van-image {
  max-width: 65%;
  /* Каждый фургон занимает часть доступного пространства */
  height: auto;
  display: block;
  /* Позиционирование для "наложения", если нужно */
}

.delivery-coverage-section__van-image--grey {
  /* Может потребоваться z-index, если они перекрываются */
  margin-right: -15%;
  /* Отрицательный отступ, чтобы белый фургон частично заехал на серый */
  z-index: 2;
}

.delivery-coverage-section__van-image--white {
  z-index: 1;
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .delivery-coverage-section__top-divider {
    margin-bottom: 40px;
  }
  .delivery-coverage-section__content-wrapper {
    gap: 20px;
  }
  .delivery-coverage-section__map-area,
  .delivery-coverage-section__vans-area {
    flex-basis: 48%;
    /* Немного перераспределяем место */
  }
  .delivery-coverage-section__van-image {
    max-width: 60%;
  }
}
@media (max-width: 767.98px) {
  .delivery-coverage-section {
    padding: 30px 0;
  }
  .delivery-coverage-section__top-divider {
    margin-bottom: 30px;
    width: 60px;
  }
  .delivery-coverage-section__content-wrapper {
    flex-direction: column;
    /* Карта над фургонами */
    align-items: center;
    /* Центрируем элементы */
    gap: 30px;
  }
  .delivery-coverage-section__map-area,
  .delivery-coverage-section__vans-area {
    flex-basis: auto;
    /* Сбрасываем basis */
    width: 100%;
    max-width: 450px;
    /* Ограничиваем ширину на мобильных */
  }
  .delivery-coverage-section__separator-line {
    display: none;
    /* Скрываем вертикальную линию на мобильных */
  }
  .delivery-coverage-section__vans-area {
    justify-content: center;
    /* Центрируем фургоны */
    margin-top: 10px;
    /* Небольшой отступ сверху от карты */
  }
  .delivery-coverage-section__van-image {
    max-width: 55%;
    /* Можно сделать их чуть меньше относительно друг друга */
  }
  .delivery-coverage-section__van-image--grey {
    margin-right: -10%;
  }
}
@media (max-width: 480px) {
  .delivery-coverage-section__van-image {
    max-width: 60%;
    /* Или даже больше, т.к. они теперь один над другим или в ряд */
  }
  .delivery-coverage-section__vans-area {
    /* Можно оставить flex-start или сделать flex-direction: column */
    /* flex-direction: column; */
    /* align-items: center; */
    /* gap: 10px; */
  }
  .delivery-coverage-section__van-image--grey {
    margin-right: -12%;
  }
}
/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
.enquiry-form-section {
  background-color: #cc0000;
  /* Ярко-красный фон */
  padding: 60px 0;
  color: #ffffff;
  /* Белый цвет текста по умолчанию для секции */
}

.enquiry-form-section__container {
  /* Дополнительные стили для контейнера, если нужны */
  max-width: 600px;
  /* Ограничиваем ширину самой формы */
}

.enquiry-form-section__title-wrapper {
  text-align: center;
  margin-bottom: 30px;
}

.enquiry-form-section__main-title {
  display: inline-block;
  position: relative;
  font-size: 30px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  padding-bottom: 12px;
}

.enquiry-form-section__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 2px;
  /* Белая линия чуть тоньше */
  background-color: #ffffff;
}

.enquiry-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  /* Отступы между полями формы */
}

.enquiry-form__field input[type=text],
.enquiry-form__field input[type=email],
.enquiry-form__field input[type=tel],
.enquiry-form__field textarea {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #fff;
  /* Белая рамка */
  border-radius: 8px;
  /* Скругленные углы */
  background-color: #ffffff;
  /* Белый фон полей */
  font-size: 14px;
  color: #555;
  /* Цвет вводимого текста */
  box-sizing: border-box;
  outline: none;
  /* Убираем стандартный outline при фокусе */
  transition: border-color 0.3s ease;
}

.enquiry-form__field input[type=text]::-moz-placeholder, .enquiry-form__field input[type=email]::-moz-placeholder, .enquiry-form__field input[type=tel]::-moz-placeholder, .enquiry-form__field textarea::-moz-placeholder {
  color: #999;
  /* Цвет плейсхолдера */
  opacity: 1;
  /* Для Firefox */
}

.enquiry-form__field input[type=text]::placeholder,
.enquiry-form__field input[type=email]::placeholder,
.enquiry-form__field input[type=tel]::placeholder,
.enquiry-form__field textarea::placeholder {
  color: #999;
  /* Цвет плейсхолдера */
  opacity: 1;
  /* Для Firefox */
}

.enquiry-form__field input[type=text]:focus,
.enquiry-form__field input[type=email]:focus,
.enquiry-form__field input[type=tel]:focus,
.enquiry-form__field textarea:focus {
  border-color: #ccc;
  /* Можно изменить цвет рамки при фокусе */
  /* box-shadow: 0 0 5px rgba(204, 204, 204, 0.5); /* Пример тени при фокусе */
}

.enquiry-form__field textarea {
  resize: vertical;
  /* Разрешаем изменять размер только по вертикали */
  min-height: 120px;
  /* Минимальная высота для textarea */
}

.enquiry-form__submit-wrapper {
  text-align: center;
  margin-top: 15px;
  /* Отступ сверху для кнопки */
}

.enquiry-form__submit-button {
  display: inline-block;
  background-color: #ffffff;
  color: #2c3e50;
  /* Темно-синий/серый цвет текста */
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 12px 30px;
  border-radius: 25px;
  text-decoration: none;
  border: 1px solid #ffffff;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
}

.enquiry-form__submit-button:hover {
  background-color: #f0f0f0;
  color: #1a2530;
}

.enquiry-form__submit-button:active {
  transform: scale(0.98);
  background-color: #e9e9e9;
}

/* Адаптивность */
@media (max-width: 767.98px) {
  .enquiry-form-section {
    padding: 50px 15px;
  }
  .enquiry-form-section__main-title {
    font-size: 26px;
  }
  .enquiry-form__field input[type=text],
  .enquiry-form__field input[type=email],
  .enquiry-form__field input[type=tel],
  .enquiry-form__field textarea {
    font-size: 13px;
    padding: 10px 12px;
  }
  .enquiry-form__submit-button {
    font-size: 13px;
    padding: 10px 25px;
  }
}
@media (max-width: 480px) {
  .enquiry-form-section__main-title {
    font-size: 24px;
  }
}
/* Container - предполагается, что он у вас уже есть */
/*
.container {
    max-width: 1140px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
*/
.location-map-section {
  background-color: #ffffff;
  /* Белый фон */
  padding: 60px 0;
  text-align: center;
}

.location-map-section__container {
  /* Дополнительные стили для контейнера, если нужны */
}

.location-map-section__title-wrapper {
  margin-bottom: 30px;
}

.location-map-section__main-title {
  display: inline-block;
  position: relative;
  font-size: 30px;
  font-weight: 600;
  color: #2c3e50;
  margin: 0;
  padding-bottom: 12px;
}

.location-map-section__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 3px;
  background-color: #d9534f;
}

.location-map-section__map-embed {
  position: relative;
  /* Для возможного контроля aspect-ratio, если нужно */
  overflow: hidden;
  /* Чтобы iframe не выходил за рамки */
  width: 100%;
  max-width: 800px;
  /* Ограничиваем максимальную ширину карты */
  margin: 0 auto;
  /* Центрируем карту */
  /* Для адаптивной высоты карты можно использовать padding-bottom хак или aspect-ratio */
  /* Вариант 1: padding-bottom хак (для соотношения сторон примерно 4:3) */
  /* padding-bottom: 75%;  75% от ширины для соотношения 4:3 */
  /* height: 0; */
  /* Вариант 2: CSS aspect-ratio (более современный) */
  aspect-ratio: 16/10;
  /* Или другое соотношение, подберите по iframe */
  border: 1px solid #ddd;
  /* Легкая рамка вокруг карты */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.location-map-section__map-embed iframe {
  /* Если используется padding-bottom хак: */
  /* position: absolute; */
  /* top: 0; */
  /* left: 0; */
  /* Если используется aspect-ratio или фиксированные размеры из iframe: */
  width: 100%;
  height: 100%;
  /* Занимает всю высоту родителя, если родитель имеет высоту */
  border: 0;
  /* Убираем стандартную рамку iframe */
}

/* Адаптивность */
@media (max-width: 991.98px) {
  .location-map-section {
    padding: 50px 0;
  }
  .location-map-section__main-title {
    font-size: 28px;
  }
  .location-map-section__map-embed {
    max-width: 700px;
    aspect-ratio: 4/3;
    /* Можно изменить соотношение на планшетах */
  }
}
@media (max-width: 767.98px) {
  .location-map-section {
    padding: 40px 15px;
  }
  .location-map-section__main-title {
    font-size: 24px;
    padding-bottom: 10px;
  }
  .location-map-section__main-title::after {
    width: 40px;
    height: 2px;
  }
  .location-map-section__title-wrapper {
    margin-bottom: 25px;
  }
  .location-map-section__map-embed {
    max-width: 100%;
    /* Карта на всю ширину контейнера */
    aspect-ratio: 1/1;
    /* Можно сделать квадратной или другим */
  }
}
@media (max-width: 480px) {
  .location-map-section__main-title {
    font-size: 22px;
  }
  .location-map-section__map-embed {
    aspect-ratio: 3/4;
    /* Может быть более вытянутой по вертикали */
  }
}
/* --- Общие стили для страницы (если нужны) --- */
.page-wrapper {
  /* ... */
}

/* Container - предполагается, что он у вас уже есть */
/* --- Стили для страницы Formularz zamówienia --- */
.order-form-page {
  /* Если фон страницы должен быть белым, а красный фон только для этой секции */
}

.order-form-page__background {
  background-color: #cc0000;
  /* Ярко-красный фон */
  padding: 60px 0;
  color: #ffffff;
}

.order-form-page__container {
  max-width: 700px;
  /* Ограничиваем ширину формы */
  margin-left: auto;
  margin-right: auto;
}

.order-form-page__title-wrapper {
  text-align: center;
  margin-bottom: 30px;
}

.order-form-page__main-title {
  display: inline-block;
  position: relative;
  font-size: 30px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  padding-bottom: 12px;
}

.order-form-page__main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  /* Линия чуть длиннее */
  height: 2px;
  background-color: #ffffff;
}

.order-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  /* Меньший отступ между полями */
}

.order-form__field input[type=text],
.order-form__field input[type=email],
.order-form__field input[type=tel],
.order-form__field input[type=date],
.order-form__field input[type=time],
.order-form__field textarea {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #fff;
  border-radius: 6px;
  /* Менее скругленные углы */
  background-color: #ffffff;
  font-size: 13px;
  /* Шрифт в полях чуть меньше */
  color: #555;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.3s ease;
}

.order-form__field input[type=text]::-moz-placeholder, .order-form__field input[type=email]::-moz-placeholder, .order-form__field input[type=tel]::-moz-placeholder, .order-form__field input[type=date]::-moz-placeholder, .order-form__field input[type=time]::-moz-placeholder, .order-form__field textarea::-moz-placeholder {
  color: #888;
  /* Цвет плейсхолдера */
  opacity: 1;
}

.order-form__field input[type=text]::placeholder,
.order-form__field input[type=email]::placeholder,
.order-form__field input[type=tel]::placeholder,
.order-form__field input[type=date]::placeholder,
.order-form__field input[type=time]::placeholder,
.order-form__field textarea::placeholder {
  color: #888;
  /* Цвет плейсхолдера */
  opacity: 1;
}

/* Стили для показа плейсхолдера, когда тип поля date/time */
.order-form__field input[type=date]:not(:focus):-moz-placeholder-shown, .order-form__field input[type=time]:not(:focus):-moz-placeholder-shown {
  /* Может не сработать во всех браузерах для date/time, т.к. они имеют свой UI */
}
.order-form__field input[type=date]:not(:focus):placeholder-shown,
.order-form__field input[type=time]:not(:focus):placeholder-shown {
  /* Может не сработать во всех браузерах для date/time, т.к. они имеют свой UI */
}

.order-form__field input[type=text]:focus,
.order-form__field input[type=email]:focus,
.order-form__field input[type=tel]:focus,
.order-form__field input[type=date]:focus,
.order-form__field input[type=time]:focus,
.order-form__field textarea:focus {
  border-color: #ccc;
}

.order-form__field textarea {
  resize: vertical;
  min-height: 100px;
}

.order-form__submit-wrapper {
  text-align: center;
  margin-top: 20px;
}

.order-form__submit-button {
  display: inline-block;
  background-color: #ffffff;
  color: #2c3e50;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 12px 35px;
  /* Кнопка чуть шире */
  border-radius: 25px;
  text-decoration: none;
  border: 1px solid #ffffff;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
}

.order-form__submit-button:hover {
  background-color: #f0f0f0;
  color: #1a2530;
}

.order-form__submit-button:active {
  transform: scale(0.98);
  background-color: #e9e9e9;
}

/* Адаптивность */
@media (max-width: 767.98px) {
  .order-form-page__background {
    padding: 50px 15px;
  }
  .order-form-page__main-title {
    font-size: 26px;
  }
  .order-form__field input[type=text],
  .order-form__field input[type=email],
  .order-form__field input[type=tel],
  .order-form__field input[type=date],
  .order-form__field input[type=time],
  .order-form__field textarea {
    font-size: 12px;
    /* Еще меньше на мобильных */
    padding: 10px 12px;
  }
  .order-form__submit-button {
    font-size: 13px;
    padding: 10px 30px;
  }
}
@media (max-width: 480px) {
  .order-form-page__main-title {
    font-size: 24px;
  }
  .order-form-page__main-title::after {
    width: 60px;
  }
}
/* --- Стили для страницы Formularz zamówienia --- */
/* ... (все предыдущие стили для .order-form-page и .order-form остаются без изменений) ... */
/* Стили для блока благодарности */
.thank-you-message {
  text-align: center;
  color: #ffffff;
  /* Белый текст, так как фон красный */
  padding: 40px 20px;
}

.thank-you-message__title {
  font-size: 28px;
  /* Размер как у основного заголовка формы */
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 20px;
  position: relative;
  /* Для возможного декоративного элемента, если нужно */
  display: inline-block;
  /* Чтобы линия была под текстом, если ее добавить */
}

/* Если захотите добавить линию под заголовком благодарности, как у основного */
/*
.thank-you-message__title::after {
    content: '';
    position: absolute;
    bottom: -10px; 
    left: 50%;
    transform: translateX(-50%);
    width: 70px;  
    height: 2px;   
    background-color: #ffffff; 
}
*/
.thank-you-message__text {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 30px;
}

.thank-you-message__button {
  display: inline-block;
  background-color: #ffffff;
  color: #2c3e50;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 12px 30px;
  border-radius: 25px;
  text-decoration: none;
  border: 1px solid #ffffff;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
}

.thank-you-message__button:hover {
  background-color: #f0f0f0;
  color: #1a2530;
}

.thank-you-message__button:active {
  transform: scale(0.98);
  background-color: #e9e9e9;
}

/* Адаптивность для блока благодарности */
@media (max-width: 767.98px) {
  .thank-you-message__title {
    font-size: 24px;
  }
  .thank-you-message__text {
    font-size: 15px;
  }
}
.contact-info-section__map iframe {
  margin-top: 40px;
  width: 100%;
}

.djh1298has {
  display: none;
}

.d12d21has {
  display: none;
}

.time-input-wrapper {
  position: relative;
  cursor: pointer;
}

.time-input-wrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23888888" viewBox="0 0 16 16"><path d="M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z"/><path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0z"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  z-index: 2;
}

input[type=time]::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
}

input[type=time] {
  pointer-events: none;
}

.time-input-placeholder {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  pointer-events: none;
  transition: all 0.2s ease;
  background-color: white;
  padding: 0 5px;
}

.time-input-wrapper:focus-within .time-input-placeholder,
input[type=time]:valid + .time-input-placeholder {
  top: 0;
  font-size: 12px;
  color: #555;
}/*# sourceMappingURL=style.css.map */