﻿/* 3-column catalog grid override (legacy catalog.css is 1-item-per-row list) */

div.catalog div.catalog-main{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding: 14px;
  box-sizing: border-box;
  align-items: stretch;
}

div.catalog div.catalog-main div.catalog-item{
  border-top: none !important;
  width: calc((100% - 42px) / 4); /* 4 columns with 3 gaps (14px * 3 = 42px) */
  min-width: 180px; /* чтобы реально вмещалось 4 в центральной колонке */
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #d9e0e6;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

div.catalog div.catalog-main div.catalog-item > div[style*="float:left"]{
  float: none !important;
  width: 100% !important;
}

div.catalog div.catalog-main div.catalog-item div.border-box{
  float: none;
  width: 100%;
  height: 260px;
  margin: 0 !important;
  border: none;
  border-bottom: 1px solid #eef2f5;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}

div.catalog div.catalog-main div.catalog-item div.border-box a{
  line-height: normal;
  border: none;
}

div.catalog div.catalog-main div.catalog-item img{
  max-width: 100%;
  max-height: 260px;
  width: auto;
  height: auto;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text{
  margin: 0;
  padding: 12px 12px 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 1 auto;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-l,
div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-r{
  float: none;
  width: 100%;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-l a.title span{
  font-size: 13px;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  width: auto !important;
  color: #0b1220;
}

div.catalog div.catalog-main div.catalog-item div.rating,
div.catalog div.catalog-main div.catalog-item div.extra-options,
div.catalog div.catalog-main div.catalog-item div.short-info{
  display: block !important;
}

div.catalog div.catalog-main div.catalog-item div.rating{
  border: 1px solid #eef0f6;
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-l div.rating{
  height: auto !important;
  width: auto !important;
  overflow: visible !important;
  margin: 10px 0 !important;
  padding: 8px 10px !important;
  border-color: #eef0f6 !important;
  border-radius: 10px !important;
  background: #fff !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 10px;
}

div.catalog div.catalog-main div.catalog-item div.rating div.rating-l,
div.catalog div.catalog-main div.catalog-item div.rating div.rating-r{
  float: none !important;
  width: 100% !important;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-l div.rating div.rating-l{
  position: static !important;
  top: auto !important;
  flex: 1 1 auto;
  min-width: 120px;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-l div.rating div.rating-r{
  float: none !important;
  border-left: none !important;
  width: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  flex: 0 0 auto;
  text-align: right !important;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-l div.rating div.rating-r > span{
  float: none !important;
  margin: 0 !important;
  top: auto !important;
  position: static !important;
  display: inline-block;
  white-space: nowrap;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-l div.rating div.rating-r .productRate{
  float: none !important;
  right: auto !important;
  display: inline-block;
  vertical-align: middle;
  margin-left: 6px;
}

div.catalog div.catalog-main div.catalog-item div.rating span{
  font-size: 11px;
  color: #6b7280;
}

div.catalog div.catalog-main div.catalog-item div.rating span strong{
  color: #111827;
}

div.catalog div.catalog-main div.catalog-item div.extra-options{
  font-size: 11px;
  color: #374151;
}

div.catalog div.catalog-main div.catalog-item div.short-info{
  font-size: 11px;
  line-height: 1.35;
  color: #6b7280;
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-r{
  margin-top: 10px !important;
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 10px;
  row-gap: 8px;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-r div.price-block{
  margin: 0;
  width: auto !important;
  float: none !important;
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  grid-column: 1;
  grid-row: 1;
  flex-wrap: nowrap;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-r div.price-block span.price{
  font-size: 22px !important;
  font-weight: 800;
  color: #cc1f11 !important; /* match logo scarlet */
  display: inline-block !important;
  line-height: 1.2;
  white-space: nowrap;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-r div.price-block span.price sup{
  color: inherit !important;
  font-size: 0.6em;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-r div.price-block .last-price{
  color: #9ca3af !important;
  font-size: 14px !important;
  line-height: 1.2;
  display: inline-block !important;
  white-space: nowrap;
  text-decoration: line-through;
  font-weight: 400;
  margin-left: 0;
  font-weight: 600;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-r div.deliv-info,
div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-r div.delivery-make{
  grid-column: 1 / -1;
}
div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-r div.delivery-make{
  margin-top: 0;
  height: auto !important;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-r div.delivery-make div.compare{
  overflow: visible !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
}

div.catalog div.catalog-main div.catalog-item a#buy{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 14px 12px;
  border-radius: 10px;
  background: #111827;
  color: #fff !important;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: 0.2px;
  line-height: 1;
  box-sizing: border-box;
  margin-top: 10px;
  margin-left: 0 !important;
  float: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  text-indent: 0 !important;
  background-image: none !important;
  min-height: 48px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

div.catalog div.catalog-main div.catalog-item a#buy:hover{
  background: #0b1220;
}

@media (max-width: 1100px){
  div.catalog div.catalog-main div.catalog-item{ width: calc((100% - 14px) / 2); }
}
@media (max-width: 760px){
  div.catalog div.catalog-main div.catalog-item{ width: 100%; min-width: 0; }
}




/* FIX 2026-01-08: Buy button inside legacy "compare" wrapper (catalog.css) */
div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-r div.delivery-make div.compare{
  overflow: visible !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  float: none !important;
}

div.catalog div.catalog-main div.catalog-item div.catalog-item-text div.catalog-item-text-r div.delivery-make div.compare a.buy{
  position: static !important;
  left: auto !important;
  top: auto !important;
  float: none !important;
  margin: 10px 0 0 0 !important;
  width: 100% !important;
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 18px !important;
  box-sizing: border-box !important;

  background: #111827 !important;
  background-image: none !important;
  color: #fff !important;
  text-decoration: none !important;

  text-indent: 0 !important;
  text-transform: none !important;
  text-align: center !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  font-size: 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
}

/* FIX 2026-01-08_02: stabilize catalog grid layout (avoid broken columns in some categories) */
div.catalog div.catalog-main{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  align-content: flex-start !important;
  gap: 18px !important;
}

div.catalog div.catalog-main div.catalog-item{
  float: none !important;
  position: relative !important;
  box-sizing: border-box !important;
  width: calc(25% - 18px) !important; /* 4 columns */
  margin: 0 !important;

  display: flex !important;
  flex-direction: column !important;
}

@media (max-width: 1200px){
  div.catalog div.catalog-main div.catalog-item{ width: calc(33.333% - 18px) !important; }
}
@media (max-width: 900px){
  div.catalog div.catalog-main div.catalog-item{ width: calc(50% - 18px) !important; }
}
@media (max-width: 560px){
  div.catalog div.catalog-main div.catalog-item{ width: 100% !important; }
}

div.catalog div.catalog-main div.catalog-item .buy-block{
  margin-top: 10px !important;
}

/* FIX 2026-01-08_03: pages where .catalog-main exists without div.catalog wrapper */
.catalog-main{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  align-content: flex-start !important;

  /* gap fallback */
  margin-left: -18px !important;
}

.catalog-main > .catalog-item{
  float: none !important;
  clear: none !important;
  position: relative !important;
  box-sizing: border-box !important;

  width: calc(25% - 18px) !important;
  margin: 0 0 18px 18px !important;

  display: flex !important;
  flex-direction: column !important;
}

@media (max-width: 1200px){
  .catalog-main > .catalog-item{ width: calc(33.333% - 18px) !important; }
}
@media (max-width: 900px){
  .catalog-main > .catalog-item{ width: calc(50% - 18px) !important; }
}
@media (max-width: 560px){
  .catalog-main > .catalog-item{ width: calc(100% - 18px) !important; }
}
