/* Shared by the article index and posts; all rules stay inside these pages. */
#articles-page { padding-bottom: 64px; }
#articles-page .articles-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
  color: #777;
  font-size: 13px;
  line-height: 1.5;
}
#articles-page .articles-breadcrumbs li + li::before {
  content: "/";
  margin-right: 8px;
  color: #aaa;
}
#articles-page .articles-layout { display: grid; gap: 32px; }
#articles-page .articles-layout.has-left { grid-template-columns: 240px minmax(0, 1fr); }
#articles-page .articles-layout.has-right { grid-template-columns: minmax(0, 1fr) 240px; }
#articles-page .articles-layout.has-left.has-right { grid-template-columns: 220px minmax(0, 1fr) 220px; }
#articles-page main { min-width: 0; }
#articles-page h1 {
  margin: 0 0 32px;
  font-size: clamp(28px, 2.6vw, 36px);
  line-height: 1.2;
  font-weight: 400;
  text-wrap: balance;
}
#articles-page .articles-intro { margin-bottom: 32px; line-height: 1.6; }
#articles-page .articles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px 28px;
}
#articles-page .article-card { display: flex; flex-direction: column; min-width: 0; }
#articles-page .article-card__image { display: block; overflow: hidden; border-radius: 5px; }
#articles-page .article-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
#articles-page .article-card h2,
#articles-page .article-card h3 { margin: 18px 0 12px; min-height: 2.6em; font-size: 22px; line-height: 1.3; overflow-wrap: anywhere; }
#articles-page .article-card__description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin-bottom: 18px;
  font-size: 15px;
  line-height: 1.6;
}
#articles-page .article-card__description p { margin: 0; }
#articles-page .article-card__more { align-self: flex-start; margin-top: auto; font-weight: 500; }
#articles-page .article-card__more span { margin-left: 6px; }
#articles-page a:hover { color: #ab1c1c; }
#articles-page a:focus-visible,
#articles-page button:focus-visible { outline: 2px solid #ab1c1c; outline-offset: 4px; }
#articles-page .articles-pagination { margin-top: 44px; text-align: center; }
#articles-page .pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; }
#articles-page .pagination > li > a,
#articles-page .pagination > li > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid #ddd;
  border-radius: 50%;
  background: #fff;
  color: #595959;
}
#articles-page .pagination > .active > span,
#articles-page .pagination > li > a:hover { background: #99988a; border-color: #99988a; color: #fff; }
#articles-page .articles-pagination p { margin: 16px 0 0; color: #777; font-size: 13px; }
#articles-page .article-post { margin: 0; }
#articles-page .article-post > h1 { text-wrap: initial; }
#articles-page .article-post .main_thumb { padding: 0; margin-bottom: 28px; }
#articles-page .article-post .main_thumb img { display: block; width: 100%; }
#articles-page .main_description { font-size: 17px; line-height: 1.7; overflow-wrap: break-word; display: flow-root; }
#articles-page .main_description p { margin: 0 0 20px; }
#articles-page .main_description h2,
#articles-page .main_description h3 { margin: 36px 0 18px; font-size: 27px; line-height: 1.3; }
#articles-page .main_description h4 { margin: 28px 0 14px; font-size: 21px; line-height: 1.4; }
#articles-page .main_description p > i:only-child { color: #242424; font-style: normal; font-weight: 500; }
#articles-page .main_description p:has(> i:only-child) { margin-top: 28px; margin-bottom: 12px; font-size: 20px; }
#articles-page .main_description ul,
#articles-page .main_description ol { margin: 0 0 24px; padding-left: 24px; }
#articles-page .main_description li + li { margin-top: 8px; }
#articles-page .main_description img { max-width: min(100%, 420px); height: auto; border-radius: 5px; vertical-align: top; }
#articles-page .main_description p:has(> img),
#articles-page .main_description p:has(> a > img) { display: grid; grid-template-columns: minmax(0, 420px); gap: 24px; margin: 28px 0; }
#articles-page .main_description p:has(> img ~ img),
#articles-page .main_description p:has(> a ~ a > img) { grid-template-columns: repeat(2, minmax(0, 420px)); }
#articles-page .main_description p img { display: block; width: 100%; height: auto; }
#articles-page .main_description table { display: block; max-width: 100%; overflow-x: auto; margin-bottom: 24px; border-collapse: collapse; }
#articles-page .main_description th,
#articles-page .main_description td { padding: 12px; border: 1px solid #ddd; }
#articles-page .main_description blockquote { margin: 24px 0; padding: 20px 24px; border-left: 3px solid #99988a; background: #f7f7f4; }
#articles-page .main_description iframe { max-width: 100%; }
#articles-page .main_description a { text-decoration: underline; text-underline-offset: 3px; }
#articles-page .article-section { margin-top: 48px; padding-top: 32px; border-top: 1px solid #e6e6e0; }
#articles-page .article-section > h2 { margin: 0 0 28px; font-size: 28px; line-height: 1.3; }
#articles-page .article-products { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px 24px; }
#articles-page .article-product { display: flex; flex-direction: column; min-width: 0; }
#articles-page .article-product__image { display: block; overflow: hidden; border-radius: 5px; }
#articles-page .article-product__image img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
#articles-page .article-product h3 { margin: 16px 0 8px; min-height: 1.4em; font-size: 19px; line-height: 1.4; }
#articles-page .article-product__rating { min-height: 20px; margin-bottom: 8px; color: #99988a; }
#articles-page .article-product__rating .fa { font-size: 13px; }
#articles-page .article-product__price { margin-top: auto; margin-bottom: 16px; font-size: 18px; line-height: 1.4; color: #242424; }
#articles-page .article-product__price small { display: block; font-size: 12px; color: #777; }
#articles-page .article-product__price .price-old { font-size: 14px; color: #777; text-decoration: line-through; }
#articles-page .article-product .btn { width: 100%; height: auto; min-height: 44px; padding: 12px 8px; font-family: inherit; font-size: 13px; line-height: 1.4; white-space: normal; }
#articles-page .article-related .article-card { padding: 24px; border: 1px solid #e6e6e0; border-radius: 5px; }
#articles-page .article-related .article-card h3 { margin-top: 0; }
#articles-page .article-related .article-card__image { margin-bottom: 20px; }
#articles-page .article-card__meta { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-bottom: 12px; font-size: 12px; color: #777; }
#articles-page .articles-catalog { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#articles-page .articles-catalog .article-card h2 { min-height: 3.9em; font-size: 20px; }
@media (min-width: 1600px) {
  #articles-page .articles-catalog { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1920px) {
  #articles-page .articles-catalog { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (max-width: 1099px) and (min-width: 1025px) {
  #articles-page .articles-catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
#articles-page #comment_form { margin-top: 28px; }
#articles-page #comment_form .form-control { font: inherit; }
#articles-page .article-back { display: inline-block; margin-top: 20px; padding-top: 24px; border-top: 1px solid #e6e6e6; }
@media (max-width: 1024px) {
  #articles-page .articles-layout.has-left,
  #articles-page .articles-layout.has-right,
  #articles-page .articles-layout.has-left.has-right { grid-template-columns: minmax(0, 1fr); }
  #articles-page .articles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #articles-page .article-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  #articles-page { padding-bottom: 40px; }
  #articles-page .articles-breadcrumbs { margin-bottom: 22px; font-size: 12px; }
  #articles-page h1 { margin-bottom: 26px; }
  #articles-page .articles-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  #articles-page .article-card h2 { font-size: 23px; }
  #articles-page .article-card h2,
  #articles-page .article-card h3 { min-height: 0; }
  #articles-page .articles-catalog .article-card h2 { min-height: 0; font-size: 23px; }
  #articles-page .article-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  #articles-page .article-product h3 { font-size: 17px; }
  #articles-page .article-product__price { font-size: 16px; }
  #articles-page .article-section { margin-top: 36px; padding-top: 24px; }
  #articles-page .article-section > h2 { font-size: 24px; margin-bottom: 22px; }
  #articles-page .article-related .article-card { padding: 20px; }
  #articles-page .main_description p:has(> img ~ img),
  #articles-page .main_description p:has(> a ~ a > img) { grid-template-columns: minmax(0, 420px); gap: 16px; }
  #articles-page .articles-pagination { margin-top: 32px; }
  #articles-page .main_description { font-size: 16px; line-height: 1.65; }
  #articles-page .main_description h2,
  #articles-page .main_description h3 { margin-top: 30px; font-size: 23px; }
}
