

/* Start:/local/templates/okinava/style.css?179204493742106*/
@charset "UTF-8";
body {
  font-family: "Montserrat", sans-serif;
}
*, *::before, *::after {
  box-sizing: border-box;
}
:where(ul, ol):where([class]) {
  padding-left: 0;
}
body, :where(blockquote, figure):where([class]) {
  margin: 0;
}
:where(h1, h2, h3, h4, h5, h6, p, ul, ol, dl):where([class]) {
  margin-block: 0;
}
:where(dd[class]) {
  margin-left: 0;
}
:where(ul[class]) {
  list-style: none;
}
input, textarea, select, button {
  font: inherit;
}
html {
  /**
    Пригодится в большинстве ситуаций
    (когда, например, нужно будет "прижать" футер к низу сайта)
   */
  height: 100%;
  /**
    Плавный скролл
   */
  scroll-behavior: smooth;
}
body {
  /**
    Пригодится в большинстве ситуаций
    (когда, например, нужно будет "прижать" футер к низу сайта)
   */
  min-height: 100%;
  /**
    Унифицированный интерлиньяж
   */
  line-height: 1.5;
}
body {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 100%;
  letter-spacing: 0.5px;
  color: var(--color-green);
  overflow-x: hidden;
  line-height: normal;
}
/* html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
} */
/* make sure to set some focus styles for accessibility */
:focus {
  outline: 0;
}
html {
  font-size: 100%;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}
a {
  text-decoration: none;
}
a:focus {
  outline: thin dotted;
}
a:active, a:hover {
  outline: 0;
}
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}
img {
  vertical-align: middle;
}
:root {
  --color-dark: rgba(75, 80, 84, 1);
  --font-family-base: "Montserrat", sans-serif;
  --font-family-accent: "Santello Regular", sans-serif;
}
.title {
  font-size: 44px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-weight: 700;
}
.subtitle {
  letter-spacing: -1px;
  font-size: 24px;
}
@media (max-width: 500px) {
  .title {
    font-size: 36px;
  }
  .subtitle {
    font-size: 16px;
  }
}
.container {
  margin: 0 auto;
  padding: 80px 0;
  padding-inline: 60px;
}
@media (max-width: 1300px) {
  .container {
    padding-block: 25px;
    padding-inline: 25px;
  }
}
@media (max-width: 550px) {
  .container {
    padding-inline: 12px;
  }
}
.wrapper {
  max-width: 1800px;
  margin: 0 auto;
}
.mask {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
}
.pagination {
  z-index: 1;
  --swiper-pagination-color: rgba(26, 63, 55, 1);
  /* Цвет активной точки */
  --swiper-pagination-bullet-inactive-color: rgba(26, 63, 55, 1);
  /* Цвет неактивных точек */
  --swiper-pagination-bullet-inactive-opacity: 0.5;
  /* Прозрачность неактивных точек */
}
.pagination-white {
  z-index: 1;
  --swiper-pagination-color: rgb(255, 255, 255);
  --swiper-pagination-bullet-inactive-color: rgb(255, 255, 255);
  --swiper-pagination-bullet-inactive-opacity: 0.5;
}
li {
  text-decoration: none;
  list-style-type: none;
}
a {
  text-decoration: none;
}
.gallery__slider .swiper-button-next:after, .gallery__slider .swiper-button-prev:after {
  display: none;
}
.btn {
  font-size: 16px;
  padding: 14px 24px;
  color: var(--color-milk);
  background-color: rgba(126, 126, 126, 0.07);
  border-radius: 16px;
  width: fit-content;
  cursor: pointer;
  display: flex;
  justify-content: center;
  user-select: none;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  white-space: nowrap;
  align-items: center;
}
.btn-red {
  font-size: 20px;
  padding: 20px 70px;
  color: white;
  background-color: #f60000;
  border-radius: 12px;
  width: fit-content;
  cursor: pointer;
  display: flex;
  justify-content: center;
  user-select: none;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  height: fit-content;
  white-space: nowrap;
  border: 1px solid red;
  align-items: center;
}
.btn-white {
  font-size: 20px;
  padding: 20px 30px;
  color: black;
  background-color: white;
  border-radius: 12px;
  width: fit-content;
  cursor: pointer;
  display: flex;
  justify-content: center;
  user-select: none;
  font-weight: 600;
  font-family: "Montserrat", sans-serif;
  white-space: nowrap;
  align-items: center;
}
.header__right-buttons-socials-whatsapp, .header__mobile-right-buttons-socials-whatsapp {
  width: 48px;
  height: 48px;
  background-color: #1daa61;
  border-radius: 16px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 15;
  min-width: 48px;
  user-select: none;
}
.header__right-buttons-socials-telegram, .header__mobile-right-buttons-socials-telegram {
  width: 48px;
  height: 48px;
  background-color: #2aabee;
  border-radius: 16px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 15;
  min-width: 48px;
  user-select: none;
}
.footer__socials-group-svg {
  width: 60px;
  height: 60px;
  background-color: rgba(217, 217, 217, 0.23);
  border-radius: 12px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 15;
  user-select: none;
}
.header__right-buttons-btn:hover {
  background-color: rgba(173, 173, 173, 0.466);
}
.header__right-buttons-btn:active {
  background-color: rgba(173, 173, 173, 0.836);
}
.btn-red:hover {
  background-color: white;
  color: red;
  border: 1px solid red;
  transition: color 0.3s ease;
  transition: background 0.3s ease;
}
.btn-white:hover {
  color: red;
  transition: color 0.3s ease;
  transition: background 0.3s ease;
}
a:hover {
  color: red !important;
  transition: color 0.3s ease;
  transition: background 0.3s ease;
}
input {
  width: 320px;
  border-radius: 12px;
  border: 2px solid white;
  background: rgba(255, 255, 255, 0.2);
  padding: 21px 16px;
}
input::placeholder {
  color: white;
}
input:hover {
  background-color: white;
  transition: background 0.3s ease;
}
input:hover::placeholder {
  color: black;
  transition: color 0.3s ease;
}
input:active::placeholder {
  color: #efefef;
  transition: color 0.3s ease;
}
input:focus::placeholder {
  color: #efefef;
  /* зелёный, пока фокус в поле */
}
input:focus {
  background-color: white;
}
input:not(:placeholder-shown)::placeholder {
  color: #efefef;
  /* остаётся зелёным, когда введён текст */
}
input:not(:placeholder-shown) {
  background: white;
  /* белый, если есть текст */
}
.back-to-top.visible {
  opacity: 1;
  visibility: visible;
}
.back-to-top.hidden {
  opacity: 0;
  visibility: hidden;
}
.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 50px;
  height: 50px;
  background: black;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 1000;
  user-select: none;
}
#backToTop:hover {
  border: 1px solid black;
  background-color: white;
}
#backToTop svg path {
  transition: stroke 0.3s;
}
#backToTop:hover svg path {
  stroke: black;
}
.policy {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  user-select: none;
  color: white;
  /* текст белый, если у тебя темный фон */
  font-size: 14px;
  position: relative;
}
/* скрываем нативный чекбокс, но не display:none (чтобы он оставался фокусируемым/доступным) */
.checkbox-input {
  position: absolute;
  opacity: 0;
  margin: 0;
  width: 0;
  height: 0;
}
/* кастомный квадрат 24x24, прозрачный фон и белая рамка 1.5px */
.checkbox-box {
  width: 24px;
  height: 24px;
  border: 1.5px solid #fff;
  border-radius: 4px;
  /* убрать, если нужны острые углы */
  background: transparent;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  /* нужно для псевдоэлемента галочки */
  flex-shrink: 0;
  transition: background 0.12s, border-color 0.12s;
  cursor: pointer;
}
/* при checked — зальём белым и покажем чёрную галочку */
.checkbox-input:checked + .checkbox-box {
  background: #fff;
  border-color: #fff;
}
/* чистая CSS-галочка (две линии, повернутые) */
.checkbox-input:checked + .checkbox-box::after {
  content: "";
  position: absolute;
  left: 8px;
  /* подправь при необходимости по центровке */
  top: 4px;
  width: 6px;
  height: 12px;
  border: solid #000;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  box-sizing: border-box;
}
.dishes__arrow {
  position: absolute;
  top: 50%;
  right: -2.5%;
  transform: translateY(-50%);
  z-index: 10;
  width: 86px;
  height: 86px;
  background: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.5s ease;
  user-select: none;
}
.dishes__arrow svg {
  transition: all 0.5s ease;
}
.dishes__arrow svg path {
  transition: stroke 0.5s ease;
}
@media (max-width: 1300px) {
  .dishes__arrow {
    right: unset;
    left: calc(50% - 48px);
    top: unset;
    bottom: 2.5%;
    transform: rotate(90deg);
    z-index: 99999999;
  }
}
.header {
  width: 100%;
  font-size: 16px;
}
.header__container {
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.header__wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 1800px;
  margin: 0 auto;
  border-radius: 16px;
  background: #efefef;
  margin-top: 16px;
  padding: 12px;
}
.header__left {
  display: flex;
  align-items: center;
  gap: 32px;
}
.header__left-logo {
  padding-left: 12px;
}
.header__left-menu {
  display: flex;
  align-items: center;
  gap: 24px;
  font-weight: 700;
}
.header__left-menu a {
  color: var(--color-dark);
}
.header__right {
  display: flex;
  align-items: center;
  gap: 24px;
}
.header__right-number a {
  color: black;
  font-weight: 700;
}
.header__right-buttons {
  display: flex;
  gap: 8px;
}
.header__right-buttons-btn.btn {
  padding: 14px 16px;
}
.header__right-buttons-burger {
  display: none;
}
.header__mobile {
  width: 100%;
  height: 100%;
  background-color: white;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 120px;
}
.header__mobile-right-buttons {
  display: flex;
  gap: 8px;
}
.header__mobile-svg {
  position: absolute;
  top: 24px;
  right: 24px;
}
.header__mobile-menu {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.header__mobile-menu-item {
  text-align: center;
  color: #4b5054;
  font-size: 32px;
  font-weight: 700;
}
.header__mobile-menu-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.header__mobile-menu-bottom-number {
  font-size: 32px;
  font-weight: 700;
  color: #4b5054;
}
/* скрываем не через display:none, а через transform + opacity + pointer-events */
.header__mobile {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 100;
  /* увеличить, если перекрывается */
  transform: translateX(-110%);
  /* полностью за экраном слева */
  transition: transform 0.35s cubic-bezier(0.22, 0.9, 0.21, 1), opacity 0.25s;
  opacity: 0;
  pointer-events: none;
}
/* состояние открытого меню */
.header__mobile.active {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}
/* Блокировка скролла когда мобильное меню открыто */
body.mobile-menu-open {
  overflow: hidden;
}
/* сделаем крестик явно кликабельным */
.header__mobile-svg {
  cursor: pointer;
}
/* временно (для отладки) заставить бургер видимым, если он скрыт стилями */
.header__right-buttons-burger.debug-show {
  display: block !important;
}
@media (max-width: 1920px) {
  .header__wrapper {
    margin-inline: 60px;
  }
}
@media (max-width: 1420px) {
  .header__right-number {
    display: none;
  }
}
@media (max-width: 600px) {
  .header__mobile {
    gap: 80px;
  }
  .header__mobile-menu-item {
    font-size: 20px;
  }
  .header__mobile-menu-bottom-number {
    font-size: 26px;
  }
}
.footer {
  position: relative;
  display: flex;
  flex-direction: column;
}
.footer__container {
  padding-bottom: 0;
  width: 100%;
  margin: 0 auto;
}
.footer__wrapper {
  display: flex;
  justify-content: space-between;
  padding: 60px 0 46px 0;
  align-items: flex-start;
  width: 100%;
  gap: 60px;
  margin: 0 auto;
}
.footer__socials {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.footer__socials-group {
  display: flex;
  gap: 10px;
}
.footer__socials-links {
  display: none;
  white-space: nowrap;
  flex-direction: column;
  gap: 12px;
}
.footer__socials-links-subtitle {
  font-weight: 300;
  text-decoration: underline;
}
.footer__socials-links a {
  font-weight: 300;
  text-decoration: underline;
}
.footer__info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px;
}
.footer__info-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer__info-links-title {
  font-size: 20px;
  font-weight: 600;
  white-space: nowrap;
}
.footer__info-links-subtitle {
  font-size: 20px;
  font-weight: 100;
  white-space: nowrap;
  font-weight: 300;
  text-decoration: underline;
}
.footer__info-links a {
  color: black;
}
.footer__svg-one {
  align-self: flex-end;
}
.footer__svg-two {
  padding-bottom: 40px;
}
.main__container {
  padding-top: 16px;
}
.main__wrapper {
  padding-block: 44px;
}
.main__content {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.main__content-left {
  max-width: 855px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 50%;
}
.main__content-left-title span {
  color: #f60000;
}
.main__content-right {
  width: 45%;
}
.main__content-right img {
  border-radius: 24px;
  width: 100%;
  height: 100%;
}
.main__bottom {
  display: flex;
  flex-direction: column;
  gap: 64px;
  width: 100%;
  padding-top: 72px;
  position: relative;
}
.main__bottom-higher {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 80%;
}
.main__bottom-higher-info {
  display: flex;
  align-items: center;
  gap: 20px;
}
.main__bottom-higher-info .number {
  font-size: 72px;
  font-weight: 700;
}
.main__bottom-higher-info .text {
  font-size: 24px;
  max-width: 295px;
}
.main__bottom-under {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 80%;
  max-width: 80%;
  left: 20%;
}
.about {
  background: black;
}
.about__wrapper {
  display: flex;
  justify-content: space-between;
}
.about__left {
  z-index: 15;
  color: white;
  max-width: 958px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  width: 50%;
}
.about__left-subtitle {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.about__right {
  width: 45%;
}
.about__right img {
  border-radius: 20px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dishes {
  position: relative;
  overflow: hidden;
}
.dishes__preview {
  --opacity: 1;
  --bg-delay: 0s;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: transform 1.5s ease-in-out;
  z-index: 100;
}
.dishes__preview::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, calc(0.8 * var(--opacity)));
  transition: background-color 0.5s;
  transition-delay: var(--bg-delay);
  z-index: -1;
}
.dishes__preview-background {
  position: absolute;
  z-index: 10;
  left: 0;
  width: 90%;
}
.dishes__preview-info {
  position: absolute;
  top: 25%;
  left: 60px;
  color: white;
}
.dishes__preview-info-title {
  max-width: 674px;
}
.dishes__preview-info-title.title {
  font-size: 64px;
}
.dishes__preview-info-subtitle p {
  max-width: 679px;
}
.dishes__main {
  position: relative;
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  gap: 19px;
  position: relative;
  top: 0;
  justify-content: space-between;
  padding-left: 10%;
}
.dishes__main-card {
  flex: 0 0 calc(25% - 18px);
}
.dishes__main-card-pic {
  width: 100%;
  height: 320px;
  overflow: hidden;
  border-radius: 20px;
  position: relative;
}
.dishes__main-card-pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dishes__main-card-text {
  color: white;
  font-size: 32px;
  font-weight: 500;
  position: absolute;
  bottom: 24px;
  left: 24px;
}
.dishes__mask {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, black, rgba(0, 0, 0, 0));
}
.quality {
  position: relative;
}
.quality__svg {
  position: absolute;
  right: 0;
  top: 19px;
  z-index: -1;
}
.quality__wrapper {
  padding-block: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}
.quality__info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.quality__cards {
  display: flex;
  align-items: center;
  gap: 40px;
}
.quality__card {
  display: flex;
  color: white;
  background-color: black;
  border-radius: 32px;
  padding: 32px;
  gap: 32px;
  align-items: center;
}
.quality__card-left {
  font-size: 58px;
  font-weight: 700;
}
.quality__card-right {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.quality__card-right-title {
  font-weight: 700;
  font-size: 28px;
}
.quality__card-right-subtitle {
  font-size: 20px;
  font-weight: 100;
}
.partnership__wrapper {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
.partnership__left {
  overflow: hidden;
  height: 681px;
}
.partnership__left img {
  border-radius: 20px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.partnership__right {
  display: flex;
  flex-direction: column;
  gap: 60px;
  max-width: 960px;
  width: 100%;
}
.partnership__right-title {
  color: red;
}
.partnership__right-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.partnership__right-list-line {
  background-color: transparent;
  padding: 0px 19px 0px 19px;
  border-radius: 19px;
}
.partnership__right-list-line.active {
  background-color: #eeeffa;
}
.partnership__right-list-line.active .partnership__right-list-line-subtitle {
  max-height: 500px;
  margin-block: 19px;
}
.partnership__right-list-line-title {
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-block: 19px;
}
.partnership__right-list-line-subtitle {
  max-width: 591px;
  overflow: hidden;
  max-height: 169px;
  margin-block: 0;
  transition: max-height 0.3s ease, padding 0.3s ease;
}
.gallery__container {
  display: flex;
  align-items: center;
  gap: 20px;
  max-width: 1920px;
}
.gallery__slider {
  position: relative;
  display: flex;
  align-items: center;
}
.gallery__slide {
  height: 920px !important;
  overflow: hidden;
  border-radius: 16px;
}
.gallery__slide img {
  border-radius: 12px;
  width: 100%;
  object-fit: cover;
  height: 100%;
}
.gallery__navigation {
  position: relative;
  display: flex;
  align-items: center;
  right: 0;
  top: 50%;
  gap: 40px;
  height: 44px;
}
.gallery__navigation .swiper-button-next, .gallery__navigation .swiper-button-prev {
  position: relative;
  min-width: 44px;
}
.gallery__navigation .swiper-button-next::after, .gallery__navigation .swiper-button-prev::after {
  display: none;
  /* убираем дефолтные стрелки */
}
.offers__wrapper {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.offers__main {
  display: flex;
  gap: 12px;
}
.offers__main-line {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: white;
  font-weight: 700;
  font-size: 32px;
  padding: 28px;
  border-radius: 12px;
  gap: 28px;
  cursor: pointer;
}
.offers__main-line-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.offers__main-line-content {
  display: flex;
  gap: 29px;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}
.offers__main-line-content-card {
  max-width: 440px;
  max-height: 500px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.offers__main-line-content-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.offers__main-line-content-card-turn {
  display: flex;
  background: white;
  border-radius: 8px;
  flex-direction: column;
  justify-content: flex-end;
  color: black;
  padding: 24px;
}
.offers__main-line-content-card-turn-title {
  padding-bottom: 10px;
  border-bottom: 1px solid black;
}
.offers__main-line-content-card-turn-subtitle {
  padding-top: 10px;
  font-size: 16px;
  font-weight: 500;
}
.offers__main-line-content-card-text {
  color: white;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: absolute;
  font-size: 32px;
  z-index: 100;
  bottom: 0;
  padding: 24px;
  font-weight: 600;
  font-size: 28px;
}
.offers__main-line-content-card-text-subtitle {
  font-size: 16px;
}
.offers__main-line-black {
  color: white;
  background: black;
}
.offers__main-line-red {
  color: white;
  background: red;
}
.offers__main-line-grey {
  color: black;
  background: #eeeffa;
}
.offers__main-line-greyTwo {
  color: black;
  background: #eeeffa;
}
.offers__mask {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, black, rgba(0, 0, 0, 0));
}
.offers__main-line:first-child .offers__main-line-top-title-btn {
  background-color: black;
  color: white;
}
.offers__main-line:first-child .offers__main-line-top-title-btn-mobile {
  background-color: black;
  color: white;
}
.offers__main-line:first-child .offers__main-line-top-title-btn:hover {
  background-color: white;
  color: black;
}
.offers__main-line:first-child .offers__main-line-top-title-btn-mobile:active {
  background-color: white;
  color: black;
}
.form {
  position: relative;
  background: red;
}
.form__container {
  padding-block: 128px;
  z-index: 100;
  position: relative;
}
.form__svg {
  position: absolute;
  left: 0;
  bottom: -5px;
}
.form__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}
.form__title {
  color: white;
  text-align: center;
  max-width: 1430px;
  font-size: 48px;
}
.form__main {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.form__line {
  display: flex;
  gap: 16px;
  z-index: 15;
}
.form__line-btn.btn-white {
  padding: 20px 24px;
}
.partnership__right-list-line-subtitle {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.partnership__right-list-line-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}
.icon-wrapper {
  position: relative;
  width: 40px;
  height: 40px;
  min-width: 40px;
}
.icon-minus, .icon-plus {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease;
}
/* По умолчанию показываем плюс (закрытое состояние) */
.icon-minus {
  opacity: 0;
}
.icon-plus {
  opacity: 1;
}
/* Когда элемент активен (открыт) - показываем минус */
.partnership__right-list-line.active .icon-minus {
  opacity: 1;
}
.partnership__right-list-line.active .icon-plus {
  opacity: 0;
}
/* Стили для аккордеона */
.partnership__right-list-line-subtitle {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.offers__main-line-top-title-btn.btn-red {
  padding: 20px 24px;
}
.offers__main {
  display: flex;
  gap: 12px;
}
.offers__main-line {
  flex: 0 0 60px;
  transition: flex-basis 0.5s ease;
}
.offers__main-line.active {
  flex: 1;
}
.offers__main-line-content {
  position: relative;
}
.offers__main-line-content-card-inner {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.8s ease;
  cursor: pointer;
}
.offers__main-line-content-card, .offers__main-line-content-card-turn {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  position: absolute;
  top: 0;
  left: 0;
  backface-visibility: hidden;
}
.swiper-backface-hidden .swiper-slide {
  backface-visibility: unset !important;
}
.offers__main-line-content-card {
  transform: rotateY(0);
  z-index: 2;
}
.offers__main-line-content-card-turn {
  background: white;
  color: black;
  transform: rotateY(180deg);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
}
/* Стили для переворота на десктопе */
@media (min-width: 991px) {
  .offers__main-line-content-card-inner:hover {
    transform: rotateY(180deg);
  }
}
/* Стили для переворота на мобильных */
@media (max-width: 990px) {
  .offers__main-line-content-card-inner.active {
    transform: rotateY(180deg);
  }
  .offers__main-line-content-card-inner.active.swiper-slide {
    transform: rotateY(180deg);
  }
}
/* Дополнительные стили для поддержки 3D в слайдере */
.swiper .offers__main-line-content-card-inner {
  transform-style: preserve-3d;
}
.swiper .offers__main-line-content-card-turn {
  position: absolute;
  top: 0;
  left: 0;
  backface-visibility: hidden;
}
.offers__main-line-content-card-turn {
  pointer-events: auto;
}
.dishes__preview-background {
  height: 100%;
}
.dishes__preview-background img {
  width: 100%;
  height: 100%;
}
.dishes__preview.hidden {
  transform: translateX(-100%);
}
@media (max-width: 1880px) {
  .dishes__main-card-text {
    font-size: 26px;
  }
}
@media (max-width: 1850px) {
  .form__svg svg {
    width: 131px;
    height: 131px;
  }
}
@media (max-width: 1660px) {
  .main__content-left-title {
    font-size: 32px;
  }
  .main__content-left-subtitle {
    font-size: 20px;
  }
  .main__bottom-higher-info .number {
    font-size: 56px;
  }
  .main__bottom-higher-info .text {
    font-size: 16px;
  }
  .about__left-title.title {
    font-size: 40px;
  }
  .about__left-title.subtitle {
    font-size: 20px;
  }
  .footer__socials-links {
    display: flex;
  }
  .footer__info {
    max-width: 800px;
  }
  .footer__info-links:last-child {
    display: none;
  }
  .footer__info-links {
    flex: 1 1 45%;
  }
  .footer__svg-one svg {
    height: 104px;
    width: 345px;
  }
  .footer__svg-two svg {
    height: 104px;
    width: 345px;
  }
  .dishes__main-card-text {
    font-size: 20px;
    bottom: 20px;
    left: 14px;
  }
}
@media (max-width: 1500px) {
  .quality__subtitle.subtitle {
    font-size: 20px;
  }
  .quality__cards {
    align-items: unset;
    gap: 24px;
  }
  .quality__card {
    padding: 24px;
  }
  .quality__card-right-title {
    font-size: 20px;
  }
  .quality__svg svg {
    height: 200px;
    width: 200px;
  }
  .partnership__left {
    height: 558px;
  }
  .partnership__right {
    gap: 30px;
  }
  .partnership__right-title.title {
    font-size: 40px;
  }
  .partnership__right-list-line-title {
    font-size: 24px;
    padding-block: 15px;
  }
  .partnership__right-list-line.active .partnership__right-list-line-subtitle {
    margin-block: 10px;
  }
  .offers__main {
    height: 468px;
  }
  .offers__main-line-top-title {
    font-size: 28px;
  }
  .offers__main-line-content-card {
    max-height: 320px;
    position: relative;
  }
  .offers__main-line-content-card-turn-title {
    font-size: 18px;
  }
  .offers__main-line-content-card-turn-subtitle {
    font-size: 16px;
  }
  .offers__main-line-content-card-text-title {
    font-size: 18px;
  }
  .offers__title {
    font-size: 40px;
  }
}
@media (max-width: 1400px) {
  .dishes__preview-info-title.title {
    font-size: 54px;
  }
  .dishes__preview-info-subtitle.subtitle {
    font-size: 23px;
  }
}
@media (max-width: 1300px) {
  .header__wrapper {
    margin-inline: 24px;
  }
  .header__left-logo {
    padding-left: 0;
  }
  .header__left-menu {
    display: none;
  }
  .header__right-buttons-burger {
    display: flex;
  }
  .header__right-number a {
    display: none;
  }
  .main__wrapper {
    padding-bottom: 0;
  }
  .main__content {
    flex-direction: column;
    gap: 40px;
  }
  .main__content-left {
    max-width: unset;
    width: 100%;
    gap: 24px;
  }
  .main__content-right {
    width: 100%;
    height: 500px;
  }
  .main__content-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .main__bottom {
    gap: 40px;
    padding-top: 60px;
  }
  .main__bottom-higher {
    flex-wrap: wrap;
    gap: 20px;
  }
  .main__bottom-higher-info {
    gap: 12px;
  }
  .main__bottom-higher-info .number {
    font-size: 40px;
  }
  .main__bottom-higher-info .text {
    font-size: 14px;
  }
  .main__bottom-under {
    gap: 20px;
    flex-wrap: wrap;
  }
  .about__container {
    padding-block: 80px;
  }
  .about__wrapper {
    flex-direction: column-reverse;
    gap: 24px;
  }
  .about__left {
    gap: 24px;
    max-width: unset;
    width: 100%;
  }
  .about__left-title.title {
    font-size: 28px;
  }
  .about__left-subtitle.subtitle {
    font-size: 20px;
  }
  .about__right {
    width: 100%;
    height: 355px;
  }
  .quality__wrapper {
    padding-block: 40px;
    gap: 24px;
  }
  .quality__info {
    z-index: 15;
  }
  .quality__cards {
    gap: 16px;
    flex-direction: column;
  }
  .quality__svg {
    top: -72px;
    right: -81px;
    z-index: 10;
  }
  .quality__title.title {
    font-size: 28px;
    text-align: center;
  }
  .quality__subtitle.subtitle {
    text-align: center;
  }
  .partnership__wrapper {
    flex-direction: column;
  }
  .partnership__left {
    height: 520px;
  }
  .partnership__right {
    max-width: unset;
  }
  .partnership__right-title.title {
    font-size: 28px;
  }
  .partnership__right-list-line-title {
    font-size: 20px;
  }
  .partnership__right-list-line-subtitle {
    max-width: 1000px;
  }
  .gallery__wrapper {
    width: 100%;
    height: auto;
  }
  .gallery__slider {
    width: 100%;
  }
  .gallery__slide {
    height: 630px !important;
  }
  .gallery__container {
    gap: 30px;
    flex-direction: column;
  }
  .offers__wrapper {
    gap: 24px;
  }
  .offers__title {
    font-size: 28px;
  }
  .offers__main {
    flex-direction: column;
    height: auto;
  }
  .offers__main-line {
    max-height: 468px;
  }
  .offers__main-line-top-title {
    font-size: 20px;
  }
  .offers__main-line-content-card {
    height: 320px;
  }
  .dishes__main.swiper {
    padding-top: 11%;
  }
  .dishes {
    height: 100%;
  }
  .dishes__main {
    width: 100%;
    padding-top: 11%;
  }
  .dishes__main-card {
    flex: unset;
  }
  .dishes__wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .dishes__preview-background {
    width: 100%;
  }
  .form__title.title {
    font-size: 40px;
  }
  .footer__svg-one svg {
    height: 56px;
    width: 195px;
  }
  .footer__svg-two svg {
    height: 56px;
    width: 195px;
  }
}
@media (max-width: 1270px) {
  .footer__wrapper {
    flex-direction: column;
  }
  .footer__socials {
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
  }
  .footer__info {
    max-width: unset;
  }
  .footer__info-links {
    max-width: 333px;
  }
  .footer__info-links-title {
    font-size: 18px;
  }
  .footer__info-links-subtitle {
    font-size: 18px;
  }
}
@media (max-width: 1200px) {
  .form__container {
    padding-block: 40px;
  }
  .form__wrapper {
    gap: 32px;
  }
  .form__title.title {
    font-size: 28px;
  }
  .form__line {
    flex-direction: column;
    gap: 24px;
    align-items: center;
    width: 100%;
  }
  .form__line input {
    width: 100%;
    padding: 21px 16px;
  }
  .form__line-btn.btn-white {
    width: 100%;
    z-index: 15;
  }
  .dishes__preview-info-title.title {
    font-size: 42px;
  }
}
@media (max-width: 850px) {
  .dishes__preview-info-title.title {
    font-size: 32px;
  }
}
@media (max-width: 800px) {
  .main__bottom {
    padding-top: 24px;
  }
  .main__bottom-higher {
    max-width: unset;
  }
  .main__bottom-under {
    max-width: unset;
    left: unset;
  }
  .footer__wrapper {
    align-items: center;
  }
  .footer__socials {
    flex-direction: column;
    align-items: center;
  }
  .footer__socials-links {
    text-align: center;
  }
  .footer__info-links {
    text-align: center;
  }
  .footer__info {
    flex-direction: column;
  }
}
@media (max-width: 750px) {
  .dishes__preview-info {
    top: 30%;
    left: 5%;
    right: 5%;
  }
  .dishes__preview-info-title.title {
    font-size: 28px;
  }
  .dishes__preview-info-subtitle.subtitle {
    font-size: 20px;
  }
  .form__svg {
    display: none;
  }
  .main__content-left-button.btn-red, .about__left-btn.btn-white {
    width: 100%;
    padding-block: 12px;
  }
  .offers__main-line-top-title-btn-mobile.btn-red {
    padding: 12px;
  }
  .offers__main-line-top-title-btn-mobile.btn-white {
    padding: 12px;
  }
}
@media (max-width: 700px) {
  .offers__main-line-top-title-btn-mobile {
    width: 100%;
  }
  .offers__main-line {
    max-height: unset;
  }
  .about__container {
    padding-block: 28px;
  }
}
@media (max-width: 650px) {
  .header__right-buttons-btn.btn {
    display: none;
  }
  .main__bottom-higher-info .number {
    font-size: 28px;
  }
  .main__bottom-higher-info .text {
    font-size: 14px;
  }
  .dishes__preview-info {
    top: 25%;
  }
  .dishes__preview-info-title.title {
    font-size: 24px;
  }
  .dishes__preview-info-subtitle.subtitle {
    font-size: 20px;
  }
  .gallery__slide {
    height: 420px !important;
  }
}
@media (max-width: 550px) {
  .main__content-left-title.title {
    font-size: 20px;
  }
  .main__content-left-subtitle.subtitle {
    font-size: 16px;
  }
  .main__content-right {
    height: 231px;
  }
  .main__bottom {
    gap: 20px;
  }
  .main__bottom-higher {
    width: 100%;
  }
  .main__bottom-higher-info {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f9f8f8;
  }
  .main__bottom-higher-info .text br {
    display: none;
  }
  .main__content-left-button.btn-red {
    width: 100%;
  }
  .about__container {
    padding-block: 28px;
  }
  .about__left-title.title {
    font-size: 20px;
  }
  .about__left-subtitle.subtitle {
    font-size: 16px;
  }
  .about__right {
    height: 263px;
  }
  .about__left-btn.btn-white {
    width: 100%;
    padding: 12px 76px;
  }
  .quality__wrapper {
    padding-block: 0;
  }
  .quality__title.title {
    font-size: 20px;
    text-align: center;
  }
  .quality__subtitle.subtitle {
    font-size: 16px;
    text-align: center;
  }
  .quality__card {
    border-radius: 16px;
  }
  .quality__card-left {
    font-size: 40px;
  }
  .quality__card-right-subtitle {
    font-size: 14px;
  }
  .quality__svg {
    top: -72px;
    z-index: 10;
    right: -33px;
  }
  .quality__svg svg {
    height: 117px;
    width: 117px;
  }
  .partnership__wrapper {
    flex-direction: column;
  }
  .partnership__left {
    height: 203px;
  }
  .partnership__right {
    gap: 20px;
  }
  .partnership__right-title.title {
    font-size: 20px;
  }
  .partnership__right-list {
    gap: 12px;
  }
  .partnership__right-list-line {
    padding-inline: 12px;
  }
  .partnership__right-list-line-title {
    padding-block: 12px;
    font-size: 16px;
  }
  .partnership__right-list-line-subtitle {
    font-size: 14px;
    max-width: 1000px;
  }
  .gallery__navigation {
    width: 100%;
    justify-content: space-between;
  }
  .offers__title {
    font-size: 20px;
  }
  .offers__main-line {
    flex: unset;
    max-height: unset;
    padding: 12px;
  }
  .offers__main-line-top-title {
    font-size: 16px;
  }
  .dishes__preview-background {
    width: 100%;
  }
  .dishes__preview-info-title.title {
    font-size: 20px;
  }
  .dishes__preview-info-subtitle.subtitle {
    font-size: 14px;
  }
  .offers__main-line-top-title-btn-mobile.btn-red {
    font-size: 16px;
    padding: 12px 31px;
  }
  .form__svg {
    display: none;
  }
  .form__title.title {
    font-size: 20px;
  }
  .form__line {
    gap: 16px;
  }
  .form__line input {
    font-size: 16px;
    padding: 11px 16px;
  }
  .form__line-btn.btn-white {
    font-size: 16px;
    padding: 12px 6px;
  }
  .footer__wrapper {
    padding-top: 20px;
  }
}
@media (max-width: 400px) {
  .header__wrapper {
    margin-inline: 5px;
  }
  .header__right {
    gap: 0;
  }
  .quality__card {
    gap: 16px;
  }
}
.policy-text a {
  font-weight: 600;
  color: white;
}
.policy-text a:hover {
  color: #e2e2e2 !important;
}
.modal {
  position: fixed;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1010;
}
.modal__wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  max-height: 552px;
  width: 1200px;
  height: 552px;
  background-color: red;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}
.modal__svg {
  overflow: hidden;
  position: relative;
  top: 52px;
  left: -90px;
}
.modal__form {
  position: relative;
  top: 52px;
  right: 60px;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.modal__form-top {
  display: flex;
  flex-direction: column;
  gap: 20px;
  color: white;
}
.modal__form-top-title {
  font-size: 45px;
  font-weight: 600;
}
.modal__form-top-subtitle {
  font-size: 18px;
}
.modal__form-main {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.modal__form-main-input {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.modal__form-main-input input {
  width: 100%;
}
.modal__form-bottom {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.modal__form-bottom-policy {
  font-size: 18px;
  display: flex;
  gap: 12px;
  align-items: center;
  color: white;
}
.modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 1000;
}
.modal__form-bottom-btn.btn-white {
  width: 100%;
}
.success {
  position: fixed;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1001;
  background-color: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
}
.success__wrapper {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 800px;
  max-height: 312px;
  width: 800px;
  height: 312px;
  background-color: white;
  position: relative;
  border-radius: 12px;
  align-items: center;
  justify-content: center;
  padding: 60px;
}
.success__top {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 12px;
}
.success__top-title {
  font-size: 45px;
  font-weight: 700;
  color: #090909;
}
.success__top-subtitle {
  font-size: 24px;
  color: #2b2b2b;
}
.success__svg {
  position: absolute;
  top: 12px;
  right: 12px;
}
.success__btn.btn-red {
  width: 100%;
}
.modal__close, .success__svg {
  cursor: pointer;
}
.modal, .success {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.modal.active, .success.active {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 1300px) {
  .modal__wrapper {
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    max-width: 630px;
    max-height: 468px;
  }
  .modal__svg {
    position: absolute;
    top: 69px;
    right: -27px;
    left: unset;
  }
  .modal__svg svg {
    width: 221px;
    height: 220px;
  }
  .modal__form {
    top: unset;
    right: unset;
    gap: 30px;
    width: 100%;
  }
  .modal__form-top {
    gap: 4px;
    max-width: 429px;
  }
  .modal__form-top-title {
    font-size: 32px;
  }
  .modal__form-top-subtitle {
    font-size: 16px;
  }
  .modal__form-main {
    gap: 20px;
  }
  .modal__form-bottom-policy {
    font-size: 16px;
  }
}
@media (max-width: 850px) {
  .success__wrapper {
    padding: 20px;
    width: 520px;
    height: 208px;
    gap: 24px;
  }
  .success__top {
    gap: 4px;
  }
  .success__top-title {
    font-size: 32px;
  }
  .success__top-subtitle {
    font-size: 16px;
  }
}
@media (max-width: 700px) {
  .modal__wrapper {
    width: 300px;
    height: 400px;
  }
  .modal__svg {
    top: 100px;
    right: -28px;
  }
  .modal__svg svg {
    width: 100px;
    height: 123px;
  }
  .modal__form {
    padding: 20px;
    gap: 30px;
  }
  .modal__form-top-title {
    font-size: 20px;
  }
  .modal__form-top-subtitle {
    font-size: 14px;
  }
  .modal__form-main-input input {
    font-size: 16px;
    padding: 11px 16px;
  }
  .modal__form-bottom-policy .policy {
    font-size: 13px;
    align-items: flex-start;
  }
  .success__wrapper {
    width: 256px;
    height: 212px;
  }
  .success__top-title {
    font-size: 20px;
  }
  .success__top-subtitle {
    font-size: 14px;
  }
  .modal__form-bottom-btn.btn-white {
    font-size: 16px;
    padding: 12px 60px;
  }
  .success__btn.btn-red {
    font-size: 16px;
    padding: 12px 24px;
  }
  .modal__close {
    right: 0;
  }
}

/* End */
/* /local/templates/okinava/style.css?179204493742106 */
