/* ===== GamesGu Clean 3: стабильная геометрия страницы ===== */
/*
  Сохраняем место под вертикальную полосу прокрутки.
  При фильтрации каталога по букве количество карточек резко меняется,
  и без стабильного gutter браузер может сдвигать всю страницу по горизонтали.
*/
html {
  scrollbar-gutter: stable;
}

@supports not (scrollbar-gutter: stable) {
  html {
    overflow-y: scroll;
  }
}

/* Базовая сетка каталога и карточек */

/* Runtime fix v7 */

.container {

  max-width: 1400px !important;

}

#sidebar {

  flex-shrink: 0;

}

/* Каталог: 3/2/1 карточки */

.catalog-products,
  .products-grid {

  width: 100%;

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

  gap: 20px !important;

}

@media (max-width: 1279px) {

  .catalog-products,
    .products-grid {

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  }

}

@media (max-width: 767px) {

  .catalog-products,
    .products-grid {

    grid-template-columns: 1fr !important;

  }

  #sidebar {

    width: 100% !important;

  }

}

/* Фото товара: крупнее и строго по центру */

.product-image img {

  max-width: none !important;

  max-height: none !important;

}

.product-title {

  margin-bottom: 10px;

}

.product-title a {

  word-break: normal !important;

  overflow-wrap: anywhere !important;

  white-space: normal !important;

}

.product-actions {

  margin-top: 12px;

  display: flex;

}

.product-actions .add-to-cart {

  width: 100%;

}

/* Цвет кнопки "В корзине" — оранжевый в стиле сайта */

.add-to-cart.in-cart,
  .add-to-cart.remove-from-cart,
  .btn-add-to-cart-detail.in-cart {

  background: linear-gradient(135deg, #ff9f43, #ff7f11) !important;

  border-color: #e66f00 !important;

  color: #fff !important;

  box-shadow: 0 8px 18px rgba(255, 127, 17, 0.28);

}

.add-to-cart.in-cart:hover,
  .add-to-cart.remove-from-cart:hover,
  .btn-add-to-cart-detail.in-cart:hover {

  background: linear-gradient(135deg, #ff922b, #f97316) !important;

}

.add-to-cart.out-of-stock,
  .btn-add-to-cart-detail.out-of-stock {

  background: #c7ced6 !important;

  border-color: #b8c0c9 !important;

  color: #ffffff !important;

  cursor: not-allowed !important;

  box-shadow: none !important;

}

.cart-stock-note {

  margin-top: 6px;

  color: #5f6b7a;

}

.cart-stock-note.out {

  color: #e74c3c;

  font-weight: 600;

}

.runtime-notice {

  position: fixed;

  right: 18px;

  bottom: 18px;

  z-index: 9999;

  background: rgba(28, 34, 43, 0.92);

  color: #fff;

  padding: 10px 14px;

  border-radius: 10px;

  font-size: 13px;

  line-height: 1.3;

  opacity: 0;

  transform: translateY(10px);

  transition: all .25s ease;

  pointer-events: none;

  box-shadow: 0 8px 18px rgba(0,0,0,.18);

}

.runtime-notice.show {

  opacity: 1;

  transform: translateY(0);

}

.runtime-notice.warn {

  background: rgba(230, 111, 0, 0.92);

}

/* Карусель: читабельная подпись и кликабельные точки */

#main-carousel .carousel-caption.d-none.d-md-block {

  display: block !important;

}

#main-carousel .carousel-caption {

  text-shadow: 0 2px 10px rgba(0,0,0,.4);

}

#main-carousel .carousel-caption h5 {

  font-weight: 700;

}

#main-carousel .carousel-caption p {

  margin: 0;

}

#main-carousel .carousel-indicators [data-bs-target] {

  background-color: rgba(255,255,255,.45);

}

#main-carousel .carousel-indicators .active {

  background-color: #ff9f43;

}

#main-carousel .carousel-item[data-page] {

  cursor: pointer;

}

/* Избранное */

/* Системная страница избранного. Стили ограничены только #wishlist-page. */

#wishlist-page .wishlist-page {

  margin: 0 auto;

}

#wishlist-page .wishlist-header {

  text-align: center;

}

#wishlist-page .wishlist-header h1 {

  color: var(--heart-color);

}

#wishlist-page .wishlist-count-badge {

  display: inline-block;

  background: var(--heart-color);

  color: #fff;

  padding: 5px 15px;

  border-radius: 20px;

  font-weight: 600;

  font-size: 14px;

  margin-top: 10px;

}

#wishlist-page .wishlist-empty {

  text-align: center;

  padding: 60px 20px;

  background: var(--secondary-bg);

  border-radius: 12px;

  margin: 40px 0;

}

#wishlist-page .wishlist-empty i {

  font-size: 64px;

  color: var(--text-light);

  margin-bottom: 20px;

}

#wishlist-page .wishlist-empty h3 {

  color: var(--text-gray);

  margin-bottom: 15px;

}

#wishlist-page .wishlist-empty p {

  color: var(--text-light);

  max-width: 500px;

  margin: 0 auto 25px;

}

#wishlist-page .btn-browse {

  display: inline-block;

  padding: 12px 30px;

  background: var(--accent-blue);

  color: #fff;

  text-decoration: none;

  border-radius: 8px;

  font-weight: 600;

}

#wishlist-page .wishlist-grid {

  display: grid;

}

@media (max-width: 992px) {

  #wishlist-page .wishlist-grid {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

}

@media (max-width: 768px) {

  #wishlist-page .wishlist-grid {

    grid-template-columns: 1fr;

  }

}

/* Переключение системных страниц */

/* Системные страницы внутри index: показываем только активную. */

#content > .page-content {

  display: none !important;

}

#content > .page-content.active {

  display: block !important;

}

/* Страховка для пользовательских страниц: неактивный системный экран
     скрывается независимо от вложенности DOM. */

.page-content:not(.active) {

  display: none !important;

}

/* Логотип остаётся визуально прежним, но теперь это ссылка на главную. */

#logo {

  color: inherit !important;

  cursor: pointer;

}

#logo:hover,
  #logo:focus,
  #logo:active {

  color: inherit !important;

  text-decoration: none !important;

}

#main-carousel .carousel-item[data-url] {

  cursor: pointer;

}

#search-page .search-page-shell {

  width: 100%;

  max-width: 100%;

}

#search-page .search-page-header {

  margin: 0 0 24px;

  padding: 24px 26px;

  background: #fff;

  border: 1px solid #e5e7eb;

  border-radius: 14px;

  box-shadow: 0 4px 14px rgba(16, 24, 40, 0.05);

}

#search-page .search-page-header h1 {

  margin: 0 0 10px;

  font-size: 30px;

  line-height: 1.25;

}

#search-page .search-page-header p {

  margin: 0;

  color: #667085;

  font-size: 16px;

}

#search-page .search-page-count {

  display: inline-flex;

  align-items: center;

  margin-top: 12px;

  padding: 6px 12px;

  border-radius: 999px;

  background: #eef2ff;

  color: #3448c5;

  font-size: 14px;

  font-weight: 700;

}

#search-page #search-page-results {

  width: 100%;

}

#search-page .search-page-empty {

  grid-column: 1 / -1;

  padding: 50px 20px;

  text-align: center;

  background: #fff;

  border: 1px solid #e5e7eb;

  border-radius: 14px;

}

#search-page .search-page-empty i {

  display: block;

  margin-bottom: 12px;

  font-size: 34px;

  opacity: .55;

}

@media (max-width: 767px) {

  #search-page .search-page-header {

    padding: 18px;

  }

  #search-page .search-page-header h1 {

    font-size: 24px;

  }

}

/* Макет каталога и карточек */

/* Runtime fix v8: визуальные и layout доработки */

main > .container,
  main .container {

  max-width: 1680px !important;

  width: calc(100% - 24px) !important;

  padding-left: 12px !important;

  padding-right: 12px !important;

}

#sidebar {

  width: 220px !important;

}

#content {

  overflow: visible !important;

  padding: 18px !important;

}

/* Контейнеры каталога занимают всю доступную ширину */

#catalog-template-page,
  #subcategory-template-page,
  #ps5-catalog-page {

  width: 100% !important;

  max-width: none !important;

}

#catalog-products-container,
  #subcategory-products-container,
  #ps5-catalog-products {

  width: 100% !important;

  max-width: none !important;

  min-width: 0 !important;

  display: grid !important;

  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

  gap: 18px !important;

}

#catalog-products-container > *,
  #subcategory-products-container > *,
  #ps5-catalog-products > * {

  width: 100% !important;

  max-width: none !important;

  min-width: 0 !important;

}

@media (max-width: 1200px) {

  #catalog-products-container,
    #subcategory-products-container,
    #ps5-catalog-products {

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  }

}

@media (max-width: 767px) {

  #catalog-products-container,
    #subcategory-products-container,
    #ps5-catalog-products {

    grid-template-columns: 1fr !important;

    gap: 12px !important;

  }

}

/* Картинка товара крупнее, по центру, пропорции сохранены */

.product-image {

  height: 320px !important;

  padding: 0 !important;

  background: #f3f4f6 !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  overflow: hidden !important;

  cursor: pointer !important;

}

.product-image img {

  width: 100% !important;

  height: 100% !important;

  object-fit: contain !important;

  object-position: center center !important;

  display: block !important;

}

.product-content {

  padding: 14px 16px 16px !important;

  display: flex !important;

  flex-direction: column !important;

  gap: 8px !important;

  flex: 1 1 auto !important;

}

.product-title {

  min-height: 68px !important;

  margin: 0 !important;

}

.product-title a {

  font-size: 12px !important;

  line-height: 1.35 !important;

  font-weight: 600 !important;

  display: -webkit-box !important;

  -webkit-line-clamp: 4 !important;

  -webkit-box-orient: vertical !important;

  overflow: hidden !important;

}

.product-description {

  min-height: 0 !important;

  margin: 0 !important;

  display: none !important;

}

.product-price {

  margin-top: auto !important;

}

/* Баннер: сплошная подложка-градиент до низа, мягкие индикаторы */

#main-carousel .carousel-caption {

  margin: 0 !important;

  border-radius: 0 !important;

  z-index: 2;

}

/* Кнопка возврата в услугах */

.service-back-btn {

  margin-bottom: 12px !important;

}

/* Общие ширины и ритм интерфейса */

/* v10: общий ритм ширин под 3 карточки */

#top .container,
  header .container,
  .main-nav .container,
  main > .container,
  footer .container {

  max-width: 1320px !important;

}

.content-wrapper {

  align-items: flex-start !important;

  gap: 14px !important;

}

#sidebar,
  .sidebar {

  flex: 0 0 220px !important;

  width: 220px !important;

  max-width: 220px !important;

}

#content {

  flex: 1 1 auto !important;

  min-width: 0 !important;

  width: auto !important;

  max-width: none !important;

}

.page-content {

  width: 100% !important;

  max-width: none !important;

}

/* v10: сетка каталога без "запертого" контейнера */

#catalog-template-page #catalog-products-container,
  #ps5-catalog-page #ps5-catalog-products,
  #subcategory-template-page #subcategory-products-container {

  display: grid !important;

  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

  gap: 14px !important;

  width: 100% !important;

  max-width: none !important;

  margin: 0 !important;

}

#catalog-template-page #catalog-products-container > .products-grid,
  #subcategory-template-page #subcategory-products-container > .products-grid,
  #ps5-catalog-page #ps5-catalog-products > .products-grid,
  #catalog-template-page #catalog-products-container > .catalog-products,
  #subcategory-template-page #subcategory-products-container > .catalog-products,
  #ps5-catalog-page #ps5-catalog-products > .catalog-products {

  display: contents !important;

}

#catalog-template-page .catalog-header-page,
  #catalog-template-page .catalog-categories,
  #catalog-template-page .alphabet-filter-compact,
  #catalog-template-page #catalog-products-container,
  #ps5-catalog-page .catalog-header-page,
  #ps5-catalog-page .catalog-categories,
  #ps5-catalog-page .alphabet-filter-compact,
  #ps5-catalog-page #ps5-catalog-products,
  #subcategory-template-page .catalog-header-page,
  #subcategory-template-page .alphabet-filter-compact,
  #subcategory-template-page #subcategory-products-container {

  max-width: none !important;

}

/* v10: карточка товара (размер/фото/ритм) */

#catalog-template-page .product-card,
  #ps5-catalog-page .product-card,
  #subcategory-template-page .product-card,
  .catalog-products .product-card {

  width: 100% !important;

  max-width: none !important;

  min-width: 0 !important;

  min-height: 470px !important;

  display: flex !important;

  flex-direction: column !important;

}

#catalog-template-page .product-image,
  #ps5-catalog-page .product-image,
  #subcategory-template-page .product-image,
  .catalog-products .product-image {

  padding: 0 !important;

  margin: 0 !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

}

#catalog-template-page .product-image img,
  #ps5-catalog-page .product-image img,
  #subcategory-template-page .product-image img,
  .catalog-products .product-image img {

  width: 100% !important;

  height: 100% !important;

  object-fit: contain !important;

  object-position: center center !important;

  display: block !important;

}

.catalog-products .product-content {

  padding: 12px 12px 14px !important;

  gap: 8px !important;

  flex: 1 1 auto !important;

}

.catalog-products .product-title {

  margin: 0 !important;

}

.catalog-products .product-actions {

  margin-top: 10px !important;

}

/* v10: подпись в шапке */

.logo-subtitle {

  font-family: "Segoe UI", "Inter", "Arial", sans-serif !important;

  font-weight: 600 !important;

  letter-spacing: .11em !important;

  font-size: 17px !important;

  text-transform: uppercase !important;

  opacity: .92 !important;

}

/* v10: баннер/галерея */

#main-carousel .carousel-item {

  position: relative !important;

}

#main-carousel .carousel-item::after {

  content: "";

  position: absolute;

  inset: 0;

  pointer-events: none;

}

#main-carousel .carousel-caption,
  #main-carousel .carousel-caption.d-none.d-md-block {

  display: block !important;

  z-index: 3;

}

#main-carousel .carousel-caption h5 {

  font-size: clamp(24px, 3.2vw, 38px) !important;

  line-height: 1.18 !important;

  margin-bottom: 10px !important;

  text-shadow: 0 2px 8px rgba(0,0,0,.35);

}

#main-carousel .carousel-caption p {

  font-size: clamp(15px, 1.8vw, 21px) !important;

  line-height: 1.34 !important;

  margin-bottom: 0 !important;

  text-shadow: 0 2px 8px rgba(0,0,0,.35);

}

/* v10: алфавит (английский сверху) */

.alphabet-filter-compact {

  display: flex !important;

  flex-direction: column !important;

  align-items: flex-start !important;

  gap: 8px !important;

}

.alphabet-divider {

  display: none !important;

}

.alphabet-letters-compact.en {

  order: 1;

}

.alphabet-letters-compact.ru {

  order: 2;

}

.alphabet-letters-compact {

  display: flex !important;

  flex-wrap: wrap;

  gap: 6px;

}

.alphabet-letter-compact {

  min-width: 28px !important;

  height: 28px !important;

  border-radius: 7px !important;

  border: 1px solid rgba(60,88,170,.25) !important;

  background: rgba(72,101,206,.10) !important;

  color: #2d4fbb !important;

  font-weight: 700 !important;

  font-size: 12px !important;

  cursor: pointer;

  transition: .15s ease;

}

.alphabet-letter-compact.active,
  .alphabet-letter-compact.is-active {

  background: linear-gradient(180deg, #4f68da, #435fd5) !important;

  color: #fff !important;

  border-color: rgba(67,95,213,.95) !important;

}

.alphabet-letter-compact.is-disabled {

  color: #9aa4b2 !important;

}

@media (max-width: 1200px) {

  #catalog-template-page #catalog-products-container,
    #ps5-catalog-page #ps5-catalog-products,
    #subcategory-template-page #subcategory-products-container {

    grid-template-columns: repeat(2, minmax(0,1fr)) !important;

  }

  #main-carousel .carousel-caption,
    #main-carousel .carousel-caption.d-none.d-md-block {

    width: min(94%, 760px) !important;

    padding: 18px 18px !important;

  }

}

@media (max-width: 768px) {

  #top .container,
    header .container,
    .main-nav .container,
    main > .container,
    footer .container {

    max-width: 100% !important;

  }

  #catalog-template-page #catalog-products-container,
    #ps5-catalog-page #ps5-catalog-products,
    #subcategory-template-page #subcategory-products-container {

    grid-template-columns: 1fr !important;

  }

  #main-carousel .carousel-caption,
    #main-carousel .carousel-caption.d-none.d-md-block {

    width: min(95%, 92vw) !important;

    padding: 14px 14px !important;

    top: 54% !important;

  }

  #main-carousel .carousel-caption h5 {

    font-size: clamp(18px, 5vw, 24px) !important;

  }

  #main-carousel .carousel-caption p {

    font-size: clamp(12px, 3.7vw, 15px) !important;

  }

}

/* v10.1: галерея — текст снизу по центру, градиент на всю ширину */

#main-carousel .carousel-item::after {

  background: linear-gradient(to top, rgba(9,13,22,.86) 0%, rgba(9,13,22,0) 62%) !important;

}

#main-carousel .carousel-caption,
  #main-carousel .carousel-caption.d-none.d-md-block {

  left: 50% !important;

  right: auto !important;

  top: auto !important;

  bottom: 18px !important;

  transform: translateX(-50%) !important;

  width: min(92%, 980px) !important;

  padding: 0 18px 10px !important;

  border-radius: 0 !important;

  background: transparent !important;

  text-align: center !important;

}

/* v10.1: карточки в категориях — фото как на главной, цена по центру */

#catalog-template-page .product-image,
  #ps5-catalog-page .product-image,
  #subcategory-template-page .product-image,
  .catalog-products .product-image {

  height: 290px !important;

  background: #fff !important;

}

.catalog-products .product-title {

  min-height: 56px !important;

}

.catalog-products .product-title a {

  font-size: 14px !important;

  line-height: 1.34 !important;

}

.catalog-products .product-price {

  margin-top: auto !important;

  display: flex !important;

  justify-content: center !important;

}

.catalog-products .product-price,
  .catalog-products .product-price * {

  text-align: center !important;

}

.catalog-products .product-price {

  font-weight: 800 !important;

  letter-spacing: .02em !important;

  padding: 8px 12px !important;

  border-radius: 12px !important;

  border: 1px solid rgba(255, 140, 0, .30) !important;

  background: rgba(255, 140, 0, .10) !important;

  width: fit-content !important;

  margin-left: auto !important;

  margin-right: auto !important;

}

/* v10.1: алфавит — полный, несуществующие буквы серые и некликабельные */

.alphabet-letter-compact.is-disabled {

  opacity: .42 !important;

  border-color: rgba(120,120,120,.22) !important;

  background: rgba(120,120,120,.10) !important;

  cursor: not-allowed !important;

}

.alphabet-letter-compact.is-enabled {

  opacity: 1 !important;

  cursor: pointer !important;

}

.alphabet-letter-compact.is-active {

  border-color: rgba(255, 140, 0, .85) !important;

  background: rgba(255, 140, 0, .20) !important;

}

/* Карусель, карты и алфавит: совместимость */

/* V10.1A точечные правки */

/* 1) Галерея: текст снизу по центру + градиент на всю ширину */

#main-carousel .carousel-caption {

  left: 0 !important;

  right: 0 !important;

  bottom: 0 !important;

  width: 100% !important;

  text-align: center !important;

  padding: 28px 18px 16px !important;

  background: linear-gradient(180deg, rgba(8,16,34,0) 0%, rgba(8,16,34,0.55) 45%, rgba(8,16,34,0.86) 100%) !important;

  pointer-events: none;

}

#main-carousel .carousel-caption h5,
  #main-carousel .carousel-caption p {

  text-align: center !important;

  margin-left: auto !important;

  margin-right: auto !important;

  max-width: 920px;

}

#main-carousel .carousel-indicators {

  z-index: 8;

}

#main-carousel .carousel-item {

  cursor: pointer;

}

/* 2) Карточки: hover без смещения, но с визуальным эффектом */

.product-card {

  transition: box-shadow .22s ease, border-color .22s ease, filter .22s ease !important;

  transform: none !important;

}

.product-card:hover {

  transform: none !important;

  border-color: rgba(130, 161, 223, 0.55) !important;

  box-shadow: 0 10px 24px rgba(10, 19, 42, 0.28) !important;

  filter: brightness(1.015);

}

.product-card:hover .product-image img {

  transform: scale(1.03) !important;

}

.product-actions,
  .wishlist-button-product {

  position: relative;

  z-index: 3;

}

/* 3) Цена в стилистике сайта */

.product-card .product-price {

  width: 100%;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  gap: 4px;

  text-align: center;

}

.product-card .price-new::before {

  font-size: 12px;

  font-weight: 700;

  letter-spacing: 0.07em;

  color: #9bb0d7;

}

/* Убираем оранжевый для состояния 'в корзине' — в стилистике сайта */

.product-actions .add-to-cart.in-cart,
  .product-actions .add-to-cart.remove-from-cart,
  #add-to-cart-detail.in-cart,
  .btn-add-to-cart-detail.in-cart {

  background: linear-gradient(135deg, #2f559a 0%, #24457f 100%) !important;

  border-color: #355ea8 !important;

  color: #ffffff !important;

  box-shadow: 0 6px 14px rgba(24, 48, 95, 0.35);

}

.product-actions .add-to-cart.in-cart:hover,
  .product-actions .add-to-cart.remove-from-cart:hover,
  #add-to-cart-detail.in-cart:hover,
  .btn-add-to-cart-detail.in-cart:hover {

  background: linear-gradient(135deg, #294b88 0%, #203c6f 100%) !important;

}

/* 4) Алфавит: всегда виден */

.alphabet-filter-compact.v101a-ready {

  display: flex !important;

  flex-direction: column !important;

  gap: 8px;

  margin: 12px 0 18px;

}

.alphabet-filter-compact.v101a-ready .alphabet-letters-compact {

  display: flex !important;

  flex-wrap: wrap;

  gap: 6px;

}

.alphabet-filter-compact.v101a-ready .alphabet-letters-compact.en {

  order: 1;

}

.alphabet-filter-compact.v101a-ready .alphabet-letters-compact.ru {

  order: 2;

}

.alphabet-filter-compact.v101a-ready .alphabet-letter-compact {

  min-width: 30px;

  height: 30px;

  border-radius: 9px;

  border: 1px solid rgba(84, 111, 161, 0.45);

  background: rgba(19, 35, 66, 0.6);

  color: #dce6f8;

  font-weight: 700;

  font-size: 12px;

  cursor: pointer;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  transition: .18s ease;

  user-select: none;

}

.alphabet-filter-compact.v101a-ready .alphabet-letter-compact.is-disabled {

  color: #7f8aa3;

  background: rgba(24, 31, 46, 0.55);

  border-color: rgba(76, 87, 112, 0.35);

  cursor: default;

  pointer-events: none;

}

.alphabet-filter-compact.v101a-ready .alphabet-letter-compact.is-enabled:hover {

  background: rgba(41, 65, 111, 0.82);

  color: #fff;

}

.alphabet-filter-compact.v101a-ready .alphabet-letter-compact.is-active {

  color: #fff;

  border-color: #d57b2a;

  background: linear-gradient(135deg, #e39a40 0%, #c86b2c 100%);

  box-shadow: 0 4px 10px rgba(179, 97, 35, 0.35);

}

/* 5) Плашка над картой */

.map-store-badge-v101a {

  position: absolute;

  top: 10px;

  left: 50%;

  transform: translateX(-50%);

  z-index: 3;

  background: rgba(12, 22, 44, 0.88);

  border: 1px solid rgba(111, 144, 206, 0.45);

  color: #eef4ff;

  padding: 6px 12px;

  border-radius: 10px;

  font-size: 12px;

  font-weight: 700;

  white-space: nowrap;

  backdrop-filter: blur(4px);

  pointer-events: none;

}

#map, #map-pickup {

  position: relative;

  overflow: hidden;

}

/* Финальная унификация каталога */

/* V13: финальная унификация карточек, алфавита, шапки и самовывоза */

/* 1) Шапка: аккуратная подпись бренда без переноса правого блока */

.logo-subtitle.v13-ready {

  display: inline-flex !important;

  align-items: center;

  white-space: nowrap !important;

  font-size: 13px !important;

  line-height: 1.2 !important;

  font-weight: 700 !important;

  letter-spacing: 0.14em !important;

  text-transform: uppercase;

  color: #2a3f73 !important;

  padding: 6px 10px;

  border: 1px solid rgba(67, 97, 238, 0.28);

  border-radius: 999px;

  background: linear-gradient(135deg, rgba(67, 97, 238, 0.06), rgba(114, 9, 183, 0.04));

  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7), 0 0 0.7px rgba(30, 58, 115, 0.2);

}

.logo-subtitle.v13-ready .logo-char,
  .logo-subtitle.v13-ready .logo-char.space {

  all: unset;

}

@media (min-width: 1200px) {

  .header-content {

    flex-wrap: nowrap !important;

  }

  #logo {

    flex: 0 0 auto;

    min-width: 0;

  }

  .header-right {

    margin-left: auto;

    min-width: 0;

    flex-wrap: nowrap;

  }

}

/* 2) Единый внешний вид карточек: главная = категории = избранное */

.product-card {

  border: 1px solid #dde2ea !important;

  border-radius: 14px !important;

  overflow: hidden;

  background: #ffffff !important;

  box-shadow: 0 4px 14px rgba(16, 24, 40, 0.06) !important;

  display: flex !important;

  flex-direction: column !important;

  min-height: 470px !important;

}

.product-card .product-image {

  height: 270px !important;

  background: #f3f5f8 !important;

  padding: 0 !important;

  margin: 0 !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

}

.product-card .product-image img {

  width: 100% !important;

  height: 100% !important;

  object-fit: contain !important;

  object-position: center center !important;

  display: block !important;

}

.product-card .product-content {

  padding: 12px 14px 14px !important;

  display: flex !important;

  flex-direction: column !important;

  gap: 8px;

  flex: 1 1 auto !important;

}

.product-card .product-title {

  min-height: 72px !important;

  margin: 0 !important;

}

.product-card .product-title a {

  font-size: 14px !important;

  line-height: 1.35 !important;

  display: -webkit-box !important;

  -webkit-line-clamp: 3 !important;

  -webkit-box-orient: vertical !important;

  overflow: hidden !important;

  text-overflow: ellipsis;

  word-break: break-word;

}

.product-card .product-description {

  display: none !important;

}

.product-card .product-price,
  .catalog-products .product-price,
  #catalog-products-container .product-price,
  #subcategory-products-container .product-price,
  #ps5-catalog-products .product-price,
  #popular-products .product-price,
  .wishlist-grid .product-price {

  margin-top: auto !important;

  width: 100% !important;

  display: flex !important;

  flex-direction: column !important;

  align-items: center !important;

  justify-content: center !important;

  gap: 4px !important;

  text-align: center !important;

  padding: 0 !important;

  border: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

  border-radius: 0 !important;

}

.product-card .price-new {

  width: 100%;

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  gap: 10px !important;

  font-size: 22px !important;

  line-height: 1.2;

  font-weight: 800 !important;

  color: #244a86 !important;

  letter-spacing: 0.01em;

  background: transparent !important;

  border: 0 !important;

  padding: 0 !important;

  text-align: center !important;

}

.product-card .price-new::before {

  content: none !important;

}

.product-card .price-new .price-label,
  .product-card .price-new .price-value {

  font-size: inherit;

  font-weight: inherit;

  line-height: inherit;

  color: inherit;

}

.product-card .price-tax {

  margin-top: 2px;

  max-width: 100%;

  overflow: hidden;

  text-overflow: ellipsis;

  white-space: nowrap;

  text-align: center !important;

  color: #7e8aa0 !important;

  font-size: 12px !important;

}

.product-card .product-actions {

  margin-top: 12px !important;

}

/* Кнопка в карточке: default — синий, hover — фиолетовый, в корзине — оранжевый */

.product-card .product-actions .add-to-cart:not(.in-cart):not(.remove-from-cart):not(.out-of-stock),
  #add-to-cart-detail:not(.in-cart):not(.remove-from-cart):not(.out-of-stock),
  .btn-add-to-cart-detail:not(.in-cart):not(.remove-from-cart):not(.out-of-stock) {

  background: linear-gradient(135deg, #4361ee 0%, #4895ef 100%) !important;

  border-color: #3f5ae0 !important;

  color: #ffffff !important;

  font-weight: 700 !important;

  font-size: 17px !important;

  letter-spacing: 0.01em;

  box-shadow: 0 8px 18px rgba(67, 97, 238, 0.24) !important;

}

.product-card .product-actions .add-to-cart:not(.in-cart):not(.remove-from-cart):not(.out-of-stock):hover,
  #add-to-cart-detail:not(.in-cart):not(.remove-from-cart):not(.out-of-stock):hover,
  .btn-add-to-cart-detail:not(.in-cart):not(.remove-from-cart):not(.out-of-stock):hover {

  background: linear-gradient(135deg, #6c3fd8 0%, #7209b7 100%) !important;

  border-color: #662ecf !important;

  box-shadow: 0 8px 18px rgba(114, 9, 183, 0.26) !important;

}

.product-card .product-actions .add-to-cart.in-cart,
  .product-card .product-actions .add-to-cart.remove-from-cart,
  #add-to-cart-detail.in-cart,
  .btn-add-to-cart-detail.in-cart,
  #add-to-cart-detail.remove-from-cart,
  .btn-add-to-cart-detail.remove-from-cart {

  background: linear-gradient(135deg, #ff9f43 0%, #f37f12 100%) !important;

  border-color: #e88720 !important;

  color: #ffffff !important;

  font-weight: 700 !important;

  font-size: 17px !important;

  letter-spacing: 0.01em;

  box-shadow: 0 8px 18px rgba(214, 121, 24, 0.28) !important;

}

.product-card .product-actions .add-to-cart.in-cart:hover,
  .product-card .product-actions .add-to-cart.remove-from-cart:hover,
  #add-to-cart-detail.in-cart:hover,
  .btn-add-to-cart-detail.in-cart:hover,
  #add-to-cart-detail.remove-from-cart:hover,
  .btn-add-to-cart-detail.remove-from-cart:hover {

  background: linear-gradient(135deg, #f29330 0%, #de7310 100%) !important;

  border-color: #d77717 !important;

}

.product-card .product-actions .add-to-cart.out-of-stock,
  #add-to-cart-detail.out-of-stock,
  .btn-add-to-cart-detail.out-of-stock {

  background: #c3cad4 !important;

  border-color: #b4bcc8 !important;

  color: #f7f9fb !important;

  box-shadow: none !important;

}

/* 3) Корзина: шире и аккуратнее длинные названия */

.cart-item {

  align-items: flex-start !important;

}

.cart-item-title {

  margin-bottom: 6px !important;

  display: -webkit-box;

  -webkit-line-clamp: 2;

  -webkit-box-orient: vertical;

  overflow: hidden;

  word-break: break-word;

}

.cart-item-price {

  font-size: 16px !important;

}

/* Подсветка активной категории в левом каталоге */

.catalog-item.is-current {

  background: linear-gradient(90deg, rgba(67, 97, 238, 0.10), rgba(67, 149, 239, 0.04));

}

.catalog-link.is-current {

  color: #3559d6 !important;

  font-weight: 700 !important;

  border-left: 3px solid #4361ee;

  padding-left: 17px !important;

}

.catalog-link.is-current:hover {

  padding-left: 17px !important;

}

/* 4) Алфавит: полный набор, разделитель RU/EN, неактивные буквы не кликаются */

.alphabet-filter-compact.v13-ready {

  display: flex !important;

  flex-direction: column !important;

  gap: 9px !important;

  margin: 12px 0 18px !important;

  padding: 10px 12px !important;

  border: 1px solid #dbe2ec !important;

  border-radius: 12px !important;

  background: #f7f9fc !important;

}

.alphabet-filter-compact.v13-ready .alphabet-row {

  display: block;

  min-width: 0;

}

.alphabet-filter-compact.v13-ready .alphabet-lang {

  display: none !important;

}

.alphabet-filter-compact.v13-ready .alphabet-divider {

  display: block !important;

  height: 1px;

  margin: 1px 0 2px;

  background: rgba(108, 126, 159, 0.32);

}

.alphabet-filter-compact.v13-ready .alphabet-letters-compact {

  display: flex !important;

  flex-wrap: wrap !important;

  gap: 6px;

  overflow: visible;

  padding-bottom: 0;

}

.alphabet-filter-compact.v13-ready .alphabet-letter-compact {

  min-width: 27px;

  height: 27px;

  border-radius: 7px;

  border: 1px solid rgba(84, 111, 161, 0.42);

  background: rgba(53, 78, 128, 0.12);

  color: #28477f;

  font-size: 12px;

  font-weight: 700;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  cursor: pointer;

  transition: .16s ease;

  user-select: none;

  flex: 0 0 auto;

}

.alphabet-filter-compact.v13-ready .alphabet-letter-compact:hover {

  background: rgba(42, 68, 121, 0.2);

  color: #18376f;

}

.alphabet-filter-compact.v13-ready .alphabet-letter-compact.is-disabled {

  cursor: default;

  opacity: 0.42;

  color: #8ea0bf;

  border-color: rgba(142, 160, 191, 0.45);

  background: rgba(141, 156, 184, 0.12);

  box-shadow: none;

}

.alphabet-filter-compact.v13-ready .alphabet-letter-compact.is-disabled:hover {

  color: #8ea0bf;

  background: rgba(141, 156, 184, 0.12);

}

.alphabet-filter-compact.v13-ready .alphabet-letter-compact.is-active {

  background: linear-gradient(135deg, #ff9f43 0%, #f07f11 100%);

  border-color: #d57619;

  color: #fff;

  box-shadow: 0 4px 12px rgba(204, 113, 24, 0.3);

}

/* 5) Самовывоз: бейдж карты в угол, не по центру */

.map-store-badge-v101a,
  .map-badge-v9,
  .map-store-badge-v13 {

  position: absolute !important;

  top: 8px !important;

  left: 8px !important;

  transform: none !important;

  z-index: 4 !important;

  background: rgba(11, 21, 42, 0.86) !important;

  color: #eef4ff !important;

  border: 1px solid rgba(120, 148, 202, 0.45) !important;

  border-radius: 8px !important;

  padding: 5px 10px !important;

  font-size: 11px !important;

  line-height: 1.25 !important;

  pointer-events: none;

  backdrop-filter: blur(2px);

  max-width: calc(100% - 16px);

  white-space: normal;

}

.transport-info .bus-schedule.v13-bus-bottom {

  margin-top: 20px;

  border-top: 1px dashed #d8dee9;

  padding-top: 14px;

}

/* 6) На десктопе алфавит в одну строку для каждого языка */

@media (min-width: 1024px) {

  .alphabet-filter-compact.v13-ready .alphabet-letters-compact {

    overflow-x: visible;

  }

}

@media (max-width: 1100px) {

  .logo-subtitle.v13-ready {

    font-size: 12px !important;

    letter-spacing: 0.12em !important;

    padding: 6px 9px;

  }

  .product-card .price-new {

    font-size: 20px !important;

  }

  .product-card .product-actions .add-to-cart,
    .product-card .product-actions .add-to-cart.in-cart,
    .product-card .product-actions .add-to-cart.remove-from-cart {

    font-size: 16px !important;

  }

}

@media (max-width: 768px) {

  .logo-subtitle.v13-ready {

    font-size: 11px !important;

    letter-spacing: 0.10em !important;

    padding: 5px 8px;

  }

  .product-card {

    min-height: 430px !important;

  }

  .product-card .product-image {

    height: 230px !important;

  }

  .product-card .price-new {

    font-size: 19px !important;

  }

  .product-card .product-actions .add-to-cart,
    .product-card .product-actions .add-to-cart.in-cart,
    .product-card .product-actions .add-to-cart.remove-from-cart {

    font-size: 16px !important;

  }

  .cart-content {

    max-width: 96vw !important;

  }

  .cart-body {

    flex-direction: column;

  }

  .cart-summary {

    width: 100% !important;

  }

}

/* Серверные фильтры каталога */

/* Каталог: серверные фильтры */

#category-page .catalog-filter-panel {

  margin: 14px 0 18px;

  border: 1px solid #dfe5ef;

  border-radius: 14px;

  background: #fff;

  box-shadow: 0 8px 24px rgba(31, 52, 89, 0.06);

  overflow: hidden;

}

#category-page .catalog-filter-form {

  margin: 0;

}

#category-page .catalog-filter-main {

  display: grid;

  grid-template-columns: minmax(190px, 1.55fr) 90px 90px 125px minmax(170px, 1fr) auto;

  gap: 8px;

  align-items: end;

  padding: 12px;

  background: linear-gradient(180deg, #fbfcff 0%, #f7f9fd 100%);

}

#category-page .catalog-filter-field {

  display: flex;

  flex-direction: column;

  gap: 6px;

  min-width: 0;

  margin: 0;

}

#category-page .catalog-filter-field > span {

  font-size: 12px;

  font-weight: 700;

  color: #56657e;

}

#category-page .catalog-filter-field input,
  #category-page .catalog-filter-field select {

  width: 100%;

  height: 42px;

  border: 1px solid #cfd8e6;

  border-radius: 10px;

  background: #fff;

  color: #1f2937;

  padding: 0 12px;

  font: inherit;

  font-size: 14px;

  outline: none;

  transition: border-color .16s ease, box-shadow .16s ease;

}

#category-page .catalog-filter-field input:focus,
  #category-page .catalog-filter-field select:focus {

  border-color: #4361ee;

  box-shadow: 0 0 0 3px rgba(67, 97, 238, .10);

}

#category-page .catalog-filter-actions {

  display: flex;

  gap: 8px;

  align-items: center;

  min-height: 42px;

}

#category-page .catalog-filter-apply,
  #category-page .catalog-filter-reset {

  height: 42px;

  border-radius: 10px;

  padding: 0 11px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 7px;

  white-space: nowrap;

  font-size: 13px;

  font-weight: 700;

  text-decoration: none;

  cursor: pointer;

}

#category-page .catalog-filter-apply {

  border: 0;

  color: #fff;

  background: linear-gradient(135deg, #4361ee 0%, #7209b7 100%);

  box-shadow: 0 6px 14px rgba(67, 97, 238, .18);

}

#category-page .catalog-filter-apply:hover {

  filter: brightness(.97);

}

#category-page .catalog-filter-reset {

  border: 1px solid #d4dce8;

  background: #fff;

  color: #526079;

}

#category-page .catalog-filter-reset:hover {

  background: #f2f5fa;

  color: #27354d;

}

#category-page .catalog-filter-alphabet {

  display: grid;

  grid-template-columns: 110px minmax(0, 1fr);

  column-gap: 8px;

  row-gap: 6px;

  align-items: start;

  padding: 12px 14px;

  border-top: 1px solid #e7ebf2;

  background: #fff;

}

#category-page .catalog-filter-presets {

  grid-row: 1 / span 3;

  display: grid;

  grid-template-rows: repeat(2, 28px);

  gap: 4px;

  min-width: 0;

}

#category-page .catalog-filter-presets .catalog-filter-letter {

  width: 100%;

  min-width: 0;

  padding: 0 7px;

  font-size: 11px;

  white-space: nowrap;

}

#category-page .catalog-filter-stock {

  gap: 5px;

}

#category-page .catalog-filter-stock i {

  font-size: 11px;

}

#category-page .catalog-filter-alpha-row {

  display: grid;

  gap: 3px;

  min-width: 0;

}

#category-page .catalog-filter-alpha-en {

  grid-template-columns: repeat(26, minmax(0, 1fr));

}

#category-page .catalog-filter-alpha-ru {

  grid-template-columns: repeat(32, minmax(0, 1fr));

}

#category-page .catalog-filter-alpha-divider {

  height: 1px;

  background: #edf0f5;

}

#category-page .catalog-filter-letter {

  min-width: 0;

  width: 100%;

  height: 28px;

  padding: 0 2px;

  border: 1px solid #d5ddea;

  border-radius: 8px;

  background: #f8faff;

  color: #2f4e87;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  font-size: 12px;

  font-weight: 800;

  line-height: 1;

  text-decoration: none;

  transition: .14s ease;

}

#category-page .catalog-filter-letter:hover {

  border-color: #9fb0d2;

  background: #eef3ff;

  color: #203d78;

  transform: translateY(-1px);

}

#category-page .catalog-filter-letter.is-active {

  border-color: transparent;

  color: #fff;

  background: linear-gradient(135deg, #4361ee 0%, #7209b7 100%);

  box-shadow: 0 4px 10px rgba(67, 97, 238, .20);

}

#category-page .catalog-filter-letter.is-disabled {

  border-color: #e2e6ed;

  background: #f3f4f6;

  color: #a8afb9;

  box-shadow: none;

  cursor: default;

  pointer-events: none;

  transform: none;

}

#category-page .catalog-filter-letter.is-disabled.is-active {

  border-color: #d9dde5;

  background: #eceff3;

  color: #9aa2ad;

}

#category-page .catalog-filter-result-count {

  padding: 9px 14px 11px;

  border-top: 1px solid #eef1f5;

  color: #68768d;

  font-size: 13px;

  background: #fff;

}

#category-page .catalog-filter-result-count strong {

  color: #243b6b;

}

/* Старый клиентский алфавит на новой серверной странице не нужен. */

#category-page > .container > .alphabet-filter-compact,
  #category-page .catalog-header + .alphabet-filter-compact {

  display: none !important;

}

@media (max-width: 1180px) {

  #category-page .catalog-filter-main {

    grid-template-columns: minmax(240px, 1.4fr) repeat(2, minmax(105px, .55fr)) minmax(130px, .65fr) minmax(190px, .9fr);

  }

  #category-page .catalog-filter-actions {

    grid-column: 1 / -1;

    justify-content: flex-end;

  }

}

@media (max-width: 900px) {

  #category-page .catalog-filter-main {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

  #category-page .catalog-filter-search,
    #category-page .catalog-filter-sort,
    #category-page .catalog-filter-actions {

    grid-column: 1 / -1;

  }

}

@media (max-width: 600px) {

  #category-page .catalog-filter-main {

    grid-template-columns: 1fr;

    padding: 12px;

  }

  #category-page .catalog-filter-search,
    #category-page .catalog-filter-sort,
    #category-page .catalog-filter-actions {

    grid-column: auto;

  }

  #category-page .catalog-filter-actions {

    justify-content: stretch;

  }

  #category-page .catalog-filter-apply,
    #category-page .catalog-filter-reset {

    flex: 1 1 0;

  }

  #category-page .catalog-filter-alphabet {

    grid-template-columns: 1fr;

    overflow: hidden;

  }

  #category-page .catalog-filter-presets {

    grid-row: auto;

    display: flex;

    gap: 7px;

    overflow: visible;

  }

  #category-page .catalog-filter-presets .catalog-filter-letter {

    flex: 0 0 auto;

    width: auto;

    min-width: 102px;

    height: 31px;

    padding: 0 10px;

  }

  #category-page .catalog-filter-alpha-row {

    display: flex;

    flex-wrap: nowrap;

    overflow-x: auto;

    padding-bottom: 4px;

    scrollbar-width: thin;

  }

  #category-page .catalog-filter-alpha-row .catalog-filter-letter {

    flex: 0 0 28px;

    width: 28px;

  }

  #category-page .catalog-filter-alpha-divider {

    display: none;

  }

}

/* Страница товара */

/* Страница товара: галерея, вкладки, характеристики */

#product-page .product-detail-layout {

  align-items: flex-start;

}

#product-page .product-gallery-card,
  #product-page .product-summary-card {

  border: 1px solid #dfe5ef;

  border-radius: 14px;

  background: #fff;

  box-shadow: 0 8px 24px rgba(31, 52, 89, .06);

}

#product-page .product-gallery-open {

  position: relative;

  display: flex;

  width: 100%;

  min-height: 430px;

  align-items: center;

  justify-content: center;

  padding: 0;

  border: 0;

  border-radius: 12px;

  overflow: hidden;

  background: #f5f6f8;

  cursor: zoom-in;

}

#product-page .product-gallery-main-image {

  display: block;

  width: 100%;

  height: 520px;

  object-fit: contain;

  object-position: center;

  pointer-events: none;

  user-select: none;

  -webkit-user-select: none;

  -webkit-user-drag: none;

  -webkit-touch-callout: none;

}

#product-page .product-image-watermark {

  position: absolute;

  right: 18px;

  bottom: 16px;

  z-index: 2;

  color: rgba(255,255,255,.72);

  font-size: clamp(18px, 2vw, 27px);

  font-weight: 900;

  letter-spacing: .4px;

  line-height: 1;

  text-shadow: 0 2px 7px rgba(0,0,0,.65), 0 0 2px rgba(0,0,0,.65);

  pointer-events: none;

  user-select: none;

}

#product-page .product-gallery-zoom-hint {

  position: absolute;

  top: 12px;

  right: 12px;

  z-index: 3;

  width: 38px;

  height: 38px;

  border-radius: 50%;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  background: rgba(255,255,255,.92);

  color: #3859d9;

  box-shadow: 0 4px 14px rgba(22, 40, 80, .16);

  pointer-events: none;

}

#product-page .gallery-thumbs {

  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 10px;

  margin-top: 12px;

}

#product-page .gallery-thumb {

  height: 94px;

  padding: 4px;

  border: 1px solid #d8e0ec;

  border-radius: 10px;

  background: #fff;

  overflow: hidden;

  cursor: pointer;

  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;

}

#product-page .gallery-thumb:hover {

  border-color: #8ea4df;

  transform: translateY(-1px);

}

#product-page .gallery-thumb.is-active {

  border-color: #4361ee;

  box-shadow: 0 0 0 2px rgba(67,97,238,.13);

}

#product-page .gallery-thumb img {

  display: block;

  width: 100%;

  height: 100%;

  object-fit: contain;

  object-position: center;

  pointer-events: none;

  user-select: none;

  -webkit-user-select: none;

  -webkit-user-drag: none;

  -webkit-touch-callout: none;

}

#product-page .product-detail-tabs {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 8px;

  margin-top: 12px;

  padding: 7px;

  border: 1px solid #dfe5ef;

  border-radius: 12px;

  background: #fff;

  box-shadow: 0 6px 18px rgba(31, 52, 89, .05);

}

#product-page .product-detail-tab {

  min-height: 42px;

  padding: 8px 12px;

  border: 1px solid transparent;

  border-radius: 9px;

  background: #f4f6fa;

  color: #42516a;

  font-weight: 800;

  cursor: pointer;

  transition: .16s ease;

}

#product-page .product-detail-tab:hover {

  background: #edf2ff;

  color: #294bba;

}

#product-page .product-detail-tab.is-active {

  color: #fff;

  background: linear-gradient(135deg, #4361ee 0%, #7209b7 100%);

  box-shadow: 0 5px 13px rgba(67,97,238,.18);

}

#product-page .product-detail-title {

  margin: 0 0 14px;

  color: #202938;

  font-size: clamp(24px, 2.2vw, 34px);

  line-height: 1.15;

  font-weight: 800;

}

#product-page .product-detail-price-row {

  display: flex;

  align-items: baseline;

  flex-wrap: wrap;

  gap: 10px;

  margin-bottom: 10px;

}

#product-page .product-current-price {

  color: #26364e;

  font-size: 30px;

  line-height: 1;

  font-weight: 900;

}

#product-page .product-old-price {

  color: #8b94a4;

  font-size: 16px;

  text-decoration: line-through;

}

#product-page .product-detail-quick-badges {

  display: flex;

  flex-wrap: wrap;

  gap: 8px;

  margin-bottom: 16px;

}

#product-page .product-stock-badge {

  display: inline-flex;

  align-items: center;

  min-height: 30px;

  padding: 5px 10px;

  border-radius: 999px;

  font-size: 13px;

  font-weight: 800;

}

#product-page .product-stock-badge.is-in-stock {

  background: #edf9f0;

  color: #28733b;

  border: 1px solid #ccebd4;

}

#product-page .product-stock-badge.is-out-of-stock {

  background: #fff1f1;

  color: #a73b3b;

  border: 1px solid #f0cccc;

}

#product-page .product-condition-badge {

  display: inline-flex;

  align-items: center;

  min-height: 30px;

  padding: 5px 10px;

  border-radius: 999px;

  font-size: 13px;

  font-weight: 800;

  border: 1px solid transparent;

}

#product-page .product-condition-badge.is-new {

  background: #eef4ff;

  color: #3158b8;

  border-color: #d4e0ff;

}

#product-page .product-condition-badge.is-used {

  background: #fff6e8;

  color: #9a6012;

  border-color: #f1ddba;

}

#product-page .product-detail-actions {

  display: grid;

  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);

  gap: 10px;

  margin: 2px 0 18px;

}

#product-page .btn-add-to-cart-detail,
  #product-page .btn-request-product-detail,
  #product-page .btn-wishlist-detail {

  min-height: 48px;

  padding: 10px 16px;

  border-radius: 11px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 8px;

  font: inherit;

  font-size: 14px;

  font-weight: 800;

  cursor: pointer;

  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease, background .16s ease, color .16s ease;

}

#product-page .btn-add-to-cart-detail {

  border: 0;

  color: #fff;

  background: linear-gradient(135deg, #4361ee 0%, #7209b7 100%);

  box-shadow: 0 7px 17px rgba(67, 97, 238, .19);

}

#product-page .btn-add-to-cart-detail:hover:not(:disabled) {

  transform: translateY(-1px);

  filter: brightness(.98);

}

#product-page .btn-add-to-cart-detail.in-cart {

  background: linear-gradient(135deg, #ff9d32 0%, #ff7a00 100%);

}

#product-page .btn-add-to-cart-detail.out-of-stock,
  #product-page .btn-add-to-cart-detail:disabled {

  background: #d9dee7 !important;

  color: #7a8494 !important;

  box-shadow: none !important;

  cursor: not-allowed;

  transform: none !important;

}

#product-page .btn-request-product-detail {

  border: 0;

  color: #fff;

  background: linear-gradient(135deg, #ff9f43 0%, #f06a19 100%);

  box-shadow: 0 7px 17px rgba(240, 106, 25, .20);

}

#product-page .btn-request-product-detail:hover {

  transform: translateY(-1px);

  filter: brightness(.98);

}

#product-page .btn-wishlist-detail {

  border: 1px solid #d7dfeb;

  color: #37465f;

  background: #fff;

}

#product-page .btn-wishlist-detail:hover {

  border-color: #f0a6a0;

  color: #d7463d;

  background: #fff7f6;

}

#product-page .btn-wishlist-detail.active {

  border-color: #f0a6a0;

  color: #d7463d;

  background: #fff1ef;

}

#product-page .product-detail-tab-panels {

  border-top: 1px solid #edf0f4;

  padding-top: 16px;

}

#product-page .product-detail-panel {

  color: #343d4b;

  font-size: 15px;

  line-height: 1.65;

}

#product-page .product-detail-panel[hidden] {

  display: none !important;

}

#product-page .product-detail-panel p {

  margin: 0 0 12px;

}

#product-page .product-detail-panel ul,
  #product-page .product-detail-panel ol {

  margin: 10px 0 14px;

  padding-left: 22px;

}

#product-page .product-detail-panel li + li {

  margin-top: 5px;

}

#product-page .product-detail-panel h2,
  #product-page .product-detail-panel h3,
  #product-page .product-detail-panel h4 {

  margin: 18px 0 9px;

  color: #283650;

  line-height: 1.25;

}

#product-page .product-description-shell {

  position: relative;

}

#product-page .product-description-content {

  position: relative;

}

#product-page .product-description-shell.is-collapsed .product-description-content {

  max-height: 390px;

  overflow: hidden;

}

#product-page .product-description-fade {

  display: none;

  position: absolute;

  left: 0;

  right: 0;

  bottom: 43px;

  height: 72px;

  pointer-events: none;

  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.96) 82%, #fff 100%);

}

#product-page .product-description-shell.is-collapsed .product-description-fade {

  display: block;

}

#product-page .product-description-toggle {

  margin: 12px 0 0;

  min-height: 38px;

  padding: 7px 12px;

  border: 1px solid #d7dfec;

  border-radius: 9px;

  background: #f8faff;

  color: #3856a5;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 7px;

  font: inherit;

  font-size: 13px;

  font-weight: 800;

  cursor: pointer;

}

#product-page .product-description-toggle:hover {

  background: #eef3ff;

  border-color: #b8c5df;

}

#product-page .product-description-toggle i {

  transition: transform .16s ease;

}

#product-page .product-description-shell.is-expanded .product-description-toggle i {

  transform: rotate(180deg);

}

#product-page .product-detail-specs-table {

  width: 100%;

  border-collapse: collapse;

  table-layout: fixed;

}

#product-page .product-detail-specs-table th,
  #product-page .product-detail-specs-table td {

  padding: 10px 12px;

  border-bottom: 1px solid #edf0f4;

  vertical-align: top;

  overflow-wrap: anywhere;

}

#product-page .product-detail-specs-table th {

  width: 43%;

  color: #66748b;

  background: #f8f9fc;

  font-weight: 700;

  text-align: left;

}

#product-page .product-detail-specs-table td {

  color: #283650;

  font-weight: 600;

}

#product-page .product-detail-specs-table tr:first-child th,
  #product-page .product-detail-specs-table tr:first-child td {

  border-top: 1px solid #edf0f4;

}

#product-page .product-updated-meta {

  margin-top: 14px;

  text-align: right;

  color: #9aa3b1;

  font-size: 11px;

}

/* Lightbox. */

.product-image-lightbox {

  position: fixed;

  inset: 0;

  z-index: 100000;

  display: none;

  align-items: center;

  justify-content: center;

  padding: 28px 70px;

  background: rgba(8, 13, 24, .92);

  backdrop-filter: blur(4px);

}

.product-image-lightbox.is-open {

  display: flex;

}

.product-image-lightbox__stage {

  position: relative;

  width: min(92vw, 1350px);

  height: min(88vh, 950px);

  display: flex;

  align-items: center;

  justify-content: center;

  overflow: hidden;

  border-radius: 14px;

  background: rgba(255,255,255,.035);

}

.product-image-lightbox__image {

  display: block;

  max-width: 100%;

  max-height: 100%;

  width: auto;

  height: auto;

  object-fit: contain;

  user-select: none;

  -webkit-user-select: none;

  -webkit-user-drag: none;

  -webkit-touch-callout: none;

}

.product-image-lightbox__watermark {

  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%) rotate(-18deg);

  color: rgba(255,255,255,.22);

  font-size: clamp(40px, 8vw, 110px);

  font-weight: 1000;

  letter-spacing: 1px;

  white-space: nowrap;

  text-shadow: 0 2px 12px rgba(0,0,0,.35);

  pointer-events: none;

  user-select: none;

}

.product-image-lightbox__close,
  .product-image-lightbox__nav {

  position: absolute;

  z-index: 4;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  border: 0;

  color: #fff;

  background: rgba(20,28,45,.74);

  cursor: pointer;

  box-shadow: 0 5px 18px rgba(0,0,0,.24);

}

.product-image-lightbox__close {

  top: 18px;

  right: 20px;

  width: 44px;

  height: 44px;

  border-radius: 50%;

  font-size: 20px;

}

.product-image-lightbox__nav {

  top: 50%;

  transform: translateY(-50%);

  width: 48px;

  height: 62px;

  border-radius: 12px;

  font-size: 20px;

}

.product-image-lightbox__nav--prev {

  left: 16px;

}

.product-image-lightbox__nav--next {

  right: 16px;

}

.product-image-lightbox__counter {

  position: absolute;

  left: 50%;

  bottom: 14px;

  transform: translateX(-50%);

  z-index: 4;

  min-width: 54px;

  padding: 6px 10px;

  border-radius: 999px;

  color: #fff;

  background: rgba(20,28,45,.72);

  text-align: center;

  font-size: 12px;

  font-weight: 800;

}

@media (max-width: 991px) {

  #product-page .product-gallery-main-image {

    height: min(68vh, 620px);

  }

  #product-page .product-gallery-open {

    min-height: 360px;

  }

}

@media (max-width: 600px) {

  #product-page .product-gallery-card,
    #product-page .product-summary-card {

    padding: 10px !important;

  }

  #product-page .product-gallery-main-image {

    height: 430px;

  }

  #product-page .product-gallery-open {

    min-height: 320px;

  }

  #product-page .gallery-thumbs {

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 7px;

  }

  #product-page .gallery-thumb {

    height: 72px;

  }

  #product-page .product-detail-title {

    font-size: 23px;

  }

  #product-page .product-current-price {

    font-size: 27px;

  }

  #product-page .product-detail-actions {

    grid-template-columns: 1fr;

    gap: 8px;

  }

  #product-page .btn-add-to-cart-detail,
    #product-page .btn-request-product-detail,
    #product-page .btn-wishlist-detail {

    width: 100%;

    min-height: 46px;

  }

  #product-page .product-detail-specs-table th,
    #product-page .product-detail-specs-table td {

    display: block;

    width: 100%;

    padding: 8px 10px;

  }

  #product-page .product-detail-specs-table th {

    border-bottom: 0;

    padding-bottom: 3px;

  }

  #product-page .product-detail-specs-table td {

    padding-top: 3px;

  }

  .product-image-lightbox {

    padding: 56px 12px 42px;

  }

  .product-image-lightbox__stage {

    width: 100%;

    height: 78vh;

  }

  .product-image-lightbox__nav {

    width: 40px;

    height: 52px;

  }

  .product-image-lightbox__nav--prev {

    left: 7px;

  }

  .product-image-lightbox__nav--next {

    right: 7px;

  }

}

/* Мобильная база */

/* GamesGu Mobile v1
     Мобильный интерфейс до 820px. Десктопные стили выше не изменяем. */

.mobile-nav-actions,
  .mobile-drawer-overlay,
  .mobile-drawer-close,
  .mobile-menu-head,
  .mobile-menu-contact,
  .mobile-filter-toggle {

  display: none;

}

@media (max-width: 820px) {

  html.mobile-drawer-open,
    body.mobile-drawer-open {

    overflow: hidden !important;

    overscroll-behavior: none;

  }

  body {

    min-width: 0 !important;

    overflow-x: hidden !important;

  }

  #container {

    width: 100% !important;

    min-width: 0 !important;

    overflow-x: clip !important;

  }

  /* Верхнюю служебную полосу на телефоне убираем: контакты остаются в меню/подвале. */

  #top {

    display: none !important;

  }

  /* Шапка телефона. */

  header {

    z-index: 1200 !important;

    border-bottom: 1px solid #e7ebf1;

    box-shadow: 0 4px 16px rgba(19, 33, 68, .07);

  }

  header .container {

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

  }

  .header-content {

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) auto auto !important;

    grid-template-areas: "logo wishlist cart"
        "search search search"
        "mobile-actions mobile-actions mobile-actions" !important;

    align-items: center !important;

    gap: 8px !important;

    width: 100% !important;

    min-width: 0 !important;

  }

  #logo {

    grid-area: logo;

    min-width: 0 !important;

    display: flex !important;

    align-items: center !important;

  }

  #logo .logo-image {

    min-width: 0 !important;

  }

  #logo .logo-image img {

    display: block !important;

    width: auto !important;

    object-fit: contain !important;

  }

  /* Подпись дублирует смысл логотипа и на телефоне съедает место. */

  #logo .logo-text {

    display: none !important;

  }

  .header-right {

    display: contents !important;

  }

  .search-form {

    grid-area: search;

    width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;

    position: relative !important;

  }

  .search-form input {

    width: 100% !important;

    min-width: 0 !important;

    height: 44px !important;

    padding-left: 13px !important;

    padding-right: 48px !important;

    font-size: 14px !important;

    border-radius: 10px !important;

  }

  .search-form > button {

    position: absolute !important;

    top: 0 !important;

    right: 0 !important;

    width: 44px !important;

    height: 44px !important;

    border-radius: 0 10px 10px 0 !important;

  }

  #search-results.search-results,
    .search-results {

    left: 0 !important;

    right: 0 !important;

    width: 100% !important;

    max-height: min(58vh, 430px) !important;

    overflow-y: auto !important;

    z-index: 6500 !important;

  }

  #wishlist-header {

    grid-area: wishlist;

    justify-self: end;

  }

  #cart {

    grid-area: cart;

    justify-self: end;

  }

  #wishlist-header .wishlist-button,
    #cart .cart-button {

    width: 44px !important;

    min-width: 44px !important;

    height: 44px !important;

    padding: 0 !important;

    border-radius: 10px !important;

  }

  #cart .cart-icon-image {

    width: 22px !important;

    height: 22px !important;

  }

  .mobile-nav-actions {

    grid-area: mobile-actions;

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 8px;

    width: 100%;

  }

  .mobile-nav-action {

    min-height: 42px;

    border: 1px solid #d9e0ec;

    border-radius: 10px;

    background: #fff;

    color: #253858;

    font: inherit;

    font-size: 14px;

    font-weight: 750;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    cursor: pointer;

    box-shadow: 0 2px 8px rgba(23, 43, 77, .05);

  }

  .mobile-nav-action--catalog {

    border-color: transparent;

    color: #fff;

    background: linear-gradient(135deg, #4361ee 0%, #7209b7 100%);

  }

  /* Затемнение для обоих мобильных drawer. */

  .mobile-drawer-overlay {

    display: block;

    position: fixed;

    inset: 0;

    z-index: 4990;

    background: rgba(8, 17, 34, .55);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition: opacity .2s ease, visibility .2s ease;

    backdrop-filter: blur(2px);

  }

  .mobile-drawer-overlay.is-open {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

  }

  /* Левый каталог превращаем в drawer, он больше не занимает место перед контентом. */

  #sidebar {

    position: fixed !important;

    inset: 0 auto 0 0 !important;

    z-index: 5000 !important;

    width: min(88vw, 350px) !important;

    max-width: min(88vw, 350px) !important;

    height: 100dvh !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow-y: auto !important;

    overflow-x: hidden !important;

    background: #f7f9fc !important;

    box-shadow: 16px 0 38px rgba(14, 29, 60, .22);

    transform: translateX(-105%);

    transition: transform .22s ease;

    overscroll-behavior: contain;

  }

  #sidebar.mobile-drawer-open {

    transform: translateX(0);

  }

  #sidebar .catalog-nav {

    width: 100% !important;

    min-height: 100%;

    margin: 0 !important;

    border-radius: 0 !important;

    box-shadow: none !important;

    background: #fff !important;

  }

  #sidebar .catalog-header {

    position: sticky;

    top: 0;

    z-index: 2;

    min-height: 62px;

    padding-right: 58px !important;

    display: flex !important;

    align-items: center !important;

  }

  .mobile-drawer-close {

    display: inline-flex !important;

    position: absolute;

    right: 12px;

    top: 50%;

    transform: translateY(-50%);

    width: 38px;

    height: 38px;

    align-items: center;

    justify-content: center;

    border: 0;

    border-radius: 10px;

    background: rgba(255,255,255,.16);

    color: inherit;

    font-size: 20px;

    cursor: pointer;

  }

  #sidebar .catalog-link {

    min-height: 52px !important;

    padding-top: 10px !important;

    padding-bottom: 10px !important;

  }

  /* Основная навигация становится правым drawer. */

  .main-nav {

    display: block !important;

    position: fixed !important;

    inset: 0 0 0 auto !important;

    z-index: 5000 !important;

    height: 100dvh !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow-y: auto !important;

    box-shadow: -16px 0 38px rgba(14, 29, 60, .22);

    transform: translateX(105%);

    transition: transform .22s ease;

    overscroll-behavior: contain;

  }

  .main-nav.mobile-drawer-open {

    transform: translateX(0);

  }

  .mobile-menu-head {

    position: sticky;

    top: 0;

    z-index: 2;

    gap: 12px;

    color: #fff;

  }

  .main-nav .nav-link {

    border-bottom: 0 !important;

  }

  .mobile-menu-contact {

    margin-top: 16px;

  }

  /* Главная область: sidebar больше не участвует в потоке. */

  main > .container,
    main .container {

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    padding-left: 8px !important;

    padding-right: 8px !important;

  }

  .content-wrapper {

    display: block !important;

    width: 100% !important;

    min-width: 0 !important;

    gap: 0 !important;

  }

  #content {

    width: 100% !important;

    max-width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;

    padding: 10px 0 16px !important;

    overflow: visible !important;

  }

  #content > .page-content,
    #content > .custom-page-body,
    #content img {

    max-width: 100% !important;

  }

  /* Главный баннер компактнее. */

  #main-carousel {

    margin-bottom: 18px !important;

  }

  #main-carousel .carousel-item,
    #main-carousel .carousel-item img {

    height: 215px !important;

    min-height: 215px !important;

  }

  #main-carousel .carousel-item img {

    object-fit: cover !important;

    object-position: center !important;

  }

  #main-carousel .carousel-caption,
    #main-carousel .carousel-caption.d-none.d-md-block {

    display: block !important;

    padding: 14px 44px 26px !important;

    text-align: left !important;

  }

  #main-carousel .carousel-caption h5 {

    margin: 0 !important;

    font-size: 18px !important;

    line-height: 1.2 !important;

  }

  #main-carousel .carousel-caption p {

    display: none !important;

  }

  #home-page > h2 {

    margin: 16px 4px 10px !important;

    font-size: 22px !important;

  }

  /* Обычные каталоги: две компактные карточки в ряд. */

  .catalog-products,
    .products-grid,
    #category-page .products-grid,
    #search-page-results,
    #wishlist-page .wishlist-grid {

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 9px !important;

  }

  .product-card {

    min-width: 0 !important;

    min-height: 0 !important;

    border-radius: 11px !important;

  }

  .product-card .product-image {

    height: 168px !important;

    min-height: 168px !important;

  }

  .product-card .product-content {

    min-width: 0 !important;

    padding: 9px !important;

    gap: 5px !important;

  }

  .product-card .product-title {

    min-height: 49px !important;

    max-height: 49px !important;

    margin: 0 !important;

  }

  .product-card .product-title a {

    font-size: 11.5px !important;

    line-height: 1.35 !important;

    -webkit-line-clamp: 3 !important;

  }

  .product-card .price-new {

    gap: 4px !important;

    font-size: 17px !important;

    white-space: nowrap;

  }

  .product-card .price-tax {

    font-size: 10.5px !important;

  }

  .product-card .product-actions {

    margin-top: 7px !important;

  }

  .product-card .product-actions .add-to-cart,
    .product-card .product-actions .add-to-cart.in-cart,
    .product-card .product-actions .add-to-cart.remove-from-cart,
    .product-card .product-actions .add-to-cart.out-of-stock {

    min-height: 39px !important;

    padding: 7px 4px !important;

    border-radius: 8px !important;

    font-size: 12px !important;

    line-height: 1.15 !important;

  }

  .product-card .wishlist-button-product {

    width: 34px !important;

    height: 34px !important;

    top: 7px !important;

    right: 7px !important;

  }

  /* Популярные на главной: горизонтальный свайп, а не километровая колонна. */

  #popular-products {

    margin-right: -8px !important;

    overflow-x: auto !important;

    overflow-y: hidden !important;

    scroll-padding-left: 2px;

    overscroll-behavior-x: contain;

    scrollbar-width: none;

    -webkit-overflow-scrolling: touch;

  }

  #popular-products::-webkit-scrollbar {

    display: none;

  }

  /* Фильтры категории: основные поля по кнопке, быстрые кнопки/алфавит остаются. */

  #category-page .catalog-filter-panel {

    margin-bottom: 12px !important;

    border-radius: 11px !important;

    overflow: visible !important;

  }

  .mobile-filter-toggle {

    display: flex !important;

    width: calc(100% - 20px);

    min-height: 42px;

    margin: 10px;

    padding: 8px 13px;

    align-items: center;

    justify-content: space-between;

    gap: 8px;

    border: 1px solid #d9e1ee;

    border-radius: 9px;

    background: #fff;

    color: #2c416b;

    font-weight: 800;

    cursor: pointer;

  }

  .mobile-filter-toggle .fa-chevron-down {

    transition: transform .18s ease;

  }

  #category-page .catalog-filter-panel.mobile-filters-open .mobile-filter-toggle .fa-chevron-down {

    transform: rotate(180deg);

  }

  #category-page .catalog-filter-main {

    display: none !important;

    grid-template-columns: 1fr !important;

    padding: 0 10px 10px !important;

  }

  #category-page .catalog-filter-panel.mobile-filters-open .catalog-filter-main {

    display: grid !important;

  }

  #category-page .catalog-filter-search,
    #category-page .catalog-filter-sort,
    #category-page .catalog-filter-actions {

    grid-column: auto !important;

  }

  #category-page .catalog-filter-actions {

    justify-content: stretch !important;

  }

  #category-page .catalog-filter-apply,
    #category-page .catalog-filter-reset {

    flex: 1 1 0 !important;

    min-width: 0 !important;

  }

  #category-page .catalog-filter-presets {

    overflow-x: auto !important;

    padding-bottom: 2px;

    scrollbar-width: none;

  }

  #category-page .catalog-filter-presets::-webkit-scrollbar {

    display: none;

  }

  #category-page .catalog-filter-alpha-row {

    display: flex !important;

    flex-wrap: nowrap !important;

    overflow-x: auto !important;

    gap: 5px !important;

    padding: 2px 0 5px !important;

    scrollbar-width: none;

  }

  #category-page .catalog-filter-result-count {

    padding: 8px 11px 10px !important;

    font-size: 12px !important;

  }

  /* Системные страницы. */

  #search-page .search-page-header,
    #wishlist-page .wishlist-header {

    margin-bottom: 12px !important;

    padding: 15px 13px !important;

    border-radius: 11px !important;

  }

  #search-page .search-page-header h1,
    #wishlist-page .wishlist-header h1 {

    font-size: 22px !important;

  }

  /* Страница товара: один столбец и разумная высота галереи. */

  #product-page {

    min-width: 0 !important;

  }

  #product-page .product-detail-layout {

    grid-template-columns: 1fr !important;

    flex-direction: column !important;

    gap: 12px !important;

  }

  #product-page .product-gallery-card,
    #product-page .product-summary-card {

    width: 100% !important;

    max-width: 100% !important;

    min-width: 0 !important;

    padding: 10px !important;

    border-radius: 11px !important;

  }

  #product-page .product-gallery-open {

    min-height: 280px !important;

  }

  #product-page .product-gallery-main-image {

    height: min(62vh, 430px) !important;

  }

  #product-page .gallery-thumbs {

    display: flex !important;

    grid-template-columns: none !important;

    gap: 7px !important;

    overflow-x: auto !important;

    padding-bottom: 4px;

    scrollbar-width: none;

    scroll-snap-type: x proximity;

  }

  #product-page .gallery-thumbs::-webkit-scrollbar {

    display: none;

  }

  #product-page .gallery-thumb {

    flex: 0 0 72px !important;

    width: 72px !important;

    height: 72px !important;

    scroll-snap-align: start;

  }

  #product-page .product-detail-title {

    font-size: 23px !important;

    line-height: 1.17 !important;

  }

  #product-page .product-current-price {

    font-size: 27px !important;

  }

  #product-page .product-detail-actions {

    grid-template-columns: 1fr !important;

    gap: 8px !important;

  }

  #product-page .product-detail-tabs {

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 6px !important;

  }

  #product-page .product-detail-tab {

    min-height: 40px !important;

    padding: 7px 5px !important;

    font-size: 13px !important;

  }

  /* Корзина на телефоне почти fullscreen. */

  .cart-content {

    flex-direction: column !important;

  }

  .cart-body {

    flex: 1 1 auto !important;

    overflow-y: auto !important;

    -webkit-overflow-scrolling: touch;

  }

  .cart-item-controls {

    padding-left: 78px;

  }

  .cart-summary {

    z-index: 2;

    margin-top: 10px !important;

  }

  .checkout-buttons {

    gap: 8px !important;

  }

  .checkout-btn {

    min-height: 44px !important;

  }

  /* Telegram-модалка тоже должна помещаться в экран. */

  .telegram-modal {

    padding: 10px !important;

  }

  .telegram-content {

    width: 100% !important;

    max-width: 100% !important;

    max-height: calc(100dvh - 20px) !important;

    overflow-y: auto !important;

  }

  footer .container {

    width: 100% !important;

    max-width: 100% !important;

    padding-left: 14px !important;

    padding-right: 14px !important;

  }

}

/* Очень узкие телефоны: одна карточка, иначе текст начинает воевать с ценой. */

@media (max-width: 350px) {

  .catalog-products,
    .products-grid,
    #category-page .products-grid,
    #search-page-results,
    #wishlist-page .wishlist-grid {

    grid-template-columns: 1fr !important;

  }

  #logo .logo-image img {

    max-width: 155px !important;

  }

  #popular-products .product-card {

    flex-basis: 82vw !important;

    width: 82vw !important;

  }

}

/* Шапка категории */

/* Шапка серверной категории */

#category-page .catalog-header.category-hero {

  position: relative;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 24px;

  margin: 0 0 14px !important;

  padding: 24px 28px !important;

  border: 0 !important;

  border-radius: 18px !important;

  overflow: hidden;

  color: #fff !important;

  background: radial-gradient(circle at 86% 18%, rgba(255,255,255,.18), transparent 28%),
      linear-gradient(125deg, #4361ee 0%, #5b37df 48%, #7d05c8 100%) !important;

  box-shadow: 0 10px 30px rgba(55, 56, 155, .18);

}

#category-page .category-hero::after {

  content: "";

  position: absolute;

  width: 220px;

  height: 220px;

  right: -82px;

  bottom: -132px;

  border-radius: 50%;

  border: 32px solid rgba(255,255,255,.07);

  pointer-events: none;

}

#category-page .category-hero-main {

  position: relative;

  z-index: 1;

  min-width: 0;

  display: flex;

  align-items: center;

  gap: 16px;

}

#category-page .category-hero-icon {

  width: 58px;

  height: 58px;

  flex: 0 0 58px;

  display: grid;

  place-items: center;

  border-radius: 16px;

  background: rgba(255,255,255,.14);

  border: 1px solid rgba(255,255,255,.20);

  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);

  font-size: 28px;

}

#category-page .category-hero-kicker {

  margin-bottom: 3px;

  color: rgba(255,255,255,.72);

  font-size: 11px;

  line-height: 1.2;

  font-weight: 800;

  letter-spacing: .11em;

  text-transform: uppercase;

}

#category-page .category-hero h1 {

  margin: 0 !important;

  color: #fff !important;

  font-size: clamp(25px, 2.4vw, 34px) !important;

  line-height: 1.08 !important;

  font-weight: 800 !important;

}

#category-page .category-hero-copy p {

  margin: 6px 0 0 !important;

  color: rgba(255,255,255,.82) !important;

  font-size: 14px !important;

}

#category-page .category-hero-main {

  flex: 1 1 auto;

}

#category-page .category-hero-copy {

  min-width: 0;

}

#category-page .category-hero h1 {

  overflow: hidden;

  white-space: nowrap;

  text-overflow: ellipsis;

}

#category-page .category-hero-meta {

  position: relative;

  z-index: 1;

  flex: 0 0 auto;

  display: grid;

  grid-template-columns: repeat(3, 128px);

  gap: 8px;

}

#category-page .category-hero-chip {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 6px;

  width: 128px;

  min-width: 128px;

  min-height: 36px;

  padding: 8px 10px;

  border-radius: 999px;

  background: rgba(255,255,255,.14);

  border: 1px solid rgba(255,255,255,.20);

  color: #fff;

  font-size: 13px;

  line-height: 1;

  white-space: nowrap;

  backdrop-filter: blur(7px);

}

#category-page .category-hero-chip-label {

  color: rgba(255,255,255,.76);

  font-size: 11px;

  font-weight: 700;

}

#category-page .category-hero-chip-value {

  color: #fff;

  font-size: 13px;

  font-weight: 800;

}

/* Первые три слайда без внешних картинок/CDN */

#main-carousel .gg-promo-visual {

  position: relative;

  width: 100%;

  height: 390px;

  min-height: 390px;

  overflow: hidden;

  isolation: isolate;

}

#main-carousel .gg-promo-games {

  background: radial-gradient(circle at 18% 18%, rgba(75, 219, 255, .42), transparent 28%),
      radial-gradient(circle at 82% 72%, rgba(193, 72, 255, .35), transparent 30%),
      linear-gradient(135deg, #10245d 0%, #3146d4 48%, #7c10bd 100%);

}

#main-carousel .gg-promo-consoles {

  background: radial-gradient(circle at 28% 30%, rgba(90, 133, 255, .28), transparent 30%),
      radial-gradient(circle at 78% 55%, rgba(59, 255, 145, .20), transparent 34%),
      linear-gradient(135deg, #111827 0%, #1e2b55 55%, #18251f 100%);

}

#main-carousel .gg-promo-accessories {

  background: radial-gradient(circle at 78% 24%, rgba(73, 164, 255, .34), transparent 30%),
      radial-gradient(circle at 18% 76%, rgba(145, 74, 255, .30), transparent 30%),
      linear-gradient(135deg, #0b2a42 0%, #2449a3 52%, #5b21b6 100%);

}

#main-carousel .gg-promo-glow {

  position: absolute;

  inset: 0;

  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);

  background-size: 34px 34px;

  mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 88%);

  pointer-events: none;

}

#main-carousel .gg-promo-icon {

  position: absolute;

  z-index: 0;

  right: 10%;

  top: 45%;

  transform: translateY(-50%) rotate(-7deg);

  color: rgba(255,255,255,.18);

  font-size: clamp(120px, 15vw, 230px);

  filter: drop-shadow(0 20px 30px rgba(0,0,0,.18));

}

#main-carousel .gg-promo-icon-left {

  left: 11%;

  right: auto;

  transform: translateY(-50%) rotate(-7deg);

}

#main-carousel .gg-promo-icon-right {

  right: 11%;

  transform: translateY(-50%) rotate(7deg);

}

@media (max-width: 820px) {

  #category-page .catalog-header.category-hero {

    align-items: flex-start;

    flex-direction: column;

    gap: 14px;

    margin: 0 10px 12px !important;

    padding: 18px !important;

    border-radius: 14px !important;

  }

  #category-page .category-hero-icon {

    width: 48px;

    height: 48px;

    flex-basis: 48px;

    border-radius: 13px;

    font-size: 23px;

  }

  #category-page .category-hero-copy p {

    font-size: 13px !important;

  }

  #category-page .category-hero-meta {

    width: 100%;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 6px;

  }

  #category-page .category-hero-chip {

    width: 100%;

    min-width: 0;

    min-height: 52px;

    padding: 7px 5px;

    display: grid;

    grid-template-columns: 1fr;

    grid-template-rows: auto auto;

    justify-items: center;

    align-content: center;

    gap: 3px;

    border-radius: 12px;

    white-space: normal;

    text-align: center;

  }

  #category-page .category-hero-chip > i {

    display: none;

  }

  #category-page .category-hero-chip-label {

    font-size: 10px;

    line-height: 1;

  }

  #category-page .category-hero-chip-value {

    font-size: 12px;

    line-height: 1.05;

  }

  #main-carousel .gg-promo-visual {

    height: 215px !important;

    min-height: 215px !important;

  }

  #main-carousel .gg-promo-icon {

    right: 8%;

    font-size: 120px;

  }

  #main-carousel .gg-promo-icon-left {

    left: 7%;

  }

  #main-carousel .gg-promo-icon-right {

    right: 7%;

  }

}

/* Услуги: базовый интерфейс */

/* GamesGu.ru — услуги v3
     - билборд использует готовые 1920×720 изображения;
     - никаких HTML-подписей поверх слайда;
     - карточки услуг используют центральную часть того же кадра;
     - детальные страницы: большое фото сверху + текст снизу;
     - универсальная галерея готова к добавлению реальных работ. */

/* ---------- Главный билборд ---------- */

#main-carousel {

  overflow: hidden;

  border-radius: 18px !important;

  background: #0b1020 !important;

  box-shadow: 0 12px 32px rgba(16,24,40,.10);

}

#main-carousel .gg-service-slide {

  position: relative !important;

  width: 100% !important;

  height: auto !important;

  min-height: 0 !important;

  aspect-ratio: 8 / 3 !important;

  overflow: hidden !important;

  background: #0b1020 !important;

  cursor: pointer;

}

#main-carousel .gg-service-slide::before,
  #main-carousel .gg-service-slide::after {

  content: none !important;

  display: none !important;

}

#main-carousel .gg-service-slide-media {

  position: absolute !important;

  inset: 0 !important;

  z-index: 1;

  display: block !important;

  padding: 0 !important;

}

#main-carousel .gg-service-slide-media img {

  display: block !important;

  width: 100% !important;

  height: 100% !important;

  max-width: none !important;

  max-height: none !important;

  object-fit: cover !important;

  object-position: center center !important;

  filter: none !important;

}

/* На картинках уже есть текст. HTML-caption полностью отключаем. */

#main-carousel .gg-service-slide .carousel-caption,
  #main-carousel .gg-service-slide .carousel-caption.d-none.d-md-block {

  display: none !important;

}

#main-carousel .carousel-control-prev,
  #main-carousel .carousel-control-next,
  #main-carousel .carousel-indicators {

  z-index: 7 !important;

}

#main-carousel .carousel-indicators {

  top: auto !important;

  bottom: 10px !important;

  margin-bottom: 0 !important;

  gap: 7px;

}

#main-carousel .carousel-indicators [data-bs-target] {

  width: 11px !important;

  height: 11px !important;

  margin: 0 !important;

  border-radius: 50% !important;

  border: 1px solid rgba(255,255,255,.86) !important;

  background: rgba(255,255,255,.46) !important;

  opacity: 1 !important;

  box-shadow: 0 2px 6px rgba(0,0,0,.16);

}

#main-carousel .carousel-indicators .active {

  background: #fff !important;

  border-color: #fff !important;

  transform: scale(1.10);

}

/* ---------- Главная страница услуг ---------- */

.gg-services-v3 {

  width: 100%;

  max-width: 1180px;

  margin: 0 auto;

  padding: 2px 0 32px;

}

.gg-services-v3,
  .gg-services-v3 * {

  box-sizing: border-box;

}

.gg-services-v3__intro {

  margin: 0 auto 22px;

  max-width: 820px;

  text-align: center;

  color: #667085;

  font-size: 15px;

  line-height: 1.6;

}

.gg-services-v3__grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 18px;

}

.gg-service-card-v3 {

  min-width: 0;

  overflow: hidden;

  display: flex;

  flex-direction: column;

  background: #fff;

  border: 1px solid #e3e8f1;

  border-radius: 16px;

  box-shadow: 0 7px 22px rgba(18,31,65,.07);

  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;

}

.gg-service-card-v3:hover {

  transform: translateY(-3px);

  border-color: #cbd6ff;

  box-shadow: 0 13px 30px rgba(18,31,65,.12);

}

.gg-service-card-v3__image-link {

  display: block;

  color: inherit;

  text-decoration: none !important;

}

.gg-service-card-v3__media {

  position: relative;

  width: 100%;

  overflow: hidden;

}

.gg-service-card-v3__media img {

  display: block;

  transition: transform .28s ease;

}

.gg-service-card-v3__badge {

  position: absolute;

  z-index: 2;

  left: 10px;

  top: 10px;

  display: inline-flex;

  align-items: center;

  gap: 5px;

  padding: 5px 9px;

  border-radius: 999px;

  color: #fff;

  background: rgba(19,27,45,.84);

  backdrop-filter: blur(7px);

  font-size: 11px;

  font-weight: 800;

}

.gg-service-card-v3__body {

  display: flex;

  flex: 1;

  flex-direction: column;

  padding: 15px;

}

.gg-service-card-v3__body h2 {

  margin: 0 0 7px;

  color: #172033;

  font-size: 18px;

  line-height: 1.25;

  font-weight: 800;

}

.gg-service-card-v3__body p {

  margin: 0 0 14px;

  color: #667085;

  font-size: 13px;

  line-height: 1.5;

}

.gg-service-card-v3__actions {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 8px;

  margin-top: auto;

}

.gg-service-card-v3__btn {

  min-height: 40px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 7px;

  padding: 9px 10px;

  border-radius: 9px;

  text-align: center;

  text-decoration: none !important;

  font-size: 13px;

  line-height: 1.2;

  font-weight: 750;

  transition: transform .16s ease, background .16s ease;

}

.gg-service-card-v3__btn--ghost {

  border: 1px solid #dbe2ed;

  color: #27344d !important;

  background: #f8fafc;

}

.gg-service-card-v3__btn--ghost:hover {

  background: #eef2f7;

}

.gg-service-card-v3__btn--main {

  border: 1px solid transparent;

  color: #fff !important;

  background: linear-gradient(135deg,#4361ee,#7410c7);

  box-shadow: 0 6px 14px rgba(67,97,238,.20);

}

.gg-service-card-v3__btn--main:hover {

  transform: translateY(-1px);

  color: #fff !important;

}

/* ---------- Детальная страница услуги ---------- */

.gg-service-detail-v3 {

  width: 100%;

  max-width: 1180px;

  margin: 0 auto;

  padding: 0 0 34px;

}

.gg-service-detail-v3,
  .gg-service-detail-v3 * {

  box-sizing: border-box;

}

.gg-service-detail-v3__topline {

  display: flex;

  justify-content: flex-start;

  margin: 0 0 16px;

}

.gg-service-detail-v3__back {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  min-height: 42px;

  padding: 9px 14px;

  border: 1px solid #dbe2ed;

  border-radius: 10px;

  background: #fff;

  color: #27344d !important;

  text-decoration: none !important;

  font-size: 14px;

  font-weight: 750;

}

.gg-service-detail-v3__back:hover {

  background: #f5f7fa;

}

.gg-service-detail-v3__hero {

  position: relative;

  width: 100%;

  overflow: hidden;

  margin: 0 0 12px;

  border: 1px solid #e2e7ef;

  border-radius: 18px;

  background: #edf1f7;

  box-shadow: 0 11px 28px rgba(16,24,40,.08);

  cursor: zoom-in;

}

.gg-service-detail-v3__hero img {

  display: block;

  width: 100%;

  aspect-ratio: 8 / 3;

  object-fit: cover;

  object-position: center center;

}

.gg-service-detail-v3__zoom {

  position: absolute;

  right: 13px;

  top: 13px;

  width: 42px;

  height: 42px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: #4361ee;

  background: rgba(255,255,255,.94);

  box-shadow: 0 7px 18px rgba(16,24,40,.14);

  pointer-events: none;

}

.gg-service-detail-v3__gallery {

  display: flex;

  gap: 9px;

  margin: 0 0 22px;

  overflow-x: auto;

  padding: 2px 1px 5px;

  scrollbar-width: thin;

}

.gg-service-detail-v3__gallery.is-single {

  display: none;

}

.gg-service-detail-v3__thumb {

  flex: 0 0 108px;

  width: 108px;

  height: 72px;

  overflow: hidden;

  padding: 0;

  border: 2px solid #dce3ed;

  border-radius: 11px;

  background: #fff;

  cursor: pointer;

}

.gg-service-detail-v3__thumb:hover,
  .gg-service-detail-v3__thumb.is-active {

  border-color: #4361ee;

  box-shadow: 0 5px 13px rgba(67,97,238,.16);

}

.gg-service-detail-v3__thumb img {

  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

}

.gg-service-detail-v3__content {

  padding: 26px;

  border: 1px solid #e3e8f1;

  border-radius: 18px;

  background: #fff;

  box-shadow: 0 8px 24px rgba(16,24,40,.05);

}

.gg-service-detail-v3__lead {

  margin: 0 0 22px;

  color: #4d596f;

  font-size: 18px;

  line-height: 1.65;

}

.gg-service-detail-v3__content h2 {

  margin: 28px 0 11px;

  color: #172033;

  font-size: clamp(22px, 2.2vw, 30px);

  line-height: 1.22;

  font-weight: 800;

}

.gg-service-detail-v3__content h2:first-child {

  margin-top: 0;

}

.gg-service-detail-v3__content h3 {

  margin: 22px 0 9px;

  color: #4155df;

  font-size: 20px;

  line-height: 1.3;

  font-weight: 800;

}

.gg-service-detail-v3__content p,
  .gg-service-detail-v3__content li {

  color: #5d687c;

  font-size: 16px;

  line-height: 1.7;

}

.gg-service-detail-v3__content p {

  margin: 0 0 15px;

}

.gg-service-detail-v3__content ul {

  margin: 0 0 16px;

  padding-left: 22px;

}

.gg-service-detail-v3__facts {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 10px;

  margin: 20px 0 6px;

}

.gg-service-detail-v3__fact {

  padding: 14px;

  border: 1px solid #e4e9f1;

  border-radius: 12px;

  background: #f8fafc;

}

.gg-service-detail-v3__fact i {

  margin-right: 7px;

  color: #4361ee;

}

.gg-service-detail-v3__fact strong {

  color: #27344d;

  font-size: 14px;

}

.gg-service-detail-v3__actions {

  display: flex;

  flex-wrap: wrap;

  gap: 10px;

  margin-top: 25px;

}

.gg-service-detail-v3__action {

  min-height: 46px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 8px;

  padding: 11px 17px;

  border-radius: 10px;

  text-decoration: none !important;

  font-size: 14px;

  font-weight: 800;

}

.gg-service-detail-v3__action--main {

  color: #fff !important;

  background: linear-gradient(135deg,#4361ee,#7410c7);

  box-shadow: 0 7px 16px rgba(67,97,238,.20);

}

.gg-service-detail-v3__action--ghost {

  border: 1px solid #dbe2ed;

  color: #27344d !important;

  background: #f8fafc;

}

/* ---------- Прайс-лист внутри детальной услуги ---------- */

.gg-service-price-v1 {

  margin: 0 0 24px;

  overflow: hidden;

  border: 1px solid #e1e6ef;

  border-radius: 14px;

  background: #fff;

}

.gg-service-price-v1__row {

  display: grid;

  grid-template-columns: minmax(0, 1fr) auto;

  gap: 18px;

  align-items: center;

  padding: 14px 16px;

  border-bottom: 1px solid #edf0f5;

}

.gg-service-price-v1__row:last-of-type {

  border-bottom: 0;

}

.gg-service-price-v1__row span {

  color: #465268;

  font-size: 15px;

  line-height: 1.45;

}

.gg-service-price-v1__row strong {

  color: #2538c9;

  font-size: 16px;

  line-height: 1.3;

  white-space: nowrap;

}

.gg-service-price-v1__note {

  margin: 0 !important;

  padding: 14px 16px;

  border-top: 1px solid #e7ebf2;

  color: #667085 !important;

  background: #f8fafc;

  font-size: 14px !important;

  line-height: 1.55 !important;

}

.gg-service-detail-v3__thumb[hidden] {

  display: none !important;

}

/* ---------- Общий lightbox услуг ---------- */

.gg-service-lightbox-v3 {

  position: fixed;

  inset: 0;

  z-index: 10050;

  display: none;

  align-items: center;

  justify-content: center;

  padding: 28px 74px;

  background: rgba(8,12,22,.91);

  backdrop-filter: blur(4px);

}

.gg-service-lightbox-v3.is-open {

  display: flex;

}

.gg-service-lightbox-v3__image {

  display: block;

  max-width: min(94vw, 1500px);

  max-height: 90vh;

  border-radius: 14px;

  box-shadow: 0 22px 70px rgba(0,0,0,.48);

  object-fit: contain;

}

.gg-service-lightbox-v3__close,
  .gg-service-lightbox-v3__prev,
  .gg-service-lightbox-v3__next {

  position: absolute;

  z-index: 2;

  display: grid;

  place-items: center;

  border: 0;

  color: #172033;

  background: rgba(255,255,255,.95);

  box-shadow: 0 8px 22px rgba(0,0,0,.25);

  cursor: pointer;

}

.gg-service-lightbox-v3__close {

  top: 20px;

  right: 22px;

  width: 44px;

  height: 44px;

  border-radius: 50%;

  font-size: 25px;

}

.gg-service-lightbox-v3__prev,
  .gg-service-lightbox-v3__next {

  top: 50%;

  width: 48px;

  height: 48px;

  margin-top: -24px;

  border-radius: 50%;

  font-size: 21px;

}

.gg-service-lightbox-v3__prev {

  left: 16px;

}

.gg-service-lightbox-v3__next {

  right: 16px;

}

.gg-service-lightbox-v3__counter {

  position: absolute;

  left: 50%;

  bottom: 18px;

  transform: translateX(-50%);

  padding: 6px 11px;

  border-radius: 999px;

  color: #fff;

  background: rgba(0,0,0,.46);

  font-size: 12px;

  font-weight: 700;

}

@media (max-width: 960px) {

  .gg-services-v3__grid {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

  .gg-service-detail-v3__facts {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

}

@media (max-width: 820px) {

  .gg-service-detail-v3__hero {

    border-radius: 14px;

  }

  .gg-service-detail-v3__hero img {

    aspect-ratio: 16 / 9;

  }

  .gg-service-detail-v3__content {

    padding: 18px;

  }

  .gg-service-detail-v3__lead {

    font-size: 16px;

  }

  .gg-service-detail-v3__content p,
    .gg-service-detail-v3__content li {

    font-size: 15px;

  }

}

@media (max-width: 600px) {

  .gg-services-v3__intro {

    text-align: left;

    margin-bottom: 15px;

    font-size: 14px;

  }

  .gg-services-v3__grid {

    grid-template-columns: 1fr;

    gap: 12px;

  }

  .gg-service-card-v3__body {

    padding: 13px;

  }

  .gg-service-detail-v3__facts {

    grid-template-columns: 1fr;

  }

  .gg-service-detail-v3__actions {

    display: grid;

    grid-template-columns: 1fr;

  }

  .gg-service-detail-v3__action {

    width: 100%;

  }

  .gg-service-price-v1__row {

    grid-template-columns: 1fr;

    gap: 4px;

    padding: 13px 14px;

  }

  .gg-service-price-v1__row strong {

    justify-self: start;

    font-size: 15px;

  }

  .gg-service-lightbox-v3 {

    padding: 68px 10px 54px;

  }

  .gg-service-lightbox-v3__prev,
    .gg-service-lightbox-v3__next {

    width: 42px;

    height: 42px;

    margin-top: -21px;

  }

  .gg-service-lightbox-v3__prev {

    left: 8px;

  }

  .gg-service-lightbox-v3__next {

    right: 8px;

  }

}

/* Услуги: детальные страницы */

/* Услуги v4 — без обрезки изображений. */

/* На детальных страницах услуги используем собственный H1
     после фотографии, поэтому стандартный H1 custom-page скрываем. */

.contacts-page:has(.gg-service-detail-v4) > .contacts-header {

  display: none !important;

}

/* ---------- Карточки на /uslugi/ ---------- */

.gg-service-card-v3__media {

  aspect-ratio: 8 / 3 !important;

  background: #0b1020 !important;

}

.gg-service-card-v3__media img {

  width: 100% !important;

  height: 100% !important;

  object-fit: contain !important;

  object-position: center center !important;

  transform: none !important;

}

.gg-service-card-v3:hover .gg-service-card-v3__media img {

  transform: none !important;

}

/* ---------- Детальная услуга ---------- */

.gg-service-detail-v4 {

  width: 100%;

  max-width: 1180px;

  margin: 0 auto;

  padding: 0 0 34px;

}

.gg-service-detail-v4,
  .gg-service-detail-v4 * {

  box-sizing: border-box;

}

.gg-service-detail-v4 .gg-service-detail-v3__topline {

  justify-content: center !important;

  margin-bottom: 18px !important;

}

.gg-service-detail-v4 .gg-service-detail-v3__back {

  min-width: 178px;

  justify-content: center;

}

.gg-service-detail-v4 .gg-service-detail-v3__hero {

  width: 100%;

  margin: 0 0 20px !important;

  overflow: hidden;

  border-radius: 18px;

  background: #0b1020;

}

/* ВАЖНО: никакого cover.
     Каким бы ни оказался реальный размер файла — показываем его целиком. */

.gg-service-detail-v4 .gg-service-detail-v3__hero img {

  display: block !important;

  width: 100% !important;

  height: auto !important;

  max-height: none !important;

  aspect-ratio: auto !important;

  object-fit: contain !important;

  object-position: center !important;

}

.gg-service-detail-v4__title {

  max-width: 980px;

  margin: 0 auto 18px;

  color: #172033;

  text-align: center;

  font-size: clamp(27px, 3vw, 40px);

  line-height: 1.14;

  font-weight: 800;

}

.gg-service-detail-v4 .gg-service-detail-v3__gallery {

  justify-content: center;

}

.gg-service-detail-v4 .gg-service-detail-v3__content {

  max-width: 1040px;

  margin-left: auto;

  margin-right: auto;

}

.gg-service-detail-v4 .gg-service-detail-v3__actions {

  justify-content: center !important;

  align-items: center;

  margin-top: 28px;

}

.gg-service-detail-v4 .gg-service-detail-v3__action {

  min-width: 190px;

}

/* Отдельный акцент для перехода в тестер с ремонта. */

.gg-service-detail-v3__action--test {

  border: 1px solid #cad4ff;

  color: #3448d8 !important;

  background: #f2f5ff;

}

.gg-service-detail-v3__action--test:hover {

  background: #e8edff;

}

@media (max-width: 820px) {

  .gg-service-card-v3__media {

    aspect-ratio: 8 / 3 !important;

  }

  .gg-service-detail-v4 .gg-service-detail-v3__hero {

    border-radius: 13px;

  }

  .gg-service-detail-v4__title {

    margin-bottom: 15px;

    text-align: left;

    font-size: 27px;

  }

  .gg-service-detail-v4 .gg-service-detail-v3__content {

    padding: 17px;

  }

}

@media (max-width: 600px) {

  /* На телефоне широкий кадр остаётся целиком.
       Он получается ниже, зато текст на картинке не отрезается. */

  .gg-service-card-v3__media {

    aspect-ratio: 8 / 3 !important;

  }

  .gg-service-detail-v4 .gg-service-detail-v3__actions {

    display: grid !important;

    grid-template-columns: 1fr !important;

    width: 100%;

  }

  .gg-service-detail-v4 .gg-service-detail-v3__action {

    width: 100%;

    min-width: 0;

  }

}

/* Шапка: базовое оформление */

/* V5 — обновлённая шапка:
     - убираем лишнюю подпись возле логотипа;
     - красиво оформляем кликабельный логотип;
     - верхнюю полосу превращаем в аккуратный премиальный блок. */

body {

  background: #f4f6fb;

}

/* --- верхняя служебная зона --- */

#top {

  border-bottom: 1px solid rgba(212, 219, 235, 0.92);

}

#top .container {

  position: relative;

}

#top .container::before {

  content: "";

  position: absolute;

  inset: 0;

  pointer-events: none;

  background: radial-gradient(circle at 8% 20%, rgba(255,255,255,0.18), transparent 18%),
      radial-gradient(circle at 88% 10%, rgba(255,255,255,0.14), transparent 18%);

}

#top .contact-info,
  #top .auth-links {

  position: relative;

  z-index: 1;

  display: flex;

  align-items: center;

  flex-wrap: wrap;

}

#top .container {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 14px;

}

#top .contact-item {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  backdrop-filter: blur(6px);

}

#top .contact-item i {

  font-size: 13px;

}

#top .contact-item a {

  color: #ffffff !important;

  font-weight: 700;

  text-decoration: none;

  letter-spacing: .01em;

}

#top .auth-links > a {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  text-decoration: none !important;

  transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;

}

#top .auth-links > a:hover {

  transform: translateY(-1px);

}

#top .write-us-button {

  color: #fff !important;

  font-weight: 800;

}

#top #login-link,
  #top #register-link {

  color: rgba(255,255,255,0.96) !important;

}

/* --- основной header --- */

.header-content {

  align-items: center !important;

}

#logo {

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  text-decoration: none !important;

  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;

}

#logo:hover {

  border-color: #c8d4ef;

}

#logo .logo-text,
  #logo .logo-main,
  #logo .logo-subtitle {

  display: none !important;

}

#logo .logo-image {

  display: flex;

  align-items: center;

  justify-content: center;

}

#logo .logo-image img {

  display: block;

  width: auto !important;

  height: 60px !important;

  max-width: 100%;

  object-fit: contain !important;

}

.header-right {

  align-items: center !important;

}

.search-form input {

  border: 1px solid #d7dfef !important;

  font-size: 16px !important;

  padding-left: 16px !important;

  box-shadow: inset 0 1px 2px rgba(12, 31, 78, 0.03);

}

.search-form button {

  box-shadow: 0 8px 18px rgba(67, 97, 238, 0.22);

}

#wishlist-header .wishlist-button,
  #cart .cart-button {

  width: 52px !important;

  height: 52px !important;

  border-radius: 14px !important;

  border: 1px solid #dbe3f4 !important;

  background: #ffffff !important;

  box-shadow: 0 6px 18px rgba(21, 37, 84, 0.06);

}

#cart .cart-button {

  width: auto !important;

  padding: 0 16px !important;

  background: linear-gradient(135deg, #4b66ef, #5d52ea) !important;

  border-color: transparent !important;

}

.main-nav {

  border-top: 0 !important;

  border-bottom: 0 !important;

}

.main-nav .container {

  background: #ffffff;

  border: 1px solid #e5eaf4;

  box-shadow: 0 8px 24px rgba(21, 37, 84, 0.05);

}

.main-nav .nav-menu {

  padding-left: 14px;

  padding-right: 14px;

}

.main-nav .nav-link {

  border-radius: 12px;

}

/* --- планшеты/мобильные --- */

@media (max-width: 1100px) {

  #top .container {

    padding: 10px 14px !important;

  }

  header .container {

    padding: 14px 16px !important;

  }

  #logo {

    min-height: 74px;

    padding: 8px 14px;

  }

  #logo .logo-image img {

    height: 54px !important;

  }

}

@media (max-width: 820px) {

  header {

    padding: 0 !important;

    background: #fff !important;

  }

  header .container {

    border-radius: 0 !important;

    border-left: 0 !important;

    border-right: 0 !important;

    box-shadow: none !important;

  }

  #logo {

    min-height: 58px !important;

    padding: 4px 8px !important;

    border-radius: 12px !important;

    background: transparent !important;

    border: 0 !important;

    box-shadow: none !important;

  }

  #logo .logo-image img {

    max-width: 185px !important;

    height: auto !important;

    max-height: 52px !important;

  }

  .main-nav .container {

    border-left: 0 !important;

    border-right: 0 !important;

  }

}

/* Шапка: оболочка и навигация */

/* V6 — верх сайта без эффекта "сайт внутри карточек".
     Навигационный блок ниже остаётся закруглённым. */

/* ---------- Верхняя контактная полоса ---------- */

#top {

  padding: 0 !important;

  border: 0 !important;

  background: radial-gradient(circle at 12% -40%, rgba(83, 128, 255, .44), transparent 33%),
      radial-gradient(circle at 86% -60%, rgba(180, 62, 255, .42), transparent 34%),
      linear-gradient(90deg, #3f5be7 0%, #5840e5 46%, #7b18d8 100%) !important;

  box-shadow: 0 3px 14px rgba(69, 57, 154, .13);

  position: relative;

  overflow: hidden;

}

#top::after {

  content: "";

  position: absolute;

  left: 0;

  right: 0;

  bottom: 0;

  height: 1px;

  background: rgba(255,255,255,.20);

  pointer-events: none;

}

#top .container {

  max-width: 1320px !important;

  min-height: 58px;

  margin: 0 auto !important;

  padding: 8px 14px !important;

  border: 0 !important;

  border-radius: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

  overflow: visible !important;

}

#top .container::before {

  display: none !important;

}

#top .contact-info,
  #top .auth-links {

  gap: 8px !important;

}

#top .contact-item {

  min-height: 38px !important;

  padding: 0 12px !important;

  border-radius: 10px !important;

  background: rgba(255,255,255,.08) !important;

  border: 1px solid rgba(255,255,255,.12) !important;

  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);

}

#top .contact-item:hover {

  background: rgba(255,255,255,.12) !important;

}

#top .contact-item i {

  color: #8fffe2 !important;

}

#top .auth-links > a {

  min-height: 38px !important;

  padding: 0 13px !important;

  border-radius: 10px !important;

}

#top .write-us-button {

  background: linear-gradient(135deg, #27c96e, #0db75d) !important;

  box-shadow: 0 5px 14px rgba(10, 137, 70, .22) !important;

}

#top #login-link,
  #top #register-link {

  background: rgba(255,255,255,.06) !important;

  border: 1px solid rgba(255,255,255,.10) !important;

}

#top #login-link:hover,
  #top #register-link:hover {

  background: rgba(255,255,255,.12) !important;

}

/* ---------- Основная белая шапка ---------- */

header {

  padding: 0 !important;

  background: #fff !important;

  border-bottom: 1px solid #e7ebf3 !important;

  box-shadow: 0 8px 24px rgba(25, 40, 77, .045);

}

header .container {

  max-width: 1320px !important;

  min-height: 118px;

  margin: 0 auto !important;

  padding: 18px 14px !important;

  border: 0 !important;

  border-radius: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

}

.header-content {

  gap: 28px !important;

}

/* ---------- Бренд из двух изображений ---------- */

#logo {

  flex: 0 0 auto !important;

  min-height: 0 !important;

  padding: 0 !important;

  border: 0 !important;

  border-radius: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

  transform: none !important;

}

#logo:hover {

  transform: none !important;

  border: 0 !important;

  box-shadow: none !important;

}

#logo .brand-lockup {

  display: flex;

  align-items: center;

  min-width: 0;

  transition: transform .18s ease, opacity .18s ease;

}

#logo:hover .brand-lockup {

  transform: translateY(-1px);

  opacity: .94;

}

#logo .brand-lockup__main {

  display: block;

  object-fit: contain !important;

}

#logo .brand-lockup__divider {

  flex: 0 0 1px;

  width: 1px;

  background: linear-gradient(
      to bottom,
      transparent,
      #d7ddec 18%,
      #c9d2e7 50%,
      #d7ddec 82%,
      transparent
    );

}

#logo .brand-lockup__tag {

  display: block;

  object-fit: contain !important;

}

/* Старая структура бренда больше не нужна. */

#logo .logo-image,
  #logo .logo-text,
  #logo .logo-main,
  #logo .logo-subtitle {

  display: none !important;

}

/* ---------- Правый блок ---------- */

.header-right {

  margin-left: auto !important;

  gap: 12px !important;

}

.search-form {

  flex: 1 1 500px !important;

  max-width: 540px !important;

}

.search-form input {

  height: 50px !important;

  border-radius: 12px !important;

  background: #f8faff !important;

}

.search-form button {

  width: 50px !important;

  height: 50px !important;

  border-radius: 0 12px 12px 0 !important;

}

#wishlist-header .wishlist-button {

  width: 50px !important;

  height: 50px !important;

  border-radius: 12px !important;

}

#cart .cart-button {

  min-width: 86px !important;

  height: 50px !important;

  border-radius: 12px !important;

}

/* Навигационный белый закруглённый блок оставляем как в v5. */

.main-nav {

  padding-top: 14px !important;

  padding-bottom: 10px !important;

  background: #f4f6fb !important;

}

.main-nav .container {

  max-width: 1320px !important;

  border-radius: 18px !important;

}

/* ---------- Средние экраны ---------- */

/* ---------- Мобильный ---------- */

@media (max-width: 820px) {

  header {

    position: sticky !important;

    top: 0 !important;

  }

  header .container {

    min-height: 0 !important;

    padding: 8px 10px 10px !important;

  }

  #logo {

    max-width: none !important;

  }

  #logo .brand-lockup {

    gap: 7px;

  }

  #logo .brand-lockup__main {

    height: auto !important;

    max-height: 50px !important;

    max-width: 170px !important;

  }

  #logo .brand-lockup__tag {

    height: auto !important;

    max-height: 27px !important;

    max-width: 120px !important;

  }

  #logo .brand-lockup__divider {

    height: 27px;

  }

  .main-nav {

    padding-top: 0 !important;

  }

}

@media (max-width: 520px) {

  /* На маленьком телефоне оставляем только основной логотип.
       Вторая часть бренда доступна на планшетах/широких телефонах. */

}

/* Шапка: размеры бренда */

/* V7 — размеры бренд-группы.
     База взята из удачной ручной настройки пользователя. */

/* Десктоп */

#logo .brand-lockup {

  gap: 18px !important;

}

#logo .brand-lockup__main {

  width: auto !important;

  height: 100px !important;

  max-width: 600px !important;

}

#logo .brand-lockup__tag {

  width: auto !important;

  height: 100px !important;

  max-width: 600px !important;

}

#logo .brand-lockup__divider {

  height: 54px !important;

}

/* Чтобы увеличенный бренд не зажимал поиск на обычном десктопе. */

@media (min-width: 1181px) {

  #logo {

    max-width: 620px !important;

  }

  .header-content {

    gap: 24px !important;

  }

  .search-form {

    flex-basis: 430px !important;

    max-width: 500px !important;

  }

}

/* Ноутбуки / небольшие десктопы */

@media (max-width: 1180px) and (min-width: 821px) {

  #logo .brand-lockup {

    gap: 12px !important;

  }

  #logo .brand-lockup__main {

    height: 82px !important;

    max-width: 440px !important;

  }

  #logo .brand-lockup__tag {

    height: 76px !important;

    max-width: 400px !important;

  }

  #logo .brand-lockup__divider {

    height: 44px !important;

  }

  .header-content {

    gap: 16px !important;

  }

  .search-form {

    min-width: 260px !important;

    flex-basis: 360px !important;

  }

}

/* Планшеты и широкие телефоны */

@media (max-width: 820px) and (min-width: 521px) {

  #logo .brand-lockup {

    gap: 8px !important;

  }

  #logo .brand-lockup__main {

    height: auto !important;

    max-height: 58px !important;

    max-width: 205px !important;

  }

  #logo .brand-lockup__tag {

    height: auto !important;

    max-height: 38px !important;

    max-width: 155px !important;

  }

  #logo .brand-lockup__divider {

    height: 31px !important;

  }

}

/* Маленький телефон: оставляем только основной логотип,
     иначе бренд съедает место у избранного и корзины. */

@media (max-width: 520px) {

  #logo .brand-lockup__divider,
    #logo .brand-lockup__tag {

    display: none !important;

  }

  #logo .brand-lockup__main {

    height: auto !important;

    max-height: 58px !important;

    max-width: 205px !important;

  }

}

@media (max-width: 360px) {

  #logo .brand-lockup__main {

    max-height: 50px !important;

    max-width: 175px !important;

  }

}

/* Типы товаров в категории */

/* Визуальные подкатегории внутри платформы.
     Пока БЕЗ серверной фильтрации: это только UI-каркас. */

#category-page {

  --gg-platform-1: #4361ee;

  --gg-platform-2: #7b12d9;

  --gg-platform-soft: rgba(67,97,238,.10);

  --gg-platform-border: rgba(67,97,238,.24);

}

#category-page.gg-platform-xbox {

  --gg-platform-1: #169447;

  --gg-platform-2: #45c441;

  --gg-platform-soft: rgba(28,164,73,.10);

  --gg-platform-border: rgba(28,164,73,.25);

}

#category-page.gg-platform-nintendo {

  --gg-platform-1: #e32929;

  --gg-platform-2: #ff5a45;

  --gg-platform-soft: rgba(232,45,45,.10);

  --gg-platform-border: rgba(232,45,45,.24);

}

#category-page.gg-platform-playstation {

  --gg-platform-1: #4361ee;

  --gg-platform-2: #7b12d9;

  --gg-platform-soft: rgba(67,97,238,.10);

  --gg-platform-border: rgba(67,97,238,.24);

}

/* Большая шапка категории тоже получает цвет платформы. */

#category-page.gg-platform-playstation .category-hero,
  #category-page.gg-platform-xbox .category-hero,
  #category-page.gg-platform-nintendo .category-hero {

  background: radial-gradient(circle at 86% 18%, rgba(255,255,255,.18), transparent 28%),
      linear-gradient(125deg, var(--gg-platform-1) 0%, var(--gg-platform-2) 100%) !important;

}

.gg-category-types {

  display: grid;

  grid-template-columns: repeat(5, minmax(0, 1fr));

  gap: 10px;

  margin: 0 0 14px;

  padding: 0;

}

.gg-category-type {

  position: relative;

  min-width: 0;

  min-height: 66px;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  padding: 12px 14px;

  border: 1px solid var(--gg-platform-border);

  border-radius: 14px;

  background: #fff;

  color: #2b3447;

  box-shadow: 0 5px 16px rgba(16,24,40,.05);

  font-size: 14px;

  line-height: 1.2;

  font-weight: 800;

  text-decoration: none !important;

  cursor: default;

  overflow: hidden;

  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;

}

.gg-category-type::before {

  content: "";

  position: absolute;

  inset: 0;

  opacity: 0;

  background: linear-gradient(135deg, var(--gg-platform-1), var(--gg-platform-2));

  transition: opacity .16s ease;

}

.gg-category-type > * {

  position: relative;

  z-index: 1;

}

.gg-category-type i {

  width: 26px;

  height: 26px;

  display: grid;

  place-items: center;

  border-radius: 9px;

  color: var(--gg-platform-1);

  background: var(--gg-platform-soft);

  font-size: 13px;

}

.gg-category-type.is-active {

  color: #fff;

  border-color: transparent;

  box-shadow: 0 9px 22px color-mix(in srgb, var(--gg-platform-1) 26%, transparent);

}

.gg-category-type.is-active::before {

  opacity: 1;

}

.gg-category-type.is-active i {

  color: #fff;

  background: rgba(255,255,255,.17);

}

.gg-category-type:not(.is-active):hover {

  transform: translateY(-1px);

  border-color: var(--gg-platform-1);

  box-shadow: 0 8px 18px rgba(16,24,40,.07);

}

.gg-category-types-note {

  display: none;

}

@media (max-width: 980px) {

  .gg-category-types {

    grid-template-columns: repeat(5, minmax(126px, 1fr));

    overflow-x: auto;

    padding: 1px 1px 7px;

    scroll-snap-type: x proximity;

    scrollbar-width: thin;

  }

  .gg-category-type {

    scroll-snap-align: start;

    min-width: 126px;

  }

}

@media (max-width: 820px) {

  .gg-category-types {

    margin-left: 10px;

    margin-right: 10px;

  }

  .gg-category-type i {

    border-radius: 8px;

  }

}

/* Общая оболочка, модальные окна и корзина */

/* Общая оболочка: footer, modal, wishlist, cart. */

/* ---------- Активная навигация ---------- */

.main-nav .nav-link {

  position: relative;

}

.main-nav .nav-link.active {

  color: #4361ee !important;

  background: rgba(67,97,238,.045);

  font-weight: 700;

}

.main-nav .nav-link.active::after {

  content: "";

  position: absolute;

  left: 18px;

  right: 18px;

  bottom: 0;

  height: 3px;

  border-radius: 3px 3px 0 0;

  background: linear-gradient(90deg,#4361ee,#7b1fe0);

}

/* ---------- Footer ---------- */

.gg-footer-v2 {

  margin-top: 38px;

  padding: 0 !important;

  color: #dce4f5;

  background: radial-gradient(circle at 12% 0%, rgba(67,97,238,.24), transparent 31%),
      radial-gradient(circle at 92% 10%, rgba(123,31,224,.18), transparent 30%),
      #111827;

  border-top: 1px solid rgba(255,255,255,.07);

}

.gg-footer-v2 > .container {

  max-width: 1320px !important;

  padding-top: 34px !important;

  padding-bottom: 20px !important;

}

.gg-footer-v2__top {

  display: grid;

  grid-template-columns: 280px minmax(0,1fr);

  gap: 40px;

  align-items: start;

}

.gg-footer-v2__brand-title {

  margin-bottom: 9px;

  color: #fff;

  font-size: 24px;

  font-weight: 900;

}

.gg-footer-v2__brand p {

  margin: 0 0 16px;

  color: #9eabc3;

  font-size: 13px;

  line-height: 1.65;

}

.gg-footer-v2__contact-btn {

  min-height: 42px;

  display: inline-flex;

  align-items: center;

  gap: 8px;

  padding: 0 15px;

  border: 0;

  border-radius: 10px;

  color: #fff;

  background: linear-gradient(135deg,#28c76f,#12ae5b);

  font-size: 13px;

  font-weight: 800;

  cursor: pointer;

  box-shadow: 0 7px 18px rgba(18,174,91,.18);

}

.gg-footer-v2__columns {

  display: grid;

  grid-template-columns: repeat(4,minmax(0,1fr));

  gap: 28px;

}

.gg-footer-v2__column h5 {

  margin: 0 0 13px;

  color: #fff;

  font-size: 14px;

  font-weight: 800;

}

.gg-footer-v2 .footer-links {

  margin: 0;

  padding: 0;

  list-style: none;

}

.gg-footer-v2 .footer-links li {

  margin: 0 0 8px;

}

.gg-footer-v2 .footer-links a {

  color: #aeb9cd !important;

  text-decoration: none !important;

  font-size: 13px;

  line-height: 1.4;

  transition: color .15s ease, padding-left .15s ease;

}

.gg-footer-v2 .footer-links a:hover {

  color: #fff !important;

  padding-left: 3px;

}

.gg-footer-v2__contacts {

  display: flex;

  flex-direction: column;

  gap: 9px;

}

.gg-footer-v2__contact-row {

  display: flex;

  align-items: center;

  gap: 10px;

  color: #d8e0ef !important;

  text-decoration: none !important;

  font-size: 12px;

}

.gg-footer-v2__contact-row > i {

  flex: 0 0 30px;

  width: 30px;

  height: 30px;

  display: grid;

  place-items: center;

  border-radius: 9px;

  color: #8da8ff;

  background: rgba(255,255,255,.055);

}

.gg-footer-v2__contact-row span {

  display: flex;

  flex-direction: column;

  gap: 1px;

}

.gg-footer-v2__contact-row strong {

  color: #eef3fc;

  font-size: 12px;

}

.gg-footer-v2__contact-row small {

  color: #8795ad;

  font-size: 11px;

}

.gg-footer-v2__bottom {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 16px;

  margin-top: 28px;

  padding-top: 17px;

  border-top: 1px solid rgba(255,255,255,.07);

  color: #74839c;

  font-size: 11px;

}

/* ---------- Общие UI-модалки ---------- */

.gg-ui-modal {

  position: fixed;

  inset: 0;

  z-index: 12000;

  display: none;

  align-items: center;

  justify-content: center;

  padding: 18px;

  background: rgba(10,16,30,.67);

  backdrop-filter: blur(6px);

}

.gg-ui-modal.is-open {

  display: flex;

}

.gg-ui-modal__dialog {

  position: relative;

  width: min(100%, 520px);

  max-height: calc(100dvh - 36px);

  overflow-y: auto;

  padding: 24px;

  border: 1px solid #e2e7f0;

  border-radius: 20px;

  background: #fff;

  box-shadow: 0 26px 70px rgba(5,15,40,.29);

}

.gg-ui-modal__dialog--contact {

  width: min(100%, 610px);

}

.gg-ui-modal__close {

  position: absolute;

  right: 14px;

  top: 13px;

  width: 36px;

  height: 36px;

  display: grid;

  place-items: center;

  border: 0;

  border-radius: 50%;

  color: #5b6475;

  background: #f1f4f8;

  font-size: 22px;

  cursor: pointer;

}

.gg-ui-modal__head {

  display: flex;

  align-items: center;

  gap: 12px;

  padding-right: 36px;

  margin-bottom: 20px;

}

.gg-ui-modal__head h3 {

  margin: 0 0 3px;

  color: #172033;

  font-size: 22px;

  font-weight: 850;

}

.gg-ui-modal__head p {

  margin: 0;

  color: #7b8597;

  font-size: 12px;

}

.gg-ui-modal__icon {

  flex: 0 0 46px;

  width: 46px;

  height: 46px;

  display: grid;

  place-items: center;

  border-radius: 13px;

  color: #fff;

  background: linear-gradient(135deg,#4361ee,#7619d6);

  box-shadow: 0 8px 17px rgba(67,97,238,.20);

  font-size: 18px;

}

.gg-ui-modal__icon--green {

  background: linear-gradient(135deg,#20c76b,#10a957);

  box-shadow: 0 8px 17px rgba(20,175,91,.18);

}

.gg-contact-quick {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 10px;

  margin-bottom: 18px;

}

.gg-contact-quick__item {

  display: flex;

  align-items: center;

  gap: 10px;

  padding: 12px;

  border: 1px solid #e2e7ef;

  border-radius: 12px;

  color: #253047 !important;

  background: #f8faff;

  text-decoration: none !important;

}

.gg-contact-quick__item > i {

  width: 36px;

  height: 36px;

  display: grid;

  place-items: center;

  border-radius: 10px;

  color: #4361ee;

  background: #eaf0ff;

  font-size: 17px;

}

.gg-contact-quick__item span {

  display: flex;

  flex-direction: column;

}

.gg-contact-quick__item strong {

  font-size: 13px;

}

.gg-contact-quick__item small {

  color: #7b8597;

  font-size: 11px;

}

.gg-ui-form {

  display: flex;

  flex-direction: column;

  gap: 12px;

}

.gg-ui-form__grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 10px;

}

.gg-ui-form label {

  display: flex;

  flex-direction: column;

  gap: 6px;

  color: #4c5870;

  font-size: 12px;

  font-weight: 700;

}

.gg-ui-form input,
  .gg-ui-form select,
  .gg-ui-form textarea {

  width: 100%;

  min-height: 43px;

  padding: 10px 12px;

  border: 1px solid #dce3ee;

  border-radius: 10px;

  outline: none;

  color: #1f2937;

  background: #fbfcff;

  font: inherit;

  font-size: 13px;

  transition: border-color .15s ease, box-shadow .15s ease;

}

.gg-ui-form textarea {

  min-height: 94px;

  resize: vertical;

}

.gg-ui-form input:focus,
  .gg-ui-form select:focus,
  .gg-ui-form textarea:focus {

  border-color: #8096f8;

  box-shadow: 0 0 0 3px rgba(67,97,238,.09);

}

.gg-ui-form__submit {

  min-height: 44px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 8px;

  border: 0;

  border-radius: 10px;

  color: #fff;

  background: linear-gradient(135deg,#4361ee,#711bd2);

  font-size: 13px;

  font-weight: 800;

  cursor: pointer;

}

.gg-ui-form__status {

  display: none;

  padding: 9px 11px;

  border-radius: 9px;

  color: #657188;

  background: #f3f6fb;

  font-size: 11px;

  line-height: 1.45;

}

.gg-ui-form__status.is-visible {

  display: block;

}

.gg-auth-tabs {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 5px;

  padding: 4px;

  margin-bottom: 17px;

  border-radius: 11px;

  background: #f1f4f8;

}

.gg-auth-tab {

  min-height: 39px;

  border: 0;

  border-radius: 8px;

  color: #667085;

  background: transparent;

  font-size: 13px;

  font-weight: 800;

  cursor: pointer;

}

.gg-auth-tab.is-active {

  color: #344ec7;

  background: #fff;

  box-shadow: 0 3px 10px rgba(24,39,75,.08);

}

.gg-auth-panel {

  display: none;

}

.gg-auth-panel.is-active {

  display: block;

}

.gg-auth-helper {

  display: flex;

  justify-content: space-between;

  gap: 10px;

  align-items: center;

  font-size: 11px;

}

.gg-auth-check {

  display: inline-flex !important;

  flex-direction: row !important;

  align-items: center !important;

  gap: 6px !important;

}

.gg-auth-check input {

  width: auto !important;

  min-height: 0 !important;

}

.gg-link-button {

  padding: 0;

  border: 0;

  color: #4361ee;

  background: none;

  font-size: 11px;

  cursor: pointer;

}

/* ---------- Избранное: компактная сетка ---------- */

#wishlist-page .wishlist-page {

  max-width: none !important;

}

#wishlist-page .wishlist-header {

  margin-bottom: 18px !important;

  padding: 20px 22px;

  border: 1px solid #e2e7f0;

  border-radius: 16px;

  background: #fff;

  box-shadow: 0 6px 18px rgba(16,24,40,.045);

}

#wishlist-page .wishlist-header h1 {

  margin-bottom: 6px !important;

  font-size: 27px !important;

}

#wishlist-page .wishlist-header p {

  margin-bottom: 5px;

  font-size: 13px;

}

#wishlist-page .wishlist-grid {

  grid-template-columns: repeat(4,minmax(0,1fr)) !important;

  gap: 12px !important;

}

#wishlist-page .product-card {

  min-height: 350px !important;

  border-radius: 12px !important;

}

#wishlist-page .product-card .product-image {

  height: 180px !important;

}

#wishlist-page .product-card .product-content {

  padding: 10px !important;

  gap: 5px !important;

}

#wishlist-page .product-card .product-title {

  min-height: 52px !important;

}

#wishlist-page .product-card .product-title a {

  display: -webkit-box;

  overflow: hidden;

  -webkit-line-clamp: 3;

  -webkit-box-orient: vertical;

  font-size: 12px !important;

  line-height: 1.35 !important;

}

#wishlist-page .product-card .price-new {

  font-size: 17px !important;

}

#wishlist-page .product-card .price-tax {

  font-size: 11px !important;

}

#wishlist-page .product-card .product-actions .add-to-cart,
  #wishlist-page .product-card .product-actions .add-to-cart.in-cart,
  #wishlist-page .product-card .product-actions .add-to-cart.remove-from-cart {

  min-height: 38px !important;

  padding: 8px !important;

  font-size: 13px !important;

}

#wishlist-page .wishlist-button-product {

  width: 34px !important;

  height: 34px !important;

}

/* ---------- Корзина: компактнее и чище ---------- */

.cart-modal {

  padding: 24px !important;

  background: rgba(10,16,30,.64) !important;

  backdrop-filter: blur(5px);

}

.cart-content {

  width: min(940px, 96vw) !important;

  max-width: 940px !important;

  max-height: min(82vh, 760px) !important;

  overflow: hidden;

  border-radius: 18px !important;

  box-shadow: 0 24px 70px rgba(7,16,38,.30);

}

.cart-header {

  min-height: 62px;

  padding: 14px 18px !important;

}

.cart-header h3 {

  display: flex;

  align-items: center;

  gap: 9px;

  margin: 0 !important;

  font-size: 21px !important;

}

.cart-header h3 i {

  font-size: 18px;

}

.cart-body {

  grid-template-columns: minmax(0,1fr) 270px !important;

  gap: 16px !important;

  padding: 14px 16px 16px !important;

  overflow-y: auto;

}

.cart-items {

  min-width: 0;

}

.cart-item {

  gap: 11px !important;

  padding: 11px 4px !important;

}

.cart-item-image {

  width: 72px !important;

  height: 86px !important;

  border-radius: 9px !important;

}

.cart-item-title {

  font-size: 13px !important;

  line-height: 1.32 !important;

}

.cart-item-info > .cart-item-price {

  font-size: 14px !important;

}

.cart-stock-note {

  font-size: 10px !important;

}

.quantity-control {

  gap: 5px !important;

}

.quantity-btn {

  width: 28px !important;

  height: 28px !important;

}

.quantity-input {

  min-width: 31px !important;

  height: 28px !important;

  line-height: 28px !important;

  font-size: 12px !important;

}

.cart-item-controls > .cart-item-price {

  font-size: 14px !important;

}

.remove-item {

  width: 29px !important;

  height: 29px !important;

}

.cart-summary {

  width: 270px !important;

  padding: 16px !important;

  border-radius: 13px !important;

  background: #f8faff !important;

}

.summary-title {

  font-size: 17px !important;

}

.summary-total {

  font-size: 22px !important;

}

.checkout-btn {

  min-height: 43px !important;

  border-radius: 9px !important;

  font-size: 12px !important;

}

@media (max-width: 1100px) {

  #wishlist-page .wishlist-grid {

    grid-template-columns: repeat(3,minmax(0,1fr)) !important;

  }

  .gg-footer-v2__top {

    grid-template-columns: 1fr;

    gap: 28px;

  }

}

@media (max-width: 820px) {

  .gg-footer-v2__columns {

    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  #wishlist-page .wishlist-grid {

    grid-template-columns: repeat(2,minmax(0,1fr)) !important;

  }

  #wishlist-page .product-card .product-image {

    height: 165px !important;

  }

  .cart-summary {

    bottom: 0;

  }

}

@media (max-width: 560px) {

  .gg-footer-v2__columns {

    grid-template-columns: 1fr;

  }

  .gg-footer-v2__bottom {

    flex-direction: column;

    align-items: flex-start;

    gap: 4px;

  }

  .gg-contact-quick,
    .gg-ui-form__grid {

    grid-template-columns: 1fr;

  }

  .gg-ui-modal {

    padding: 10px;

  }

  .gg-ui-modal__dialog {

    padding: 18px;

    border-radius: 15px;

  }

  #wishlist-page .wishlist-header {

    padding: 15px;

    text-align: left !important;

  }

  #wishlist-page .wishlist-grid {

    grid-template-columns: repeat(2,minmax(0,1fr)) !important;

    gap: 8px !important;

  }

  #wishlist-page .product-card {

    min-height: 315px !important;

  }

  #wishlist-page .product-card .product-image {

    height: 145px !important;

  }

  #wishlist-page .product-card .product-content {

    padding: 8px !important;

  }

  #wishlist-page .product-card .product-title {

    min-height: 48px !important;

  }

  #wishlist-page .product-card .product-title a {

    font-size: 11px !important;

  }

  #wishlist-page .product-card .price-new {

    font-size: 15px !important;

  }

}

@media (max-width: 360px) {

  #wishlist-page .wishlist-grid {

    grid-template-columns: 1fr !important;

  }

}

/* Мобильная стабилизация */

/* Mobile Stabilization v1
     Исправляем только:
     1) мобильное меню;
     2) мобильную корзину;
     3) мобильный главный билборд.
     Остальную архитектуру не трогаем. */

@media (max-width: 820px) {

  /* 1. МОБИЛЬНОЕ МЕНЮ */

  .main-nav.mobile-drawer-open {

    display: block !important;

  }

  .main-nav .container {

    /* Критический фикс:
         внешние/старые стили могут делать container горизонтальным. */

    display: flex !important;

    flex-direction: column !important;

    align-items: stretch !important;

    justify-content: flex-start !important;

    width: 100% !important;

    max-width: 100% !important;

    min-height: 100dvh !important;

    margin: 0 !important;

    padding: 0 14px 22px !important;

    border: 0 !important;

    border-radius: 0 !important;

    background: #ffffff !important;

    box-shadow: none !important;

  }

  .mobile-menu-head {

    flex: 0 0 auto !important;

    width: calc(100% + 28px) !important;

    min-height: 64px !important;

    margin: 0 -14px 10px !important;

    padding: 0 14px 0 18px !important;

    display: flex !important;

    flex-direction: row !important;

    align-items: center !important;

    justify-content: space-between !important;

    border-radius: 0 !important;

    background: radial-gradient(circle at 10% 20%, rgba(255,255,255,.14), transparent 22%),
        linear-gradient(135deg, #4361ee 0%, #6e22db 100%) !important;

    box-shadow: 0 5px 18px rgba(55,64,150,.14);

  }

  .mobile-menu-head strong {

    display: flex;

    align-items: center;

    gap: 9px;

    color: #ffffff;

    font-size: 18px !important;

    font-weight: 850;

  }

  .mobile-menu-head strong::before {

    content: "";

    font-family: "Font Awesome 6 Free";

    font-weight: 900;

    font-size: 15px;

    opacity: .9;

  }

  .mobile-menu-head .mobile-drawer-close {

    position: static !important;

    flex: 0 0 38px !important;

    width: 38px !important;

    height: 38px !important;

    transform: none !important;

    border-radius: 11px !important;

    color: #fff !important;

    background: rgba(255,255,255,.15) !important;

  }

  .main-nav .nav-menu {

    flex: 0 0 auto !important;

    display: flex !important;

    flex-direction: column !important;

    align-items: stretch !important;

    justify-content: flex-start !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 2px 0 0 !important;

    gap: 4px !important;

  }

  .main-nav .nav-menu > li {

    display: block !important;

    width: 100% !important;

    flex: 0 0 auto !important;

    margin: 0 !important;

    padding: 0 !important;

  }

  .main-nav .nav-link {

    position: relative !important;

    display: flex !important;

    width: 100% !important;

    min-height: 48px !important;

    align-items: center !important;

    justify-content: flex-start !important;

    margin: 0 !important;

    padding: 10px 13px !important;

    border: 0 !important;

    border-radius: 10px !important;

    color: #293348 !important;

    background: transparent !important;

    font-size: 14px !important;

    line-height: 1.25 !important;

    font-weight: 650 !important;

    text-align: left !important;

    white-space: normal !important;

  }

  .main-nav .nav-link::after {

    display: none !important;

  }

  .main-nav .nav-link:hover {

    color: #3854cf !important;

    background: #f4f6ff !important;

  }

  .main-nav .nav-link.active {

    color: #3653d4 !important;

    background: linear-gradient(90deg, #eef2ff, #f7f5ff) !important;

    font-weight: 800 !important;

    box-shadow: inset 3px 0 0 #536aef;

  }

  .mobile-menu-contact {

    flex: 0 0 auto !important;

    width: 100% !important;

    min-height: 46px !important;

    margin: 16px 0 0 !important;

    padding: 0 15px !important;

    display: flex !important;

    flex-direction: row !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 8px !important;

    border-radius: 11px !important;

    color: #ffffff !important;

    background: linear-gradient(135deg, #28c76f, #14b861) !important;

    box-shadow: 0 7px 17px rgba(24,179,96,.18);

    font-size: 14px !important;

    line-height: 1.2 !important;

    font-weight: 800 !important;

    text-decoration: none !important;

  }

  .mobile-menu-contact span {

    display: inline !important;

    width: auto !important;

  }

  /* Сам drawer немного уже и аккуратнее на обычном телефоне. */

  .main-nav {

    width: min(86vw, 330px) !important;

    max-width: min(86vw, 330px) !important;

    background: #fff !important;

  }

  /* 2. ГЛАВНЫЙ БИЛБОРД */

  #main-carousel {

    width: 100% !important;

    overflow: hidden !important;

    border-radius: 12px !important;

    background: #0b1020 !important;

  }

  #main-carousel .carousel-inner {

    width: 100% !important;

    overflow: hidden !important;

  }

  #main-carousel .gg-service-slide {

    /* Картинки сделаны под 1920×720 = 8:3.
         Сохраняем эту пропорцию и на телефоне. */

    width: 100% !important;

    height: auto !important;

    min-height: 0 !important;

    aspect-ratio: 8 / 3 !important;

    background: #0b1020 !important;

  }

  #main-carousel .gg-service-slide-media {

    position: absolute !important;

    inset: 0 !important;

    padding: 0 !important;

    background: #0b1020 !important;

  }

  #main-carousel .gg-service-slide-media img {

    display: block !important;

    width: 100% !important;

    height: 100% !important;

    /* Главное изменение: ничего не режем. */

    object-fit: contain !important;

    object-position: center center !important;

    transform: none !important;

  }

  #main-carousel .carousel-control-prev,
    #main-carousel .carousel-control-next {

    width: 42px !important;

    opacity: .92 !important;

  }

  #main-carousel .carousel-control-prev-icon,
    #main-carousel .carousel-control-next-icon {

    width: 30px !important;

    height: 30px !important;

    background-size: 14px 14px !important;

  }

  #main-carousel .carousel-indicators {

    bottom: 5px !important;

    gap: 5px !important;

  }

  #main-carousel .carousel-indicators [data-bs-target] {

    width: 8px !important;

    height: 8px !important;

  }

  /* 3. МОБИЛЬНАЯ КОРЗИНА */

  .cart-modal {

    align-items: stretch !important;

    justify-content: stretch !important;

    padding: 0 !important;

    background: #ffffff !important;

    backdrop-filter: none !important;

  }

  .cart-content {

    display: grid !important;

    grid-template-rows: auto minmax(0, 1fr) !important;

    width: 100vw !important;

    max-width: 100vw !important;

    height: 100dvh !important;

    max-height: 100dvh !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;

    border-radius: 0 !important;

    background: #fff !important;

    box-shadow: none !important;

  }

  .cart-header {

    grid-row: 1;

    flex: 0 0 auto !important;

    min-height: 58px !important;

    padding: 10px 13px !important;

    border-bottom: 1px solid #e3e8f0;

    background: linear-gradient(135deg, #4361ee, #5d48e8) !important;

  }

  .cart-header h3 {

    font-size: 19px !important;

  }

  .close-cart {

    width: 38px !important;

    height: 38px !important;

  }

  .cart-body {

    grid-row: 2;

    /* Две независимые вертикальные зоны:
         товары скроллятся, итог всегда остаётся снизу. */

    display: grid !important;

    grid-template-columns: 1fr !important;

    grid-template-rows: minmax(0, 1fr) auto !important;

    gap: 0 !important;

    min-width: 0 !important;

    min-height: 0 !important;

    width: 100% !important;

    height: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;

    background: #fff !important;

  }

  .cart-items {

    grid-row: 1;

    width: 100% !important;

    min-width: 0 !important;

    min-height: 0 !important;

    margin: 0 !important;

    padding: 6px 11px 14px !important;

    overflow-x: hidden !important;

    overflow-y: auto !important;

    -webkit-overflow-scrolling: touch;

    overscroll-behavior: contain;

    background: #fff;

  }

  .cart-item {

    display: grid !important;

    grid-template-columns: 64px minmax(0, 1fr) !important;

    grid-template-areas: "cart-image cart-info"
        "cart-controls cart-controls" !important;

    width: 100% !important;

    min-width: 0 !important;

    gap: 7px 9px !important;

    padding: 10px 0 !important;

    border-bottom: 1px solid #edf0f5;

    align-items: start !important;

  }

  .cart-item:last-child {

    border-bottom: 0;

  }

  .cart-item-image {

    grid-area: cart-image;

    width: 64px !important;

    height: 78px !important;

    overflow: hidden;

    border: 1px solid #e1e6ef;

    border-radius: 9px !important;

    background: #f6f8fb;

  }

  .cart-item-image img {

    width: 100% !important;

    height: 100% !important;

    object-fit: contain !important;

  }

  .cart-item-info {

    grid-area: cart-info;

    min-width: 0 !important;

  }

  .cart-item-title {

    margin: 0 0 4px !important;

    display: -webkit-box !important;

    overflow: hidden !important;

    -webkit-box-orient: vertical !important;

    -webkit-line-clamp: 3 !important;

    color: #263146 !important;

    font-size: 12px !important;

    line-height: 1.28 !important;

    font-weight: 700 !important;

  }

  .cart-item-info > .cart-item-price {

    color: #3957d7 !important;

    font-size: 13px !important;

    font-weight: 800 !important;

  }

  .cart-stock-note {

    margin-top: 2px !important;

    font-size: 10px !important;

  }

  .cart-item-controls {

    grid-area: cart-controls;

    display: grid !important;

    grid-template-columns: auto minmax(0,1fr) auto !important;

    width: 100% !important;

    min-width: 0 !important;

    gap: 7px !important;

    padding: 1px 0 0 73px !important;

  }

  .quantity-btn {

    width: 27px !important;

    height: 27px !important;

  }

  .quantity-input {

    min-width: 29px !important;

    height: 27px !important;

    line-height: 27px !important;

  }

  .cart-item-controls > .cart-item-price {

    justify-self: end;

    color: #3151cf !important;

    font-size: 13px !important;

    font-weight: 850 !important;

    white-space: nowrap;

  }

  .remove-item {

    width: 28px !important;

    height: 28px !important;

  }

  /* Нижняя зона больше НЕ sticky внутри списка. */

  .cart-summary {

    grid-row: 2;

    position: static !important;

    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;

    overflow: visible !important;

    border: 0 !important;

    border-top: 1px solid #dfe5ef !important;

    border-radius: 0 !important;

    background: #f8faff !important;

    box-shadow: 0 -7px 22px rgba(24,39,75,.08) !important;

  }

  .cart-summary .summary-title {

    display: none !important;

  }

  .cart-summary .summary-row {

    display: inline-flex !important;

    align-items: center;

    justify-content: space-between;

    width: calc(50% - 4px) !important;

    margin: 0 0 7px !important;

    padding: 0 !important;

    color: #677287;

    font-size: 11px !important;

  }

  .cart-summary .summary-row:nth-of-type(3) {

    margin-left: 8px !important;

  }

  .cart-summary .summary-row span:last-child {

    color: #263146;

    font-weight: 800;

  }

  .cart-summary .summary-total {

    margin: 0 0 9px !important;

    padding: 0 !important;

    color: #3655d6 !important;

    font-size: 21px !important;

    line-height: 1.1 !important;

    font-weight: 900 !important;

  }

  .empty-cart {

    min-height: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    padding: 36px 20px;

    color: #6b7689;

    text-align: center;

  }

}

@media (max-width: 380px) {

  .main-nav {

    width: min(90vw, 320px) !important;

    max-width: min(90vw, 320px) !important;

  }

  .main-nav .nav-link {

    min-height: 44px !important;

    padding: 8px 11px !important;

    font-size: 13px !important;

  }

  .cart-item {

    grid-template-columns: 58px minmax(0, 1fr) !important;

  }

  .cart-item-image {

    width: 58px !important;

    height: 72px !important;

  }

  .cart-item-controls {

    padding-left: 67px !important;

  }

  .cart-summary {

    padding-left: 9px !important;

    padding-right: 9px !important;

  }

}

/* Мобильный каталог */

/* Mobile Catalog v2
     - популярные без свайпа;
     - типы товаров без свайпа;
     - алфавит без горизонтального скролла;
     - компактный quantity control;
     - мобильный footer accordion;
     - guest card в мобильном меню. */

@media (max-width: 820px) {

  /* ----------------------------------------------------------
       1. Популярные товары: 2 × 3 вместо горизонтальной карусели
       ---------------------------------------------------------- */

  #popular-products {

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 9px !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow: visible !important;

    scroll-snap-type: none !important;

  }

  #popular-products .product-card {

    width: 100% !important;

    min-width: 0 !important;

    max-width: none !important;

    flex: none !important;

    scroll-snap-align: none !important;

  }

  /* На телефоне популярное — короткая витрина, не второй каталог. */

  #popular-products .product-card:nth-child(n/**/+7) {

    display: none !important;

  }

  #popular-products .product-image {

    height: 160px !important;

    min-height: 160px !important;

  }

  #home-page .products-section > h2,
    #home-page .section-title {

    margin-bottom: 14px !important;

    font-size: 23px !important;

  }

  /* ----------------------------------------------------------
       2. Тип товара: Все сверху + четыре кнопки 2×2
       ---------------------------------------------------------- */

  .gg-category-types {

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 8px !important;

    width: auto !important;

    margin: 0 10px 12px !important;

    padding: 0 !important;

    overflow: visible !important;

    scroll-snap-type: none !important;

  }

  .gg-category-type {

    width: 100% !important;

    min-width: 0 !important;

    min-height: 52px !important;

    padding: 9px 8px !important;

    gap: 7px !important;

    border-radius: 11px !important;

    scroll-snap-align: none !important;

    font-size: 12.5px !important;

    white-space: normal !important;

  }

  .gg-category-type:first-child {

    grid-column: 1 / -1;

    min-height: 48px !important;

  }

  .gg-category-type i {

    flex: 0 0 23px;

    width: 23px !important;

    height: 23px !important;

    font-size: 11px !important;

  }

  /* ----------------------------------------------------------
       3. Алфавит: весь доступен сразу, без скрытого свайпа
       ---------------------------------------------------------- */

  #category-page .catalog-filter-alphabet,
    #category-page .alphabet-filter-compact,
    .alphabet-filter-compact.v13-ready {

    width: 100% !important;

    max-width: 100% !important;

    overflow: visible !important;

    overscroll-behavior: auto !important;

  }

  .alphabet-filter-compact.v13-ready {

    padding: 8px 10px 10px !important;

  }

  .alphabet-filter-compact.v13-ready .alphabet-row {

    width: 100% !important;

    min-width: 0 !important;

  }

  .alphabet-filter-compact.v13-ready .alphabet-letters-compact,
    .alphabet-filter-compact.v13-ready .alphabet-letters-compact.en,
    .alphabet-filter-compact.v13-ready .alphabet-letters-compact.ru {

    display: flex !important;

    flex-wrap: wrap !important;

    align-items: center !important;

    justify-content: flex-start !important;

    width: 100% !important;

    max-width: 100% !important;

    gap: 4px !important;

    padding: 0 !important;

    overflow-x: visible !important;

    overflow-y: visible !important;

    white-space: normal !important;

  }

  .alphabet-filter-compact.v13-ready .alphabet-divider {

    width: 100% !important;

    height: 1px !important;

    margin: 7px 0 !important;

    background: #e4e9f1 !important;

  }

  .alphabet-filter-compact.v13-ready .alphabet-letter-compact {

    flex: 0 0 29px !important;

    width: 29px !important;

    min-width: 29px !important;

    max-width: 29px !important;

    height: 29px !important;

    min-height: 29px !important;

    margin: 0 !important;

    padding: 0 !important;

    display: grid !important;

    place-items: center !important;

    border-radius: 7px !important;

    font-size: 11px !important;

    line-height: 1 !important;

  }

  /* ----------------------------------------------------------
       4. Корзина: единый quantity-control
       ---------------------------------------------------------- */

  .cart-item-controls {

    align-items: center !important;

  }

  .quantity-control {

    display: inline-grid !important;

    grid-template-columns: 30px 34px 30px !important;

    align-items: stretch !important;

    width: 94px !important;

    height: 30px !important;

    gap: 0 !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;

    border: 1px solid #dbe2ed !important;

    border-radius: 999px !important;

    background: #fff !important;

    box-shadow: 0 2px 6px rgba(16,24,40,.04);

  }

  .quantity-control .quantity-btn {

    width: 30px !important;

    height: 28px !important;

    min-width: 30px !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 0 !important;

    color: #59657a !important;

    background: transparent !important;

    font-size: 9px !important;

  }

  .quantity-control .quantity-btn:not(:disabled):active {

    background: #edf2ff !important;

  }

  .quantity-control .quantity-btn:disabled {

    color: #c5ccd8 !important;

    background: #f8fafc !important;

  }

  .quantity-control .quantity-input {

    width: 34px !important;

    min-width: 34px !important;

    height: 28px !important;

    display: grid !important;

    place-items: center !important;

    margin: 0 !important;

    padding: 0 !important;

    border-left: 1px solid #edf0f4 !important;

    border-right: 1px solid #edf0f4 !important;

    border-top: 0 !important;

    border-bottom: 0 !important;

    border-radius: 0 !important;

    color: #263146 !important;

    background: #fff !important;

    font-size: 11px !important;

    line-height: 28px !important;

    font-weight: 800 !important;

  }

  /* ----------------------------------------------------------
       5. Гость / авторизация в мобильном меню
       ---------------------------------------------------------- */

  .mobile-account-card {

    width: 100%;

    margin: 12px 0 0;

    padding: 13px;

    border: 1px solid #e0e6f0;

    border-radius: 12px;

    background: linear-gradient(135deg, #f8faff, #f5f2ff);

  }

  .mobile-account-card__top {

    display: flex;

    align-items: center;

    gap: 10px;

  }

  .mobile-account-card__avatar {

    flex: 0 0 38px;

    width: 38px;

    height: 38px;

    display: grid;

    place-items: center;

    border-radius: 11px;

    color: #4961df;

    background: #e9eeff;

    font-size: 15px;

  }

  .mobile-account-card__copy {

    min-width: 0;

    display: flex;

    flex-direction: column;

    gap: 2px;

  }

  .mobile-account-card__copy strong {

    color: #263146;

    font-size: 13px;

  }

  .mobile-account-card__copy small {

    color: #7a8598;

    font-size: 10.5px;

  }

  .mobile-account-card__actions {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 7px;

    margin-top: 10px;

  }

  .mobile-account-card__btn {

    min-height: 37px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 6px;

    padding: 7px 8px;

    border: 1px solid #d7dff0;

    border-radius: 9px;

    color: #34445f;

    background: #fff;

    font-size: 11px;

    font-weight: 800;

    text-decoration: none !important;

  }

  .mobile-account-card__btn--primary {

    color: #fff !important;

    border-color: transparent;

    background: linear-gradient(135deg, #4361ee, #6f25d8);

  }

  /* ----------------------------------------------------------
       6. Footer accordion
       ---------------------------------------------------------- */

  .gg-footer-v2 {

    margin-top: 28px !important;

  }

  .gg-footer-v2 > .container {

    padding: 24px 16px 15px !important;

  }

  .gg-footer-v2__top {

    display: block !important;

  }

  .gg-footer-v2__brand {

    margin-bottom: 20px;

  }

  .gg-footer-v2__columns {

    display: block !important;

  }

  .gg-footer-v2__column {

    width: 100%;

    border-top: 1px solid rgba(255,255,255,.08);

  }

  .gg-footer-v2__column:last-child {

    border-bottom: 1px solid rgba(255,255,255,.08);

  }

  .gg-footer-v2__column > h5 {

    position: relative;

    min-height: 48px;

    margin: 0 !important;

    padding: 0 32px 0 0 !important;

    display: flex !important;

    align-items: center !important;

    color: #f1f5fd !important;

    cursor: pointer;

    user-select: none;

  }

  .gg-footer-v2__column > h5::after {

    content: "";

    position: absolute;

    right: 4px;

    top: 50%;

    font-family: "Font Awesome 6 Free";

    font-weight: 900;

    font-size: 11px;

    transform: translateY(-50%);

    transition: transform .18s ease;

    color: #8392ad;

  }

  .gg-footer-v2__column.is-open > h5::after {

    transform: translateY(-50%) rotate(180deg);

  }

  .gg-footer-v2__column:not(.is-open) > *:not(h5) {

    display: none !important;

  }

  .gg-footer-v2__column.is-open > .footer-links {

    display: block !important;

    padding: 0 0 12px !important;

  }

  .gg-footer-v2__column.is-open.gg-footer-v2__contacts {

    display: flex !important;

  }

  .gg-footer-v2__column.is-open.gg-footer-v2__contacts > .gg-footer-v2__contact-row {

    display: flex !important;

  }

  .gg-footer-v2__contacts {

    gap: 0 !important;

  }

  .gg-footer-v2__contacts.is-open {

    gap: 9px !important;

    padding-bottom: 13px;

  }

  .gg-footer-v2__bottom {

    margin-top: 18px !important;

    padding-top: 13px !important;

  }

}

@media (max-width: 420px) {

  #popular-products .product-image {

    height: 145px !important;

    min-height: 145px !important;

  }

  .gg-category-type {

    font-size: 12px !important;

  }

  .alphabet-filter-compact.v13-ready .alphabet-letter-compact {

    flex-basis: 27px !important;

    width: 27px !important;

    min-width: 27px !important;

    max-width: 27px !important;

    height: 28px !important;

    min-height: 28px !important;

  }

}

@media (max-width: 350px) {

  #popular-products {

    grid-template-columns: 1fr !important;

  }

  #popular-products .product-card:nth-child(n/**/+5) {

    display: none !important;

  }

  #popular-products .product-image {

    height: 195px !important;

    min-height: 195px !important;

  }

}

/* Мобильные точечные правки */

/* Mobile Polish v3
     1) Guest block strictly mobile.
     2) Server alphabet wraps, no horizontal swipe.
     3) Cart summary: one clean row + actions. */

/* Страховка: даже если JS не успел удалить блок, на ПК его не видно. */

@media (min-width: 821px) {

  .mobile-account-card {

    display: none !important;

  }

}

@media (max-width: 820px) {

  /* ----------------------------------------------------------
       СЕРВЕРНЫЙ АЛФАВИТ — это фактический текущий блок категории.
       ---------------------------------------------------------- */

  #category-page .catalog-filter-alphabet {

    display: grid !important;

    grid-template-columns: 1fr !important;

    width: 100% !important;

    max-width: 100% !important;

    padding: 9px 10px 10px !important;

    gap: 7px !important;

    overflow: visible !important;

  }

  #category-page .catalog-filter-presets {

    grid-row: auto !important;

    display: grid !important;

    grid-template-columns: 1fr 1fr !important;

    gap: 7px !important;

    width: 100% !important;

    max-width: 100% !important;

    overflow: visible !important;

    padding: 0 !important;

  }

  #category-page .catalog-filter-presets .catalog-filter-letter {

    width: 100% !important;

    min-width: 0 !important;

    height: 32px !important;

    flex: none !important;

    padding: 0 8px !important;

    white-space: nowrap !important;

  }

  #category-page .catalog-filter-alpha-row,
    #category-page .catalog-filter-alpha-en,
    #category-page .catalog-filter-alpha-ru {

    display: flex !important;

    flex-direction: row !important;

    flex-wrap: wrap !important;

    align-items: center !important;

    justify-content: flex-start !important;

    width: 100% !important;

    min-width: 0 !important;

    max-width: 100% !important;

    gap: 4px !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow-x: visible !important;

    overflow-y: visible !important;

    scrollbar-width: none !important;

    white-space: normal !important;

  }

  #category-page .catalog-filter-alpha-row::-webkit-scrollbar {

    display: none !important;

  }

  #category-page .catalog-filter-alpha-row .catalog-filter-letter {

    flex: 0 0 29px !important;

    width: 29px !important;

    min-width: 29px !important;

    max-width: 29px !important;

    height: 29px !important;

    min-height: 29px !important;

    margin: 0 !important;

    padding: 0 !important;

    border-radius: 7px !important;

    font-size: 11px !important;

    line-height: 1 !important;

  }

  #category-page .catalog-filter-alpha-divider {

    display: block !important;

    width: 100% !important;

    height: 1px !important;

    margin: 2px 0 !important;

    background: #e7ebf2 !important;

  }

  /* ----------------------------------------------------------
       КОРЗИНА — компактный нижний итог.
       ---------------------------------------------------------- */

  .cart-summary .summary-mobile-compact {

    display: flex !important;

    align-items: center !important;

    justify-content: space-between !important;

    gap: 12px !important;

    width: 100% !important;

    min-height: 38px !important;

    margin: 0 0 8px !important;

    padding: 0 2px !important;

  }

  .cart-summary .summary-mobile-compact span {

    color: #657188 !important;

    font-size: 12px !important;

    font-weight: 700 !important;

  }

  .cart-summary .summary-mobile-compact strong {

    color: #3152d5 !important;

    font-size: 20px !important;

    line-height: 1 !important;

    font-weight: 900 !important;

    white-space: nowrap !important;

  }

  /* Старые desktop-поля на мобильном больше не нужны. */

  .cart-summary .summary-title,
    .cart-summary .summary-row,
    .cart-summary .summary-total {

    display: none !important;

  }

  .cart-summary {

    padding: 9px 11px calc(10px + env(safe-area-inset-bottom)) !important;

  }

  .cart-summary .checkout-buttons {

    display: grid !important;

    grid-template-columns: 1fr 1fr !important;

    gap: 7px !important;

    width: 100% !important;

    margin: 0 !important;

  }

  .cart-summary .checkout-btn {

    min-width: 0 !important;

    min-height: 40px !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    margin: 0 !important;

    padding: 8px 6px !important;

    border-radius: 9px !important;

    font-size: 10.5px !important;

    line-height: 1.15 !important;

    font-weight: 800 !important;

    text-align: center !important;

    white-space: normal !important;

  }

}

@media (max-width: 380px) {

  #category-page .catalog-filter-alpha-row .catalog-filter-letter {

    flex-basis: 27px !important;

    width: 27px !important;

    min-width: 27px !important;

    max-width: 27px !important;

    height: 28px !important;

    min-height: 28px !important;

  }

  .cart-summary .summary-mobile-compact strong {

    font-size: 18px !important;

  }

  .cart-summary .checkout-btn {

    font-size: 10px !important;

  }

}

/* Финальные UX-правки */

/* UX Polish v4 */

/* ------------------------------------------------------------
     Корзина на desktop: компактная summary-карточка.
     ------------------------------------------------------------ */

@media (min-width: 821px) {

  .cart-content {

    width: min(980px, 94vw) !important;

    max-width: 980px !important;

  }

  .cart-body {

    grid-template-columns: minmax(0, 1fr) 245px !important;

    gap: 18px !important;

    align-items: start !important;

    padding: 14px 16px 16px !important;

  }

  .cart-items {

    min-width: 0 !important;

  }

  .cart-summary {

    position: sticky !important;

    top: 0 !important;

    align-self: start !important;

    width: 245px !important;

    min-height: 0 !important;

    margin: 0 !important;

    padding: 16px !important;

    border: 1px solid #e2e7f0 !important;

    border-radius: 14px !important;

    background: #f8faff !important;

    box-shadow: 0 7px 20px rgba(22, 38, 74, .06) !important;

  }

  .cart-summary .summary-title {

    display: block !important;

    margin: 0 0 12px !important;

    padding: 0 0 11px !important;

    border-bottom: 1px solid #e1e6ef;

    color: #273247;

    font-size: 16px !important;

    font-weight: 850 !important;

  }

  .cart-summary .summary-mobile-compact {

    display: flex !important;

    flex-direction: column !important;

    align-items: flex-start !important;

    gap: 5px !important;

    margin: 0 0 15px !important;

  }

  .cart-summary .summary-mobile-compact span {

    color: #748096;

    font-size: 12px;

    font-weight: 700;

  }

  .cart-summary .summary-mobile-compact strong {

    color: #3555d4;

    font-size: 26px;

    line-height: 1.08;

    font-weight: 900;

  }

  /* Старое тройное дублирование "Товары / Сумма / большая сумма" убираем. */

  .cart-summary .summary-row,
    .cart-summary .summary-total {

    display: none !important;

  }

  .cart-summary .checkout-buttons {

    display: grid !important;

    grid-template-columns: 1fr !important;

    gap: 8px !important;

    margin: 0 !important;

  }

  .cart-summary .checkout-btn {

    min-height: 42px !important;

    margin: 0 !important;

    border-radius: 9px !important;

  }

  .cart-item {

    display: grid !important;

    grid-template-columns: 64px minmax(0, 1fr) auto !important;

    align-items: center !important;

    gap: 11px !important;

    padding: 10px 2px !important;

  }

  .cart-item-image {

    width: 64px !important;

    height: 76px !important;

  }

  .cart-item-info {

    min-width: 0 !important;

  }

  .cart-item-title {

    margin-bottom: 4px !important;

    font-size: 12px !important;

    line-height: 1.3 !important;

    -webkit-line-clamp: 3 !important;

  }

  .cart-item-info > .cart-item-price {

    font-size: 13px !important;

  }

  .cart-item-controls {

    display: grid !important;

    grid-template-columns: auto 78px 28px !important;

    align-items: center !important;

    gap: 8px !important;

    padding: 0 !important;

    white-space: nowrap;

  }

  .cart-item-controls > .cart-item-price {

    justify-self: end;

    font-size: 13px !important;

    font-weight: 850 !important;

  }

  .quantity-control {

    display: inline-grid !important;

    grid-template-columns: 28px 34px 28px !important;

    width: 90px !important;

    height: 30px !important;

    gap: 0 !important;

    overflow: hidden;

    border: 1px solid #dbe2ed !important;

    border-radius: 999px !important;

    background: #fff !important;

  }

  .quantity-control .quantity-btn {

    width: 28px !important;

    height: 28px !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 0 !important;

    background: transparent !important;

  }

  .quantity-control .quantity-input {

    width: 34px !important;

    min-width: 34px !important;

    height: 28px !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    border-left: 1px solid #edf0f4 !important;

    border-right: 1px solid #edf0f4 !important;

    border-radius: 0 !important;

    line-height: 28px !important;

    text-align: center !important;

    font-size: 11px !important;

    font-weight: 800 !important;

  }

}

.cart-header-actions {

  display: flex;

  align-items: center;

  gap: 7px;

}

.cart-header-wishlist {

  width: 38px;

  height: 38px;

  display: grid;

  place-items: center;

  border: 1px solid rgba(255,255,255,.22);

  border-radius: 10px;

  color: #fff;

  background: rgba(255,255,255,.12);

  cursor: pointer;

}

.cart-header-wishlist:hover {

  background: rgba(255,255,255,.20);

}

/* ------------------------------------------------------------
     Mobile
     ------------------------------------------------------------ */

@media (max-width: 820px) {

  /* Сердце в мобильной шапке всегда остаётся видимым. */

  #wishlist-header {

    display: flex !important;

    visibility: visible !important;

    opacity: 1 !important;

  }

  #wishlist-header .wishlist-button {

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    color: #1e2633 !important;

  }

  #wishlist-header .wishlist-button > i,
    #wishlist-header .wishlist-button .fa-heart {

    display: inline-block !important;

    visibility: visible !important;

    opacity: 1 !important;

    color: #161b22 !important;

  }

  /* В хлебных крошках товара полное название дублирует H1 ниже. */

  #product-page .product-breadcrumbs .breadcrumb-item.active {

    display: none !important;

  }

  #product-page .product-breadcrumbs {

    margin-bottom: 10px !important;

    font-size: 12px !important;

  }

  #product-page .product-breadcrumbs .breadcrumb {

    flex-wrap: wrap !important;

    row-gap: 2px;

  }

  /* Touch-устройства не должны оставлять "липкий" красный hover. */

  #product-page .btn-wishlist-detail:not(.active) {

    border-color: #d7dfeb !important;

    color: #546176 !important;

    background: #fff !important;

  }

  #product-page .btn-wishlist-detail.active {

    border-color: #ee9f99 !important;

    color: #d7443b !important;

    background: #fff1ef !important;

  }

  .cart-header-wishlist {

    width: 38px !important;

    height: 38px !important;

  }

  /* На телефоне стрелки lightbox остаются как запасной способ,
       но становятся менее навязчивыми, основной жест — swipe. */

  .product-image-lightbox__nav {

    opacity: .58;

  }

}

@media (hover: none) and (pointer: coarse) {

  #product-page .btn-wishlist-detail:not(.active):hover {

    border-color: #d7dfeb !important;

    color: #546176 !important;

    background: #fff !important;

  }

}

/* Информационные страницы */

/* GamesGu.ru — информационные страницы v1
     Самовывоз / Оплата / Возврат и обмен / Контакты */

.gg-info-page,
  .gg-info-page * {

  box-sizing: border-box;

}

.gg-info-page {

  --gg-blue: #4361ee;

  --gg-purple: #7418d4;

  --gg-text: #202a3b;

  --gg-muted: #68758b;

  --gg-border: #e1e7f0;

  --gg-soft: #f7f9fd;

  --gg-shadow: 0 10px 28px rgba(22, 38, 74, .065);

  width: 100%;

  max-width: 1160px;

  margin: 0 auto;

  color: var(--gg-text);

}

.gg-info-page__lead {

  max-width: 820px;

  margin: -10px auto 26px;

  color: var(--gg-muted);

  font-size: 16px;

  line-height: 1.65;

  text-align: center;

}

.gg-info-card {

  border: 1px solid var(--gg-border);

  border-radius: 16px;

  background: #fff;

  box-shadow: var(--gg-shadow);

}

.gg-info-page__quick {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 14px;

  margin-bottom: 22px;

}

.gg-info-tile {

  min-width: 0;

  padding: 18px;

  border: 1px solid var(--gg-border);

  border-radius: 15px;

  background: radial-gradient(circle at 100% 0%, rgba(67,97,238,.07), transparent 38%),
      #fff;

  box-shadow: 0 7px 20px rgba(22,38,74,.05);

}

.gg-info-tile__icon {

  width: 42px;

  height: 42px;

  display: grid;

  place-items: center;

  margin-bottom: 12px;

  border-radius: 12px;

  color: #fff;

  background: linear-gradient(135deg, var(--gg-blue), var(--gg-purple));

  box-shadow: 0 7px 15px rgba(67,97,238,.18);

  font-size: 16px;

}

.gg-info-tile h3 {

  margin: 0 0 8px;

  color: var(--gg-text);

  font-size: 17px;

  line-height: 1.25;

  font-weight: 850;

}

.gg-info-tile p,
  .gg-info-tile a {

  margin: 0;

  color: var(--gg-muted);

  font-size: 13px;

  line-height: 1.65;

}

.gg-info-tile a {

  color: #3655d6;

  text-decoration: none;

  font-weight: 700;

}

.gg-info-tile a:hover {

  text-decoration: underline;

}

.gg-info-section {

  margin-top: 20px;

  padding: 22px;

  border: 1px solid var(--gg-border);

  border-radius: 17px;

  background: #fff;

  box-shadow: var(--gg-shadow);

}

.gg-info-section__heading {

  display: flex;

  align-items: center;

  gap: 11px;

  margin: 0 0 15px;

}

.gg-info-section__heading i {

  width: 38px;

  height: 38px;

  flex: 0 0 38px;

  display: grid;

  place-items: center;

  border-radius: 11px;

  color: #4861de;

  background: #edf1ff;

}

.gg-info-section__heading h2,
  .gg-info-section__heading h3 {

  margin: 0;

  color: var(--gg-text);

  font-size: 22px;

  line-height: 1.2;

  font-weight: 850;

}

.gg-info-section p,
  .gg-info-section li {

  color: #5f6c81;

  font-size: 14px;

  line-height: 1.7;

}

.gg-info-section p {

  margin: 0 0 10px;

}

.gg-info-section ul,
  .gg-info-section ol {

  margin: 10px 0 0;

  padding-left: 21px;

}

.gg-info-section li {

  margin-bottom: 7px;

}

.gg-info-callout {

  margin: 20px 0 0;

  padding: 18px 20px;

  border: 1px solid rgba(67,97,238,.17);

  border-radius: 15px;

  background: linear-gradient(135deg, rgba(67,97,238,.065), rgba(116,24,212,.045));

}

.gg-info-callout--warm {

  border-color: rgba(238,153,55,.23);

  background: linear-gradient(135deg, rgba(255,186,67,.10), rgba(255,244,220,.58));

}

.gg-info-callout__title {

  display: flex;

  align-items: center;

  gap: 9px;

  margin: 0 0 9px;

  color: #263146;

  font-size: 16px;

  font-weight: 850;

}

.gg-info-callout__title i {

  color: #4961df;

}

.gg-info-callout--warm .gg-info-callout__title i {

  color: #df8a1d;

}

.gg-info-actions {

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: 9px;

  margin-top: 18px;

}

.gg-info-btn {

  min-height: 42px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 7px;

  padding: 9px 15px;

  border: 1px solid #dce3ef;

  border-radius: 10px;

  color: #344159 !important;

  background: #fff;

  text-decoration: none !important;

  font-size: 13px;

  font-weight: 800;

}

.gg-info-btn--primary {

  border-color: transparent;

  color: #fff !important;

  background: linear-gradient(135deg, var(--gg-blue), var(--gg-purple));

  box-shadow: 0 7px 17px rgba(67,97,238,.17);

}

.gg-info-btn--green {

  border-color: transparent;

  color: #fff !important;

  background: linear-gradient(135deg,#29c66e,#13ac5b);

  box-shadow: 0 7px 17px rgba(19,172,91,.17);

}

/* САМОВЫВОЗ */

.gg-pickup-layout {

  display: grid;

  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);

  gap: 16px;

  align-items: stretch;

}

.gg-pickup-photo {

  min-height: 310px;

  overflow: hidden;

  border-radius: 16px;

  background: #eef2f7;

  box-shadow: var(--gg-shadow);

}

.gg-pickup-photo img {

  display: block;

  width: 100%;

  height: 100%;

  min-height: 310px;

  object-fit: cover;

  object-position: center;

}

.gg-pickup-address {

  display: flex;

  flex-direction: column;

  justify-content: center;

  padding: 22px;

}

.gg-pickup-address__badge {

  width: max-content;

  margin-bottom: 12px;

  padding: 6px 9px;

  border-radius: 999px;

  color: #3655d6;

  background: #eef2ff;

  font-size: 11px;

  font-weight: 850;

}

.gg-pickup-address h2 {

  margin: 0 0 11px;

  color: #202a3b;

  font-size: 24px;

  line-height: 1.18;

  font-weight: 900;

}

.gg-pickup-address p {

  margin: 0 0 7px;

  color: #637086;

  font-size: 14px;

  line-height: 1.65;

}

.gg-route-grid {

  display: grid;

  grid-template-columns: minmax(0, 1fr) minmax(250px, .72fr);

  gap: 14px;

  margin-top: 15px;

}

.gg-route-card {

  padding: 18px;

  border: 1px solid var(--gg-border);

  border-radius: 14px;

  background: #fafbfe;

}

.gg-route-card h3 {

  margin: 0 0 10px;

  color: #283348;

  font-size: 17px;

}

.gg-bus-visual {

  overflow: hidden;

  border-radius: 12px;

  background: #eef2f7;

}

.gg-bus-visual img {

  display: block;

  width: 100%;

  height: 210px;

  object-fit: cover;

}

.gg-map-shell {

  position: relative;

  width: 100%;

  min-height: 390px;

  margin-top: 15px;

  overflow: hidden;

  border: 1px solid var(--gg-border);

  border-radius: 15px;

  background: #eef2f7;

  box-shadow: var(--gg-shadow);

}

.gg-map-shell #map,
  .gg-map-shell #map-pickup {

  width: 100% !important;

  height: 390px !important;

  margin: 0 !important;

  border-radius: 0 !important;

  box-shadow: none !important;

}

/* ОПЛАТА */

.gg-payment-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 14px;

}

.gg-payment-card {

  border: 1px solid var(--gg-border);

  border-radius: 16px;

  background: #fff;

  box-shadow: var(--gg-shadow);

}

.gg-payment-card__media {

  place-items: center;

}

.gg-payment-card__body h3 {

  margin: 0 0 7px;

  color: #263146;

  font-size: 17px;

  font-weight: 850;

}

.gg-payment-security {

  display: flex;

  align-items: center;

  gap: 13px;

  margin-top: 17px;

  padding: 16px 18px;

  border: 1px solid rgba(67,97,238,.18);

  border-radius: 14px;

  background: linear-gradient(135deg, #f3f6ff, #faf7ff);

}

.gg-payment-security i {

  width: 40px;

  height: 40px;

  flex: 0 0 40px;

  display: grid;

  place-items: center;

  border-radius: 12px;

  color: #fff;

  background: linear-gradient(135deg, var(--gg-blue), var(--gg-purple));

}

.gg-payment-security strong {

  color: #263146;

}

/* ВОЗВРАТ / ОБМЕН */

.gg-return-nav {

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: 7px;

  margin-bottom: 18px;

}

.gg-return-nav a {

  min-height: 34px;

  display: inline-flex;

  align-items: center;

  padding: 6px 10px;

  border: 1px solid #dce3ef;

  border-radius: 999px;

  color: #536078 !important;

  background: #fff;

  text-decoration: none !important;

  font-size: 11px;

  font-weight: 800;

}

.gg-return-nav a:hover {

  color: #3655d6 !important;

  border-color: #bfcaf2;

  background: #f6f8ff;

}

.gg-return-section {

  scroll-margin-top: 120px;

  margin-bottom: 14px;

  padding: 21px;

  border: 1px solid var(--gg-border);

  border-radius: 16px;

  background: #fff;

  box-shadow: 0 7px 21px rgba(22,38,74,.05);

}

.gg-return-section:last-child {

  margin-bottom: 0;

}

.gg-return-section__head {

  display: grid;

  grid-template-columns: 38px minmax(0, 1fr);

  gap: 11px;

  align-items: center;

  margin-bottom: 14px;

}

.gg-return-section__number {

  width: 38px;

  height: 38px;

  display: grid;

  place-items: center;

  border-radius: 11px;

  color: #fff;

  background: linear-gradient(135deg, var(--gg-blue), var(--gg-purple));

  font-size: 14px;

  font-weight: 900;

}

.gg-return-section h2 {

  margin: 0;

  color: #273247;

  font-size: 19px;

  line-height: 1.3;

  font-weight: 850;

}

.gg-return-section h3 {

  margin: 18px 0 8px;

  color: #344159;

  font-size: 15px;

  font-weight: 850;

}

.gg-return-section p,
  .gg-return-section li {

  color: #616e83;

  font-size: 13.5px;

  line-height: 1.7;

}

.gg-return-section p {

  margin: 0 0 10px;

}

.gg-return-section ul,
  .gg-return-section ol {

  margin: 8px 0 12px;

  padding-left: 21px;

}

.gg-return-section li {

  margin-bottom: 7px;

}

.gg-return-note {

  margin-top: 14px;

  padding: 14px 15px;

  border-left: 4px solid #536aef;

  border-radius: 0 11px 11px 0;

  background: #f3f6ff;

}

.gg-return-legal-note {

  margin-top: 15px !important;

  color: #7b8597 !important;

  font-size: 12px !important;

  font-style: italic;

}

/* КОНТАКТЫ + ГАЛЕРЕЯ */

.gg-contact-gallery {

  margin-top: 22px;

}

.gg-contact-gallery__title {

  margin: 0 0 14px;

  color: #202a3b;

  text-align: center;

  font-size: 24px;

  font-weight: 900;

}

.gg-store-gallery {

  padding: 13px;

  border: 1px solid var(--gg-border);

  border-radius: 17px;

  background: #fff;

  box-shadow: var(--gg-shadow);

}

.gg-store-gallery__main {

  position: relative;

  overflow: hidden;

  width: 100%;

  aspect-ratio: 16 / 8.7;

  border-radius: 13px;

  background: #eef2f7;

  cursor: zoom-in;

}

.gg-store-gallery__main img {

  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

}

.gg-store-gallery__zoom {

  position: absolute;

  right: 12px;

  top: 12px;

  width: 38px;

  height: 38px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: #4361ee;

  background: rgba(255,255,255,.94);

  box-shadow: 0 6px 17px rgba(16,24,40,.16);

  pointer-events: none;

}

.gg-store-gallery__thumbs {

  display: grid;

  grid-template-columns: repeat(6, minmax(0, 1fr));

  gap: 8px;

  margin-top: 9px;

}

.gg-store-gallery__thumb {

  overflow: hidden;

  aspect-ratio: 4 / 3;

  padding: 0;

  border: 2px solid transparent;

  border-radius: 9px;

  background: #eef2f7;

  cursor: pointer;

}

.gg-store-gallery__thumb img {

  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

}

.gg-store-gallery__thumb.is-active {

  border-color: #536aef;

  box-shadow: 0 4px 11px rgba(67,97,238,.16);

}

.gg-store-lightbox {

  position: fixed;

  inset: 0;

  z-index: 13000;

  display: none;

  align-items: center;

  justify-content: center;

  padding: 60px 70px;

  background: rgba(8,12,22,.91);

  backdrop-filter: blur(4px);

}

.gg-store-lightbox.is-open {

  display: flex;

}

.gg-store-lightbox__image {

  display: block;

  max-width: 94vw;

  max-height: 89vh;

  object-fit: contain;

  border-radius: 13px;

  box-shadow: 0 22px 70px rgba(0,0,0,.42);

}

.gg-store-lightbox__close,
  .gg-store-lightbox__prev,
  .gg-store-lightbox__next {

  position: absolute;

  display: grid;

  place-items: center;

  border: 0;

  border-radius: 50%;

  color: #172033;

  background: rgba(255,255,255,.95);

  box-shadow: 0 7px 20px rgba(0,0,0,.24);

  cursor: pointer;

}

.gg-store-lightbox__close {

  right: 18px;

  top: 18px;

  width: 42px;

  height: 42px;

  font-size: 22px;

}

.gg-store-lightbox__prev,
  .gg-store-lightbox__next {

  top: 50%;

  width: 46px;

  height: 46px;

  margin-top: -23px;

}

.gg-store-lightbox__prev {

  left: 14px;

}

.gg-store-lightbox__next {

  right: 14px;

}

.gg-store-lightbox__counter {

  position: absolute;

  bottom: 17px;

  left: 50%;

  transform: translateX(-50%);

  padding: 6px 10px;

  border-radius: 999px;

  color: #fff;

  background: rgba(0,0,0,.42);

  font-size: 11px;

  font-weight: 800;

}

/* Responsive */

@media (max-width: 900px) {

  .gg-info-page__quick,
    .gg-payment-grid {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

  .gg-pickup-layout,
    .gg-route-grid {

    grid-template-columns: 1fr;

  }

  .gg-store-gallery__thumbs {

    grid-template-columns: repeat(3, minmax(0, 1fr));

  }

}

@media (max-width: 600px) {

  .gg-info-page__lead {

    margin-top: -5px;

    margin-bottom: 18px;

    text-align: left;

    font-size: 14px;

  }

  .gg-info-page__quick,
    .gg-payment-grid {

    grid-template-columns: 1fr;

    gap: 10px;

  }

  .gg-info-tile,
    .gg-info-section,
    .gg-return-section {

    padding: 15px;

    border-radius: 13px;

  }

  .gg-info-section__heading h2,
    .gg-info-section__heading h3 {

    font-size: 18px;

  }

  .gg-info-actions {

    display: grid;

    grid-template-columns: 1fr;

  }

  .gg-info-btn {

    width: 100%;

  }

  .gg-pickup-photo,
    .gg-pickup-photo img {

    min-height: 220px;

  }

  .gg-pickup-address h2 {

    font-size: 20px;

  }

  .gg-bus-visual img {

    height: auto;

    max-height: 260px;

    object-fit: contain;

  }

  .gg-map-shell,
    .gg-map-shell #map,
    .gg-map-shell #map-pickup {

    min-height: 310px;

    height: 310px !important;

  }

  .gg-return-nav {

    justify-content: flex-start;

    flex-wrap: nowrap;

    overflow-x: auto;

    padding-bottom: 4px;

    scrollbar-width: none;

  }

  .gg-return-nav::-webkit-scrollbar {

    display: none;

  }

  .gg-return-nav a {

    flex: 0 0 auto;

  }

  .gg-return-section__head {

    grid-template-columns: 34px minmax(0, 1fr);

    gap: 9px;

  }

  .gg-return-section__number {

    width: 34px;

    height: 34px;

  }

  .gg-return-section h2 {

    font-size: 16px;

  }

  .gg-store-gallery {

    padding: 8px;

  }

  .gg-store-gallery__main {

    aspect-ratio: 4 / 3;

  }

  .gg-store-gallery__main img {

    object-fit: contain;

    background: #eef2f7;

  }

  .gg-store-gallery__thumbs {

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 6px;

  }

  .gg-store-lightbox {

    padding: 60px 8px 50px;

  }

  .gg-store-lightbox__prev,
    .gg-store-lightbox__next {

    width: 40px;

    height: 40px;

    margin-top: -20px;

    opacity: .7;

  }

  .gg-store-lightbox__prev {

    left: 7px;

  }

  .gg-store-lightbox__next {

    right: 7px;

  }

}

/* Информационные страницы: уточнения */

/* Информационные страницы v2 */

/* Возврат/обмен: кнопки прокрутки вместо hash-ссылок. */

.gg-return-nav button {

  min-height: 34px;

  display: inline-flex;

  align-items: center;

  padding: 6px 10px;

  border: 1px solid #dce3ef;

  border-radius: 999px;

  color: #536078;

  background: #fff;

  font: inherit;

  font-size: 11px;

  font-weight: 800;

  cursor: pointer;

}

.gg-return-nav button:hover {

  color: #3655d6;

  border-color: #bfcaf2;

  background: #f6f8ff;

}

/* Способы оплаты: отделяем изображение с уже встроенным текстом
     от обычного HTML-описания и больше не дублируем название. */

/* Универсальное изображение, открываемое в lightbox. */

.gg-info-zoomable {

  position: relative;

  display: block;

  width: 100%;

  padding: 0;

  overflow: hidden;

  border: 0;

  border-radius: 12px;

  background: #eef2f7;

  cursor: zoom-in;

}

.gg-info-zoomable img {

  display: block;

  width: 100%;

  height: auto;

  max-height: 320px;

  object-fit: contain;

}

.gg-info-zoomable__icon {

  position: absolute;

  top: 9px;

  right: 9px;

  width: 36px;

  height: 36px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: #4361ee;

  background: rgba(255,255,255,.95);

  box-shadow: 0 5px 15px rgba(16,24,40,.15);

  pointer-events: none;

}

/* О магазине */

.gg-about-intro {

  margin-bottom: 22px;

  padding: 24px;

  border: 1px solid #e1e7f0;

  border-radius: 17px;

  background: radial-gradient(circle at 88% 15%, rgba(116,24,212,.08), transparent 28%),
      radial-gradient(circle at 5% 0%, rgba(67,97,238,.09), transparent 30%),
      #fff;

  box-shadow: 0 10px 28px rgba(22,38,74,.055);

}

.gg-about-intro p {

  max-width: 900px;

  margin: 0 auto;

  color: #556278;

  font-size: 16px;

  line-height: 1.75;

  text-align: center;

}

.gg-about-grid {

  display: grid;

  grid-template-columns: repeat(2, minmax(0,1fr));

  gap: 14px;

  margin-top: 20px;

}

.gg-about-card {

  padding: 20px;

  border: 1px solid #e1e7f0;

  border-radius: 16px;

  background: #fff;

  box-shadow: 0 8px 22px rgba(22,38,74,.05);

}

.gg-about-card--wide {

  grid-column: 1 / -1;

}

.gg-about-card__head {

  display: flex;

  align-items: center;

  gap: 11px;

  margin-bottom: 11px;

}

.gg-about-card__icon {

  width: 40px;

  height: 40px;

  flex: 0 0 40px;

  display: grid;

  place-items: center;

  border-radius: 11px;

  color: #fff;

  background: linear-gradient(135deg,#4361ee,#7418d4);

  box-shadow: 0 6px 15px rgba(67,97,238,.17);

}

.gg-about-card h2 {

  margin: 0;

  color: #263146;

  font-size: 18px;

  line-height: 1.3;

  font-weight: 850;

}

.gg-about-card p,
  .gg-about-card li {

  color: #616e83;

  font-size: 13.5px;

  line-height: 1.72;

}

.gg-about-card p {

  margin: 0 0 9px;

}

.gg-about-card ul {

  margin: 7px 0 0;

  padding-left: 20px;

}

.gg-about-highlight {

  margin-top: 20px;

  padding: 24px;

  border-radius: 17px;

  color: #eef3ff;

  background: radial-gradient(circle at 95% 0%, rgba(255,255,255,.10), transparent 27%),
      linear-gradient(135deg,#25367c,#4f2c9c 58%,#6f1fba);

  box-shadow: 0 13px 30px rgba(44,42,111,.16);

}

.gg-about-highlight h2 {

  margin: 0 0 9px;

  color: #fff;

  font-size: 21px;

  font-weight: 900;

}

.gg-about-highlight p {

  margin: 0;

  color: #d8e0f5;

  font-size: 14px;

  line-height: 1.72;

}

@media (max-width: 600px) {

  .gg-payment-card__media {

    height: 205px !important;

  }

  .gg-info-zoomable img {

    max-height: 280px;

  }

  .gg-about-intro {

    padding: 17px;

  }

  .gg-about-intro p {

    text-align: left;

    font-size: 14px;

  }

  .gg-about-grid {

    grid-template-columns: 1fr;

    gap: 10px;

  }

  .gg-about-card--wide {

    grid-column: auto;

  }

  .gg-about-card {

    padding: 16px;

  }

  .gg-about-highlight {

    padding: 18px;

  }

}

/* Оплата: отступы карточек */

/* Картинки оплаты уже содержат крупные надписи.
     Даём им визуально "закончиться" до начала обычного текста. */

@media (max-width: 600px) {

  .gg-payment-card__body {

    min-height: 0 !important;

    padding: 23px 15px 17px !important;

  }

}

/* Информационные страницы: медиа и AJAX */

/* Оплата: изображение целиком, описание строго ниже. */

.gg-payment-card {

  overflow: hidden !important;

}

.gg-payment-card__media {

  width: 100% !important;

  height: auto !important;

  aspect-ratio: 1 / 1 !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  padding: 10px !important;

  overflow: hidden !important;

  border-bottom: 1px solid #e4e9f1 !important;

  background: #f8f9fc !important;

}

.gg-payment-card__media img {

  display: block !important;

  width: 100% !important;

  height: 100% !important;

  max-width: 100% !important;

  max-height: 100% !important;

  object-fit: contain !important;

  object-position: center !important;

  margin: 0 !important;

  transform: none !important;

}

.gg-payment-card__body {

  position: relative !important;

  z-index: 2 !important;

  min-height: 96px !important;

  padding: 24px 17px 18px !important;

  border-top: 0 !important;

  background: #fff !important;

}

.gg-payment-card__body p {

  margin: 0 !important;

  color: #68758b !important;

  font-size: 13px !important;

  line-height: 1.65 !important;

}

/* Унифицированные карточки для "О магазине" и "Контактов". */

.gg-feature-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 14px;

  margin: 0 0 20px;

}

.gg-feature-card {

  min-width: 0;

  padding: 19px;

  border: 1px solid #e1e7f0;

  border-radius: 16px;

  background: #fff;

  box-shadow: 0 8px 22px rgba(22,38,74,.05);

}

.gg-feature-card__head {

  display: flex;

  align-items: center;

  gap: 11px;

  margin: 0 0 12px;

}

.gg-feature-card__icon {

  width: 40px;

  height: 40px;

  flex: 0 0 40px;

  display: grid;

  place-items: center;

  border-radius: 11px;

  color: #fff;

  background: linear-gradient(135deg,#4361ee,#7418d4);

  box-shadow: 0 6px 15px rgba(67,97,238,.17);

}

.gg-feature-card h2,
  .gg-feature-card h3 {

  margin: 0;

  color: #263146;

  font-size: 17px;

  line-height: 1.3;

  font-weight: 850;

}

.gg-feature-card p,
  .gg-feature-card li {

  margin-top: 0;

  color: #616e83;

  font-size: 13.5px;

  line-height: 1.7;

}

.gg-feature-card p {

  margin-bottom: 8px;

}

.gg-feature-card p:last-child {

  margin-bottom: 0;

}

.gg-feature-card a {

  color: #3655d6;

  text-decoration: none;

  font-weight: 700;

}

.gg-feature-card a:hover {

  text-decoration: underline;

}

/* AJAX-категория: мягкое состояние загрузки вместо прыжка всей страницы. */

#category-page.gg-category-ajax-loading {

  pointer-events: none;

}

#category-page.gg-category-ajax-loading .catalog-products,
  #category-page.gg-category-ajax-loading .products-grid,
  #category-page.gg-category-ajax-loading .catalog-filter-result-count {

  opacity: .46;

  transition: opacity .12s ease;

}

#category-page.gg-category-ajax-loading .catalog-filter-panel {

  position: relative;

}

#category-page.gg-category-ajax-loading .catalog-filter-panel::after {

  content: "";

  position: absolute;

  right: 13px;

  bottom: 10px;

  width: 18px;

  height: 18px;

  border: 2px solid #dce3f6;

  border-top-color: #536aef;

  border-radius: 50%;

  animation: gg-category-spin .6s linear infinite;

}

@keyframes gg-category-spin {

  to { transform: rotate(360deg); }

}

@media (max-width: 820px) {

  .gg-feature-grid {

    grid-template-columns: 1fr !important;

    gap: 10px !important;

    margin-bottom: 14px !important;

  }

  .gg-feature-card {

    padding: 15px !important;

    border-radius: 13px !important;

  }

  .gg-feature-card__head {

    margin-bottom: 9px !important;

  }

  .gg-feature-card__icon {

    width: 36px !important;

    height: 36px !important;

    flex-basis: 36px !important;

    border-radius: 10px !important;

  }

  .gg-feature-card h2,
    .gg-feature-card h3 {

    font-size: 15px !important;

  }

  .gg-feature-card p,
    .gg-feature-card li {

    font-size: 12.5px !important;

  }

  .gg-payment-card__media {

    aspect-ratio: 1 / 1 !important;

    height: auto !important;

    padding: 8px !important;

  }

  .gg-payment-card__body {

    min-height: 0 !important;

    padding: 22px 14px 17px !important;

  }

}

/* Услуги: центрирование управляющих кнопок */

/* Центрирование кнопок на детальных страницах услуг.
     ВАЖНО: этот блок намеренно НЕ меняет hero/галерею/размеры фото. */

.gg-service-detail-controls-centered .gg-service-detail-v3__topline {

  justify-content: center !important;

  margin-bottom: 18px !important;

}

.gg-service-detail-controls-centered .gg-service-detail-v3__back {

  min-width: 178px;

  justify-content: center;

}

.gg-service-detail-controls-centered .gg-service-detail-v3__actions {

  justify-content: center !important;

  align-items: center;

  margin-top: 28px;

}

.gg-service-detail-controls-centered .gg-service-detail-v3__action {

  min-width: 190px;

}

@media (max-width: 600px) {

  .gg-service-detail-controls-centered .gg-service-detail-v3__actions {

    display: grid !important;

    grid-template-columns: 1fr !important;

    width: 100%;

  }

  .gg-service-detail-controls-centered .gg-service-detail-v3__action {

    width: 100%;

    min-width: 0;

  }

}



/* ===== MAG 1.1.21: каталог, наличие и пустые категории ===== */
#category-page .catalog-filter-presets {
  grid-template-rows: repeat(3, 28px);
}

#category-page .catalog-filter-out-stock.is-active {
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
  box-shadow: 0 4px 10px rgba(75, 85, 99, .18);
}

.catalog-item.is-empty-stock {
  order: 999;
}

.catalog-item.is-empty-stock .catalog-link,
.catalog-link.is-empty-stock {
  color: #8b93a1 !important;
  background: #f5f6f8 !important;
  filter: grayscale(1);
  opacity: .78;
}

.catalog-item.is-empty-stock .catalog-link:hover,
.catalog-link.is-empty-stock:hover {
  color: #6b7280 !important;
  background: #eceff3 !important;
}

.catalog-item.is-empty-stock .catalog-link.is-current,
.catalog-link.is-empty-stock.is-current {
  color: #6b7280 !important;
  border-left-color: #9ca3af !important;
  background: #eceff3 !important;
  box-shadow: none !important;
}

.catalog-stock-empty {
  margin-left: auto;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.1;
  color: #9ca3af;
  white-space: nowrap;
}

.catalog-stock-empty-note {
  margin: 0 0 16px;
  padding: 11px 13px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  border: 1px solid #d9dee7;
  border-radius: 10px;
  background: #f5f6f8;
  color: #5f6875;
  font-size: 13px;
  line-height: 1.45;
}

.catalog-stock-empty-note i {
  margin-top: 2px;
}

.catalog-stock-empty-note.is-filter {
  background: #f8f9fb;
}

@media (max-width: 991px) {
  .catalog-stock-empty {
    display: none;
  }
}

/* ===== MAG 1.1.22: категории и пустой каталог ===== */

/* Метрики категории больше не отнимают место у H1: заголовок сверху, служебные чипы ниже. */
#category-page .catalog-header.category-hero {
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 14px !important;
}

#category-page .category-hero-main {
  width: 100% !important;
  flex: 0 0 auto !important;
}

#category-page .category-hero-copy {
  width: 100% !important;
  min-width: 0 !important;
}

#category-page .category-hero h1 {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

#category-page .category-hero-meta {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 140px)) !important;
  justify-content: start !important;
  gap: 8px !important;
}

#category-page .category-hero-chip {
  width: auto !important;
  min-width: 0 !important;
}

/* Категория без наличия должна выглядеть намеренно неактивной, а не как обычная яркая витрина. */
#category-page.is-empty-stock-category .catalog-header.category-hero {
  background: radial-gradient(circle at 86% 18%, rgba(255,255,255,.12), transparent 28%),
      linear-gradient(125deg, #7d8590 0%, #656d78 100%) !important;
  box-shadow: 0 10px 26px rgba(73, 80, 89, .15) !important;
}

#category-page.is-empty-stock-category .gg-category-type.is-active,
#category-page.is-empty-stock-category .catalog-filter-apply,
#category-page.is-empty-stock-category .catalog-filter-letter.is-active,
#category-page.is-empty-stock-category .catalog-filter-stock.is-active,
#category-page.is-empty-stock-category .catalog-filter-out-stock.is-active {
  background: #737b86 !important;
  border-color: #68717c !important;
  color: #fff !important;
  box-shadow: none !important;
}

#category-page.is-empty-stock-category .gg-category-type:not(.is-active):hover,
#category-page.is-empty-stock-category .catalog-filter-letter:hover {
  border-color: #aeb4bd !important;
  color: #626a75 !important;
}

#category-page.is-empty-stock-category .gg-category-type::before {
  background: #737b86 !important;
}

/* Левый каталог: длинное имя занимает 1-2 строки, статус находится строго под ним. */
#sidebar .catalog-link {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  min-width: 0;
}

#sidebar .catalog-link-icon {
  flex: 0 0 20px;
  width: 20px;
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}

#sidebar .catalog-link-copy {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

#sidebar .catalog-link-title {
  display: block;
  width: 100%;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

#sidebar .catalog-stock-empty {
  display: block;
  margin: 0 !important;
  font-size: 9px;
  line-height: 1.15;
  white-space: normal;
  text-align: left;
}

@media (max-width: 991px) {
  #category-page .category-hero-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #sidebar .catalog-stock-empty {
    display: none;
  }
}


/* ===== MAG 1.1.23: hero category metrics back to the right on desktop ===== */
@media (min-width: 992px) {
  #category-page .catalog-header.category-hero {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
  }

  #category-page .category-hero-main {
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  #category-page .category-hero-copy {
    width: auto !important;
    min-width: 0 !important;
  }

  #category-page .category-hero h1 {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    max-width: 100% !important;
  }

  #category-page .category-hero-meta {
    width: auto !important;
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, 108px) !important;
    justify-content: end !important;
    gap: 7px !important;
  }

  #category-page .category-hero-chip {
    width: 108px !important;
    min-width: 108px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

@media (max-width: 991px) {
  #category-page .catalog-header.category-hero {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  #category-page .category-hero-meta {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-content: start !important;
  }
}
