.header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 4;
  background: none;
  transition: transform 0.2s ease-in-out; }
  .header__container {
    position: relative; }
  .header__cart-btn.button-app {
    flex-direction: row-reverse;
    gap: 10px;
    padding: 0 15px;
    height: 44px;
    min-width: 324px;
    color: var(--secondary-color); }
    .header__cart-btn.button-app svg path {
      stroke: var(--secondary-color); }
  @media (max-width: 767.98px) {
    .header_rest {
      background: transparent;
      position: absolute; }
      .header_rest .header__action-item {
        border-radius: 32px;
        background: var(--body-color); }
      .header_rest .header__menu-icon {
        border-radius: 32px;
        background: var(--body-color); } }
  @media (max-width: 767.98px) and (hover: hover) {
    .header_rest:hover svg {
      fill: var(--orange); } }
  .header_small {
    box-shadow: 0px 6px 20px rgba(160, 147, 143, 0.14); }
    .header_small .header__row {
      padding: 9px 0;
      align-items: center; }
      @media (max-width: 767.98px) {
        .header_small .header__row {
          display: flex;
          flex-flow: row nowrap;
          justify-content: space-between; } }
    .header_small .header__right {
      justify-content: flex-end;
      width: 0; }
  @media (max-width: 767.98px) {
    .header_policy {
      display: none; } }
  .header--hidden {
    transform: translateY(-100%);
    transition: transform 0.2s ease-in-out; }
  .header--fixed {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1000; }
  .header__row {
    padding: 15px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    min-width: 0; }
    .header__row.menu_mobile {
      position: fixed;
      max-height: 65px;
      padding: 0 12px;
      margin: 0 -15px;
      width: 100%;
      background-color: var(--body-color);
      border-bottom: 1px solid #DDDFE4; }
      .header__row.menu_mobile.no_border_bottom {
        border-bottom: none; }
    .header__row.no_border_bottom.order_page {
      margin: 0 auto;
      padding: 9px 8px; }
  .header__left {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0; }
    @media (max-width: 768px) {
      .header__left {
        gap: 4px; } }
  .header__address {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 600;
    line-height: 24px; }
    .header__address img {
      max-width: 56px;
      flex-shrink: 0; }
  .header__title {
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    text-align: center;
    color: var(--primary);
    width: 100%;
    padding: 0 100px;
    margin-left: 40px; }
    @media (max-width: 768px) {
      .header__title {
        margin-left: 0;
        padding: 0;
        font-weight: 500;
        text-align: start;
        font-size: 20px; } }
  .header__menu-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center; }
  .header__right {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0px;
    flex: 0 0 auto; }
  .header__action-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center; }
    .header__action-item svg {
      transition: all 0.3s cubic-bezier(0.5, 0.02, 0.13, 0.5); }
  .header__lang {
    width: 44px;
    height: 44px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.5, 0.02, 0.13, 0.5);
    cursor: pointer;
    font-weight: 500; }
    @media (hover: hover) {
      .header__lang:hover {
        color: var(--orange); } }
    @media (max-width: 767.98px) {
      .header__lang {
        font-weight: 600; } }
  .header__action-btn {
    width: 44px;
    height: 44px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media (hover: hover) {
      .header__action-btn:hover svg {
        stroke: var(--primary); } }
    .header__action-btn svg path {
      stroke: var(--primary); }
  .header__close-btn {
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center; }
    .header__close-btn:hover svg path {
      stroke: var(--orange);
      transition: all 0.3s cubic-bezier(0.5, 0.02, 0.13, 0.5); }
    @media (max-width: 768px) {
      .header__close-btn svg {
        width: 20px;
        height: 20px; } }
  .header__back-btn {
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center; }
    .header__back-btn:hover svg path {
      stroke: var(--orange);
      transition: all 0.3s cubic-bezier(0.5, 0.02, 0.13, 0.5); }
  .header__logo {
    border-radius: 50%;
    width: 56px;
    height: 56px;
    flex-shrink: 0; }
    @media (max-width: 768px) {
      .header__logo {
        width: 36px;
        height: 36px; } }
  .header__logo_block {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    flex-shrink: 0; }
    @media (max-width: 768px) {
      .header__logo_block {
        width: 36px;
        height: 36px; } }
  .header__background {
    background-color: var(--body-color);
    box-shadow: 0 12px 20px rgba(160, 147, 143, 0.14);
    border-radius: 0; }
    .header__background_mobile_rest {
      background-color: var(--body-color);
      border-bottom-right-radius: 20px;
      border-bottom-left-radius: 20px;
      backdrop-filter: blur(20px);
      box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1); }

.header-lang {
  position: absolute;
  top: 45px;
  right: 0;
  background: var(--ancor-back);
  border: 1px solid var(--ancor-back-border);
  border-radius: 8px;
  padding: 8px 16px;
  z-index: 999;
  width: auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  line-height: 24px; }
  .header-lang.lang-enter-active, .header-lang.lang-leave-active {
    transition: opacity 0.3s, transform 0.3s; }
  .header-lang.lang-enter-from, .header-lang.lang-leave-to {
    opacity: 0;
    transform: translateY(-10px); }
  .header-lang li:not(:last-child) {
    border-bottom: 1px solid var(--ancor-back-border); }
  .header-lang li:first-child .header-lang__link {
    padding-top: 0; }
  .header-lang li:last-child .header-lang__link {
    padding-bottom: 0; }
  .header-lang__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    color: var(--primary);
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.5, 0.02, 0.13, 0.5); }
    @media (hover: hover) {
      .header-lang__link:hover {
        color: var(--orange); } }
    .header-lang__link.active {
      font-weight: 600;
      color: var(--orange); }
    .header-lang__link .vti__flag {
      width: 20px;
      height: 15px;
      margin-right: 4px; }
    .header-lang__link .vti__flag.gb {
      height: 10px !important; }

.animate-btn-enter-active, .animate-btn-leave-active {
  transition: all 0.2s ease-in-out; }

.animate-btn-leave-from {
  opacity: 0; }

.animate-btn-leave-to {
  transform: translateX(100px); }

.animate-btn-enter-from {
  transform: translateX(-20px); }

.animate-btn-enter-from, .animate-btn-leave-to {
  position: absolute;
  visibility: hidden; }

.header-slide-enter-active, .header-slide-leave-active {
  transition: transform 0.18s ease, opacity 0.18s ease; }

.header-slide-enter-from, .header-slide-leave-to {
  transform: translateY(-12px);
  opacity: 0; }

.mobile-tabs-fixed {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 1000;
  background: var(--body-color);
  border-bottom: 1px solid #DDDFE4;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  animation: slideDown 0.3s ease-out;
  padding: 0 9px; }
  .mobile-tabs-fixed .mobile-tabs {
    position: static;
    background: var(--body-color);
    border-radius: 0;
    margin: 0; }

@keyframes slideDown {
  from {
    transform: translateY(-100%);
    opacity: 0; }
  to {
    transform: translateY(0);
    opacity: 1; } }

body {
  padding-top: 0;
  transition: padding-top 0.3s ease; }
  body.has-fixed-tabs {
    padding-top: 60px; }

.header .mobile-tabs {
  background: transparent;
  border-bottom: none;
  margin: 0;
  padding-top: 10px; }

.head__address {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px; }
  @media (max-width: 768px) {
    .head__address {
      margin-left: 0; } }
.header__row.no_border_bottom.order_page {
  margin: 0 auto;
  padding: 16px 8px; }

.footer {
  background: var(--bg-footer);
  color: white;
  padding: 24px 0 32px;
  width: 100%;
  display: flex; }
  @media screen and (max-width: 768px) {
    .footer {
      gap: 20px;
      flex-direction: column-reverse;
      width: 100%;
      bottom: 0; } }
  .footer__container {
    display: flex;
    gap: 20px;
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center; }
    .footer__container :hover {
      color: var(--orange); }
  .footer__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px; }
    @media (max-width: 767.98px) {
      .footer__top {
        flex-direction: column; } }
  @media (max-width: 767.98px) {
    .footer__column:nth-child(3) {
      display: none; } }
  @media (max-width: 767.98px) {
    .footer__column:nth-child(2) .footer__title {
      display: none; } }
  .footer__title {
    font-weight: 600;
    line-height: 24px; }
    .footer__title:not(:last-child) {
      margin-bottom: 4px; }
      @media (max-width: 767.98px) {
        .footer__title:not(:last-child) {
          margin-bottom: 4px; } }
  .footer__info {
    margin-top: 16px;
    display: grid;
    gap: 6px; }
    .footer__info li {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: 14px;
      line-height: 20px; }
      .footer__info li a {
        transition: all 0.3s cubic-bezier(0.5, 0.02, 0.13, 0.5); }
        @media (hover: hover) {
          .footer__info li a:hover {
            color: var(--orange); } }
      .footer__info li img {
        width: 16px;
        height: 16px;
        flex-shrink: 0; }
        @media (max-width: 767.98px) {
          .footer__info li img {
            display: none; } }
  .footer__time {
    margin: 24px 0; }
    @media (max-width: 767.98px) {
      .footer__time {
        margin: 11px 0 0; } }
    .footer__time p {
      font-size: 14px;
      line-height: 20px; }
    .footer__time h4 {
      font-weight: 600;
      font-size: 16px;
      line-height: 24px; }
      .footer__time h4:not(:last-child) {
        margin-bottom: 4px; }
  .footer__copy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    line-height: 16px; }
    @media (max-width: 767.98px) {
      .footer__copy {
        margin-top: 32px; } }
    .footer__copy:not(:last-child) {
      margin-bottom: 8px; }
      @media (max-width: 767.98px) {
        .footer__copy:not(:last-child) {
          margin-bottom: 32px; } }
    .footer__copy img {
      flex-shrink: 0;
      width: 24px; }
  .footer__link {
    display: block;
    text-decoration: none;
    color: var(--black); }
    @media (max-width: 767.98px) {
      .footer__link {
        text-align: center; } }
  .footer__socials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px; }
    @media (max-width: 767.98px) {
      .footer__socials {
        gap: 28px; } }
    .footer__socials li a {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      transition: all 0.3s cubic-bezier(0.5, 0.02, 0.13, 0.5);
      font-size: 14px;
      line-height: 20px; }
      @media (hover: hover) {
        .footer__socials li a:hover {
          color: var(--orange); } }
      @media (hover: hover) {
        .footer__socials li a:hover {
          color: var(--orange); }
          .footer__socials li a:hover .footer__socials-icon svg {
            fill: var(--orange); } }
      @media (max-width: 767.98px) {
        .footer__socials li a span:nth-child(2) {
          display: none; } }
  .footer__socials-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid white;
    border-radius: 50%;
    overflow: hidden;
    transition: all 0.3s ease-in-out; }
    @media (hover: hover) {
      .footer__socials-icon:hover {
        background-color: rgba(255, 255, 255, 0.2);
        border-color: #f0f0f0; } }
    @media (max-width: 767.98px) {
      .footer__socials-icon {
        width: 48px;
        height: 48px; } }
    .footer__socials-icon img {
      width: 100%;
      height: 100%;
      object-fit: scale-down;
      border-radius: 50%; }
  .footer__map {
    border-radius: 16px;
    overflow: hidden; }

@keyframes phone_modal_slide-up {
  from {
    transform: translateY(100%); }
  to {
    transform: translateY(0); } }

@keyframes phone_modal_fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.95); }
  to {
    opacity: 1;
    transform: scale(1); } }

.phone_modal__wrapper {
  background: var(--body-color);
  height: auto;
  animation: phone_modal_fadeInScale 0.3s ease forwards; }
  @media (min-width: 769px) {
    .phone_modal__wrapper {
      padding: 24px;
      border-radius: 16px;
      box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
      background-color: var(--body-color);
      margin: 0 auto; } }
@media (max-width: 768px) {
  .phone_modal__card_wrapper {
    max-height: inherit;
    margin-top: 140px; } }

@media (max-width: 768px) {
  .phone_modal__content_container {
    position: absolute;
    bottom: 0; } }

@media (max-width: 768px) {
  .phone_modal_scroll {
    max-height: 90vh;
    overflow-y: auto; } }

@media (max-width: 768px) {
  .phone_modal_mobile_content {
    padding: 16px;
    border-radius: 16px 16px 0 0;
    background-color: var(--body-color); } }

.phone_modal_title {
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 18px;
  margin: 12px 16px 0 16px; }
  .phone_modal_title span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  @media (min-width: 769px) {
    .phone_modal_title {
      font-size: 22px;
      margin: 0 0 20px 0;
      padding-bottom: 16px;
      border-bottom: 1px solid #f0f0f0; } }
  @media (min-width: 769px) and (max-width: 1024px) {
    .phone_modal_title {
      font-size: 20px; } }
  @media (max-width: 768px) {
    .phone_modal_title {
      padding-bottom: 16px;
      border-bottom: 1px solid var(--modal-border);
      margin: 0 0 16px 0; } }
.phone_modal_content {
  font-size: 18px;
  margin: 12px 16px 0 16px;
  min-width: 400px; }
  @media (min-width: 768px) {
    .phone_modal_content {
      margin: 0;
      min-width: 280px; } }
  @media (max-width: 768px) {
    .phone_modal_content {
      margin: 0;
      min-width: 280px; } }
  .phone_modal_content_item {
    margin-top: 12px; }
    @media (min-width: 769px) {
      .phone_modal_content_item {
        background-color: var(--ancor-back);
        padding: 12px 16px;
        border-radius: 8px;
        border-left: 3px solid var(--primary-color);
        font-weight: 500;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: background-color 0.2s ease, box-shadow 0.2s ease;
        margin-top: 8px;
        position: relative; } }
  @media (min-width: 769px) and (hover: hover) {
    .phone_modal_content_item:hover {
      background-color: var(--primary-background-color);
      box-shadow: 0 4px 12px rgba(255, 148, 25, 0.1); } }
    @media (min-width: 769px) {
        .phone_modal_content_item span {
          font-size: 16px;
          color: var(--primary); } }
    @media (max-width: 768px) {
      .phone_modal_content_item {
        background-color: var(--ancor-back);
        padding: 12px;
        border-radius: 8px;
        border-left: 3px solid var(--primary-color);
        margin-top: 8px; } }
  @media (min-width: 769px) {
    .phone_modal_content_block {
      margin-bottom: 24px; } }
  @media (max-width: 768px) {
    .phone_modal_content_block {
      margin-bottom: 20px; } }
  .phone_modal_content_block > span {
    display: block;
    font-size: 16px;
    color: var(--primary);
    margin-bottom: 8px; }
    @media (max-width: 768px) {
      .phone_modal_content_block > span {
        font-size: 15px; } }
.phone_modal_close {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  transition: all 0.2s ease-in-out; }
  @media (hover: hover) {
    .phone_modal_close:hover {
      background-color: rgba(0, 0, 0, 0.05);
      transform: rotate(90deg); } }
  .phone_modal_close svg path {
    transition: stroke 0.2s ease; }
    .phone_modal_close svg path:hover {
      stroke: var(--orange); }

.phone_modal_tel_link {
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-decoration: none;
  color: inherit; }

.phone_modal_call_icon {
  width: 20px;
  height: 20px;
  opacity: 0.7;
  transition: all 0.2s ease; }
  @media (hover: hover) {
    .phone_modal_call_icon:hover {
      opacity: 1;
      transform: scale(1.1); } }
  @media (max-width: 768px) {
    .phone_modal_call_icon {
      margin-left: 8px; } }
