:root {
  /* Базовый размер шрифта и масштабирование */
  font-size: 16px;

  /* Для магазина */
  --shop-block-height: 320px;
  --image-slot-height: 200px;
  --title-line-clamp: 2;
  --title-line-height: 1.4;

  /* Адаптивные размеры меню и футера */
  --menu-font-size: clamp(0.95rem, 0.8rem + 0.5vw, 1.2rem);
  --mobile-menu-font-size: clamp(1rem, 0.85rem + 0.7vw, 1.3rem);
  --footer-font-size: clamp(0.9rem, 0.75rem + 0.4vw, 1.1rem);
  --logo-height: clamp(2.6rem, 2.1rem + 0.8vw, 3.6rem);
  --burger-size: clamp(2.5rem, 2.1rem + 0.7vw, 3.4rem);
  --burger-line-width: clamp(1.4rem, 1.1rem + 0.5vw, 1.9rem);
  /* ширина полосок бургера */
}

@font-face {
  font-family: "montserrat";
  src: url("../../fonts/Montserrat-Regular.woff2") format("woff2"),
    url("../../fonts/Montserrat-Regular.woff") format("woff");
  /* font-display: swap; */
  font-display: block;
}

@font-face {
  font-family: "lato";
  src: url("../../fonts/Lato-Regular.woff2") format("woff2"),
    url("../../fonts/Lato-Regular.woff") format("woff");
  /* font-display: swap; */
  font-display: block;
}

@font-face {
  font-family: "firacode";
  src: url("../../fonts/FiraCode-Regular.ttf") format("truetype");
  /* font-display: swap; */
  font-display: block;
}

* {
  font-family: "montserrat";
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}

body {
  position: relative;
  background-color: #f6f6f9;
  margin: 0;
  padding: 0;
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  background-image: url(../../img/bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(3px);
  z-index: -1;
}

h2 {
  margin: 30px 0 10px 0;
  text-align: center;
  text-shadow:
    -1px -1px 2px #e2e2e2,
    1px -1px 2px #e2e2e2,
    -1px 1px 2px #e2e2e2,
    1px 1px 2px #e2e2e2;
}

/* Лоадер - начало */
#loader {
  position: fixed;
  inset: 0;
  background: #c8c8c8;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity .4s ease;
}

#loader.hidden {
  opacity: 0;
  pointer-events: none;
}

.spinner {
  width: 60px;
  height: 60px;
  border: 4px solid rgba(255, 255, 255, .15);
  border-top-color: #E30613;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Лоадер - конец */