/* ==========================================================================
   СТИЛИ ИНТЕРНЕТ-МАГАЗИНА ПОСТЕЛЬНОГО БЕЛЬЯ
   ========================================================================== */

/* --- 0. СИСТЕМА ДИЗАЙНА (ПЕРЕМЕННЫЕ) --- */
:root {
    /* 0.1. Цветовая палитра */
    --color-primary: #0472a1; /* Основной синий, для навигации, ссылок, акцентов */
    --color-primary-dark: #035e85; /* Для hover-эффектов на основных элементах */
    --color-primary-light: #0b65ad; /* Светлее для градиентов */
    --color-primary-lighter: #2196f3; /* Еще светлее для градиентов */
    --color-accent: #cd0000; /* Акцентный теплый цвет для кнопок CTA (Купить, В корзину) */
    --color-accent-dark: #b30000; /* Для hover-эффектов на CTA */
    --color-success: #04a140; /* Успешные действия */
    --color-success-light: #1cce32;
    --color-error: #e0030a; /* Ошибки, скидки */
    --color-error-light: #ff0000;
    --color-text-base: #000000; /* Основной цвет текста (черный) */
    --color-text-muted: #777; /* Второстепенный текст, подсказки */
    --color-text-dark-blue: #005376; /* Темный синий текст */
    --color-background: #ffffff; /* Основной фон */
    --color-background-light-grey: #f5f5f5; /* Светло-серый фон */
    --color-background-grey: #f1f1f1; /* Серый фон */
    --color-background-lighter-grey: #f9f9f9; /* Ещё светлее серый фон */
    --color-background-light-yellow: #ffffb9; /* Светло-желтый фон */
    --color-border: #ccc; /* Цвет рамки по умолчанию */
    --color-border-light: #e4e4e4; /* Светлая рамка */
    --color-border-dark: #d8d8d8; /* Темная рамка */
    --color-border-primary: #0b65ad; /* Граничная рамка основного цвета */
    --color-shadow-light: #bcbcbc; /* Светлая тень */
    --color-shadow-dark: rgba(0,0,0,0.15); /* Темная тень */
    --color-link-blue: var(--color-text-dark-blue); /* Синий цвет ссылок */
    --color-link-dark-blue: #07009a; /* Темно-синий цвет ссылок */
    --color-link-info: #007bff; /* Цвет info ссылок */
    --color-grey-dark: #555;
    --color-white: #ffffff;
  
    /* 0.2. Типографика */
    --font-family-base: Arial, sans-serif;
    --font-size-base: 18px;
    --font-size-sm: 14px;
    --font-size-xs: 12px;
    --font-size-lg: 1.25rem; /* 20px */
    --font-size-xl: 1.5rem; /* 24px */
    --font-size-xxl: 1.75rem; /* 28px */
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --line-height-base: 1.6;
    --line-height-tight: 1.4;
    --h1-font-size: 1.5rem;
    --h2-font-size: 1.4rem;
    --h3-font-size: 1.1rem;
    --h4-font-size: 18px;
  
    /* 0.3. Отступы и размеры */
    --spacing-xxs: 4px;
    --spacing-xs: 8px;
    --spacing-sm: 10px;
    --spacing-md: 15px;
    --spacing-lg: 20px;
    --spacing-xl: 25px;
    --spacing-xxl: 35px;
    --spacing-xxxl: 45px;
    --container-max-width: 1800px;
    --border-radius-base: 10px;
    --border-radius-sm: 4px;
    --border-radius-circle: 50%;
    --box-shadow-default: 0px 0px 4px 2px #e4e4e4;
    --box-shadow-hover: 0px 0px 4px 2px #c3bfbf;
    --transition-speed: 0.3s;
    --transition-ease: ease;
    --bs-border-radius: 0.25rem; /* Bootstrap default */
    --bs-border-radius-lg: 0.3rem; /* Bootstrap default */
    --bs-border-color: #036089; /* From original file */
  }
  
  
  /* --- 1. БАЗОВЫЕ СТИЛИ И СБРОС --- */
  html, body {
      font-weight: var(--font-weight-normal);
      color: var(--color-text-base);
      font-size: var(--font-size-base);
      line-height: var(--line-height-base);
      font-family: var(--font-family-base);
  }
  
  body {
      /*font-family: 'Comfortaa', cursive;*/ /* Kept as comment from original */
  }
  
  a {
      color: var(--color-link-blue);
      text-decoration: unset;
      background-color: transparent;
  }
  a:hover {
      text-decoration: none;
  }
  a:active,
  a:hover,
  a:focus {
      outline: 0 none;
      text-decoration: none;
  }
  
  ul {
    /*  list-style: outside none none; */ /* Kept as comment from original */
    /*  margin: 0; */ /* Kept as comment from original */
    /*  padding: 0 */ /* Kept as comment from original */
  }
  
  /* Placeholder styles */
  ::-moz-selection {
      background: #b3d4fc;
      text-shadow: none;
  }
  ::selection {
      background: #b3d4fc;
      text-shadow: none;
  }
  ::-webkit-input-placeholder {
      opacity: 1 !important;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      filter: alpha(opacity=100);
  }
  :-moz-placeholder {
      opacity: 1 !important;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      filter: alpha(opacity=100);
  }
  ::-moz-placeholder {
      opacity: 1 !important;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      filter: alpha(opacity=100);
  }
  :-ms-input-placeholder {
      opacity: 1 !important;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      filter: alpha(opacity=100);
  }
  
  /* Headings */
  h1, .h1 {
      font-size: var(--h1-font-size);
  }
  h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
       font-weight: var(--font-weight-bold);
  }
  h2, .h2 {
      font-size: var(--h2-font-size);
      font-weight: var(--font-weight-bold);
      color: #074a67;
  }
  h3, .h3 {
      font-size: var(--h3-font-size);
  }
  h4, .h4 {
      font-size: var(--h4-font-size);
      line-height: 20px;
      margin: 23px 0 13px;
  }
  
  /* Content area */
  .content {
      padding: 0 0 var(--spacing-md) 0;
  }
  
  
  /* --- 2. УТИЛИТЫ И ЛЭЙАУТ --- */
  .container {
     /* padding: 0; */ /* Kept as comment from original */
  }
  .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
      width: 100%;
      padding-right: var(--spacing-xxs);
      padding-left: var(--spacing-xxs);
      margin-right: auto;
      margin-left: auto;
  }
  .container-fluid {
      max-width: var(--container-max-width);
  }
  
  .row {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-right: calc(-1 * var(--spacing-xxs));
      margin-left: calc(-1 * var(--spacing-xxs));
  }
  .row-inner {
      margin-right: 0px;
      margin-left: 0px;
  }
  .col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col-auto, .col-lg, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-auto, .col-md, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md-auto, .col-sm, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-auto {
      /* Kept empty from original */
  }
  
  /* Sidebar */
  .sidebar-g {
      /*position: sticky; */ /* Kept as comment from original */
      /*top: 90px; */ /* Kept as comment from original */
      /* width: 260px; */ /* Kept as comment from original */
  }
  .left-col-250 {
    width: 256px;
  }
  
  /* Breadcrumbs */
  .breadcrumb-area {
      margin: 0.5rem 0;
  }
  
  /* Form floating */
  .form-floating>label {
      position: absolute;
      top: -5px;
      left: 0;
      height: 100%;
      padding: 1rem 0.75rem;
      pointer-events: none;
      border: 1px solid transparent;
      transform-origin: 0 0;
      transition: opacity .1s ease-in-out,transform .1s ease-in-out;
      color: var(--color-primary);
      font-size: var(--font-size-lg);
      margin-bottom: var(--spacing-xxs);
      padding-bottom: var(--spacing-xs);
      opacity: 1 !important;
  }
  
  /* V-input (from original, likely Vue related) */
  .v-input {
    flex: unset;  margin-bottom: var(--spacing-md);
  }
  
  /* V-Application (from original, likely Vue related) */
  .v-application {
      display: block;
  }
  .v-application--wrap {
      flex: unset;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      display: block;
      flex-direction: column;
      min-height: unset;
      max-width: unset;
      position: relative;
  }
  
  /* V-cloak (from original, likely Vue related) */
  [v-cloak] {
      display: block; /* Original was block, then none */
      padding: 50px 0;
  }
  [v-cloak],.spinner { /* Combined as in original */
    /* Spinner styles */
    @keyframes spinner {
      to {
        transform: rotate(360deg);
      }
    }
    &:before {
      content: '';
      box-sizing: border-box;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 20px;
      height: 20px;
      margin-top: -10px;
      margin-left: -10px;
      border-radius: var(--border-radius-circle);
      border: 2px solid var(--color-border);
      border-top-color: #333;
      animation: spinner .6s linear infinite;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
    }
    & > div {
      display: none;
    }
  }
  [v-cloak] { display: none; } /* Overrides the above effectively */
  
  /* Banner */
  .banner {
    background-color: #e3e3e3;
    background-image: linear-gradient(45deg, #f7f7f7 25%, transparent 25%), linear-gradient(-45deg, #f7f7f7 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f7f7f7 75%), linear-gradient(-45deg, transparent 75%, #f7f7f7 75%);
    background-size: 20px 20px;
    background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
    padding: var(--spacing-lg);
    text-align: center;
  }
  
  
  /* --- 3. КОМПОНЕНТЫ --- */
  
  /* 3.1. Кнопки (Buttons) */
  button:focus {
      outline: auto;
  }
  button:focus {
      outline: none !important; /* Overrides previous rule */
  }
  a:not([href]):not([tabindex]) {
      color: var(--color-link-info);
  }
  a.btn:not([href]):not([tabindex]) {
      color: var(--color-white);
  }
  a.btn-info:not([href]):not([tabindex]) {
      color: var(--color-white);
      text-decoration: none;
  }
  .btn:hover {
      color: var(--color-white);
  }
  .btn-link {
      cursor: pointer;
  }
  
  /* Original button styles */
  /* .btn-primary, .btn-success, .btn-info, .btn-add {
      color: #fff;
      border: none !important;
      border-radius: 4px;
      font-size: 16px;
      box-shadow: none;
      border-color: transparent;
      font-weight: 700;
      margin: 0 auto;
      text-transform: uppercase;
      height: 40px;
      line-height: 40px;
      padding: 0 12px;
  } */
  
  .btn-primary {
     /* background: linear-gradient(45deg, #00618a, #31ade1); */ /* Kept as comment from original */
      color: var(--color-white);
      background-color: var(--color-primary);
      border-color: #1fa2da;
      background: linear-gradient(0deg, var(--color-primary), #1fa2da);
      border: none;
     /* text-shadow: 1px 0px 6px #002434;*/ /* Kept as comment from original */
  }
  .btn-primary:hover{
      background: linear-gradient(0deg, #02577c, #238ebc);
      box-shadow: 0px 3px 4px 0px var(--color-shadow-light);
  }
  
  .btn-add {
      background: linear-gradient(45deg, #9c27b0, #e91e63);
      color: var(--color-white);
      font-weight: var(--font-weight-bold);
  }
  
  .btn-default {
      color: black !important;
      border: 1px solid #d2d2d2;
      background: linear-gradient(0deg, #a1a1a1, transparent);
  }
  
  .btn-cta {
      font-weight: var(--font-weight-bold);
      color: var(--color-white);
      background-color: var(--color-primary);
      border-color: #1fa2da;
      background: linear-gradient(35deg, #E91E63, var(--color-accent));
      border: none;
  }
  .btn-cta:hover {
      background: linear-gradient(35deg, #d5064c, var(--color-accent-dark));
  }
  
  .btn-success {
      color: var(--color-white);
      background-color: var(--color-primary);
      border-color: #1fa2da;
      background: linear-gradient(0deg, var(--color-success), var(--color-success-light));
      border: none;
    /* text-shadow: 1px 0px 6px #07480a;*/ /* Kept as comment from original */
  }
  .btn-success:hover{
      background: linear-gradient(0deg, #058b38, #11c127);
      box-shadow: 0px 3px 4px 0px var(--color-shadow-light);
  }
  
  .btn-info {
      font-weight: var(--font-weight-bold);
      color: var(--color-white);
      background-color: var(--color-primary);
      border-color: #1fa2da;
      background: linear-gradient(0deg, var(--color-primary-light), var(--color-primary-lighter));
      border: none;
    /* text-shadow: 1px 0px 6px #07480a;*/ /* Kept as comment from original */
  }
  .btn-info:hover{
      background: linear-gradient(0deg, var(--color-primary-light), var(--color-primary-lighter));
      box-shadow: 0px 3px 4px 0px var(--color-shadow-light);
  }
  
  .btn-gradient {
      background-image: linear-gradient(to bottom, rgba(255,255,255,0.5), rgba(255,255,255,0.2) 49%, rgba(0,0,0,0.15) 51%, rgba(0,0,0,0.05));
      background-repeat: repeat-x;
      cursor: pointer;
  }
  
  .btn-animate {
      position: relative;
      overflow: hidden;
      z-index: 1;
  }
  .btn-animate span {
      position: absolute;
      height: 12px;
      width: 12px;
      border-radius: var(--border-radius-circle);
      background: #02577c;
      animation: buttonWave 1.6s;
  }
  @keyframes buttonWave {
      0% {
          opacity: 0.5;
          transform: scale(1);
      }
      100% {
          opacity: 0;
          transform: scale(40);
      }
  }
  .btn-block{
      display: block !important;
  }
  .btn-order {
      /* Kept empty from original */
  }
  
  
  /* 3.2. Навигация (Navigation) */
  nav {
      background-color: var(--color-background-light-grey);
      border-radius: var(--border-radius-base);
      padding: 0;
  }
  nav a {
      color: var(--color-text-dark-blue);
      text-decoration: none;
      padding: 11px 11px;
      display: inline-block;
      transition: background-color var(--transition-speed);
      font-weight: var(--font-weight-bold);
  }
  nav a:hover {
      background-color: var(--color-background-light-grey);
  }
  .menu-container {
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      justify-content: center;
  }
  
  /* 3.3. OWL Carousel (General styles) */
  .owl-carousel .item-video{height:300px}
  .owl-carousel .owl-stage:after {
    content: none;
  }
  .owl-nav .owl-next,
  .owl-nav .owl-prev {
      position: absolute;
      top: 50%;
      width: 40px;
      height: 60px;
      margin-top: -30px !important;
      background: none!important;
      line-height: 50px;
  }
  .owl-nav .owl-next:hover,
  .owl-nav .owl-prev:hover {
       background: rgba(255, 255, 255, 0.43) !important;
  }
  .owl-nav .owl-prev {
      left: -8px;
  }
  .owl-nav .owl-next {
      right: -8px;
  }
  .owl-nav button:focus {
      outline: none;
  }
  .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
      background: linear-gradient(45deg, #002e53, var(--color-primary-light));
  }
  
  
  /* 3.4. Пагинация (Pagination) */
  .product-pagination {
      /* Kept empty from original */
  }
  .catalog-list-pagination li {
      display: inline-block;
     
  }
  .catalog-list-pagination li a {
    background: var(--color-white);
    border: 1px solid var(--color-border-primary);
    display: block;
 
    line-height: 2.5rem;
    text-align: center;
    width: 2.5rem;
    color: #339cda;
    font-weight: var(--font-weight-bold);
    border-radius: var(--border-radius-sm);
  }
  .catalog-list-pagination li.active a, .catalog-list-pagination li a:hover {
      background: linear-gradient(0deg, var(--color-primary-light), var(--color-primary-lighter));
      color: var(--color-white);
      border-color: transparent;
  }
  .catalog-list-pagination li a:hover  {
      box-shadow: 0px 3px 4px 0px var(--color-shadow-light);
  }
  .pro-pagination {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
  ul.catalog-list-pagination {
      display: flex;
      gap: var(--spacing-xs);
  }
  .pagination-block {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: var(--spacing-lg);
      flex-direction: column;
  }
  
  
  /* 3.5. Стикеры (Stickers) */
  .sticker {
      border-radius: var(--border-radius-sm);
      display: inline-block;
      padding: 0px var(--spacing-xxs);
      color: var(--color-white);
      margin-bottom: var(--spacing-xxs);
      font-size: var(--font-size-sm);
      background: linear-gradient(218deg, #ff6637, #FF9800);
      text-transform: uppercase;
      font-weight: var(--font-weight-bold);
  }
  .product-card  .sticker{
      padding: 0px var(--spacing-xs);
      right: var(--spacing-lg);
      position: absolute;
      margin-top: 6px;
  }
  .products-item  .sticker{
      padding: 0px var(--spacing-xs);
      right: var(--spacing-lg);
      position: absolute;
      margin-top: -35px;
  }
  .sticker.sticker-1467 {
      position: unset;
      border-radius: var(--border-radius-sm);
      background: -webkit-linear-gradient(to right, #FF9800, var(--color-accent));
      border: none;
      padding: 2px 7px;
      font-weight: var(--font-weight-bold);
      background: linear-gradient(to right, #FF9800, var(--color-accent));
      width: 0;
      padding: 0;
      border: none;
  }
  .sticker.sticker-1467::before {
      content: '';
      background-image: url(/templates/sht/layouts/img/sticker-gift-5.png);
      background-size: 100%;
      display: block;
      position: absolute;
      /* font-size: 24px; */ /* Kept as comment from original */
      /* color: #ffffff; */ /* Kept as comment from original */
      /* padding: 0; */ /* Kept as comment from original */
      /* border-radius: 100%; */ /* Kept as comment from original */
      top: 1px;
      text-indent: 0;
      /* margin-left: 50%; */ /* Kept as comment from original */
      right: var(--spacing-xs);
      /* border: 3px solid #ffffff; */ /* Kept as comment from original */
      width: 40px;
      height: 40px;
  }
  .sticker--1 {
      color:red;
  }
  .sticker--2 {
      color:#ff2f00;
  }
  .sticker--3 {
      color:white;
      color:#ff0c00;
      box-shadow:none;
  }
  .sticker--4 {
      color:red;
  }
  .sticker--5 {
      color:red;
  }
  .sticker--6 {
      color:#11b906;
  }
  .sticker--7 {
      color: var(--color-accent);
  }
  .sticker--8 {
      color: var(--color-accent);
      display: none;
  }
  .sticker.sticker-id-316 {
      /*background: linear-gradient(45deg, #82D4FA, #039BE4);*/ /* Kept as comment from original */
  }
  .sticker.sticker-id-38 {
      background: linear-gradient(218deg, #1b8d00, #2db700);
  }
  .sticker.sticker-id-130 {
      background: linear-gradient(201deg, #7dca2b, #377a01);
  }
  .sticker.sticker-id-321 {
      background: linear-gradient(45deg, #CE94D8, #AB46BC);
  }
  .sticker.sticker-id-1863 {
      text-transform: capitalize;
      background: linear-gradient(45deg, #af0000, #ff1100);
      font-family: serif;
      font-size: var(--font-size-base);
      top: -7px;
  }
  .products-item .stickers-block .sticker.sticker-id-1861 {
     /* display: none;*/ /* Kept as comment from original */
  }
  
  
  /* 3.6. Countdown */
  .offer-countdown {
      display: none; /* Original was display: none */
  }
  .product-card .offer-countdown {
      margin-bottom: var(--spacing-md);
  }
  .product-card .offer-countdown .title {
      letter-spacing: normal; display: none;
      color: #a2a2a2;
  }
  .product-card .countdown {
      display:flex;
  }
  .product-card .count {
      color: #333;
      padding: 0px 5px 0 0;
  }
  .product-card .count:first-child {
      display: none;
  }
  .product-card .count p {
      color: var(--color-error);
      font-size: var(--font-size-base);
      display: inline;
      margin-bottom: 0;
  }
  .product-card .count span {
      color: #666;
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      line-height: 14px;
      display: inline;
  }
  
  .products-item .offer-countdown {
      margin-bottom: var(--spacing-xs);
      margin-top: -16px;
  }
  .products-item .offer-countdown .title {
      letter-spacing: normal; display: none;
      color: #a2a2a2;
  }
  .products-item .countdown {
      display:flex;
  }
  .products-item .count {
      color: #333;
      padding: 0px 5px 0 0;
  }
  .products-item .count:first-child {
      display: none;
  }
  .products-item .count p {
      color: var(--color-error);
      font-size: var(--font-size-sm);
      display: inline;
      margin-bottom: 0;
  }
  .products-item .count span {
      color: #666;
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      line-height: 14px;
      display: inline;
  }
  .countdown {
      font-size: var(--font-size-sm);
      border: 1px solid var(--color-border);
      color: var(--color-accent);
      padding: var(--spacing-xxs) 6px;
      text-align: center;
      font-weight: var(--font-weight-bold);
      border-radius: var(--border-radius-sm);
      background: var(--color-background-light-yellow);
  }
  
  /* 3.7. Quantity Input */
  .product-quantity-input {
      /* Kept empty from original */
  }
  .product-quantity-controls {
      display: flex;
    /*  justify-content: space-between;*/ /* Kept as comment from original */
    height: 100%;
  }
  .product-quantity-form-group {
      display: flex;
      border: 1px solid var(--color-border);
      width: fit-content;
      border-radius: var(--border-radius-sm);
      height: 100%;
      
      line-height: 37px;
  }
  .product-quantity-form-group .button{
      background: none;
      border: none;
  }
  .control-remove {
      border: none;
      background: none;
      color: #888;
      font-size: var(--font-size-base);
      height: 100%;
  }
  .control-restore {
      height: 28px;
      height: 100%;
      width: 100%;
      display: none;
  }
  .product-quantity-input .control-minus ,
  .product-quantity-input .control-plus {
      width: 34px;
      height: 34px;
      color: var(--color-primary);
      height: 100%;
      border-radius: var(--bs-border-radius-lg);
  }
  .product-quantity-input .control-plus.inactive, .product-quantity-input .control-minus.inactive {
      background: #dbdbdb;
      filter: grayscale(1);
      visibility: hidden;
  }
  .product-quantity-input .control-minus:before {background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxwYXRoIGQ9Ik00OTIsMjM2SDIwYy0xMS4wNDYsMC0yMCw4Ljk1NC0yMCwyMGMwLDExLjA0Niw4Ljk1NCwyMCwyMCwyMGg0NzJjMTEuMDQ2LDAsMjAtOC45NTQsMjAtMjBTNTAzLjA0NiwyMzYsNDkyLDIzNnoiLz4NCgk8L2c+DQo8L2g+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2g+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2g+DQo8Zz4NCjwvZz4NCjxnPg0KPC9gPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPC9zdmc+DQo=)}
  .product-quantity-input  .control-input{
      max-width: 42px;
      text-align: center;
      border: none;
  }
  .product-quantity-input  input.control-input[type= "number"]::-webkit-inner-spin-button,
  .product-quantity-input  input.control-input[type= "number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
  .product-quantity-input  input.control-input[type= "number"] {
    -moz-appearance: textfield;
  }
  
  .in-progress {
        text-shadow: none;
    background: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.6) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0.6) 75%, transparent 75%, transparent), -webkit-linear-gradient(top, #f6f5f0, #e1e0dc);
    background: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.6) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0.6) 75%, transparent 75%, transparent), -moz-linear-gradient(top, #f6f5f0, #e1e0dc);
    background: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.6) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0.6) 75%, transparent 75%, transparent), -ms-linear-gradient(top, #f6f5f0, #e1e0dc);
    background: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.6) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0.6) 75%, transparent 75%, transparent), -o-linear-gradient(top, #f6f5f0, #e1e0dc);
    background: linear-gradient(-45deg, rgba(255, 255, 255, 0.6) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0.6) 75%, transparent 75%, transparent), linear-gradient(top, #f6f5f0, #e1e0dc);
    -pie-background: linear-gradient(-45deg, rgba(255, 255, 255, 0.6) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0.6) 75%, transparent 75%, transparent), linear-gradient(top, #f6f5f0, #e1e0dc);
    background-repeat: repeat;
    -webkit-background-size: 40px 40px, 100% 100%;
    -moz-background-size: 40px 40px, 100% 100%;
    -ms-background-size: 40px 40px, 100% 100%;
    -o-background-size: 40px 40px, 100% 100%;
    background-size: 40px 40px, 100% 100%;
    -webkit-animation: progress-bar-stripes 2s linear infinite;
    -moz-animation: progress-bar-stripes 2s linear infinite;
    -ms-animation: progress-bar-stripes 2s linear infinite;
    -o-animation: progress-bar-stripes 2s linear infinite;
    animation: progress-bar-stripes 2s linear infinite;
  }
  
  @-webkit-keyframes progress-bar-stripes {
    from { background-position: 0 0; }
    to { background-position: 40px 0; }
  }
  @-moz-keyframes progress-bar-stripes {
    from { background-position: 0 0; }
    to { background-position: 40px 0; }
  }
  @keyframes progress-bar-stripes {
    from { background-position: 0 0; }
    to { background-position: 40px 0; }
  }
  
  
  /* 3.8. Атрибуты товара (Product Attributes) */
  .attribute-name {
      margin-bottom: var(--spacing-sm);
      font-weight: var(--font-weight-bold);
  }
  input.attribute-value-radio {
      display:none;
  }
  input.attribute-value-radio[type= "radio"] +  .attribute-value-label {
      border: 1px solid var(--color-border);
      padding: 0 var(--spacing-xxs);
      margin-right: 6px;
      cursor: pointer;
      border-radius: var(--border-radius-sm);
  }
  input.attribute-value-radio[type= "radio"] +  .attribute-value-label:hover {
      border:1px solid #e0e0e0;
      background-color: var(--color-background-grey);
  }
  input.attribute-value-radio[type= "radio"]:checked +  .attribute-value-label {
      background-color:#00618a;
      color:#eee;
      border-color:#00618a;
  }
  .attribute-value-list {
      display:flex;
      flex-wrap:wrap;
  }
  label.attribute-value {
      margin-bottom: var(--spacing-md);
  }
  
  
  /* 3.9. Отзывы (Reviews) */
  .review-wrapper {
 
      margin-bottom: var(--spacing-xs);
   
  }
  .review-wrapper {
      margin-bottom: var(--spacing-xs);
  }
  .reviews {
      /* Kept empty from original */
  }
  .review {
      background: var(--color-white);
      padding: var(--spacing-xs);
      display: inline-block;
      width: 100%;
      border: 1px solid var(--color-border);
      border-radius: var(--border-radius-sm);
  }
  .review .photos {
      display: flex;
      margin: var(--spacing-xxs) 0;
      flex-wrap: wrap;
  }
  .review  .photo {
      padding: var(--spacing-xxs);
  }
  .review  .photo img {
      max-width: 100%;
      min-width: 120px;
  }
  .review .sign {
      text-align: right;
      font-style: italic;
      line-height: 1;
      font-weight: var(--font-weight-bold);
  }
  /* BEGIN REVIEWS STYLES */
  .review {
      background-color: var(--color-white);
      border-radius: var(--border-radius-xs);
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
      margin-bottom: var(--spacing-lg);
      padding: var(--spacing-lg);
      overflow: hidden;
  }
  .review-header {
      display: flex;
      align-items: center;
      margin-bottom: var(--spacing-md);
  }
  .review-avatar {
      width: 50px;
      height: 50px;
      border-radius: var(--border-radius-circle);
      overflow: hidden;
      margin-right: var(--spacing-md);
  }
  .review-avatar img {
      width: 100%;
      height: auto;
  }
  .review-info {
      flex-grow: 1;
      font-weight: var(--font-weight-bold);
  }
  .review-info > span {
      display: block;
  }
  .review-body {
      margin-top: var(--spacing-sm);
  }
  .review-stars {
      color: gold;
      font-size: 1.2em;
      margin-bottom: var(--spacing-sm);
  }
  .review-stars span {
      display: inline-block;
      font-size: 1.5em;
      color: #ffd700;
  }
  .review  .photos {
      margin-top: var(--spacing-sm);
  }
  .review  .photos img {
      border-radius: var(--border-radius-xs);
      margin-right: var(--spacing-sm);
      margin-bottom: var(--spacing-sm);
      transition: transform var(--transition-speed);
  }
  .review .photos img:hover {
      transform: scale(1.05);
  }
  .review  .response {
      margin-top: var(--spacing-sm);
      background: #ffe2ad;
      margin-bottom: 0px;
      border-radius: var(--border-radius-xs);
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
      padding: var(--spacing-lg);
      overflow: hidden;
  }
  
  
  /* 3.10. Избранное (Favorites) */
  /* FAVORITES STYLES BEGIN */
  .favorites-btn {
      border: none !important;
      background: rgba(255, 255, 255, 0.9) !important;
      border-radius: var(--border-radius-circle) !important;
      width: 36px !important;
      height: 36px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      transition: all 0.15s ease !important;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
      position: absolute !important;
      top: var(--spacing-xs) !important;
      right: var(--spacing-xs) !important;
      z-index: 10 !important;
  }
  .favorites-btn:hover {
      background: rgba(255, 255, 255, 1) !important;
      transform: scale(1.05) !important;
      box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
  }
  .favorites-btn.active {
      background: rgba(220, 53, 69, 0.1) !important;
      color: var(--color-error) !important;
  }
  .favorites-btn.active:hover {
      background: rgba(220, 53, 69, 0.2) !important;
  }
  .favorites-btn i {
      font-size: 16px !important;
      color: var(--color-error) !important;
      transition: all 0.1s ease !important;
  }
  .favorites-btn:active i {
      transform: scale(1.2) !important;
  }
  .products-item {
      position: relative !important;
  }
  .favorites-wrapper {
      z-index: 10 !important;
  }
  
  
  /* 3.11. Таблицы (Tables) */
  .table-wrap {
    text-align: center;
    display: inline-block;
    background-color: var(--color-white);
    padding: 2rem 2rem;
    color: var(--color-text-base);
  }
  
  
  /* --- 4. СТИЛИ СТРУКТУРНЫХ БЛОКОВ --- */
  
  /* 4.1. Шапка (Header) */
  header.header-desktop {
      background: var(--color-white);
      z-index: 2;
      padding: 1rem 0;
  }
  .wrapper-header-fixed header.header-desktop {
      position: sticky;
      top: 0;
      padding: var(--spacing-sm) 0;
      margin: var(--spacing-lg) 0;
      z-index: 3;
  }
  .header-logo {
      width: 100%;
      max-width: 256px;
      min-width: 100px;
  }
  .header-top-menu {
      line-height: 1;
      text-align: center;
  }
  .header-top-menu a {
      line-height: 1;
      margin-right: 18px;
  }
  .header-contacts-wrapper{
      background: var(--color-background-light-grey);
      padding: var(--spacing-xs) var(--spacing-sm);
      border-radius: var(--border-radius-base);
      line-height: var(--line-height-tight);
  }
  .header-contacts-phone{
      color: var(--color-grey-dark);
      font-size: 17.8px;
      font-weight: var(--font-weight-bold);
  }
  .account-auth-links {
      text-align: right;
  }
  .header-top-menu.account-auth-links a {
      margin-right: 0;
      margin-left: 18px;
  }
  .section-main-menu {
      margin-bottom: var(--spacing-lg);
  }
  header.header-desktop2 {
      position: sticky;
      top: 0;
      z-index: 2;
      background: var(--color-white);
  }
  
  
  /* 4.2. Главное меню (Main Menu) */
  div.main-menu {
      background: none;
      font-size: var(--font-size-sm);
      margin: 0 -15px;
  }
  div.main-menu a {
      background: none;
      color: var(--color-white);
      padding: 0 15px;
      font-weight: var(--font-weight-bold);
  }
  div.main-menu ul ul a{
      background: none;
      color: var(--color-primary);
      padding: var(--spacing-sm) var(--spacing-md);
      font-weight: var(--font-weight-bold);
  }
  div.main-menu >ul >li >a {
      line-height: 50px;
      font-size: 16px;
  }
  div.main-menu {
      padding:0;
      margin:0;
      border:0;
  }
  div.main-menu ul,div.main-menu li {
      list-style:none;
      margin:0;
      padding:0;
  }
  div.main-menu ul {
      position:relative;
      z-index:2;
  }
  div.main-menu ul li {
      min-height:1px;
      vertical-align:middle;
      white-space:nowrap;
      position: relative;
  }
  div.main-menu>ul>li{
      /* Kept empty from original */
  }
  div.main-menu ul li.hover,div.main-menu ul li:hover {
      z-index:99999;
      cursor:default;
  }
  div.main-menu  > ul > li > ul  {
      visibility:hidden;
      position:absolute;
  }
  div.main-menu ul ul li {
      /* Kept empty from original */
  }
  div.main-menu ul ul ul {
      top: 0;
      visibility: hidden;
  }
  div.main-menu > ul  >li:hover >ul {
      visibility:visible;
  }
  div.main-menu  > ul > ul {
      bottom:0;
      left:0;
  }
  div.main-menu ul ul {
      margin-top:0;
  }
  div.main-menu ul ul li {
      font-weight:var(--font-weight-normal);
  }
  div.main-menu a {
      display:block;
      line-height:1em;
      text-decoration:none;
  }
  div.main-menu {
      background: var(--color-primary);
      font-size: 16px;
      position: relative;
    /*  border-top-left-radius: 10px; */ /* Kept as comment from original */
    /*  border-top-right-radius: 10px;*/ /* Kept as comment from original */
      border-radius: var(--border-radius-base);
  }
  div.main-menu::before{
  /*content: '';
      width: 0;
      height: 0;
      border-top: 20px solid #035e85;
      border-left: 20px solid transparent;
      position: absolute;
      top: 100%;*/ /* Kept as comment from original */
  }
  div.main-menu::after{
     /* content: '';
      width: 0;
      height: 0;
      border-top: 20px solid #035e85;
      border-right: 20px solid transparent;
      position: absolute;
      top: 100%;
      right: 0;*/ /* Kept as comment from original */
  }
  div.main-menu >ul {
      /* Kept empty from original */
  }
  /*
  div.main-menu:after,div.main-menu ul:after {
  content: ' ';
  display:block;
  clear:both;
  }
  */
  div.main-menu a {
      background: var(--color-primary);
      color: var(--color-white);
      padding:0 15px;
  }
  div.main-menu > ul {
      display:flex;
      justify-content:space-around;
      z-index: 1;
  }
  div.main-menu ul ul {
      background: var(--color-white);
      position: absolute;
      display: flex;
      padding: var(--spacing-xs);
      box-shadow: 0px 17px 15px -10px rgba(0,0,0,0.18);
      border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
      flex-wrap: wrap;
      flex-direction: column;
      min-width: calc(100% + 4px);
      border: 2px solid var(--color-primary);
      border-top: none;
      margin-left: -2px;
      margin-right: -2px;
  }
  div.main-menu ul ul a {
      padding: var(--spacing-sm) var(--spacing-sm);
  }
  div.main-menu ul ul ul {
      border-top:0 none; left: 164px;
  }
  div.main-menu ul ul li {
      position:relative;
  }
  div.main-menu >ul >li >a {
      line-height:48px;
      font-size:17px;
  }
  div.main-menu ul ul li:first-child >a { /*border-top: 1px solid #0082e7;*/ /* Kept as comment from original */
  }
  div.main-menu ul ul li:hover >a {
      background:var(--color-primary);
      color: var(--color-white);
  }
  div.main-menu ul ul li:last-child >a {
      /* Kept empty from original */
  }
  div.main-menu ul ul li:last-child:hover >a {
      border-radius:0 0 0 3px;
  }
  div.main-menu ul ul li.has-sub >a:after {
      content: '+ ';
      position:absolute;
      top:50%;
      right:15px;
      margin-top:-8px;
  }
  div.main-menu ul li:hover >a,div.main-menu ul li.active >a {
      background:var(--color-background-lighter-grey);
      color:#006894;
  }
  div.main-menu ul li.has-sub >a:after {
      content: '+ ';
      margin-left:5px;
  }
  div.main-menu ul li.last ul {
      left:auto;
      right:0;
  }
  div.main-menu ul li.last ul ul {
      left:auto;
      right:99.5%;
  }
  div.main-menu ul li.li_category_32 >a {
  /*  position: relative;
      background:  #e8e8e8;*/ /* Kept as comment from original */
  }
  div.main-menu ul li.li_category_32 >a::before {
  /*  content: 'new!';
      position: absolute;
      top: -11px;
      right: 0px;
      font-size: 10px;
      color: red;
      transform: rotate(45deg);
      font-weight: 700;*/ /* Kept as comment from original */
  }
  .promocode {
      display: block;
  }
  
  
  /* 4.3. Подвал (Footer) */
  .footer {
      background: var(--color-background-grey);
      padding: var(--spacing-xxl) 0  var(--spacing-xxs);
      margin-top: var(--spacing-xxxl);
      border-top: 1px solid var(--color-border-dark);
  }
  .footer-address {
      margin-top: var(--spacing-sm);
      font-size: var(--font-size-sm);
      color: var(--color-text-muted);
  }
  .footer-contacts {
      margin-top: var(--spacing-sm);
      font-size: var(--font-size-sm);
      color: var(--color-text-muted);
  }
  .footer-contacts .shedule{
      font-size: var(--font-size-sm);
      font-weight: var(--font-weight-bold);
  }
  .footer-mail {
      margin: var(--spacing-sm) 0 0px;
  }
  .footer-contacts .phone {
      margin: var(--spacing-xxs) 0;
  }
  .footer-contacts .phone a{
      font-size: var(--font-size-sm);
      /* text-align: right; */ /* Kept as comment from original */
      float: right;
      font-weight: var(--font-weight-bold);
  }
  .footer h3 {
      font-size: var(--font-size-sm);
      font-weight: var(--font-weight-bold);
      text-transform: uppercase;
      color: var(--color-text-muted);
      margin-bottom: var(--spacing-lg);
      padding-top: 19px;
      border-top: 1px solid var(--color-border-light);
  }
  ul.footer-menu {
      list-style: outside none none;
      margin: 0;
      padding: 0;
  }
  ul.footer-menu a {
      color: var(--color-primary);
      font-size: var(--font-size-sm);
      line-height: 28px;
  }
  .footer-bottom {
      margin: var(--spacing-xxl) 0 var(--spacing-md);
      font-size: var(--font-size-sm);
      color: var(--color-text-muted);
  }
  img.footer-logo {
      max-width: 100%;
  }
  
  
  /* --- 5. СТИЛИ СТРАНИЦ / КОНТЕНТНЫХ БЛОКОВ --- */
  
  /* 5.1. Карточки товаров (Product Item) */
  .products-item {
    margin-bottom: var(--spacing-xxxl);
    box-shadow: var(--box-shadow-default);
    border-radius: var(--border-radius-base);
    padding-bottom: var(--spacing-xs);
  }
  .products-item .offer-description p {
      margin-bottom: 0;
  }
  .admin-action {
      margin: 0px 0px var(--spacing-sm);
  }
  .products-item:hover .admin-action {
      /* Kept empty from original */
  }
  .offer-description {
      font-size: 16px;
      padding-top: var(--spacing-xs);
      color: var(--color-grey-dark);
  }
  .products-item-inner{
      position: relative;
      overflow: hidden;
     /* margin-bottom: 8px;/ */ /* Kept as comment from original */
  }
  .products-item:hover {
     /* box-shadow: 0px 0px 4px 2px #c3bfbf;*/ /* Kept as comment from original */
  }
  
  /* Image wrappers */
  .img-wrapper {
    position: relative;
    overflow: hidden;
   /* border-radius: 8px;*/ /* Kept as comment from original */
  }
  .products-item .img-wrapper img {
      flex-basis: 100%;
  }
  .img-wrapper:hover img {
    /*transform: scale(1.1);*/ /* Kept as comment from original */
  }
  .catalog_items .img-wrapper {
      aspect-ratio: 1 / 1;
      overflow: hidden;
  }
  .catalog_items .ratio916 .img-wrapper {
      aspect-ratio: 9 / 16;
  }
  .catalog_items .ratio34 .img-wrapper {
      aspect-ratio: 3 / 4;
  }
  .catalog_items .img-wrapper img {
      width: 100%;
      height: 100%;
      object-fit: cover;
  }
  .products-item .buy-block {
      display: flex;
      align-content: flex-start;
      justify-content: space-between;
      align-items: flex-start;
      margin-top: 0px;
      flex-wrap: wrap;
      padding: var(--spacing-sm);
  }
  .catalog-item {
      display: flex;
      align-content: center;
      justify-content: space-between;
      align-items: center;
      margin-top: 0px;
      flex-wrap: wrap;
  }
  .products-item a {
      position: relative;
  }
  .products-item .buy-block-wrapper {
      height: 42px;
  }
  .products-item .img-wrapper {
      margin-bottom: var(--spacing-xxs);
      position: relative;
  }
  .products-item .name {
    color: black;
 
    margin: 0px 0;
    margin-bottom: var(--spacing-sm);
    height: 44px !important;
  }
  .products-item .discount-block, .product-card-full .discount-block {
      position: absolute;
      top: 2px;
      right: var(--spacing-xxs);
      z-index: 2;
  }
  .products-item   .countdown-timer {
      /* Kept empty from original */
  }
  .products-item .discount-percent,
  .product-card-full .discount-block ,
  .cart-item  .discount-percent {
      font-weight: var(--font-weight-bold);
      color: var(--color-white);
      background: var(--color-error-light);
      display: inline-block;
      font-size: 16px;
      border-radius: var(--border-radius-base);
      width: 52px;
      height: 24px;
      line-height: 25px;
      text-align: center;
  }
  .products-item:hover .discount-block {
     /* display:none;*/ /* Kept as comment from original */
  }
  .products-item .discount-percent:after{
    /*  content: "";*/ /* Kept as comment from original */
      display: block;
      position: absolute;
      border: 7px solid transparent;
      border-top: 7px solid #c50303;
      border-right: 4px solid #f74811;
      left: 1px;
  }
  .products-item .price-block {
  
  }
  .products-item  .free-shipping a{
      color: #838383;
  }
  .products-item .buy-block .price-block .price {
      font-size: var(--font-size-base);
      color: var(--color-text-base);
      font-weight: var(--font-weight-bold);
      position:relative;
      display:inline-block;
      text-wrap: nowrap;
  }
  .products-item .buy-block .price-block .price .currency{
      font-size: 90%;
  }
  .products-item .buy-block .price-block .price.price-old {
      white-space: nowrap;
      color: var(--color-text-muted);
      /* margin-left: 4px; */ /* Kept as comment from original */
      max-width: 100%;
  }
  .products-item .buy-block .price-block .price.price-old:after{
      content:"";
      display:block;
      position:absolute;
      left:0;top:50%;
      color:#999;
      width:100%;
      height:0;
      border-bottom:1px solid #333;
      transform:rotate(10deg);
  }
  .products-item .buy-block .price-block .price.price-hot {
      color:var(--color-error);
  }
  .products-item .buy-block .action-block .btn-buy {
      background:#00618a;
      color:var(--color-white);
      display:block;
      border-radius:3px;
      font-size:var(--font-size-base);
  }
  .products-item .buy-block .action-block .cart-actions {
      display:flex;
  }
  .products-item .buy-block .action-block .cart-actions .btn-cart-go {
      background:#00b323;
      color:var(--color-white);
      border-radius:3px 0 0 3px;
      font-size:var(--font-size-base);
      line-height:14px;
      font-weight:var(--font-weight-bold);
      padding:9px var(--spacing-sm);
      flex-grow:1;
  }
  .products-item .buy-block .action-block .cart-actions .btn-cart-go span {
      font-size:var(--font-size-sm);
      border-bottom:1px solid;
      display:block;
      margin-bottom:3px;
      padding-bottom:var(--spacing-xxs);
      margin-top:-5px;
  }
  .products-item .buy-block .action-block .cart-actions .btn-cart-inc {
      background:#00618a;
      color:var(--color-white);
      display:block;
      border-radius:0 3px 3px 0;
      font-size:var(--font-size-base);
      padding:var(--spacing-sm);
  }
  .container-home  .admin-counter {
      display: none;
  }
  .catalog_items_compact    .products-item .buy-block .price-block .price.price-old {
      display: none;
  }
  .catalog_items_compact  .products-item .stickers-block .sticker {
      display: none;
  }
  .catalog_items_compact  .products-item .available_count{
      display: none;
  }
  .catalog_items_compact .product-quantity-input{
      display: none;
  }
  .catalog_items_compact .products-item .name{
      display: none;
  }
  .products-item .name-short{
      display: none;
  }
  .catalog_items_compact .products-item .name-short{
      display: block;
  }
  .catalog_items_compact .admin-action  {
      display: none;
  }
  .system-btn-add-cart span.short {
      display: none;
  }
  .system-btn-add-cart span.long {
      display: block;
  }
  .catalog_items_compact .system-btn-add-cart span.short {
      display: block;
  }
  .catalog_items_compact .system-btn-add-cart span.long {
      display: none;
  }
  .catalog_items_compact a.btn  {
      display: block;
      width: 100%;
  }
  .products-item  .select_attr {
    color: var(--color-accent);
    line-height: 32px;
 
    padding: var(--spacing-sm);
  }
  .products-item  .select_attr  > div {
          margin-bottom: 0;
  }
  .select_attr .title {
      margin-right: 0;
  }
  .select_attr .last-size {
      color: var(--color-grey-dark);
      font-size: 16px;
      display: none;
  }
  .select_attr  .more-sizes-link {
      color: #035c83;
      font-size: 16px;
      border-bottom: 1px dashed;
      padding-bottom: 0;
      line-height: 1;
      display: inline;
      cursor: pointer;
  }
  .products-item  .select_attr a  {
      border-bottom: 1px dashed #c2bdbd;
      margin-right: var(--spacing-xs);
  }
  .products-item  .select_attr a.active  {
      display: none;
  }
  #product-list-1  [class*="col-"] {
      /* Kept empty from original */
  }
  #product-list-1    .col-6 {
     /*padding-right: 4px;
      padding-left: 4px;*/ /* Kept as comment from original */
  }
  .products-item .stickers-block {
      position: absolute;
      top: 2px;
      left: var(--spacing-xxs);
      z-index: 2;
  }
  .products-item  .offer-description{
      display: none;
  }
  .products-item:hover .stickers-block{
     /* display:none; */ /* Kept as comment from original */
  }
  .products-item .stickers-block .sticker {
      padding: 0px var(--spacing-xs);
      right: 0;
      position: relative;
      margin-top: 0;
      font-size: var(--font-size-sm);
      align-items: center;
      border-radius: var(--border-radius-base);
      padding: 2px var(--spacing-xs);
      display: inline-block;
      font-size: var(--font-size-sm);
  }
  .catalog_items .owl-dots {
      margin-top: -38px;
      z-index: 2222;
      position: relative;
  }
  .catalog_items .hvr__images {
    position: relative;
  }
  .catalog_items  .images img{
     /* Kept empty from original */
  }
  .catalog_items .hvr__sectors {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
  }
  .catalog_items .hvr__sector {
    flex-grow: 1;
  }
  .catalog_items .images {
    display: flex;
    overflow: hidden;
  }
  .catalog_items .image {
    display: block;
  }
  .catalog_items .hvr__dots {
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 2px -4px;
  }
  .catalog_items .hvr__dot {
      width: 100%;
      height: var(--spacing-xxs);
      margin: 0px var(--spacing-xxs) 0;
      /* border-radius: 50%; */ /* Kept as comment from original */
      background: #cfd1d3;
  }
  .catalog_items .hvr__dot--active {
    background: #0476a9;
  }
  .catalog_items .img-wrapper > .images {
      margin-bottom: var(--spacing-xxs);
  }
  .catalog_items .products-item .images .owl-theme > div.img-wrapper {
      display: none;
  }
  .catalog_items .products-item .images .owl-theme > div.img-wrapper:first-child {
      display: block;
  }
  .free-shipping {
      font-size: var(--font-size-sm);
      display: none;
      text-align: center;
      background: blue;
      color: var(--color-white);
  }
  
  
  /* 5.2. Детальная страница товара (Product Detail Page) */
  .product-card h1.title { /*
  font-size:25px;
  font-weight:700;
  margin-bottom:15px;
  padding-bottom:15px;
  border-bottom:1px solid #eee;
  line-height:36px;*/ /* Kept as comment from original */
  }
  .product-card .images .cover img {
      max-width:100%;
  }
  .product-card  .cover img {
      max-width:100%;
      border-radius: var(--border-radius-xs);
  }
  .product-card .buy-block {
      margin-bottom: 16px;
  }
  .product-card .price-block {
      /* Kept empty from original */
  }
  .product-card .buy-block .price-block .price {
      font-size:30px;
      padding:0 5px 5px 0;
      font-weight:var(--font-weight-bold);
      position:relative;
      display:inline-block;
  }
  .product-card .buy-block .price-block .price.price-old {
      font-size:var(--spacing-lg);
      color:#928f8f;
  }
  .product-card .buy-block .price-block .price.price-old:after {
      content: " ";
      display:block;
      position:absolute;
      width:100%;
      height:2px;
      background-color:var(--color-error);
      top:calc(50% - 3px);
      left:0;
  }
  .product-card .buy-block .price-block .price.price-hot {
      color:var(--color-error);
  }
  .product-card .buy-block .price-block .price.price-discount {
      font-size: 16px;
      color: #4b4b4b;
  }
  .product-card .buy-block .action-block .btn-buy {
      background:#00618a;
      color:var(--color-white);
      display:block;
      border-radius:3px;
      font-size:var(--font-size-base);
  }
  #product-blocks{
      padding: var(--spacing-lg) 0 0 var(--spacing-sm);
      border-left: 1px solid var(--bs-border-color);
      margin-bottom:var(--spacing-lg);
  }
  .product-card .features-list {
      margin-bottom:var(--spacing-xl);
  }
  .product-card .features-list .item {
      /* Kept empty from original */
  }
  .product-card .features-list .item .name {
      display:inline-block;
  }
  .product-card .features-list .item .name span {
      display:inline-block;
      padding-right:var(--spacing-xxs);
  }
  .product-card .features-list .item .value {
      display: inline-block;
      font-weight: var(--font-weight-bold);
      white-space: nowrap;
  }
  .product-card .offer-description {
      margin-bottom:var(--spacing-xl);
  }
  .product-card .offer-description p{
      margin-bottom:0px;
  }
  .product-card-full {
      /* Kept empty from original */
  }
  .product-card-full .product-card-inner{
          position: relative;
  }
  .product-card-full .owl-carousel {
      z-index: 0;
  }
  .product-card-full .buy-block {
      /* Kept empty from original */
  }
  .product-card-full .owl-carousel .owl-item > div{
      text-align: center;
  }
  .product-card-full .owl-carousel .owl-item  video {
      max-width: 560px;
      max-height: 568px;
      object-fit: cover;
  }
  .product-card-full-inner{
      position: relative;
  }
  .product-card-full:hover {
      /* Kept empty from original */
  }
  .product-card-full .img-wrapper {
      margin-bottom: var(--spacing-xs);
      position: sticky;
      top: var(--spacing-sm);
  }
  .product-card-full .img-wrapper img {
      max-width: 100%;
      width: 100%;
      height: auto;
      transition: transform 0.7s ease-out;
  }
  .product-card-full .name {
      padding: 0 0px var(--spacing-xxs) 0px;
      line-height: 1;
      font-size: 150%;
  }
  .product-card-full .price-block {
      /* Kept empty from original */
  }
  .product-card-full  .free-shipping a{
      color: #838383;
  }
  .product-card-full  .available_count {}
  .available_count {
      margin-bottom: var(--spacing-xxs);
      font-size: var(--font-size-sm);
      color: var(--color-text-muted);
  }
  .product-card-full .buy-block .price-block .price {
      font-weight:var(--font-weight-bold);
      position:relative;
      display:inline-block;
      font-size: var(--h1-font-size);
  }
  .product-card-full .buy-block .price-block .price .currency{
      font-size: 85%;
      font-weight: var(--font-weight-normal);
  }
  .product-card-full .buy-block .price-block .price.price-old {
      white-space: nowrap;
      color: var(--color-text-muted);
      margin-left: var(--spacing-xxs);
      max-width: 100%;
      font-size: var(--font-size-base);
  }
  .product-card-full .buy-block .price-block .price.price-old:after{
      content: "";
      display: block;
      position: absolute;
      left: 0;
      top: 50%;
      color: var(--color-text-muted);
      width: 100%;
      height: 0;
      border-bottom: 2px solid var(--color-text-muted);
      transform: rotate(10deg);
  }
  .product-card-full .buy-block .price-block .price.price-hot {
      color:var(--color-error);
  }
  .product-card-full .buy-block .action-block .btn-buy {
      background:#00618a;
      color:var(--color-white);
      display:block;
      border-radius:3px;
      font-size:var(--font-size-base);
  }
  .product-card-full .buy-block .action-block .cart-actions {
      /* Kept empty from original */
  }
  .product-card-full .product-description {
     /* text-align: justify;*/ /* Kept as comment from original */
  }
  .product-card-full  .offer-description {
      margin-top: 16px;
      font-size: inherit ;
      padding-top: 0px;
      color: var(--color-text-base);
  }
  .offer-description p {
      margin-bottom: 0;
  }
  .product-infoblocks {
      margin-top:36px;
      margin-bottom:var(--spacing-xs);
  }
  .product-infoblocks .block {
      margin-bottom: var(--spacing-lg);
      padding-top: var(--spacing-xs);
      font-size: var(--font-size-base);
      border-radius: var(--border-radius-sm);
  }
  .product-infoblocks .block >  .title {
      font-weight: var(--font-weight-bold);
      text-transform: uppercase;
      text-align: center;
      padding-bottom: var(--spacing-xs);
      font-size: 22px;
      width: 100%;
      text-align: left;
      border-bottom: 1px solid #0878a8;
      margin: var(--spacing-sm) 0 var(--spacing-lg);
  }
  .product-infoblocks  .content.max-800 {
      max-width: 800px;
      /* text-align: center; */ /* Kept as comment from original */
      margin: 0 auto;
  }
  .product-infoblocks .block >  .title span {
      background: var(--color-white);
      color: #0878a8;
      padding: 0 var(--spacing-sm) 0 0;
  }
  .product-infoblocks .benefits, .product-description .benefits {
    padding-left: 0;
    list-style: none;
  }
  .product-infoblocks .benefits li, .product-description .benefits li {
      margin-bottom: var(--spacing-xs);
  }
  .product-infoblocks .benefits li::before, .product-description .benefits li::before {
      font-weight: var(--font-weight-bold);
      color: #1A5AD7;
      content: '?';
      margin-left: 0px;
      margin-right: var(--spacing-xs);
      font-size: var(--spacing-lg);
  }
  .block-recommendations .content .item{
      display: flex;
      margin-bottom: 14px;
      align-items: center;
  }
  .block-recommendations .content .item img{
      width: 50px;
  }
  .block-recommendations .content .item .title{
      margin-left: 16px;
      font-size: var(--font-size-base);
  }
  .features-list {
    list-style: none;
    padding: 0;
    margin: 0px;
    margin-top: var(--spacing-sm);
    margin-bottom: var(--spacing-lg);
  }
  .features-list li {
      display: flex;
      justify-content: flex-start;
      border-bottom: 1px solid #dbdbdb;
      padding: var(--spacing-xxs) 0;
  }
  .feature-name {
      width: 50%;
      color: var(--color-text-muted);
  }
  .feature-value {
      width: 50%;
      font-weight: var(--font-weight-bold);
  }
  .product-card-full .buy-block .action-block .cart-actions .btn-cart-go {
      background:#00b323;
      color:var(--color-white);
      border-radius:3px 0 0 3px;
      font-size:var(--font-size-base);
      line-height:14px;
      font-weight:var(--font-weight-bold);
      padding:9px var(--spacing-sm);
      flex-grow:1;
  }
  .product-card-full .buy-block .action-block .cart-actions .btn-cart-go span {
      font-size:var(--font-size-sm);
      border-bottom:1px solid;
      display:block;
      margin-bottom:3px;
      padding-bottom:var(--spacing-xxs);
      margin-top:-5px;
  }
  .product-card-full .buy-block .action-block .cart-actions .btn-cart-inc {
      background:#00618a;
      color:var(--color-white);
      display:block;
      border-radius:0 3px 3px 0;
      font-size:var(--font-size-base);
      padding:var(--spacing-sm);
  }
  .product-card-full .offer-countdown {
      margin-bottom: var(--spacing-xs);
      margin-top: -16px;
  }
  .product-card-full .offer-countdown .title {
      letter-spacing: normal; display: none;
      color: #a2a2a2;
  }
  .product-card-full .countdown {
      display:flex;
  }
  .product-card-full .count {
      color: #333;
      padding: 0px 5px 0 0;
  }
  .product-card-full .count:first-child {
      display: none;
  }
  .product-card-full .count p {
      color: var(--color-error);
      font-size: var(--font-size-sm);
      display: inline;
      margin-bottom: 0;
  }
  .product-card-full .count span {
      color: #666;
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-normal);
      line-height: 14px;
      display: inline;
  }
  .radio input:checked + .radio__text:after {
    opacity: 1;
  }
  .radio input:focus + .radio__text:before {
    box-shadow: 0 0 0 3px rgba(255,255,0,.7);
  }
  .select_attr {
      display: flex;
      align-items: center;
      margin-top: var(--spacing-xxs);
      background: var(--color-white);
    /*  height: 38px;*/ /* Kept as comment from original */
       flex-wrap: wrap;
      padding: 0 0px 0 0px;
      font-weight: var(--font-weight-semibold);
      margin-bottom: -10px;
  }
  .product-card-full  .select_attr {
      display: flex;
      align-items: center;
      margin-top: var(--spacing-xxs);
      background: var(--color-white);
    /*  height: 38px;*/ /* Kept as comment from original */
       flex-wrap: wrap;
      padding: 0 0px 0 0px;
      font-weight: var(--font-weight-semibold);
      margin-bottom: -10px;
  }
  .product-card-full .select_attr > div {
      margin-bottom: var(--spacing-sm);
  }
  .select_attr .title {
      margin-right: var(--spacing-xs);
  }
  .select_attr a  {
      border-bottom: 1px dashed #c2bdbd;
      margin-right: var(--spacing-xs);
  }
  .select_attr a.active  {
      display: none;
  }
  .select_attr .form-control {
    font-weight: var(--font-weight-bold);
    color: var(--color-accent);
 
    border-color: var(--color-accent);
  }
  #product-list-1  [class*="col-"] {
      /* Kept empty from original */
  }
  #product-list-1    .col-6 {
     /*padding-right: 4px;
      padding-left: 4px;*/ /* Kept as comment from original */
  }
  .product-card-full .stickers-block {
      position: absolute;
      z-index: 2;
      top: var(--spacing-sm);
  }
  .product-card-full:hover .stickers-block{
    /*  display:none;*/ /* Kept as comment from original */
  }
  .product-card-full .stickers-block .sticker {
      padding: 0px var(--spacing-xs);
      right: 0;
      position: relative;
      margin-top: 0;
      background: var(--color-accent);
      margin-right: var(--spacing-xxs);
      color: var(--color-white);
  }
  .product-card-full .buy-block-wrapper {
      margin-bottom: var(--spacing-xs);
      position: sticky;
      top: var(--spacing-sm);
      box-shadow: 0px 0px 10px 4px #d3d3d3;
      padding: var(--spacing-md);
      padding-top: 30px;
      border-radius: var(--bs-border-radius);
  }
  a.list-group-item {
      text-decoration: dashed !important;
      color: #1793c8;
      padding: var(--spacing-xs);
      background: rgba(244, 244, 244, 0.63);
  }
  #block-delivery .content {
      /*max-width: 800px;*/ /* Kept as comment from original */
      /* text-align: center; */ /* Kept as comment from original */
     /* margin: 0 auto;*/ /* Kept as comment from original */
    /*  background: #fff;
      padding: 8px;
      border-radius: 8px;*/ /* Kept as comment from original */
  }
  #block-delivery {
  /*background-image: url(/images/tmp/1.jpg);
      background-position: bottom left;
      background-repeat: no-repeat;
      background-size: 600px; */ /* Kept as comment from original */
  }
  #block-delivery, a.list-group-item[href^="#block-delivery"] {
      /* Kept empty from original */
  }
  .product-card-full .buy-block-wrapper-fly {
      background: var(--color-white);
      height: auto;
     /* position: fixed;*/ /* Kept as comment from original */
      left: 0;
      right: 0;
      display: block;
      z-index: 99999999999;
      padding: var(--spacing-xs);
  }
  .product-card-full .buy-block-wrapper-fly {
      bottom: 0;
      box-shadow: 0 -4px 36px 0px rgba(0, 0, 0, 0.12), 0px -8px 8px 4px rgba(0, 0, 0, 0.12);
  }
  .buy-block-wrapper-fly .product-title {
          font-size: var(--spacing-lg);
  }
  .product-card-full .buy-block-wrapper-fly.hide {
      display: none;
    transition: display 0.5s ease-in-out;
  }
  
  
  /* 5.3. Корзина (Cart) */
  .cart-summary {
      border: 1px solid #e5e5e5;
      margin-bottom: var(--spacing-sm);
      padding: var(--spacing-sm);
      border-radius: var(--bs-border-radius-lg);
      box-shadow: 2px 2px 6px 1px #ebebeb;
      position: sticky;
      top: 100px;
  }
  .cart-summary-delivery-info{
      color: var(--color-success);
      margin-top:var(--spacing-sm);
  }
  .cart-summary-row {
      display: flex;
      justify-content: space-between;
  }
  .cart-summary-row-discount {
      color: #28a745;
  }
  .cart-summary-row-delivery-info {
      display: flex;
      align-items: center;
      gap: var(--spacing-sm);
      font-size: var(--font-size-sm);
      color: #666;
      margin-bottom: var(--spacing-lg);
      padding: var(--spacing-xs);
      background-color: var(--color-background-lighter-grey);
      border-radius: var(--border-radius-xs);
  }
  .cart-summary-row > div:last-child{
      font-weight: var(--font-weight-bold);
  }
  .cart-summary-row-total{
      font-size: 120%;
      font-weight: var(--font-weight-bold);
  }
  .cart-item {
      border: 1px solid #dbdbdb;
      margin-bottom: var(--spacing-lg);
      padding: var(--spacing-sm);
      border-radius: var(--bs-border-radius-lg);
      box-shadow: 2px 2px 6px 1px #ebebeb;
  }
  .cart-item-info {
     /* display: flex;
      flex-direction: column;*/ /* Kept as comment from original */
      min-height: 100%;
    /*  justify-content: space-evenly;*/ /* Kept as comment from original */
  }
  .cart-item-name {
      padding-bottom: var(--spacing-xxs);
      text-wrap-style: balance;
      border-bottom: 1px solid var(--color-border);
      margin-bottom: 14px;
  }
  .cart-item-name a {
      color:#003f71;
  }
  .cart-item-name-mobile {
      display: block;
      font-size: 16px;
      margin-bottom: 26px;
  }
  .cart-item-name-desktop {
     display: none;
  }
  .cart-item-img {
      width: 120px;
      height: 120px;
      border-top-right-radius: var(--bs-border-radius-lg);
      border-bottom-right-radius: var(--bs-border-radius-lg);
      margin: -10px var(--spacing-sm) -10px -10px;
  }
  .cart-item-quantity-block{
        margin: var(--spacing-sm) 0;
        display: inline-block;
  }
  .cart-item  .discount-percent {
          margin-right: var(--spacing-lg);
  }
  .cart-item .price-block {
      /* Kept empty from original */
  }
  .cart-item .price-block-total {
      text-align: right;
  }
  .cart-item  .product-quantity-input {
      margin-bottom: var(--spacing-xxs);
  }
  .cart-item  .free-shipping a{
      color: #838383;
  }
  .cart-item .price-block .price {
      font-size:var(--font-size-base);
      color: var(--color-text-base);
      position:relative;
      display:inline-block;
      text-wrap: nowrap;
  }
  .cart-item .price-block .price .currency{
      font-size: 90%;
  }
  .cart-item .price-block .price.price-old {
      white-space: nowrap;
      color: var(--color-text-muted);
      /* margin-left: 4px; */ /* Kept as comment from original */
      max-width: 100%;
  }
  .cart-item .price-block .price.price-old:after{
      content: "";
      display: block;
      position: absolute;
      left: -6px;
      top: 44%;
      color: #999;
      width: 110%;
      height: 0;
      border-bottom: 2px solid rgba(0,0,0,0.58);
      /* transform: rotate(10deg); */ /* Kept as comment from original */
      right: -19px;
  }
  .cart-item .price-block .price.price-hot {
      color:var(--color-error);
  }
  .cart-summary-row-quantity-weight {
      font-size: 16px;
      justify-content: flex-start;
      display: flex;
      font-weight: var(--font-weight-bold);
      border-bottom: 1px solid var(--color-border);
      margin-bottom: var(--spacing-sm);
      padding-bottom: var(--spacing-sm);
  }
  .cart-summary-row.cart-summary-row-quantity-weight > div:last-child {
      font-weight: var(--font-weight-bold);
      margin-left: var(--spacing-sm);
  }
  .delivery-item label{
      display: block;
  }
  .delivery-item .price-block .price {
      font-size: var(--font-size-base);
      color: var(--color-text-base);
      font-weight: var(--font-weight-bold);
      position: relative;
      display: inline-block;
      text-wrap: nowrap;
  }
  .delivery-item .price-block .price.price-hot {
      color: var(--color-error);
  }
  .delivery-item  .price-block .price.price-old {
      white-space: nowrap;
      color: var(--color-text-muted);
      /* margin-left: 4px; */ /* Kept as comment from original */
      max-width: 100%;
  }
  .delivery-item .price-block .price.price-old:after {
      content: "";
      display: block;
      position: absolute;
      left: -6px;
      top: 46%;
      color: #999;
      width: 110%;
      height: 0;
      border-bottom: 3px solid rgba(0,0,0,0.58);
      transform: rotate(10deg);
      right: -19px;
  }
  .pick-point-change-link {
      cursor: pointer;
  }
  .payment_method_wrapper {
    /*  display: flex;
      justify-content: center;  */ /* Kept as comment from original */
  }
  .payment_method {
      background: rgba(207, 207, 207, 0.28);
      display: flex;
      width: 290px;
      padding: var(--spacing-xs);
      border: 1px solid var(--color-border);
      border-radius: 2px;
      margin: var(--spacing-xs) var(--spacing-xs) var(--spacing-xs);
  }
  .payment_method .main-block{
    flex-grow: 1;
  }
  .payment_method .title {
      font-weight: var(--font-weight-bold);
      margin-bottom: var(--spacing-xxs);
  }
  .payment_method .icon {
      font-weight: var(--font-weight-bold);
      font-size: 43px;
      padding-right: var(--spacing-xs);
      color: #767e82;
      width: 60px;
      text-align: center;
  }
  
  
  /* 5.4. Поиск (Search) */
  .search_result {
      position: absolute;
      background: var(--color-white);
      right: var(--spacing-md);
      left: var(--spacing-md);
      z-index: 2;
      padding: var(--spacing-sm);
      border: 1px solid var(--color-border);
      border-top: none;
  }
  .search_result .product-img {
      width: 50px;
  }
  .search-product-item {
      margin-bottom: var(--spacing-xxs);
  }
  #search-modal  {
      display: none;
  }
  #search-modal .bg-fade {
      position: fixed;
      background: rgba(0, 0, 0, 0.65);
      right: 0px;
      left: 0px;
      z-index: 2;
      top: 0px;
      bottom: 0px;
  }
  #search-modal .wrapper {
      position: fixed;
      right: 0px;
      left: 0px;
      z-index: 3;
      top: 0px;
      bottom: 0px;
  }
  #search-modal .inner-wrapper {
      background: rgb(255, 255, 255);
      padding: var(--spacing-lg);
      margin: var(--spacing-xs) 0;
      border-radius: var(--border-radius-sm);
      max-height: calc(100%-24px);
      margin-top: 60px;
  }
  #search-modal .clear-button {
      font-weight: var(--font-weight-bold);
  }
  #search-modal .result-area {
      overflow-y: scroll;
      max-height: calc(100%-300px);
      max-height: calc(100vh - 106px);
      margin-top: var(--spacing-lg);
  }
  #search-modal .item img{
      width: 80px;
      border-radius: var(--border-radius-sm);
  }
  #search-modal .item {
      margin-bottom: var(--spacing-sm);
  }
  #search-modal .title2 {
      font-size: var(--font-size-sm);
      line-height: var(--spacing-lg);
  }
  .suggestions-suggestions {
      background: var(--color-white);
      border: 1px solid #999;
      -ms-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      cursor: default;
      z-index: 9999;
      /* -webkit-text-size-adjust: 100%; */ /* Kept as comment from original */
      position: absolute;
      top: -6px;
      width: 100%;
      border-bottom-right-radius: var(--bs-border-radius-lg);
      border-bottom-left-radius: var(--bs-border-radius-lg);
      border: var(--bs-border-width) solid var(--bs-border-color);
      box-shadow: 0px 16px 16px 0px rgba(0,0,0,0.42);
  }
  
  
  /* 5.5. Специальные предложения (Special Offers) */
  .special-list .item {
      margin-bottom: var(--spacing-xl);
      border-bottom: 1px solid var(--color-border);
      padding-bottom: var(--spacing-xl);
  }
  .special-list .item .dates {
      display: inline-block;
      background: #eeeeee;
      padding: var(--spacing-xxs) var(--spacing-xs);
      border-radius: var(--border-radius-sm);
      font-weight: var(--font-weight-bold);
  }
  .special-list .item .description {
      font-size: var(--font-size-base);
      line-height: 32px;
  }
  .special-list .item  .img {
      max-width: 100%;
      border-radius: var(--border-radius-sm);
  }
  .home-special-wrapper  .card-title {
      font-size: var(--font-size-base);
      text-align: center;
  }
  .home-special-wrapper .special-list .item .dates {
      display: block;
      background: none;
      padding: var(--spacing-xxs) var(--spacing-xs);
      font-weight: var(--font-weight-bold);
      text-align: center;
  }
  .home-special-wrapper  .special-list .item {
      padding-bottom:  var(--spacing-xxs);
  }
  .home-special-wrapper  .special-list {
      justify-content: center;
  }
  .sidebar-special-wrapper  .card-title {
      font-size: var(--font-size-base);
      text-align: center;
  }
  .sidebar-special-wrapper .special-list .item .dates {
      display: block;
      background: none;
      padding: var(--spacing-xxs) var(--spacing-xs);
      font-weight: var(--font-weight-bold);
      text-align: center;
  }
  .sidebar-special-wrapper  .special-list .item {
      padding-bottom:  var(--spacing-xxs);
  }
  .sidebar-special-wrapper  h5 {
      font-size: 16px;
      text-align: center;
  }
  .sidebar-special-wrapper  .special-list {
      justify-content: center;
  }
  .special-list1-container {
      width: 100%;
      overflow: hidden;
      position: relative;
      padding: var(--spacing-sm) 0;
  }
  .special-list1-scroll {
      display: flex;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      padding-bottom: var(--spacing-sm);
      padding-left: var(--spacing-md);
  }
  .special-list1-scroll::-webkit-scrollbar {
      display: none;
  }
  .special-item1 {
      flex: 0 0 auto;
      width: 250px;
      margin-right: var(--spacing-md);
      scroll-snap-align: start;
      border-radius: var(--border-radius-xs);
      overflow: hidden;
      box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  }
  .special-badge {
      font-size: 16px;
      text-align: left;
      margin-bottom: var(--spacing-xxs);
      padding: 0 5px;
  }
  .special-badge .badge {
      background: #00BCD4;
      color: var(--color-white);
      padding: var(--spacing-xxs) var(--spacing-xs);
      border-radius: var(--border-radius-sm);
      font-size: var(--font-size-sm);
  }
  .special-name {
      font-weight: var(--font-weight-bold);
      margin-bottom: var(--spacing-xxs);
      font-size: 16px;
      padding: 0 5px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 100%;
      display: block;
  }
  .special-img {
      width: 100%;
      height: auto;
      max-width: 100%;
      aspect-ratio: 1/1; /* Сохраняем пропорции 1:1 */
      object-fit: cover;
  }
  .special-list1-container::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 30px; /* Ширина затемнения/обрезки */
      height: 100%;
      background: linear-gradient(to right, transparent, var(--color-white));
      pointer-events: none; /* Чтобы можно было кликать сквозь этот элемент */
  }
  
  
  /* 5.6. Фильтр каталога (Catalog Filter) */
  .filter-del .list {
      display: flex;
  }
  .filter .list .form-check{
      border-bottom: 1px solid var(--color-border);
      padding-bottom: var(--spacing-xxs);
      margin-bottom: var(--spacing-xxs);
  }
  .filter .list .form-check:last-child {
      border-bottom: 0px solid var(--color-border);
  }
  .catalog-filter-main  {
      /* Kept empty from original */
  }
  .catalog-filter-main .filter {
      margin-bottom: var(--spacing-xl);
  }
  .catalog-filter-main .filter .title {
      color: var(--color-grey-dark);
  }
  .catalog-filter-main .filter .list .item {
      line-height: 25px;
  }
  .catalog-filter-main .filter .list .item .unset-link {
      width: var(--spacing-lg);
      background: #bdbdbd;
      padding: 2px 5px;
      color: #807d7d;
      border-radius: 3px;
  }
  .catalog-filter-main .filter .list .item .selected {
      font-weight: var(--font-weight-semibold);
  }
  .catalog-filter-main .filter .list  {
      /* Kept empty from original */
  }
  .catalog-filter-offfcanvas {
      background: var(--color-white);
      padding: var(--spacing-md) var(--spacing-sm);
  }
  .sort-panel {
      margin-bottom: var(--spacing-sm);
  }
  .sort-panel fieldset.option {
      display: inline-block;
  }
  .sort-panel label.radio {
      margin-right: var(--spacing-md);
  }
  .sort-panel .radio input {
    position: absolute;
    z-index: -1;
    opacity: 0;
    margin: var(--spacing-sm) 0 0 7px;
  }
  .sort-panel .radio__text {
      position: relative;
      padding: 0 0 0 1.5rem;
      cursor: pointer;
      line-height: 0.71rem;
  }
  .sort-panel .radio__text:before {
      content: '';
      position: absolute;
      top: -3px;
      left: 0;
      width: 16px;
      height: 17px;
      border: 1px solid #CDD1DA;
      border-radius: 30%;
      background: var(--color-white);
  }
  .sort-panel .radio__text:after {
      content: '';
      position: absolute;
      top: 0px;
      left: 2px;
      width: 12px;
      height: 12px;
      border-radius: 30%;
      background: #1976d2;
      box-shadow: inset 0 1px 1px rgba(0,0,0,.5);
       opacity: 0;
      transition: .2s;
  }
  .sort-panel label {
      padding: var(--spacing-xxs) 5px 0px 0px;
  }
  .sort-panel .form-control{
      width: auto;
  }
  .radio input:checked + .radio__text:after {
    opacity: 1;
  }
  .radio input:focus + .radio__text:before {
    box-shadow: 0 0 0 3px rgba(255,255,0,.7);
  }
  
  
  /* 5.7. Малая корзина (Small Cart) */
  .smallcart .wrapper {
      /* Kept empty from original */
      text-align: right; /* Added from original */
  }
  .smallcart .wrapper:hover {
      background-color: var(--color-background-lighter-grey);
  }
  .smallcart .wrapper .promocode {
      width: 100%;
      /* padding: 4px; */ /* Kept as comment from original */
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-bold);
      /* background: #02c527; */ /* Kept as comment from original */
      text-transform: uppercase;
      color: red;
      margin-bottom: var(--spacing-xxs);
  }
  .smallcart .wrapper .title {
      /* Kept empty from original */
  }
  .smallcart .wrapper .quantity {
      font-weight: var(--font-weight-bold);
  }
  .smallcart .wrapper .quantity .text {
      font-weight: var(--font-weight-normal);
      font-size: var(--font-size-xs);
  }
  .smallcart .wrapper .amount {
      font-weight: var(--font-weight-semibold);
      text-align: right;
      font-size: 1.2rem;
      display: inline;
      color: var(--color-text-muted);
      display: none;
  }
  .smallcart .wrapper .cart-box {
      height: 48px;
      padding: 9px 0;
  }
  .smallcart .smallcart-box {
      background: #fdfdfd none repeat scroll 0 0;
      box-shadow: -7px 0px 9px 8px var(--color-shadow-dark);
      left: auto;
      top: 0;
      padding: var(--spacing-sm);
      position: fixed;
      right: 0;
      opacity: 1;
      visibility: hidden;
      z-index: 99;
      padding: var(--spacing-md);
      bottom: 0;
  }
  .smallcart:hover .smallcart-box {
      opacity:1;
      visibility:visible;
  }
  .smallcart .smallcart-box .items{
      /* Kept empty from original */
  }
  .smallcart .smallcart-box .item {
      min-width: 580px;
      margin-bottom: 6px;
      border-bottom: 1px solid var(--color-background-light-grey);
  }
  .smallcart .smallcart-box .cart-footer {
      /* Kept empty from original */
  }
  .smallcart .smallcart-box .cart-footer .amount {
      text-align:right;
      margin:var(--spacing-sm) 0;
      font-weight:var(--font-weight-medium);
  }
  .smallcart .smallcart-box .cart-footer{
      /* Kept empty from original */
  }
  
  
  /* 5.8. Категории с изображениями (Menu Subcategories) */
  .catalog-menu-bs-sub-with-img1 > a img {
      border-radius: 6px;
      width: auto;
      height: 160px;
      max-width: 100%;
  }
  .catalog-menu-bs-sub-with-img1 > a div{
      line-height: 18px;
      padding-top: 6px;
      color: #504f4f;
  }
  .catalog-menu-bs-sub-with-img1 > a{
      display: block;
      font-size: var(--font-size-sm);
      text-align: center;
      line-height: 22px;
      text-transform: uppercase;
      background: var(--color-background-lighter-grey);
      padding: var(--spacing-sm);
      border-radius: 6px;
  }
  .catalog-menu-bs-sub-with-img1 {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
      gap: var(--spacing-lg);
      margin-bottom: var(--spacing-lg);
  }
  .categories-menu-with-img {
      margin-top: var(--spacing-sm);
      margin-bottom: var(--spacing-sm);
      display: flex;
      flex-wrap: wrap;
      gap: var(--spacing-sm);
  }
  .categories-menu-with-img .category-card {
      display: flex;
      align-items: center;
      border: 1px solid var(--color-border-dark);
      border-radius: var(--border-radius-xs);
      padding: var(--spacing-sm);
      text-decoration: none;
      color: inherit;
      transition: box-shadow var(--transition-speed), transform 0.2s ease;
      min-width: 200px;
      max-width: 225px;
      flex: 1 1 calc(50% - 5px);
      height: 80px;
      gap: var(--spacing-md);
  }
  .categories-menu-with-img .category-card:hover {
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      transform: translateY(-2px);
      text-decoration: none;
      color: inherit;
  }
  .category-info {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding-right: var(--spacing-sm);
  }
  .category-name {
      font-size: 16px;
      font-weight: var(--font-weight-semibold);
      color: #3F51B5;
      margin-bottom: var(--spacing-xxs);
      line-height: 1.2;
  }
  .category-count {
      font-size: var(--font-size-sm);
      color: #666;
      font-weight: var(--font-weight-normal);
  }
  .category-image {
      flex-shrink: 0;
      width: 60px;
      height: 60px;
      border-radius: var(--border-radius-sm);
      overflow: hidden;
  }
  .category-image img {
      width: 100%;
      height: 100%;
      object-fit: contain;
  }
  
  
  /* 5.9. Доставка (Shipping Block) */
  .shipping-block-inner {
      display: none; /* Original was display: none */
      font-size: var(--font-size-xxl);
      color: var(--color-primary);
      text-shadow: 1px 1px var(--color-border);
      margin-bottom: var(--spacing-sm);
      background-color: #f8f8f8;
      padding: var(--spacing-xxs) var(--spacing-xs);
      border-radius: var(--border-radius-sm);
      border: 1px solid;
      background-image: linear-gradient(45deg, #f7f7f7 25%, transparent 25%), linear-gradient(-45deg, #f7f7f7 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f7f7f7 75%), linear-gradient(-45deg, transparent 75%, #f7f7f7 75%);
      background-size: 20px 20px;
      background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
  }
  .shipping-block-inner .title {
      font-weight: var(--font-weight-bold);
      font-size: var(--font-size-base);
      text-transform: uppercase;
  }
  .shipping-block-inner .description {
      font-size: var(--spacing-lg);
      margin-top: 0;
  }
  .coupon_impact {
      margin-top: -15px;
      color: var(--color-text-muted);
      font-size: 13px;
  }
  .coupon_impact .promocode {
      font-weight: var(--font-weight-bold);
      color: red;
  }
  
  
  /* --- 6. АДАПТИВНОСТЬ И ОТДЕЛЬНЫЕ MEDIA QUERIES --- */
  
  /* Mobile general */
  @media only screen
     and (max-width : 768px) {
      .col,  [class*="col-"] {
          padding-right: var(--spacing-xxs);
          padding-left: var(--spacing-xxs);
      }
      .row {
          margin-right: -4px;
          margin-left: -4px;
      }
      h1 {
          font-size: var(--h1-font-size);
          margin-bottom: 1rem;
      }
  }
  
  @media (max-width: 359px){
      .catalog-menu {
          display: none;
      }
  }
  
  /* Mobile header */
  /* Медиа-запросы для скрытия/показа header версий */
  @media (max-width: 767px) {
      .header-desktop {
          display: none;
      }
  }
  @media (min-width: 768px) {
      .mobile-header {
          display: none;
      }
  }
  .mobile-header {
      z-index: 3;
      background: #efefef;
      padding: var(--spacing-xs) 0 var(--spacing-xs) 0;
      margin-bottom: var(--spacing-xs);
  }
  .wrapper-header-fixed .mobile-header {
     /* position: sticky;
      top: 0px;*/ /* Kept as comment from original */
  }
  
  /* Mobile menu */
  .mobile-menu {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      z-index: 100;
  }
  @media (min-width: 768px) {
      .mobile-menu {
          padding-top: 0;
      }
  }
  .mobile-menu .mm__bg {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: rgba(20, 20, 20, 0.8);
      z-index: 100;
  }
  .mobile-menu .mm__wrapper {
      visibility: hidden;
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
      transition: all .4s ease-in-out;
      overflow-y: auto;
      position: relative;
      width: 100%;
      height: 100%;
      z-index: 200;
      touch-action: auto;
      -ms-touch-action: auto;
      background: var(--color-white);
  }
  @media (min-width: 768px) {
      .mobile-menu .mm__wrapper {
          width: 35%;
      }
  }
  @media (min-width: 1200px) {
      .mobile-menu .mm__wrapper {
          width: 25%;
      }
  }
  .mobile-menu .h__logo {
      padding-left: 40px;
      font-size: 2rem;
      font-weight: var(--font-weight-bold);
      color: #333;
      line-height: 1.25;
      margin-left: var(--spacing-lg);
      margin-top: var(--spacing-md);
  }
  .mm__header .close-btn {
      position: absolute;
      top: 0;
      right: 0;
      margin-right: var(--spacing-md);
      margin-top: var(--spacing-md);
  }
  .close-btn {
      position: relative;
      width: var(--spacing-lg);
      height: var(--spacing-lg);
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
      cursor: pointer;
  }
  .close-btn:before {
      width: 2px;
      height: 18px;
      left: var(--spacing-xs);
      top: 0;
  }
  .close-btn:after {
      height: 2px;
      width: 18px;
      top: var(--spacing-xs);
      left: 0;
  }
  .close-btn:before, .close-btn:after {
      content: "";
      background: var(--color-text-base);
      position: absolute;
  }
  .close-btn--red:before, .close-btn--red:after {
      background: var(--color-text-base);
  }
  .mm__header {
      height: 50px;
  }
  .mobile-menu-links {
      display: flex;
      flex-direction: column;
  }
  .mobile-menu-links a {
      margin-bottom: var(--spacing-sm);
      font-size: var(--spacing-lg);
      color: var(--color-text-muted);
      padding: var(--spacing-sm) 0 var(--spacing-sm) 40px;
      font-weight: var(--font-weight-bold);
      border-bottom: 1px solid var(--color-border);
  }
  
  /* New mobile structure */
  @media (max-width: 768px) {
      /* 1. User Block */
      .mobile-user-block {
          background: var(--color-white);
          border: 1px solid #e9ecef;
          border-radius: 16px;
          padding: var(--spacing-sm) 14px;
          margin-bottom: var(--spacing-sm);
          box-shadow: 0 2px 6px rgba(0,0,0,0.05);
      }
      .mobile-auth-links {
          text-align: left;
          font-size: var(--font-size-sm);
      }
      .mobile-auth-links a {
          color: var(--color-link-info);
          text-decoration: none;
          font-weight: var(--font-weight-semibold);
      }
      .mobile-auth-links a:hover {
          text-decoration: underline;
      }
      .mobile-auth-links .separator {
          margin: 0 var(--spacing-xs);
          color: #dee2e6;
      }
      .mobile-user-info {
          text-align: left;
      }
      .mobile-user-info a {
          color: #495057;
          text-decoration: none;
          font-weight: var(--font-weight-semibold);
          font-size: var(--font-size-sm);
      }
      .mobile-user-info a:hover {
          color: var(--color-link-info);
      }
  
      /* 2. Location Block */
      .mobile-location-block {
          background: var(--color-white);
          border: 1px solid #e9ecef;
          border-radius: 16px;
          padding: 0;
          margin-bottom: var(--spacing-sm);
          box-shadow: 0 2px 6px rgba(0,0,0,0.05);
          overflow: hidden;
      }
      .location-main-level {
          background: #f8f9fa;
          color: #495057;
          padding: var(--spacing-sm) 14px;
          display: flex;
          align-items: center;
          justify-content: space-between;
      }
      .location-city-main {
          display: flex;
          align-items: center;
          gap: var(--spacing-xs);
          font-size: 15px;
          font-weight: var(--font-weight-semibold);
      }
      .location-city-main i {
          font-size: 16px;
          color: var(--color-link-info);
      }
      .change-city {
          color: #6c757d;
          text-decoration: none;
          font-size: 11px;
          font-weight: var(--font-weight-semibold);
          padding: 3px var(--spacing-xs);
          border: 1px solid #dee2e6;
          border-radius: 16px;
          transition: all var(--transition-speed) ease;
          text-transform: uppercase;
          letter-spacing: 0.2px;
      }
      .change-city:hover {
          color: var(--color-link-info);
          border-color: var(--color-link-info);
          background: rgba(0,123,255,0.05);
      }
      .location-details-level {
          background: var(--color-white);
          padding: 6px 14px;
          border-top: 1px solid #f1f3f4;
      }
      .delivery-info-simple {
          color: #28a745;
          font-size: 15px;
          font-weight: var(--font-weight-semibold);
          display: flex;
          align-items: center;
          justify-content: center;
          gap: var(--spacing-xxs);
      }
      .delivery-info-simple i {
          font-size: var(--font-size-xs);
          color: #28a745;
      }
  
      /* 3. Logo */
      .mobile-logo-block {
          padding: var(--spacing-lg) 0;
          margin-bottom: 16px;
      }
      .mobile-logo-block img {
          max-width: 280px;
          height: auto;
      }
  
      /* 4. Navigation (sticky bottom) */
      .mobile-navigation {
          position: fixed;
          bottom: 0;
          left: 0;
          right: 0;
          display: flex;
          background: linear-gradient(135deg, var(--color-link-info), #0056b3);
          padding: var(--spacing-sm) var(--spacing-xs);
          box-shadow: 0 -4px 12px rgba(0,123,255,0.3);
          gap: var(--spacing-xxs);
          border: 1px solid rgba(255,255,255,0.2);
          border-bottom: none;
          z-index: 1000;
          border-top-left-radius: 16px;
          border-top-right-radius: 16px;
      }
      /* Global body padding for mobile */
      body {
          padding-bottom: 90px;
      }
      .nav-btn {
          flex: 1;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          padding: var(--spacing-xs) 6px;
          border: none;
          background: var(--color-white);
          color: #495057;
          text-decoration: none;
          border-radius: 16px;
          transition: all var(--transition-speed) cubic-bezier(0.4, 0, 0.2, 1);
          position: relative;
          min-height: 70px;
          box-shadow: 0 2px 8px rgba(0,0,0,0.1);
          margin: 2px;
      }
      .nav-btn i {
          font-size: var(--spacing-lg);
          margin-bottom: 3px;
          color: var(--color-link-info);
          transition: all var(--transition-speed) cubic-bezier(0.4, 0, 0.2, 1);
          filter: drop-shadow(0 1px 2px rgba(0,123,255,0.3));
      }
      .nav-btn span {
          font-size: var(--spacing-xxs);
          font-weight: var(--font-weight-bold);
          line-height: 1;
          color: #6c757d;
          text-transform: uppercase;
          letter-spacing: 0.3px;
      }
      /* Specific button colors */
      .nav-btn[data-target="mobile-menu"] {
          border-color: rgba(0,123,255,0.2);
      }
      .nav-btn[data-target="mobile-menu"] i {
          color: var(--color-link-info);
      }
      .nav-btn[data-target="search-mobile-menu"] {
          border-color: rgba(40,167,69,0.2);
      }
      .nav-btn[data-target="search-mobile-menu"] i {
          color: #28a745;
          filter: drop-shadow(0 1px 2px rgba(40,167,69,0.3));
      }
      .nav-btn[onclick*="избранного"] {
          border-color: rgba(220,53,69,0.2);
      }
      .nav-btn[onclick*="избранного"] i {
          color: var(--color-error);
          filter: drop-shadow(0 1px 2px rgba(220,53,69,0.3));
      }
      .nav-btn[href="/cart/"] {
          border-color: rgba(253,126,20,0.2);
      }
      .nav-btn[href="/cart/"] i {
          color: #fd7e14;
          filter: drop-shadow(0 1px 2px rgba(253,126,20,0.3));
      }
      /* Hover effects with colored backgrounds */
      .nav-btn:hover,
      .nav-btn:focus {
          transform: translateY(-3px);
          box-shadow: 0 8px 16px rgba(0,0,0,0.15);
      }
      .nav-btn[data-target="mobile-menu"]:hover {
          background: linear-gradient(145deg, var(--color-link-info), #0056b3);
          border-color: var(--color-link-info);
          color: var(--color-white);
      }
      .nav-btn[data-target="mobile-menu"]:hover i,
      .nav-btn[data-target="mobile-menu"]:hover span {
          color: var(--color-white);
          filter: drop-shadow(0 1px 2px rgba(0,0,0,0.2));
      }
      .nav-btn[data-target="search-mobile-menu"]:hover {
          background: linear-gradient(145deg, #28a745, #1e7e34);
          border-color: #28a745;
          color: var(--color-white);
      }
      .nav-btn[data-target="search-mobile-menu"]:hover i,
      .nav-btn[data-target="search-mobile-menu"]:hover span {
          color: var(--color-white);
          filter: drop-shadow(0 1px 2px rgba(0,0,0,0.2));
      }
      .nav-btn[onclick*="избранного"]:hover {
          background: linear-gradient(145deg, var(--color-error), #c82333);
          border-color: var(--color-error);
          color: var(--color-white);
      }
      .nav-btn[onclick*="избранного"]:hover i,
      .nav-btn[onclick*="избранного"]:hover span {
          color: var(--color-white);
          filter: drop-shadow(0 1px 2px rgba(0,0,0,0.2));
      }
      .nav-btn[href="/cart/"]:hover {
          background: linear-gradient(145deg, #fd7e14, #e8650e);
          border-color: #fd7e14;
          color: var(--color-white);
      }
      .nav-btn[href="/cart/"]:hover i,
      .nav-btn[href="/cart/"]:hover span {
          color: var(--color-white);
          filter: drop-shadow(0 1px 2px rgba(0,0,0,0.2));
      }
      .nav-btn .counter {
          position: absolute;
          top: var(--spacing-xxs);
          right: var(--spacing-xs);
          background: var(--color-error);
          color: var(--color-white);
          border-radius: var(--border-radius-base);
          font-size: var(--spacing-xxs);
          font-weight: var(--font-weight-bold);
          padding: 2px 6px;
          min-width: 18px;
          text-align: center;
      }
      /* Search overlay */
      .search-title {
          color: #495057;
          margin: 0;
          font-weight: var(--font-weight-semibold);
      }
      .search-content {
          padding: var(--spacing-lg);
      }
      .search-form {
          margin-bottom: 30px;
      }
      .search-input-wrapper {
          position: relative;
          display: flex;
          align-items: center;
      }
      .search-input {
          width: 100%;
          padding: var(--spacing-md) 60px var(--spacing-md) var(--spacing-lg);
          border: 2px solid #e9ecef;
          border-radius: 25px;
          font-size: 16px;
          outline: none;
          transition: all var(--transition-speed) ease;
      }
      .search-input:focus {
          border-color: var(--color-link-info);
          box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
      }
      .search-btn {
          position: absolute;
          right: var(--spacing-xs);
          background: var(--color-link-info);
          border: none;
          border-radius: var(--border-radius-circle);
          width: 40px;
          height: 40px;
          display: flex;
          align-items: center;
          justify-content: center;
          color: var(--color-white);
          transition: all 0.2s;
      }
      .search-btn:hover {
          background: #0056b3;
          transform: scale(1.05);
      }
      .search-suggestions h6 {
          color: #6c757d;
          font-size: var(--font-size-sm);
          margin-bottom: var(--spacing-md);
          font-weight: var(--font-weight-semibold);
      }
      .suggestion-tags {
          display: flex;
          flex-wrap: wrap;
          gap: var(--spacing-xs);
      }
      .suggestion-tag {
          background: #f8f9fa;
          color: #495057;
          text-decoration: none;
          padding: var(--spacing-xs) var(--spacing-xs);
          border-radius: var(--spacing-lg);
          font-size: 13px;
          transition: all 0.2s;
          border: 1px solid #e9ecef;
      }
      .suggestion-tag:hover {
          background: var(--color-link-info);
          color: var(--color-white);
          border-color: var(--color-link-info);
      }
      /* Bonus badge */
      .badge.bg-success {
          background: linear-gradient(135deg, #28a745, #20c997) !important;
          font-size: 11px;
          padding: 3px var(--spacing-xs);
          border-radius: var(--border-radius-base);
          box-shadow: 0 1px 3px rgba(40, 167, 69, 0.3);
      }
  }
  
  /* Desktop styles */
  @media (min-width: 769px) {
      /* Location block on desktop */
      .desktop-location-block {
          background: #f8f9fa;
          border: 1px solid #dee2e6;
          border-radius: var(--border-radius-xs);
          padding: var(--spacing-sm) 14px;
          margin-left: var(--spacing-md);
          box-shadow: 0 1px 3px rgba(0,0,0,0.1);
      }
      .location-info {
          text-align: left;
      }
      .location-city {
          display: flex;
          align-items: center;
          gap: 6px;
          font-size: var(--font-size-sm);
          font-weight: var(--font-weight-semibold);
          color: #495057;
          margin-bottom: 3px;
      }
      .location-city i {
          color: var(--color-link-info);
          font-size: 13px;
      }
      .change-city-link {
          color: #6c757d;
          text-decoration: none;
          font-size: 11px;
          font-weight: var(--font-weight-medium);
          margin-left: 6px;
          padding: 2px 5px;
          border: 1px solid #dee2e6;
          border-radius: var(--border-radius-sm);
          transition: all 0.2s ease;
      }
      .change-city-link:hover {
          color: var(--color-link-info);
          border-color: var(--color-link-info);
          text-decoration: none;
      }
      .delivery-info {
          color: #006617;
          display: flex;
          align-items: center;
          gap: var(--spacing-xxs);
          background: #c2ddc8;
          margin: 6px -14px -10px;
          padding: var(--spacing-xxs) var(--spacing-xs);
          font-weight: var(--font-weight-bold);
          font-size: var(--font-size-sm);
      }
      .delivery-info i {
          font-weight: var(--font-weight-bold);
          font-size: var(--font-size-sm);
          color: #006617;
      }
  
      /* Search block on desktop */
      .desktop-search-wrapper {
          margin: 0 var(--spacing-md);
          width: 100%;
          min-width: 200px;
          flex-shrink: 1;
      }
      .search-input-group {
          position: relative;
          display: flex;
          align-items: center;
          background: var(--color-white);
          border: 1px solid #dee2e6;
          border-radius: var(--border-radius-base);
          overflow: hidden;
          transition: all 0.2s ease;
          box-shadow: 0 1px 3px rgba(0,0,0,0.1);
      }
      .search-input-group:focus-within {
          border-color: var(--color-link-info);
          
      }
      .search-input {
          flex: 1;
          padding: var(--spacing-xs) 16px;
          border: none;
          outline: none;
          font-size: var(--font-size-sm);
          background: transparent;
      }
      .search-input::placeholder {
          color: #6c757d;
      }
      .search-submit-btn {
          background: var(--color-link-info);
          border: none;
          color: var(--color-white);
          padding: var(--spacing-xs);
          margin: 3px;
          border-radius: var(--border-radius-base);
          transition: all 0.2s ease;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: var(--font-size-sm);
          width: 34px;
          height: 34px;
          margin-right: 7px;
      }
      .search-submit-btn:hover {
          background: #0056b3;
      }
  
      /* Phone block */
      .desktop-phone-block {
          margin-right: var(--spacing-md);
      }
      .phone-info {
        display: flex;
        align-items: center;
        gap: var(--spacing-xs);
 
      }
      .phone-info i {
          color: var(--color-link-info);
           
      }
      .phone-details {
          text-align: left;
      }
      .phone-number {

        text-decoration: none;

        font-weight: var(--font-weight-semibold);
        display: block;
  
      }
      .phone-number:hover {
          color: var(--color-link-info);
          text-decoration: none;
      }
      .phone-description {
          color: var(--color-text-dark-blue);
          font-size: var(--font-size-sm);
          font-weight: var(--font-weight-normal);
          
      }
  
      /* Actions block (profile, favorites, cart) */
      .desktop-actions-block {
          display: flex;
          align-items: center;
          gap: var(--spacing-sm);
      }
      .action-item {
          position: relative;
      }
      .action-link {
        display: flex;
                flex-direction: column;
                align-items: center;
      }
      .action-link:hover {
        color: var(--color-link-info);
      }
      .action-link i {
          font-size: var(--font-size-lg);
          margin-bottom: 3px;
          color: var(--color-accent-dark);
          transition: all 0.2s ease;
      }
      .action-link:hover i {
          color: var(--color-accent-dark);
      }
      .action-title {
          font-size: var(--font-size-base);
          font-weight: var(--font-weight-medium);
          
      }
      .action-counter {
          position: absolute;
          top: 3px;
          right: 5px;
          background: var(--color-error);
          color: var(--color-white);
          border-radius: var(--border-radius-xs);
          font-size: 9px;
          font-weight: var(--font-weight-semibold);
          padding: 1px 4px;
          min-width: 15px;
          text-align: center;
      }
      /* Specific colors for favorites */
      .action-link[onclick*="избранного"] i {
          color: var(--color-error);
      }
      .action-link[onclick*="избранного"]:hover i {
          color: var(--color-error);
      }
      /* Specific colors for cart */
      .action-link[href="/cart/"] i {
          color: var(--color-accent-dark);
      }
      .action-link[href="/cart/"]:hover i {
          color: var(--color-accent-dark);
      }
  }
  
  /* Product card full favorites button */
  .product-card-full .favorites-btn {
      top: var(--spacing-md) !important;
      right: var(--spacing-md) !important;
      width: 42px !important;
      height: 42px !important;
  }
  .product-card-full .favorites-btn i {
      font-size: var(--font-size-base) !important;
  }
  
  /* Media queries for tables */
  @media screen and (max-width: 600px) {
    table {
      border: 0;
    }
    table thead {
      display: none;
    }
    table tr {
      margin-bottom: var(--spacing-sm);
      display: block;
      border-bottom: 2px solid var(--color-border-dark);
    }
    table td {
      display: block;
      text-align: right;
    }
    table td:last-child {
      border-bottom: 0;
    }
    table td:before {
      content: attr(data-label);
      float: left;
      font-weight: var(--font-weight-bold);
    }
  }
  
  /* Media queries for product card full fly */
  @media (max-width: 350px){
      .product-card-full .buy-block-wrapper-fly {
          top: 0;
          bottom:unset;
          box-shadow: 0 4px 38px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.12);
      }
  }
  @media (max-width:400px){
      .buy-block-wrapper-fly .product-title {
      display: none;
      }
      .product-card-full .buy-block-wrapper-fly .buy-block .price-block .price.price-old {
      display: none;
      }
      .product-card-full .buy-block-wrapper-fly .discount-block  {
         display: none;
      }
      .product-card-full .buy-block-wrapper-fly  .buy-block {
          height: auto;
          margin-top: var(--spacing-xs);
          margin-bottom: var(--spacing-xs);
      }
  }
  
  /* Media queries for cart item */
  @media (min-width: 500px){
      .cart-item .price-block-total {
      text-align: right;
      }
      .cart-item-name-mobile {
      display: none;
      }
      .cart-item-name-desktop {
      display: block;
      }
      .cart-item-img {
      width: 160px;
      height: 160px;
      border-radius: var(--bs-border-radius-lg);
      margin: -10px var(--spacing-sm) -10px -10px;
      }
  }
  
  /* Media queries for special list 1 */
  @media (max-width: 576px) {
      .special-item1 {
        width: 200px;
      }
  }
  @media (max-width: 375px) {
      .special-item1 {
        width: 180px;
      }
  }
  
  /* Media queries for categories menu with image */
  @media (max-width: 768px) {
      .categories-menu-with-img .category-card {
          flex: 1 1 100%;
          max-width: 100%;
      }
  }
  @media (min-width: 769px) and (max-width: 1200px) {
      .categories-menu-with-img .category-card {
          flex: 1 1 calc(50% - 5px);
      }
  }
  @media (min-width: 1201px) {
      .categories-menu-with-img .category-card {
          flex: 1 1 calc(33.333% - 7px);
      }
  }
  