/* montserrat-regular - cyrillic */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v31-cyrillic-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-500 - cyrillic */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/montserrat-v31-cyrillic-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-600 - cyrillic */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/montserrat-v31-cyrillic-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - cyrillic */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/montserrat-v31-cyrillic-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-800 - cyrillic */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/montserrat-v31-cyrillic-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-900 - cyrillic */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/montserrat-v31-cyrillic-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* Reset and base styles  */
* {
	padding: 0px;
	margin: 0px;
	border: none;
    font-family: 'Montserrat';
}
:root {
    --bg-color-red: #D20030;
    --bg-color-red-hover: #F44639;
    --bg-color-white: #fff;
    --bg-color-white-hover: #fcfcfc;
    --bg-color-gray: #F1F3F4;
    --bg-color-turquoise: #79E1DA;
    --bg-color-turquoise-hover: #89f7ef;
    --footer-bg-color-dark: #202020;
    --border-color-white-buttons: #EDEDEE;
    --font-weight-for-h2: 400;
    --font-weight-for-h3: 800;
    --font-weight-for-h4: 700;
    --font-weight-for-p: 400;
    interpolate-size: allow-keywords;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Links */

a, a:link, a:visited  {
    text-decoration: none;
}

a:hover  {
    text-decoration: none;
}

/* Common */

aside, nav, footer, header, section, main {
	display: block;
}

h1 {
    font-weight: 800;
}
h2 {
    font-weight: 400;
}
h3 {
    font-weight: 800;
}
h4 {
    font-weight: 700;
}
p {
    font-weight: 400;
}

ul, ul li {
	list-style: none;
}

img {
	vertical-align: top;
}

img, svg {
	max-width: 100%;
	height: auto;
}

address {
  font-style: normal;
}

/* Form */

input, textarea, button, select {
	font-family: inherit;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

input::-ms-clear {
	display: none;
}

textarea {
	resize: vertical;
}

button, input[type="submit"] {
    display: inline-block;
    box-shadow: none;
    background-color: transparent;
    background: none;
    cursor: pointer;
}

button::-moz-focus-inner {
	padding: 0;
	border: 0;
}

label {
	cursor: pointer;
}

legend {
	display: block;
}

input[type='file'] {
	max-width: 100%;
}
.wrapper-1440 {
    max-width: 1440px;
    margin: 0 auto;
}
section {
    background-color: var(--bg-color-gray);
    border-radius: 56px;
}
.title-section {
    font-size: 16px;
    line-height: 22px;
    letter-spacing: -0.8px;
    text-transform: lowercase;
    padding: 10px 25px;
    background-color: var(--bg-color-white);
    display: inline;
    color: #111112BF;
    border: 1px solid #EDEDEE;
    border-radius: 100px;

}
.slider-btn {
    width: 32px;
    height: 32px;
    border: 0.5px solid #21212380;
    border-radius: 16px;
    position: relative;
}
.slider-btn-back {
    transform: rotate(-135deg);
}
.slider-btn-forward {
    transform: rotate(45deg);
}
.slider-btn::after {
    content: '';
    background-image: url('../imgs/svg/arrow-black.svg');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 10px;
    height: 10px;
    top: 52%;
    left: 52%;
    transform: translate(-50%, -50%);
}

.overlay {
    width: 100vw;
    height: 100vh;
    position: fixed;
    opacity: 0;
    pointer-events: none;
    background-color: rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(8px);
    z-index: 800;
}
.overlay.active {
    opacity: 1;
    pointer-events:all;
}
.hover-red, .hover-blue, .hover-white {
    transition: background-color 0.4s ease;
}
.hover-red-color {
    transition: color 0.4s ease;
}
.hover-red:hover, .hover-red.red:hover {
    background-color: var(--bg-color-red-hover);
}
.hover-blue.blue:hover {
    background-color: var(--bg-color-turquoise-hover);
}
.hover-white:hover {
    background-color: var(--bg-color-white-hover);
}
.hover-red-color:hover {
    color: var(--bg-color-red-hover);
}
/* body {
    background: linear-gradient(#fff 80%, #3d3d3d 150%);
} */
/* Шапка */
.header {
    border-bottom: 1px solid rgba(17, 17, 18, 0.16);
    position: fixed;
    z-index: 1000;
    width: 100%;
    background-color: #fff;
}
.header-banner {
    background: var(--bg-color-turquoise);
    display: flex;
    justify-content: center;
}
.header-main {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 16px 48px;
    background-color: #fff;
    gap: 30px;
}
.header-link-wrapper-pc {
    justify-self: center;
}
.h-socials {
    display: flex;
    column-gap: 8px;
    justify-self: start;
}
.menu-and-booking {
    display: flex;
    column-gap: 10px;
    justify-self: end;
}
.booking-button {
    background-color: var(--bg-color-red);
    border-radius: 30px;
    font-weight: 800;
    font-size: 15px;
    text-transform: uppercase;
    line-height: 15px;
    color: #fff;
    padding: 17px 26px;
}
.burger-menu {
    height: 50px;
    width: 50px;
    border: 1px solid #21212329;
    border-radius: 50%;
    position: relative;
}
.burger-menu::after {
    content: '';
    background-image: url('../imgs/svg/burger.svg');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 18px;
    height: 12px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.burger-menu.active::after {
    background-image: url('../imgs/svg/cross.svg');
    width: 14px;
    height: 14px;
    top: 50%;
    left: 50%;
}
/* Меню */
.menu {
    width: 100%;
    position: fixed;
    justify-self: center;
    z-index: 900;
    border-radius: 0 0 30px 30px;
    background-color: rgb(255, 255, 255);
    padding: 32px 48px 48px;
    top: var(--menu-height);
    display: flex;
    transition: top 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    margin-inline: 12px 27px;
}
.overlay.active .menu {
    top: var(--header-height);
} 
.menu-title-styles {
    font-weight: 800;
    font-size: 21px;
    line-height: 2.04;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 16px;
}
.branches-city-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.menu-branches {
    padding-right: 90px;
    border-right: 1px solid #1111122f;
}
.m-br-title-styles {
    font-size: 14px;
    line-height: 1.25;
    letter-spacing: -0.46px;
    color: #11111299;
}
.m-br-styles {
    font-weight: 600;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -1px;
    position: relative;
    margin-left: 32px;
}
.menu-nav {
    padding-inline: 90px;
    border-right: 1px solid #1111122f;
}
.branches-moscow {
    margin-bottom: 37px;
}
.m-branches-city-styles {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.m-br-for-pseudo::before {
    content: '';
    background-image: url('../imgs/svg/red-icon-geo.svg');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: -30px;
    width: 18px;
    height: 23px;
}
.menu-nav-list {
    display: flex;
    flex-direction: column;
    gap: 11px;
}
.m-nav-styles {
    font-weight: 600;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -1px;
    color: #111112;
}
.menu-contacts {
    padding-left: 90px;
}
.menu-contacts-list {
    display: flex;
    flex-direction: column;
    gap: 11px;
}
.m-con-item.soc-for-pseudo::after {
    content: '';
    background-image: url('../imgs/svg/arrow-black.svg');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 18px;
    height: 18px;
    top: 50%;

    transform:translate(15px, -50%);
}
.m-con-item {
    font-weight: 600;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -1px;
    position: relative;
    color: #111112;
}

/* Модальное окно */

.modal-overlay {
    width: 100vw;
    height: 100vh;
    position: fixed;
    opacity: 0;
    pointer-events: none;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(8px);
    z-index: 1100;
    transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.modal-overlay.active {
    opacity: 1;
    pointer-events: all;
}
.modal-window {
    background-color: #fff;
    border-radius: 30px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    margin-inline: 20px;
    width: 660px;
}
.modal-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.form-item {
    flex:1;
}
.modal-window-title {
    font-weight: 800;
    font-size: 24px;
    margin-bottom: 48px;
    text-align: center;
}
.input-item {
    font-weight: 400;
    font-size: 19px;
    line-height: 1.05;
    padding: 14px 19px 16px;
    background-color: #F5F6F7;
    border-radius: 30px;
}
.submit-btn {
    margin-block: 24px 16px;
    background-color: var(--bg-color-red);
    border-radius: 30px;
    padding-block: 17px;
    font-weight: 700;
    font-size: 15px;
    line-height: 15px;
    text-transform: uppercase;
    color: #fff;
}
.modal-private-policy-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.modal-private-policy-parag {
    font-weight: 300;
    color: #2C2C2C;
    font-size: 14px;
    text-align: center;
}
.modal-private-policy-link {
    font-weight: 300;
    color: var(--bg-color-red);
    font-size: 14px;
}
/* Hero-блок */

.hero-block {
    padding: calc(var(--header-height) + 64px) 48px 48px;
    border-radius: 0 0 56px 56px;
    display: flex;
    flex-direction: column;
    gap: 35px;
    margin-bottom: 20px;
    padding-top: 177px;
}
.basis-info {
    display: flex;
    justify-content: space-between;
    gap: 34px;
}
.area-for-h1 {
    row-gap: 19px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: start;
}
.branches {
    background-color: var(--bg-color-white);
    border: 1px solid #ededee00;
    border-top: 0px solid ;
    border-radius: 30px;
    padding: 11px 16px 12px 39px;
    font-weight: 800;
    font-size: 14px;
    text-transform: uppercase;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}
.branches-text {
    flex: 1;
    padding-right: 104px;
    z-index: 100;
}
.branches-options {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--bg-color-white);
    border: 1px solid #EDEDEE;
    border-top: 0px solid #ededee00;
    border-radius: 0 0 30px 30px;
    padding: 8px 0;
    list-style: none;
    display: none; /* Скрыт по умолчанию */
    z-index: 95;
}
/* 3. Открытое состояние (добавляется через JS) */
.branches-pseudo.open .branches-options {
    display: block;
}
/* 4. Каждый пункт списка */
.branches-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 39px 11px 45px;
    cursor: pointer;
    transition: background 0.15s ease;
    font-size: 14px;
    text-transform: uppercase;
}
.branches-option::before {
    content: '';
    background-image: url('../imgs/svg/select-option.svg');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 16px;
    height: 16px;
    z-index: 100;
    top: 50;
    left: 16px;
}
.branches-option.selected::before {
    content: '';
    background-image: url('../imgs/svg/select-option-active.svg');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 16px;
    height: 16px;
    z-index: 100;
    top: 50;
    left: 16px;
}
.branches-option:hover {
    background: var(--bg-color-gray);
}

/* Выбранный пункт */
.branches-option.selected {
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    color: var(--bg-color-red);
}
.branches-pseudo {
    position: relative;
    z-index: 400;
}
.branches-pseudo.open::after {
    content: '';
    width: 90%;
    position: absolute;
    height: 1px;
    background-color: #11111225;
    z-index: 510;
    left: 50%;
    transform: translateX(-50%);
}
.branches::after {
    content: '';
    background-image: url('../imgs/svg/select-arrow.svg');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 16px;
    height: 16px;
    z-index: 100;
    right: 16px;
}
.branches::before {
    content: '';
    background-image: url('../imgs/svg/red-icon-geo.svg');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 11px;
    height: 14px;
    z-index: 5;
    transform:translateY(-50%);
    top: 50%;
    left: 16px;
}
.branches:focus {
    outline: none;
}
.h1-el {
    font-size: 98px;
    line-height: 85px;
    letter-spacing: -1px;
    text-transform: lowercase;
}
.hero-socials {
    display: flex;
    flex-direction: column;
    row-gap: 8px;
}
.service-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.service-card {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: space-between;
    height: 160px;
    padding: 16px;
    border-radius: 16px;
    background-color: var(--bg-color-white);
    overflow: hidden;
}
.service-card.blue {
    background-color: var(--bg-color-turquoise);
}
.service-card.red {
    background-color: var(--bg-color-red);
}
.card-heading {
    font-weight: 800;
    text-transform: lowercase;
    line-height: 24px;
    font-size: 18px;
    color: #000;
}
.card-link {
    width: 32px;
    height: 32px;
    border: 0.5px solid #21212380;
    border-radius: 16px;
    margin: 0 0 0 auto;
    position: relative;
}
.service-card.blue *, .service-card.red * {
    color: #fff;
    border-color: #fff;
}
.card-link::after {
    content: '';
    background-image: url('../imgs/svg/arrow-black.svg');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 10px;
    height: 10px;
    top: 52%;
    left: 52%;
    transform: translate(-50%, -50%);
}
.service-card.blue .card-link::after, .service-card.red .card-link::after {
    content: '';
    background-image: url('../imgs/svg/arrow-white.svg');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 10px;
    height: 10px;
    top: 52%;
    left: 52%;
    transform: translate(-50%, -50%);
}
.service-card.book-holiday::after {
    content: '';
    background-image: url('../imgs/svg/baloons.svg');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    height: 130px;
    width: 220px;
    top: 56px;
    left: 0px;
}
.service-card.buy-ticket::after {
    content: '';
    background-image: url('../imgs/svg/ticket.svg');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    height: 92px;
    width: 201px;
    top: 69px;
    left: 0px;
    z-index: 5;
}
.service-card.stock::after {
    content: '';
    background-image: url('../imgs/svg/percentage-sign.svg');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    height: 92px;
    width: 201px;
    top: 69px;
}
.service-card.visiting::after {
    content: '';
    background-image: url('../imgs/svg/visiting.svg');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    height: 92px;
    width: 201px;
    top: 69px;
    left: 0;
}

/* Наши направления */

.directions {
    padding-top: 84px;
    margin-bottom: 20px;
    overflow:hidden;
}
.directions-wrapper-pc {
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
}
.directions-h2 {
    margin-bottom: 64px;
}
.directions-wrapper {
    position: relative;
    width: 100%;
    height: 596px;
}
.directions-duo {
    position: absolute;
    left: 50%;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    gap: 1000px;
    max-width: 432px;
    transform: 
        translateX(-50%)
        rotate(calc(var(--i) * 30deg));
}
.direction {
    position: relative;
    width: 432px;
    height: 511px;
    border-radius: 50px;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
}
.direction-title {
    position: relative;
    padding: 9px 91px;
    background-color: #2020204D;
    backdrop-filter: blur(13px);
    margin: 34px;
    flex: 1;
    max-height: 61px;
    font-weight: 800;
    font-size: 21px;
    line-height: 2.02;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-align: center;
    color: #fff;
    border-radius: 84px;
}
.dir-1 {
    background-image: url('../imgs/png/complex1.png');
    background-position: 50% 0;
}
.dir-2 {
    background-image: url('../imgs/png/complex2.png');
}
.dir-3 {
    background-image: url('../imgs/png/complex3.png');
}
.dir-4 {
    background-image: url('../imgs/png/complex4.png');
}
.dir-5 {
    background-image: url('../imgs/png/complex5.png');
}
.dir-6 {
    background-image: url('../imgs/png/complex6.png');
}
.dir-7 {
    background-image: url('../imgs/png/complex7.png');
}
.dir-8 {
    background-image: url('../imgs/png/complex8.png');
}
.dir-9 {
    background-image: url('../imgs/png/complex9.png');
}
.dir-10 {
    background-image: url('../imgs/png/complex10.png');
}
.dir-11 {
    background-image: url('../imgs/png/complex5.png');
    background-position: 80% 0;
}
.dir-12 {
    background-image: url('../imgs/png/complex4.png');
    background-position: 60% 0;
}
.dir-down {
    transform:scale(-1, -1)
}

/* Обёртка */
.directions-wrapper-mob {
    position: relative;
    width: 100%;
    height: 100%;
    display: none;
    z-index: 100;
}
/* Видимое окно (без скролла) */
.directions-viewport {
    height: 55vh;
    width: 100%;
    overflow: hidden;
}

/* Трек со слайдами */
.directions-slider, .food-section-slider {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Один слайд — занимает ровно 100% ширины вьюпорта */
.direction-item {
    flex: 0 0 100%; /* Каждый слайд = 100% ширины */
    height: 100%;
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    filter: contrast(0.8);
}
.direction-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%; /* Высота затемнения (можно менять) */
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    pointer-events: none; /* Чтобы не мешало кликам */
    z-index: 1;
}
/* Картинка на весь фон */
.direction-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Текст по центру внизу */
.direction-name {
    position: absolute;
    bottom: 64px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 32px;
    font-weight: 900;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0;
    z-index: 2; /* Поверх градиента */
}

/* ===== ТОЧКИ (пагинация) ===== */
.dots-pagination {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 14px;
    z-index: 999;
}

/* Неактивная точка */
.dots-pagination .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
}
.dots-pagination .dot.active {
    background: #fff;
    border: 1px solid rgba(255, 255, 255, 0);
    outline: 2px solid rgba(255, 255, 255, 1); 
    outline-offset: 4px;
}
/* Секция с едой */

.food-section {
    padding: 68px 48px 48px;
    margin-bottom: 20px;
}
.food-nav {
    display: flex;
    justify-content: space-between;
    margin-top: 32px;
    margin-bottom: 48px;
    gap: 20px;
}
.food-categories {
    display: flex;
    gap: 22px;
    align-items: baseline;
}
.wrapper-for-f-category {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin: auto 0 auto 0;
}
.wrapper-for-f-category.active > .heart-emo {
    display: inline;
}
.wrapper-for-f-category.active > .food-category {
    color: #000;
    font-weight: 700;
}
.heart-emo {
    display: none;
}
.food-category {
    font-weight: 400;
    font-size: 19px;
    line-height: 20px;
    color: #5A5A5B;
    cursor: pointer;
}
.food-catalog {
    width: 100%;
    display: grid;
    overflow: hidden;
    gap: 32px;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 32px) / 2); 
}
.food-card {
    display: flex;
    background: linear-gradient(var(--bg-color-white), #F6F6F6);
    border-radius: 40px;
    gap: 32px;
    position: relative;
}
.food-card.hit::before {
    content: 'ХИТ';
    font-size: 18px;
    line-height: 1.22;
    letter-spacing: -0.8px;
    color: #fff;
    position: absolute;
    padding: 7px 20px 7px;
    border-radius: 83px;
    background: rgba(0, 0, 0, 0.2); 
    top: 20px;
    left: 20px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.food-img {
    max-width: 296px;
    border-radius: 40px;
}
.card-info {
    margin: 32px 32px 69px 0px;
    flex: 1;
}
.f-card-heading {
    font-size: 24px;
    line-height: 1.79;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #111112;
}
.card-parag {
    font-size: 12px;
    line-height: 1.79;
    line-height: 1.58;
    letter-spacing: -0.7px;
    margin-bottom: 26px;
}
.order-btn {
    background-color: var(--bg-color-red);
    padding: 13px 43px;
    border-radius: 30px;
    color: #fff;
    font-weight: 900;
    font-size: 14px;
    line-height: 1.07;
    text-transform: uppercase;
    margin-bottom: 24px;
}
.nutrition-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: #5A5A5B;
    font-size: 16px;
}

.nutrition-item {
    display: flex;
    align-items: baseline;
    gap: 8px; 
}

.nut-label {
    white-space: nowrap; /* Запрещает перенос слов */
}

.nut-value {
    white-space: nowrap; /* Запрещает перенос цифр */
}
.dash-line {
    flex:1;
    border: 1px dashed #D0D0D0;
    height: 1px;
    transform: translateY(-4px);
}
.food-section-wrapper-mob {
    position: relative;
    width: 100%;
    height: 100%;
    transform:translateY(-50px);
    overflow: hidden;
    display: none;
}

.food-section-viewport {
    height: 74vh;
    width: 100%;
    overflow: hidden;
}
.food-item {
    flex: 0 0 100%; /* Каждый слайд = 100% ширины */
    height: 100%;
    position: relative;
    overflow: hidden;
    filter: contrast(0.8);
}
.food-name, .food-more-detailed {
    position: absolute;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.79;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #111112;
    bottom: 100px;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
}
.food-more-detailed {
    font-size: 14px;
    font-weight: 400;
    line-height: 0.51;
    letter-spacing: -0.7px;
    text-transform: capitalize;
}
.food-categories.mob {
    bottom: 32px;
    left: 16px;
    position: absolute;
}
/* Пунктирная линия */
.nutrition-label::before {
    content: '';
    height: 1px;
    border-bottom: 1px dashed #C0C0C0; 
    margin: 0 8px; 
    align-self: center; 
}
.food-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%; /* Высота затемнения (можно менять) */
    background: linear-gradient(to top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none; /* Чтобы не мешало кликам */
    z-index: 1;
}
/* Картинка на весь фон */
.food-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Мы в соцсетях */

.we-in-socials {
    padding: 64px 48px 48px;
    background: linear-gradient(#F6F6F6, #fcfcfc);
}
h2.we-in-socials-h2 {
    margin-bottom: 16px;
    align-self: start;
}
.give-flip-hash {
    font-weight: 800;
    font-size: 48px;
    line-height: 1.625;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
    margin-top: 16px;
}
.we-in-socials-wrapper {
    display: flex;
    flex-direction: column;
}
.soc-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 48px;
}
.we-in-socials-header {
    display: flex;
    flex-direction: column;
}
.we-in-socials-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-bottom: 32px;
}
.we-in-soc-info {
    font-size: 16px;
    line-height: 1.375;
    letter-spacing: -0.8px;
}
.food-slider-btns, .we-in-socials-slider-btns {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-right: 16px;
}
/* Обертка слайдера — скрывает края */
.tiktok-video-viewport {
    width: 100%;
    overflow: hidden;
    position: relative;
}
/* Трек — все видео в ряд */
.tt-video-slider {
    display: flex;
    gap: 13px; /* Расстояние между видео */
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    width: max-content;
}

/* Базовое видео */
.tiktok-video {
    flex: 0 0 calc((100% - 13px * 4) / 5);
    max-width: 250px;
    width: 100%;
    border-radius: 24px;
    aspect-ratio: 9 / 16;
    object-fit: cover;
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    /* opacity: 0.4; */
    cursor: pointer;
    /* transform: scale(0.85); */
}

/* Центральное видео (крупнее, ярче) */
.tiktok-video.focus {
    width: 220px;
    transform: scale(1);
    opacity: 1;
    z-index: 10;
}
.tt-link-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 48px;
}
.tt-link {
    background-color: #000;
    border-radius: 30px;
    padding: 18px 110px 16px 19px;
    font-weight: 900;
    font-size: 17px;
    line-height: 0.82;
    text-transform: uppercase;
    color: #fff;
    position: relative;
}
.tt-link::after {
    content: '';
    background-image: url(../imgs/svg/tiktok-logo.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 80px;
    height: 20px;
    top: 12px;
    right: 20px;
}
.we-in-soc-hash {
    font-weight: 800;
    font-size: 48px;
    line-height: 1.625;
    letter-spacing: 0.5px;
    color:#000;
}
.we-in-soc-parag.mob {
    font-size: 16px;
    line-height: 1.375;
    letter-spacing: -0.8px;
    color: #111112BF;
}
.we-in-soc-hash.mob, .we-in-soc-parag.mob {
    margin-left: 16px;
}
/* Раздел для взрослых */
.for-adults {
    background-color: var(--bg-color-gray);
    margin-bottom: 20px;
}
.for-adults-pc {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
}
.for-adults-wrapper-pc {
    border-radius: 56px;
    display: flex;
    justify-content: space-between;
    overflow:hidden;
    max-height: 700px;
}
.for-adults-info {
    padding: 64px 48px 59px;
    align-items: start;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.f-ad-subtitle {
    margin-top: 26px;
    font-weight: 800;
    font-size: 48px;
    line-height: 100%;
    letter-spacing: 0.5px;
    text-align: right;
    position: relative;
}
.f-ad-subtitle::after {
    content: '';
    height: 3px;
    width: 106px;
    background-color: #D20030;
    position: absolute;
    left: 0;
    bottom: 20px;
}
.f-ad-parag {
    max-width: 472px;
    font-size: 16px;
    line-height: 1.375;
    letter-spacing: -0.8px;
    color: #111112BF;
}
.f-ad-complexes-viewport {
    max-width: 50%;
    overflow: hidden;
    border-radius: 0 48px 48px 0;
}
.f-ad-complexes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 13px;
}
.complex {
    position: relative;
}
.complex > img {
    border-radius: 48px;
}
.f-ad-complexes .complex {
    top: -100%;
}
.complex:nth-child(even) {
    transform: translateY(50%);
}
.complex-info {
    background-color:#20202080;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 30px 32px;
    border-radius: 40px;
    position: absolute;
    bottom: 10px;
    left: 10px;
    right: 10px;

}
.name-complex {
    font-weight: 900;
    font-size: 21px;
    color: #fff;
    margin-bottom: 13px;
}
.complex-parag {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.3);
}
.for-adults-mob {
    padding: 40px 10px;
    display: none;
    flex-direction: column;
    align-items: start;
}
.f-ad-subtitle.mob {
    margin: 0 6px 32px;
}
.f-ad-subtitle.mob::after {
    bottom: 18px;
}
.complexes {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.complex-mob:not(:last-child) {
    border-bottom: 1px solid #11111221;
}
.for-adults-mob:last-child() {
    margin-bottom: 0;
}
.complex-title.mob {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 16px;
}
.complex-h2.mob {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.125;
    letter-spacing: 0px;
    color: #111112;

}
.complex-number {
    font-size: 16px;
    line-height: 1.125;
    color: #1111124b
}
.complex-bg {
    object-fit: cover;
    border-radius: 24px;
    max-height: 190px;
    width: 100%;
    filter: contrast(0.8);
    margin-bottom: 16px;
}
.complex-parag.mob {
    font-size: 12px;
    line-height: 1;
    color: #111112b2;
    margin-inline: 6px;
    margin-bottom: 24px;
}
.complex-mob:last-child .complex-parag{
    margin-bottom: 0;
}
/* Часто задаваемые вопросы */

.faq-section {
    padding: 74px 48px 48px;
    border-radius: 56px 56px 0 0;
}
.faq-subtitle {
    margin-block: 16px 48px;
    font-weight: 800;
    font-size: 48px;
    line-height: 1.645;
    letter-spacing: 0.5px;
}
.questions-wrapper {
    display: flex;
    gap: 24px;
    margin-bottom: 48px;
}
.questions {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: calc(50% - 24px / 2);
}
.question {
    background-color: var(--bg-color-white);
    padding: 35px 32px;
    border-radius: 20px;
    font-weight: 800;
    font-size: 18px;
    cursor: pointer;
    position: relative;
}
.ques-name {
    margin-right: 48px;
}
.ques-name::-webkit-details-marker {
    display: none;
}
details summary {
    display: flex;
    align-items: center;
    list-style: none;
    cursor: pointer;
}
details summary::-webkit-details-marker {
    display: none;
}

details summary::marker {
    display: none;
    content: '';
}
.ques-name::after {
    content: '+';
    position: absolute;
    font-size: 40px;
    line-height: 0.6;
    right: 37px;
    color: #1D1D1D;
    transition: transform 0.2s ease;
}
.question[open] .ques-name::after {
    transform: rotate(45deg)
}
::details-content {
    transition: height 0.3s ease, content-visibility 0.3s linear allow-discrete;
    height: 0;
    overflow: clip;
}
[open]::details-content {
    height: auto;
}
.ques-answer {
    margin-top: 48px;
    margin-right: 60px;
    font-size: 16px;
    color: #111112BF;
}
.all-quest-wrapper {
    display: flex;
    justify-content: center;
}
.check-all-questions {
    padding: 18px 54px;
    background-color: #000;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 900;
    line-height: 0.99;
    text-transform: uppercase;
    color:#fff;
}
/* Контакты */
.footer-section {
    background-color: #292929;
    padding-block: 0 24px;
}
.contacts {
    background-color: var(--footer-bg-color-dark);
    padding: 64px 48px 48px;
    margin-bottom: 48px;
    border-radius: 0 0 56px 56px;
}
.contacts-wrapper-pc {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.contacts-h2 {
    border: 0.5px solid #3A3A3B;
    background-color: var(--footer-bg-color-dark);
    color: #F1F3F4;
    margin-bottom: 16px;
}
.contacts-subtitle {
    font-weight: 800;
    font-size: 48px;
    letter-spacing: 0.5px;
    color: #fff;
    text-transform: lowercase;
    margin-bottom: 16px;
    text-align: center;
}
.welcome-message {
    font-size: 16px;
    line-height: 1.375;
    letter-spacing: -0.8px;
    color: #FFFFFFBF;
    margin-bottom: 50px;
}
.contacts-branches {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    width: 100%;
    margin-bottom: 24px;
}
.branch {
    background-color: #FFFFFF0D;
    padding: 15px;
    border-radius: 20px;
}
.contacts-branches.mob {
    display: flex;
}
.branch.mob {
    flex: 0 0 calc((100% - 10px / 4) / 1.2)
}
.branch-title {
    font-weight: 700;
    font-size: 15px;
    color: #fff;
    margin-bottom: 5px;
    margin-left: 20px;
    position: relative;
}
.time-getting {
    font-size: 11px;
    color: #ffffff7a;
}
.br-line {
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ffffff33;
    margin-block: 11px;
}
.branch-address {
    font-size: 13px;
    line-height: 1.06;
    color: #ffffff7c;
}

.branch-title::before {
    content: '';
    width: 15px;
    height: 13px;
    position: absolute;
    top: 3px;
    left: -20px;
    
    /* Ваш SVG как маска */
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='14' viewBox='0 0 16 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7441 10.8581C14.5402 9.96721 14.3403 9.07201 14.1446 8.17254C13.9488 7.27306 13.751 6.37573 13.5511 5.48054C13.3513 4.58534 13.1535 3.69229 12.9577 2.80138C12.7619 1.90191 12.5621 1.00243 12.3581 0.102959C12.3581 0.0943918 12.3561 0.081542 12.352 0.0644093C12.3479 0.0472765 12.3418 0.0258608 12.3337 0.000161171C11.934 0.599812 11.5343 1.19518 11.1346 1.78626C10.7267 2.38591 10.3229 2.98342 9.92321 3.57879C9.52351 4.17416 9.12381 4.76738 8.7241 5.35847C8.3244 5.95812 7.92062 6.55777 7.51276 7.15742C7.11306 6.55777 6.71336 5.95812 6.31366 5.35847C5.91396 4.76738 5.51221 4.17416 5.10843 3.57879C4.70465 2.98342 4.30291 2.38591 3.90321 1.78626C3.50351 1.19518 3.09973 0.599812 2.69187 0.000161171C2.68371 0.0258608 2.67963 0.0472765 2.67963 0.0644093C2.67963 0.081542 2.67556 0.0943918 2.6674 0.102959C2.47163 1.00243 2.27585 1.90191 2.08008 2.80138C1.87615 3.69229 1.6763 4.58534 1.48053 5.48054C1.28476 6.37573 1.08898 7.27306 0.893211 8.17254C0.689282 9.07201 0.489431 9.96721 0.293658 10.8581C0.244715 11.0723 0.195772 11.2843 0.146829 11.4942C0.0978862 11.7041 0.0489431 11.9161 0 12.1302C0 12.1388 0 12.1495 0 12.1624C0 12.1752 0 12.1859 0 12.1945C0.603631 12.1945 1.2093 12.1945 1.81701 12.1945C2.42472 12.1945 3.03447 12.1945 3.64626 12.1945C3.76046 11.5434 3.87262 10.8945 3.98274 10.2478C4.09287 9.60099 4.20503 8.9478 4.31923 8.28819C4.58841 8.69937 4.8576 9.11056 5.12679 9.52175C5.38782 9.92437 5.65293 10.327 5.92211 10.7296C6.1913 11.1322 6.45641 11.5391 6.71744 11.9503C6.98663 12.353 7.25173 12.7556 7.51276 13.1582C7.78195 12.7556 8.05114 12.353 8.32032 11.9503C8.58135 11.5391 8.84442 11.1322 9.10953 10.7296C9.37464 10.327 9.64179 9.92437 9.91097 9.52175C10.1802 9.11056 10.4493 8.69937 10.7185 8.28819C10.8327 8.9478 10.9449 9.60099 11.055 10.2478C11.1651 10.8945 11.2773 11.5434 11.3915 12.1945C12.0033 12.1945 12.613 12.1945 13.2208 12.1945C13.8285 12.1945 14.4341 12.1945 15.0378 12.1945C15.0378 12.1859 15.0378 12.1752 15.0378 12.1624C15.0378 12.1495 15.0378 12.1388 15.0378 12.1302C14.9888 11.9161 14.9378 11.7041 14.8848 11.4942C14.8318 11.2843 14.7849 11.0723 14.7441 10.8581Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg width='16' height='14' viewBox='0 0 16 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7441 10.8581C14.5402 9.96721 14.3403 9.07201 14.1446 8.17254C13.9488 7.27306 13.751 6.37573 13.5511 5.48054C13.3513 4.58534 13.1535 3.69229 12.9577 2.80138C12.7619 1.90191 12.5621 1.00243 12.3581 0.102959C12.3581 0.0943918 12.3561 0.081542 12.352 0.0644093C12.3479 0.0472765 12.3418 0.0258608 12.3337 0.000161171C11.934 0.599812 11.5343 1.19518 11.1346 1.78626C10.7267 2.38591 10.3229 2.98342 9.92321 3.57879C9.52351 4.17416 9.12381 4.76738 8.7241 5.35847C8.3244 5.95812 7.92062 6.55777 7.51276 7.15742C7.11306 6.55777 6.71336 5.95812 6.31366 5.35847C5.91396 4.76738 5.51221 4.17416 5.10843 3.57879C4.70465 2.98342 4.30291 2.38591 3.90321 1.78626C3.50351 1.19518 3.09973 0.599812 2.69187 0.000161171C2.68371 0.0258608 2.67963 0.0472765 2.67963 0.0644093C2.67963 0.081542 2.67556 0.0943918 2.6674 0.102959C2.47163 1.00243 2.27585 1.90191 2.08008 2.80138C1.87615 3.69229 1.6763 4.58534 1.48053 5.48054C1.28476 6.37573 1.08898 7.27306 0.893211 8.17254C0.689282 9.07201 0.489431 9.96721 0.293658 10.8581C0.244715 11.0723 0.195772 11.2843 0.146829 11.4942C0.0978862 11.7041 0.0489431 11.9161 0 12.1302C0 12.1388 0 12.1495 0 12.1624C0 12.1752 0 12.1859 0 12.1945C0.603631 12.1945 1.2093 12.1945 1.81701 12.1945C2.42472 12.1945 3.03447 12.1945 3.64626 12.1945C3.76046 11.5434 3.87262 10.8945 3.98274 10.2478C4.09287 9.60099 4.20503 8.9478 4.31923 8.28819C4.58841 8.69937 4.8576 9.11056 5.12679 9.52175C5.38782 9.92437 5.65293 10.327 5.92211 10.7296C6.1913 11.1322 6.45641 11.5391 6.71744 11.9503C6.98663 12.353 7.25173 12.7556 7.51276 13.1582C7.78195 12.7556 8.05114 12.353 8.32032 11.9503C8.58135 11.5391 8.84442 11.1322 9.10953 10.7296C9.37464 10.327 9.64179 9.92437 9.91097 9.52175C10.1802 9.11056 10.4493 8.69937 10.7185 8.28819C10.8327 8.9478 10.9449 9.60099 11.055 10.2478C11.1651 10.8945 11.2773 11.5434 11.3915 12.1945C12.0033 12.1945 12.613 12.1945 13.2208 12.1945C13.8285 12.1945 14.4341 12.1945 15.0378 12.1945C15.0378 12.1859 15.0378 12.1752 15.0378 12.1624C15.0378 12.1495 15.0378 12.1388 15.0378 12.1302C14.9888 11.9161 14.9378 11.7041 14.8848 11.4942C14.8318 11.2843 14.7849 11.0723 14.7441 10.8581Z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    
    /* Базовый цвет (по умолчанию черный, если не задан) */
    background-color: #000;
}

/* Цвета для разных классов */
.branch-title.red::before {
    background-color: #F10C09;
}
.branch-title.green::before {
    background-color: #13703A;
}
.branch-title.yellow::before {
    background-color: #BFAC06;
}
.branch-title.purple::before {
    background-color: #84069E;
}
.yandex-map-wrapper {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
}
/* Футер */
.footer-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 64px;
}
.footer-block {
    padding: 48px 73px 48px 39px;
}

.footer-address-info {
    display: flex;
    justify-content: space-between;
    margin-bottom: 69px;
    gap: 48px;
}
.footer-branches-address {
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.br-title-styles {
    font-size: 15px;
    line-height: 1.25;
    letter-spacing: -0.6px;
    color: #11111299;
    margin-bottom: 16px;
}
.branches-city-styles {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.br-for-styles {
    margin-left: 32px;
    font-weight: 600;
    font-size: 26px;
    line-height: 1.19;
    letter-spacing: -1.3px;
    position: relative;
}
.br-for-pseudo::before {
    content: '';
    background-image: url('../imgs/svg/red-icon-geo.svg');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 18px;
    height: 23px;
    top: 5px;
    left: -30px;
}
.footer-contacts {
    display: flex;
    flex-direction: column;
}
.f-con-title {
    font-size: 18px;
    line-height: 1.33;
    letter-spacing: -1.08px;
    text-transform: uppercase;
    color: #11111280;
    margin-bottom: 22px;
}
.f-con-email {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: -1px;
    color: #111112;
    margin-bottom: 17px;
}
.f-con-phone {
    font-weight: 500;
    font-size: 40px;
    line-height: 1.25;
    letter-spacing: -2.5px;
    color: #111112;
}
.footer-nav-and-socials {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.footer-nav-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 32px;
}
.footer-socials {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 48px;
}
.f-nav-item {
    font-weight: 500;
    font-size: 24px;
    line-height: 1.625;
    letter-spacing: -1.5px;
    color: #111112;
}
.f-soc-net {
    font-weight: 500;
    font-size: 22px;
    line-height: 1.54;
    letter-spacing: -0.89px;
    color: #111112;
    position: relative;
}
.f-soc-net.soc-for-pseudo::after {
    content: '';
    background-image: url('../imgs/svg/arrow-black.svg');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 18px;
    height: 18px;
    top:8px;
    transform:translateX(15px);
}
.footer-order-call-btn {
    font-weight: 900;
    font-size: 15px;
    line-height: 0.99;
    text-transform: uppercase;
    color: #fff;
    background-color: var(--bg-color-red);
    padding: 18px 42px;
    border-radius: 30px;
    margin-bottom: 52px;
}
.privacy-policy.mob {
    padding-bottom: 25px;
}
.f-priv-pol-styles {
    font-size: 14px;
    line-height: 1.57;
    color: #11111299;
}
.footer-wrapper-mob {
    /* display: none; */
    background-color: #111112;
}
@media (max-width: 1200px) {
    .food-catalog {
        grid-auto-columns: calc((100% - 32px));
    }
    .f-card-heading {
        font-size: 32px;
    }
    .card-parag {
        font-size: 20px;
    }
    .order-btn {
        font-size: 20px;
        padding: 20px 50px
    }
}
@media (max-width: 1046px) {
    .hero-soc-icon {
        width: 50px;
    }
    .name-complex {
        font-size: 16px;
    }
    .complex-parag {
        font-size: 10px;
    }
    .f-ad-subtitle::after {
        bottom: 68px;
    }
    .service-cards {
        grid-template-columns: repeat(2, 1fr);
    }
    .complex-info {
        padding: 20px 24px;
    }
}
.questions-mobile {
    display:none;
    flex-direction: column;
}
.questions-wrapper-mobile {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
}
.faq-h2-mob {
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 16px;
}
.faq-subtitle-mob {
    font-size: 16px;
    line-height: 1.125;
    letter-spacing: -0.8px;
    margin-bottom: 32px;
    color: #111112BF;

}
.check-all-questions.mob {
    text-align: center;
    margin-bottom: 80px;
}
.contacts-wrapper-mobile {
    display: none;
    flex-direction: column;
    overflow: hidden;
}
.contacts-h2-mobile {
    font-weight: 800;
    font-size: 32px;
    margin-bottom: 16px;
    color: #111112;
}
.welcome-message.mob {
    font-size: 16px;
    line-height: 1.125;
    letter-spacing: -0.8px;
    color: #111112BF;
    margin-bottom: 26px;
}
.branch.mob {
    background-color: #F1F3F4;
}
.branch-title.mob {
    color: #050506;
}
.br-line.mob {
    border: 1px solid #1111122d
}
.time-getting.mob, .branch-address.mob {
    color: #1111127c
}
.header-wrapper-mobile {
    display: none;
    flex-direction: column;
}
.header-main-mobile {
    display: flex;
    padding: 16px;
    justify-content: center;
}
.h-logo-link-wrapper-mobile {
    padding-right: 15px;
    border-right: 1px solid #11111229;
    display: flex;
    align-items: center;
}
.h-parag-wrapper {
    padding-left: 15px;
}
.footer-wrapper-mob {
    padding-inline: 9px;
    display: none;
}
.footer-nav-list {
    padding-top: 32px;
}
.order-call-btn-wrapper {
    display: flex;
}
.footer-order-call-btn.mob {
    width: 100%;
}
.f-nav-item.mob {
    color: #fff;
}
.f-con-title.mob {
    color: #ffffff73;
}
.f-con-item.mob {
    color: #fff;
}
.f-con-email.mob {
    margin-bottom: 0;
}
.f-con-phone.mob {
    font-size: 31px;
    line-height: 1.66;
    letter-spacing: -0.5px;
    text-decoration: underline;
    margin-bottom: 32px;
}
.footer-socials.mob {
    flex-direction: row;
    gap: 50px;
    margin-bottom: 23px;
}
.branches-moscow.mob {
    margin-bottom: 0;
}
.branches-naberezhnye-chelny-wrapper.mob {
    margin-bottom: 32px;
}
.br-for-pseudo.mob::before {
    top: 2px;
}
.f-soc-net.soc-for-pseudo.mob::after {
    background-image: url('../imgs/svg/arrow-white.svg');
    top: 6px;
}
.f-soc-net.mob {
    color: #fff;
    font-size: 18px;
}
.br-title-styles.mob {
    color: #ffffff73;
}
.br-for-styles.mob {
    color: #fff;
}
.footer-big-logo.mob {
    width: 100vw;
}
.privacy-policy.mob {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 24px;
}
.f-priv-pol-styles.mob {
    color: #FFFFFF99;
}
@media (max-width: 1412px) {
    .tiktok-video {
        flex: 0 0 calc((100% - 13px * 3) / 4);
    }
}
@media (max-width: 1152px) {
    .tiktok-video {
        flex: 0 0 calc((100% - 13px * 2) / 3);
    }
}
@media (max-width: 932px) {
    .tiktok-video {
        flex: 0 0 calc((100% - 13px) / 2);
    }
    .branch.mob {
        flex: 0 0 calc((100% - 10px / 4) / 2.4)
    }
    .menu-branches {
        padding-right: 45px;
    }
    .menu-nav {
        padding-inline: 45px;
    }
    .menu-contacts {
        padding-inline: 45px;
    }
    .footer-branches-address {
        gap: 24px;
    }
    .br-for-styles {
        font-size: 20px;
        line-height: 1.2;
        letter-spacing: -1px;
    }
    .f-con-phone {
        font-size: 22px;
    }
    .f-nav-item {
        font-size: 20px; 
    }
    .faq-section {
        background-color: #fff;
    }
    .questions-mobile {
        display: block;
    }
    .questions-pc {
        display: none;
    }
    .ques-answer {
        margin-top: 17px;
    }
    .question {
        background-color: var(--bg-color-gray);
        box-shadow: 0px 2px 24px 0px #8989891A;
    }
    .contacts {
        background: var(--bg-color-white);
        padding-top: 0;
    }
    .contacts-wrapper-pc {
        display: none;
    }
    .contacts-wrapper-mobile {
        display: flex;
    }
    .menu-title-styles {
        font-size: 18px;
        line-height: 1.3;
    }
    .m-nav-styles {
        font-size: 14px;
    }
    .m-br-styles {
        font-size: 14px;
    }
    .m-br-for-pseudo::before {
        transform: translateY(-50%);
        top: 50%;
    }
    .m-con-item {
        font-size: 12px;
    }
    .m-con-item.soc-for-pseudo::after {
        width: 10px;
        height: 10px;
    }
}
@media (max-width: 740px) {
    .for-adults {
        margin-bottom: 40px;
        border-radius: 24px;;
    }
    .branch.mob {
        flex: 0 0 calc((100% - 10px / 4) / 1.2)
    }
    .for-adults-mob {
        display: flex;
    }
    .for-adults-wrapper-pc {
        display: none;
    }
    section, .we-in-socials{
        background: #ffffff00;
    }
    .hero-block {
        margin-bottom: 32px;
        border-radius: 0px;
    }
    .food-section {
        margin-bottom: 0;
        z-index: 1000;
    }
    .food-section, .we-in-socials {
        padding: 0 0 24px 0;
    }
    .directions {
        padding: 0;
        margin-bottom: 0;
        border-radius: 24px;
    }
    .faq-section, .contacts, .footer-section{
        padding: 0 15px 0;
    }
    .hero-block {
        padding: calc(var(--header-height) + 64px) 16px 16px
    }
    .header-wrapper-mobile {
        display: flex;
    }
    .header-wrapper-pc {
        display: none;
    }
    .service-card {
        box-shadow: 0 0 20px 1px #0000002f;
    }
    .branches {
        background-color: var(--bg-color-gray);
    }
    .area-for-h1 {
        flex-direction: column-reverse;
    }
    .h1-el {
        font-size: 45px;
        line-height: 1.125;
    }
    .branches-text {
        padding-right: 29px;
    }
    .footer-section {
        background: #fff;
        padding: 0;
    }
    .footer-block {
        padding: 0;
    }
    .footer-wrapper {
        display: none;
    }
    .footer-wrapper-mob {
        display: block;
    }
    .directions-wrapper-pc {
        display: none;
    }
    .directions-wrapper-mob {
        display: block;
    }
    .food-section {
        border-radius: 0;
        background-color: #fff;
    }
    .food-section-wrapper-pc {
        display: none;
    }
    .food-section-wrapper-mob {
        display: block;
    }
    .branches-options {
        background-color: var(--bg-color-gray);
    }
    .tiktok-video {
        opacity: 0.4;
        transform: scale(0.85);
        max-width: 220px;
    }

}
@media (max-width: 467px) {
    .f-ad-subtitle.mob {
        font-size: 32px;
    }
    .service-card {
        height: 110px;
    }
    .f-ad-subtitle.mob::after {
        bottom: 12px;
        width: 67px;
    }
    .service-card.buy-ticket::after,
    .service-card.book-holiday::after,
    .service-card.stock::after,
    .service-card.visiting::after{
        width: 130px;
        height: 60px;
        top: 50px
    }
    .card-heading {
        font-size: 14px;
        line-height: 1.06;
    }
}