@charset "UTF-8";
/* ========================================
   ОСНОВНЫЕ СТИЛИ
   ======================================== */
/* Базовые адаптивные стили */
/* line 7, theme.scss */
img {
  max-width: 100%;
  height: auto; }

/* line 12, theme.scss */
body {
  overflow-x: hidden;
  max-width: 100%; }

/* ========================================
   КНОПКИ И ПОЛЯ ВВОДА
   ======================================== */
/* Увеличение кнопок для пальцев */
/* line 22, theme.scss */
button,
.btn,
.add-to-cart,
.buy-button,
input[type="submit"],
a.button {
  min-height: 44px;
  min-width: 44px;
  padding: 12px 20px;
  font-size: 16px;
  border-radius: 8px;
  cursor: pointer; }

/* Увеличение полей ввода */
/* line 37, theme.scss */
input,
select,
textarea {
  font-size: 16px;
  padding: 12px;
  border-radius: 8px; }

/* ========================================
   ХЛЕБНЫЕ КРОШКИ
   ======================================== */
/* line 49, theme.scss */
.breadcrumbs {
  margin-bottom: 20px;
  font-size: 14px;
  color: #666; }

/* line 55, theme.scss */
.breadcrumbs a {
  color: #333;
  text-decoration: none; }

/* line 60, theme.scss */
.breadcrumbs a:hover {
  text-decoration: underline; }

/* line 64, theme.scss */
.breadcrumbs span {
  color: #999; }

/* ========================================
   АДАПТИВНАЯ СЕТКА ТОВАРОВ
   ======================================== */
/* Базовые стили для всех устройств */
/* line 73, theme.scss */
.products-grid,
.product-grid,
.catalog-grid {
  display: grid;
  gap: 20px; }

/* Компьютеры (больше 1200px) — 4 товара в ряд */
@media (min-width: 1200px) {
  /* line 82, theme.scss */
  .products-grid,
  .product-grid,
  .catalog-grid {
    grid-template-columns: repeat(4, 1fr); } }
/* Ноутбуки (от 992px до 1199px) — 3 товара в ряд */
@media (min-width: 992px) and (max-width: 1199px) {
  /* line 91, theme.scss */
  .products-grid,
  .product-grid,
  .catalog-grid {
    grid-template-columns: repeat(3, 1fr); } }
/* Планшеты (от 768px до 991px) — 2 товара в ряд */
@media (min-width: 768px) and (max-width: 991px) {
  /* line 100, theme.scss */
  .products-grid,
  .product-grid,
  .catalog-grid {
    grid-template-columns: repeat(2, 1fr); } }
/* Телефоны (до 767px) — 2 товара в ряд */
@media (max-width: 767px) {
  /* line 109, theme.scss */
  .products-grid,
  .product-grid,
  .catalog-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px; } }
/* Очень маленькие телефоны (до 480px) — 1 товар в ряд */
@media (max-width: 480px) {
  /* line 119, theme.scss */
  .products-grid,
  .product-grid,
  .catalog-grid {
    grid-template-columns: repeat(1, 1fr); } }
/* ========================================
   ПРОПОРЦИОНАЛЬНЫЕ КАРТОЧКИ ТОВАРОВ
   ======================================== */
/* line 130, theme.scss */
.product-item,
.product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 15px;
  transition: box-shadow 0.3s ease;
  background: #fff; }

/* line 142, theme.scss */
.product-item:hover,
.product-card:hover {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); }

/* Изображения в карточках — одинакового размера */
/* line 148, theme.scss */
.product-item img,
.product-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 10px; }

/* Название товара */
/* line 158, theme.scss */
.product-item h2,
.product-card h2,
.product-item .product-title,
.product-card .product-title {
  font-size: 16px;
  font-weight: normal;
  margin: 10px 0;
  line-height: 1.4;
  height: 2.8em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; }

/* Цена */
/* line 174, theme.scss */
.product-item .price,
.product-card .price {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  margin-top: auto;
  padding-top: 10px; }

/* Кнопка "В корзину" */
/* line 184, theme.scss */
.product-item .add-to-cart,
.product-card .add-to-cart {
  width: 100%;
  padding: 10px;
  margin-top: 10px;
  background: #333;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s ease; }

/* line 197, theme.scss */
.product-item .add-to-cart:hover,
.product-card .add-to-cart:hover {
  background: #555; }

/* ========================================
   МОБИЛЬНЫЕ ТЕЛЕФОНЫ (ДОПОЛНИТЕЛЬНЫЕ СТИЛИ)
   ======================================== */
@media (max-width: 767px) {
  /* Отступы */
  /* line 208, theme.scss */
  .container,
  .layout,
  .layout__content {
    padding-left: 15px;
    padding-right: 15px; }

  /* Шрифты */
  /* line 216, theme.scss */
  body {
    font-size: 16px;
    line-height: 1.5; }

  /* line 221, theme.scss */
  h1 {
    font-size: 24px; }

  /* line 225, theme.scss */
  h2 {
    font-size: 20px; }

  /* line 229, theme.scss */
  .price {
    font-size: 18px; }

  /* Адаптивные таблицы */
  /* line 234, theme.scss */
  table:not(.cart-table) {
    display: block;
    overflow-x: auto;
    white-space: nowrap; } }
/* Очень маленькие телефоны */
@media (max-width: 480px) {
  /* line 243, theme.scss */
  .products-grid {
    gap: 8px; }

  /* line 247, theme.scss */
  .price {
    font-size: 16px; } }
/* ========================================
   АДАПТИВНЫЕ ОТСТУПЫ ДЛЯ КОМПЬЮТЕРОВ
   ======================================== */
/* Для больших экранов — больше воздуха */
@media (min-width: 1400px) {
  /* line 258, theme.scss */
  .container,
  .layout__content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 30px; } }
/* Для обычных компьютеров */
@media (min-width: 992px) and (max-width: 1399px) {
  /* line 268, theme.scss */
  .container,
  .layout__content {
    padding: 0 20px; } }
/* Ограничение ширины контента для компьютеров */
@media (min-width: 1200px) {
  /* line 276, theme.scss */
  .layout__content,
  main .container {
    max-width: 1400px;
    margin: 0 auto; } }
/* ========================================
   МЕНЮ БУРГЕР (ДЛЯ МОБИЛЬНЫХ)
   ======================================== */
@media (max-width: 767px) {
  /* line 288, theme.scss */
  .burger-btn {
    display: block;
    width: 30px;
    height: 25px;
    position: relative;
    cursor: pointer;
    z-index: 1001; }

  /* line 297, theme.scss */
  .burger-btn span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #333;
    border-radius: 3px;
    transition: all 0.3s ease; }

  /* line 307, theme.scss */
  .burger-btn span:nth-child(1) {
    top: 0; }

  /* line 308, theme.scss */
  .burger-btn span:nth-child(2) {
    top: 11px; }

  /* line 309, theme.scss */
  .burger-btn span:nth-child(3) {
    top: 22px; }

  /* line 311, theme.scss */
  .burger-btn.active span:nth-child(1) {
    transform: rotate(45deg);
    top: 11px; }

  /* line 316, theme.scss */
  .burger-btn.active span:nth-child(2) {
    opacity: 0; }

  /* line 320, theme.scss */
  .burger-btn.active span:nth-child(3) {
    transform: rotate(-45deg);
    top: 11px; } }
