/* Fallback с метриками, близкими к Montserrat — меньше CLS при подмене шрифта */
@font-face {
  font-family: 'Montserrat Fallback';
  src: local('Arial');
  size-adjust: 106%;
  ascent-override: 94%;
  descent-override: 24%;
}
html,body{height:100%;display:flex;flex-direction:column}body{margin:0;padding:0}a{color:#20475D;transition:color 0.2s ease}:root{--bs-primary:#20475D;--bs-primary-rgb:32,71,93}.btn-primary{background-color:var(--bs-primary);border-color:var(--bs-primary)}.btn-primary:hover,.btn-primary:focus{background-color:#183748;border-color:#183748}.btn-primary:active{background-color:#132c3a;border-color:#132c3a}.btn-outline-primary{color:var(--bs-primary);background-color:transparent;border-color:var(--bs-primary)}.btn-outline-primary:hover,.btn-outline-primary:focus{color:#fff;background-color:var(--bs-primary);border-color:var(--bs-primary)}.btn-outline-primary:active{color:#fff;background-color:#132c3a;border-color:#132c3a}header{background-color:#fff;position:sticky;top:0;z-index:1030;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.header-inner{display:flex;align-items:center;justify-content:space-between;position:relative}.brand{display:flex;align-items:center;width:252px;text-decoration:none;color:inherit}.brand:hover{text-decoration:none}.brand-logo{width:73px;height:56px;object-fit:contain;margin-right:8px;flex-shrink:0}.brand-text{display:flex;flex-direction:column;justify-content:center;line-height:1}.brand-text .title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:28px;letter-spacing:-0.04em;text-transform:uppercase;margin:0;line-height:1}.brand-text .subtitle{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;letter-spacing:-0.02em;text-transform:uppercase;text-align:center;margin:0;line-height:1;opacity:0.5}.main-nav ul{display:flex;gap:24px;margin:0;padding:0;list-style:none}.main-nav a{font-weight:400;font-style:normal;font-size:.9rem;line-height:1.2;letter-spacing:0;text-align:center;text-decoration:none;color:#0E0E0E;transition:color .2s ease;display:flex;align-items:center;justify-content:center}.main-nav a:hover{color:#0d6efd}.main-nav .dropdown{position:relative}.main-nav .dropdown-toggle::after{display:inline-block;margin-left:0.255em;vertical-align:0.255em;content:"";border-top:0.3em solid;border-right:0.3em solid transparent;border-bottom:0;border-left:0.3em solid transparent}.main-nav .dropdown-menu{position:absolute;top:100%;left:0;margin-top:0.5rem;min-width:200px;background:#fff;border:1px solid #e9ecef;border-radius:0.5rem;box-shadow:0 4px 6px rgba(0,0,0,0.1);padding:0.5rem 0;z-index:1000;display:none;opacity:0;visibility:hidden;transition:opacity 0.2s ease,visibility 0.2s ease}.main-nav .dropdown-menu.show{display:block;opacity:1;visibility:visible}.main-nav .dropdown-item{display:block;padding:0.5rem 1rem;color:#0E0E0E;text-decoration:none;transition:background-color 0.2s ease}.main-nav .dropdown-item:hover{background-color:#f8f9fa;color:#0d6efd}.sticky-header-wrapper{position:sticky;top:0;z-index:1029;background-color:#fff;padding-top:1rem;padding-bottom:1rem;margin-bottom:0}.header-level2{background:#20475D;border-radius:7px;height:54px;display:flex;align-items:center;padding:0 12px}.header-level2 .dropdown{position:relative}.catalog-trigger{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;padding:2px 35px 0 10px;border-radius:4px}.catalog-trigger svg{width:20px;height:20px;fill:currentColor}.catalog-label{font-family:'Montserrat',sans-serif;font-weight:400;font-style:normal;font-size:16px;line-height:1;letter-spacing:0;text-transform:uppercase;text-align:center;font-variant-numeric:lining-nums proportional-nums;color:#fff;white-space:nowrap}.catalog-dropdown{position:absolute;top:100%;left:0;margin-top:0.5rem;min-width:380px;max-width:600px;background:#fff;border:1px solid #e9ecef;border-radius:0.5rem;box-shadow:0 4px 6px rgba(0,0,0,0.1);padding:0.75rem 0;z-index:1000;display:none;opacity:0;visibility:hidden;transition:opacity 0.2s ease,visibility 0.2s ease}.catalog-dropdown.show{display:block;opacity:1;visibility:visible;margin-top: 18px !important; margin-left: -10px!important;box-shadow: none; border: none;border-radius: unset;}.catalog-dropdown .dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:0.625rem 1rem;color:#0E0E0E;text-decoration:none;transition:background-color 0.2s ease}.catalog-dropdown .dropdown-item:hover{background-color:#f8f9fa;color:#0d6efd}.category-thumb{flex-shrink:0;object-fit:cover;border-radius:4px;max-width:none!important;max-height:none!important}.main-nav .dropdown-item .category-thumb,.main-nav .dropdown-item img.category-thumb,.main-nav .dropdown-item img[class*="category-thumb"]{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;max-width:60px!important;max-height:60px!important}.catalog-dropdown .dropdown-item .category-thumb,.catalog-dropdown .dropdown-item img.category-thumb,.catalog-dropdown .dropdown-item img[class*="category-thumb"]{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;max-width:60px!important;max-height:60px!important}.catalog-dropdown .category-child{padding-left:2.5rem;font-size:0.95em;color:#64748b}.catalog-dropdown .category-child:hover{color:#0d6efd;background-color:#f8f9fa}.catalog-dropdown .category-child .category-thumb,.catalog-dropdown .category-child img.category-thumb,.catalog-dropdown .category-child img[class*="category-thumb"]{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;max-width:50px!important;max-height:50px!important}.search-box{position:relative;flex:1 1 auto;max-width:720px;margin:0 12px}.search-box .fa-search,.search-box i[class*="fa-search"]{position:absolute;right:44px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:16px;color:#64748b;z-index:1}.search-input{width:100%;height:38px;background:#fff;border:none;border-radius:8px;padding:0 44px 0 12px;font-family:'Montserrat',sans-serif;font-size:14px;line-height:1;outline:none}.search-input::placeholder{color:#94a3b8;text-transform:lowercase}#autocompleteList{top:100%;left:0;margin-top:4px;background:#fff;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,0.1);border:1px solid #e2e8f0}#autocompleteList .list-group-item{border:none;border-bottom:1px solid #f1f5f9;padding:12px 16px;cursor:pointer}#autocompleteList .list-group-item:last-child{border-bottom:none}#autocompleteList .list-group-item:hover{background-color:#f8fafc}.header-icons{display:inline-flex;align-items:center;gap:20px;padding:6px 10px}.icon-btn{display:flex;align-items:center;justify-content:center;gap:6px;color:#fff;text-decoration:none;height:38px;border-radius:8px}.icon-btn i{font-size:20px;line-height:1}.icon-btn .badge{font-size:0.65rem;min-width:18px;height:18px;padding:2px 5px;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-weight:600;top:-2px;right:-8px;z-index:10}.icon-btn .badge:empty{display:none!important}.icon-btn.dropdown-toggle{border:none;background:transparent;padding:0}.icon-btn.dropdown-toggle::after{display:none}.dropdown-menu{margin-top:8px;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,0.1)}.dropdown-item{display:flex;align-items:center;padding:8px 16px}.dropdown-item i{width:20px;text-align:center}.dropdown-item button{font-size:inherit;color:inherit;padding:inherit}.dropdown-item button:hover{background-color:inherit;color:inherit}.navbar-toggler{border:1px solid #20475D;padding:0.375rem 0.75rem;background-color:transparent;border-radius:0.375rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2832, 71, 93, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:100%}.mobile-nav{background-color:#fff;border-top:1px solid #e9ecef}.mobile-nav ul{list-style:none;padding:0;margin:0}.mobile-nav li{border-bottom:1px solid #f1f5f9}.mobile-nav li:last-child{border-bottom:none}.mobile-nav a{display:block;padding:1rem;color:#0E0E0E;text-decoration:none;font-weight:400;font-size:0.9rem;transition:background-color 0.2s ease,color 0.2s ease}.mobile-nav a:hover{background-color:#f8f9fa;color:#0d6efd}.mobile-nav .dropdown-menu{float:none;width:100%;margin-top:0;background-color:#f8f9fa;border:none;border-radius:0;box-shadow:none;padding:0}.mobile-nav .dropdown-item{padding-left:2.5rem;font-size:0.85rem}@media (max-width:991px){.brand{width:auto;min-width:200px}.brand-text .title{font-size:24px}.brand-text .subtitle{font-size:11px}.brand-logo{width:60px;height:46px}.header-level2{height:auto;min-height:54px;flex-wrap:wrap;padding:8px;gap:8px}.catalog-trigger{padding:8px 12px;flex-shrink:0}.catalog-trigger svg{width:18px;height:18px}.search-box{flex:1 1 auto;min-width:0;margin:0;order:3;width:100%}.header-icons{order:2;margin-left:auto!important;flex-shrink:0}.header-icons .icon-btn{padding:8px}.catalog-dropdown{min-width:100%;max-width:100%;left:0!important;right:0}}@media (max-width:767px){.brand{width:auto}.brand-text .title{font-size:20px}.brand-text .subtitle{font-size:10px}.brand-logo{width:50px;height:38px;margin-right:6px}.header-level2{padding:6px}.catalog-trigger{padding:6px 10px}.search-input{font-size:14px;padding:0 10px 0 32px}.search-box .fa-search,.search-box i[class*="fa-search"]{right:36px;font-size:14px}.header-icons .icon-btn{padding:6px;font-size:18px}.mobile-nav .category-thumb{width:32px!important;height:32px!important}}@media (max-width:575px){.container{padding-left:12px;padding-right:12px}header{padding-top:0.75rem;padding-bottom:0.75rem}.brand-text .title{font-size:18px}.brand-text .subtitle{font-size:9px}}.g-item{background:#fff;border:1px solid #e9ecef;border-radius:.75rem;padding:1rem;height:100%}.g-icon{width:48px;height:48px;border-radius:.75rem;display:grid;place-items:center;background:#20475D;color:#fff;flex:0 0 48px}.g-text{font-size:0.95rem;color:#0E0E0E}.filters-card{position:sticky;top:20px}.filters-card .card-header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;padding:1rem}.filters-card .card-body{padding:1.5rem}.price-range{margin-top:0.5rem}.price-range .range-inputs{position:relative}.price-range input[type="range"]{width:100%;margin:0.5rem 0;-webkit-appearance:none;appearance:none;height:6px;background:#e9ecef;border-radius:3px;outline:none}.price-range input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:#20475D;border-radius:50%;cursor:pointer}.price-range input[type="range"]::-moz-range-thumb{width:18px;height:18px;background:#20475D;border-radius:50%;cursor:pointer;border:none}.subcategory-filters{max-height:300px;overflow-y:auto}.subcategory-filters .form-check{padding:0.5rem 0;border-bottom:1px solid #f1f5f9}.subcategory-filters .form-check:last-child{border-bottom:none}.subcategory-filters .form-check-label{cursor:pointer;user-select:none}.card-img-top{height:200px;object-fit:contain;width:100%;}@media (max-width:991px){.filters-card{position:static;margin-bottom:2rem}}.g-text a{color:#20475D;text-decoration:underline}main{flex:1 0 auto}footer{background:#20475D;color:#fff;flex-shrink:0;margin-top:auto}footer a{color:#cbd5e1;text-decoration:none}footer a:hover{color:#fff;text-decoration:underline}footer .footer-bottom{border-top:1px solid rgba(255,255,255,0.15);font-size:0.9rem}.scroll-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background-color:#20475D;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10000;box-shadow:0 4px 6px rgba(0,0,0,0.3);transition:all 0.3s ease;opacity:0;visibility:hidden;pointer-events:none}.scroll-to-top.show{opacity:1;visibility:visible;pointer-events:auto}.scroll-to-top.visible{opacity:1;visibility:visible;pointer-events:auto}.scroll-to-top:hover{background-color:#183748;transform:translateY(-3px);box-shadow:0 6px 8px rgba(0,0,0,0.4)}.scroll-to-top:active{transform:translateY(-1px)}.scroll-to-top i{font-size:20px}@media (max-width:767px){.scroll-to-top{width:45px;height:45px;bottom:20px;right:20px}.scroll-to-top i{font-size:18px}}.legal-doc{color:#0f172a}.legal-doc .doc-meta{color:#475569}.legal-doc h1,.legal-doc h2,.legal-doc h3{line-height:1.25}.legal-doc p{margin-bottom:.8rem}.legal-doc ol,.legal-doc ul{margin-bottom:1rem}.legal-doc .smallcaps{font-variant-caps:small-caps;letter-spacing:.02em}.legal-doc .muted{color:#64748b}.legal-doc a{color:#0d6efd;text-decoration:underline}@media print{.card,.card-body{border:none!important;box-shadow:none!important}a{color:#000;text-decoration:none}.no-break{page-break-inside:avoid}}
footer{margin-top:2rem!important}
@media (max-width: 767px) {
  .header-icons a[aria-label="Избранное"] {
    display: none;
  }
}

/* Пагинация и кнопка «Показать ещё» в блоке товаров каталога — в цветовой схеме сайта */
.catalog-products-pagination .pagination .page-link {
  color: #20475D;
  border-color: #e9ecef;
  background-color: #fff;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.catalog-products-pagination .pagination .page-item:not(.disabled) .page-link:hover {
  color: #fff;
  background-color: #20475D;
  border-color: #20475D;
}
.catalog-products-pagination .pagination .page-item.disabled .page-link {
  color: #6c757d;
  background-color: #fff;
  border-color: #e9ecef;
}
.catalog-products-pagination .catalog-load-more-btn {
  min-width: 160px;
  padding: 0.5rem 1.5rem;
  border-radius: 8px;
  font-weight: 500;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.catalog-products-pagination .catalog-load-more-btn:hover {
  transform: translateY(-1px);
}
.game-card-placeholder-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #f1f5f9;
  color: #64748b;
  font-size: 1.5rem;
}
.banner-image-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 200px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 0.95rem;
}

/* Снижение CLS: резервируем место, чтобы элементы не сдвигали вёрстку при загрузке */
main.container {
  min-height: 40vh;
}
.search-box {
  min-height: 38px;
}
.header-icons {
  min-height: 38px;
}
/* Fallback в стеке шрифтов — меньше сдвиг при загрузке веб-шрифта */
.brand-text .title,
.brand-text .subtitle,
.catalog-label,
.search-input {
  font-family: 'Montserrat', 'Montserrat Fallback', sans-serif;
}

.card-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}