/* ==========================================================================
   ОПТИМИЗИРОВАННЫЙ CSS — cabled.com.ua v3.0
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CSS ПЕРЕМЕННЫЕ
   -------------------------------------------------------------------------- */
:root {
  --color-primary: #ff8c00;
  --color-primary-hover: #e67e00;
  --color-primary-light: #ffb86c;
  --color-primary-ultra-light: rgba(255,140,0,.1);
  --color-secondary: #2563eb;
  --color-secondary-hover: #1e40af;
  --color-text: #333;
  --color-text-secondary: #555;
  --color-text-muted: #666;
  --color-link: #23527c;
  --color-bg: #fff;
  --color-bg-light: #f5f5f5;
  --color-bg-alt: #fdfdfd;
  --border-color: #e1e1e1;
  --border-color-light: rgba(0,0,0,.05);

  --shadow-sm: 0 4px 15px rgba(0,0,0,.05);
  --shadow-md: 0 8px 32px rgba(0,0,0,.05);
  --shadow-lg: 0 10px 30px rgba(0,0,0,.1);
  --shadow-xl: 0 20px 50px rgba(0,0,0,.2);
  --shadow-orange: 0 4px 15px rgba(255,140,0,.3);
  --shadow-glass: 0 10px 25px rgba(0,0,0,.05),inset 0 1px 1px rgba(255,255,255,.6);

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 15px;
  --radius-xl: 20px;
  --radius-full: 30px;

  --font-main: 'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-secondary: 'Open Sans',Arial,sans-serif;
  --font-ui: 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;

  --transition-fast: .2s ease;
  --transition-base: .3s ease;
  --transition-bounce: .4s cubic-bezier(.175,.885,.32,1.275);
  --transition-smooth: .3s cubic-bezier(.4,0,.2,1);

  --glass-bg: rgba(255,255,255,.12);
  --glass-border: rgba(255,255,255,.3);
  --glass-blur: blur(15px);
  --glass-saturate: saturate(150%);
}

/* --------------------------------------------------------------------------
   2. БАЗОВЫЕ СТИЛИ
   -------------------------------------------------------------------------- */
html { scroll-behavior: smooth; }

::selection {
  background: var(--color-primary-ultra-light);
  color: var(--color-secondary-hover);
}

/* Убираем псевдоэлементы */
.catalog_list::before,.catalog_list::after,
.catalog_as_popup::before,.catalog_as_popup::after,
#menu2::before,#menu2::after,
.inhome::before,.inhome::after,
.child-box::before,.child-box::after,
.childrenList::before,.childrenList::after {
  display: none !important;
  content: none !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   3. ШАПКА
   -------------------------------------------------------------------------- */
#logo img {
  width: 300px;
  max-width: 100%;
  height: auto;
  max-height: 220px;
}

#top {
  height: 40px;
  min-height: 40px;
  padding: 0;
  background: #fff;
  overflow: visible;
  position: relative;
  z-index: 999;
  border-bottom: 1px solid #eee;
  will-change: transform;
}

#top .container {
  height: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  overflow: visible;
}

#top ul.list-inline {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  height: 100%;
  list-style: none;
}

#top .list-inline > li {
  padding: 0 8px;
  display: flex;
  align-items: center;
  height: 100%;
  position: relative;
}

#top .list-inline > li a,
#top .list-inline > li span {
  line-height: normal;
  display: flex;
  align-items: center;
  text-decoration: none;
  font-size: 10px;
}

#top sup {
  color: var(--color-primary);
  font-weight: bold;
  font-size: 11px;
  top: -8px;
  margin-left: 2px;
}

/* TOP3 панель */
#top3 {
  background: var(--color-bg-light) !important;
  box-shadow: 0 10px 25px -12px rgba(0,0,0,.3) !important;
  border: none !important;
  border-bottom: 1px solid var(--border-color) !important;
  position: relative;
  z-index: 100;
  margin-top: 2px;
}

#top3 .container,#top3 .row,#top3 .top-links,#top3 .top-links ul {
  background: transparent !important;
}

#top3 .top-links ul li a {
  color: var(--color-text) !important;
  font-weight: 500;
  text-shadow: none !important;
  pointer-events: auto !important;
  transition: color var(--transition-fast);
}

#top3 .top-links ul li a:hover { color: var(--color-primary) !important; }

/* --------------------------------------------------------------------------
   4. НАВИГАЦИЯ — ВЕРХНИЕ ССЫЛКИ
   -------------------------------------------------------------------------- */
.top-links.nav ul.list-inline {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 20px;
}

.top-links.nav ul.list-inline li {
  padding: 0;
  list-style: none;
}

.top-links.nav ul.list-inline li a {
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: #444;
  text-decoration: none;
  transition: color var(--transition-base);
  position: relative;
  padding: 5px 2px;
}

.top-links.nav ul.list-inline li a::after {
  content: '';
  position: absolute;
  width: 0;
  height: 2px;
  bottom: 0;
  left: 0;
  background: var(--color-primary);
  transition: width var(--transition-base);
  border-radius: 2px;
}

.top-links.nav ul.list-inline li a:hover { color: var(--color-primary); }
.top-links.nav ul.list-inline li a:hover::after { width: 100%; }
.top-links.nav ul.list-inline li a[href*="specials"] { color: #e74c3c !important; }

/* Выравнивание верхней панели */
.top-links.verh ul.list-inline {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-end;
}

.top-links.verh ul.list-inline > li {
  padding-top: 0 !important;
  margin-top: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.top-links.verh ul.list-inline > li > a {
  position: relative !important;
  top: -4px !important;
  display: flex !important;
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
}

.top-links.verh ul.list-inline > li > a i {
  margin-top: 0 !important;
  vertical-align: middle !important;
}

.top-links.verh { padding-top: 15px; }

/* --------------------------------------------------------------------------
   5. ЯЗЫКОВОЙ ПЕРЕКЛЮЧАТЕЛЬ
   -------------------------------------------------------------------------- */
#language {
  position: relative;
  top: -8px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

#language ul {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle;
  line-height: 1 !important;
}

#language ul li {
  list-style: none;
  color: transparent;
  font-size: 1px;
}

#language ul li a {
  display: flex;
  align-items: center;
  padding: 2px 4px;
  border-radius: var(--radius-sm);
  transition: all var(--transition-base);
  border: 1px solid transparent;
  opacity: .6;
  filter: grayscale(100%);
  position: relative;
  text-decoration: none;
}

#language ul li a img { display: none; }

#language ul li a::before {
  content: '';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-main);
  font-size: 11px;
  font-weight: 600;
  height: 20px;
  padding: 0 7px;
  border-radius: 10px;
  transition: all var(--transition-fast);
}

#language ul li a[href*="ru"]::before { content: 'RU'; }
#language ul li a[href*="uk"]::before,
#language ul li a[href*="ua"]::before { content: 'UA'; }

#language ul li a:not(.active-lang)::before {
  background: transparent;
  color: var(--color-text-muted);
  opacity: .7;
}

#language ul li a.active-lang::before {
  background: linear-gradient(135deg,#ff7a00,#ff9a2f);
  color: var(--color-bg);
  box-shadow: 0 1px 4px rgba(255,122,0,.4);
  transform: scale(1.03);
}

#language ul li a:not(.active-lang):hover::before {
  background: rgba(0,0,0,.05);
  opacity: 1;
}

#language ul li a:hover,
#language ul li a.active,
#language ul li a[aria-current="page"],
#language ul li a.active-language {
  opacity: 1;
  filter: grayscale(0%);
  background: var(--color-primary-ultra-light);
  border-color: rgba(255,140,0,.3);
  box-shadow: 0 2px 8px rgba(255,140,0,.15);
}

/* --------------------------------------------------------------------------
   6. МЕНЮ КАТАЛОГ (ДЕСКТОП)
   -------------------------------------------------------------------------- */
#menu2 .catalog_list.catalog_as_popup {
  background: var(--color-bg);
  border: 1px solid var(--border-color);
  box-shadow: 0 10px 30px rgba(0,0,0,.05);
  border-radius: var(--radius-lg);
  display: block;
  padding: 12px 0 20px;
}

#menu2 .catalog_list.catalog_as_popup .revlevel_1 {
  height: 45px;
}

#menu2 .catalog_list.catalog_as_popup .revlevel_1 .title a {
  font: 600 14px var(--font-main);
  letter-spacing: .5px;
  display: flex;
  align-items: center;
  height: 48px;
  padding: 0 20px;
  color: var(--color-text);
  text-decoration: none;
  text-transform: uppercase;
  transition: all var(--transition-base);
}

#menu2 .catalog_list.catalog_as_popup .revlevel_1:hover > .title a,
#menu2 .catalog_list.catalog_as_popup .revlevel_1.active > .title a {
  background: var(--color-primary);
  color: var(--color-bg);
  padding-left: 30px;
}

#menu2 .catalog_list.catalog_as_popup .revlevel_1 .title a i.am_category_icon,
#menu2 .catalog_list.catalog_as_popup .revlevel_1 .title a .arrow-btn i {
  font-size: 20px;
  font-weight: 900;
  color: #ef9739;
  text-shadow: 0 1px 0 rgba(255,255,255,.5),1px 2px 3px rgba(0,0,0,.3);
  transition: transform var(--transition-base),color var(--transition-base);
  margin-right: 12px;
  width: 24px;
  text-align: center;
}

#menu2 .catalog_list.catalog_as_popup .revlevel_1:hover .title a i {
  transform: scale(1.15);
  color: var(--color-primary-light);
}

/* Выпадающие списки */
.childrenList {
  display: none !important;
  background: var(--color-bg) !important;
  position: absolute !important;
  z-index: 1000000;
  box-shadow: 15px 0 40px rgba(0,0,0,.2) !important;
  border: 1px solid var(--border-color) !important;
  opacity: 0;
}

.revlevel_1:hover > .childrenList {
  display: block !important;
  opacity: 1 !important;
}

.child-box {
  background: var(--color-bg) !important;
  padding: 15px !important;
  margin: 0;
}

.catalog_list.catalog_as_popup .childrenList,
#menu2 .catalog_list .child-box,
#menu2 .podmenu2 {
  margin-top: -20px;
}

div#menu2 .catalog_list.catalog_as_popup,
#menu2 .catalog_list .childrenList,
#menu2 .catalog_list .child-box {
  background: var(--color-bg) !important;
  box-shadow: 0 20px 25px -15px rgba(0,0,0,.5) !important;
  border-bottom: 1px solid var(--border-color) !important;
}

.childrenList { z-index: 9999 !important; }

#menu2 .podmenu2 {
  background: transparent;
  box-shadow: none;
  border: none;
  height: auto !important;
}

#menu2 .podmenu2:not(:empty) {
  display: block !important;
  background: var(--color-bg);
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-lg);
  border-radius: var(--radius-sm);
}

/* Главная страница — прозрачный фон меню */
#menu2.inhome {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

#menu2.inhome .box-content {
  background: rgba(255,255,255,.05) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 10px;
}

/* --------------------------------------------------------------------------
   7. ШРИФТЫ МЕНЮ
   -------------------------------------------------------------------------- */
.catalog_list .revlevel_1 .title a {
  font-family: var(--font-ui) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}

.glavli > a {
  font-family: var(--font-ui) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.lastul li a {
  font-family: var(--font-ui) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

.ul_block.cat_m .glavli {
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.revlevel_1.i_rhml_revblog .title a {
  font-family: var(--font-ui) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: none !important;
}

/* --------------------------------------------------------------------------
   8. КАТАЛОГ И КОРЗИНА (ДЕСКТОП)
   -------------------------------------------------------------------------- */
#cart > button,#menu2_button button {
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

#menu2_button .box-heading {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center;
  width: 100%;
}

#menu2_button .box-heading i { margin: 0 10px; }

/* Скрытие дублей по брейкпоинту */
@media (min-width: 1001px) {
  #menu2_button .box-heading.hidden-md.hidden-lg { display: none !important; }
}

@media (max-width: 1000px) {
  #menu2_button .box-heading.hidden-xs.hidden-sm { display: none !important; }
}

@media (min-width: 750px) {
  #cart-total,
  #menu2_button .box-heading.hidden-xs {
    height: 38px !important;
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    backdrop-filter: var(--glass-blur) var(--glass-saturate) !important;
    -webkit-backdrop-filter: var(--glass-blur) var(--glass-saturate) !important;
    border-radius: var(--radius-sm) !important;
    color: var(--color-bg) !important;
    font: 600 13px var(--font-main) !important;
    text-transform: uppercase;
    transition: all var(--transition-smooth) !important;
    cursor: pointer;
    position: relative;
    overflow: hidden;
  }

  #menu2_button .box-heading.hidden-xs {
    background: rgba(60,60,60,.7) !important;
    border: 1.5px solid rgba(255,255,255,.1) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,.3) !important;
  }

  #menu2_button .box-heading.hidden-xs::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--color-primary);
    box-shadow: 0 0 12px var(--color-primary);
    transition: width var(--transition-bounce);
  }

  #menu2_button .box-heading.hidden-xs:hover {
    background: rgba(40,40,40,.85) !important;
    border-color: rgba(255,156,0,.4) !important;
  }

  #menu2_button .box-heading.hidden-xs:hover::after { width: 100%; }

  #cart-total {
    background: rgba(120,120,120,.5) !important;
    border: 1.5px solid rgba(255,255,255,.2) !important;
    box-shadow: var(--shadow-sm) !important;
  }

  #cart-total:hover {
    background: rgba(140,140,140,.65) !important;
    transform: translateY(-5px) !important;
    box-shadow: var(--shadow-lg) !important;
    border-color: rgba(255,255,255,.5) !important;
  }

  #cart-total.has-items {
    background: rgba(255,140,0,.75) !important;
    border-color: rgba(255,255,255,.4) !important;
    box-shadow: 0 0 20px rgba(255,140,0,.4) !important;
  }
}

/* Планшетный стиль кнопки каталога */
@media (min-width: 770px) and (max-width: 1000px) {
  #menu2_button .box-heading {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background: rgba(45,45,45,.7) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-top: 1px solid rgba(255,255,255,.2) !important;
    border-left: 1px solid rgba(255,255,255,.1) !important;
    border-right: 1px solid rgba(255,255,255,.1) !important;
    border-bottom: 3px solid rgba(255,255,255,.5) !important;
    border-radius: var(--radius-sm) !important;
    transform: translateY(1px) !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.4),inset 0 -1px 2px rgba(255,255,255,.3) !important;
    color: #fff !important;
    transition: all .3s cubic-bezier(.25,.8,.25,1) !important;
    cursor: pointer !important;
    padding: 12px 15px !important;
    width: 100%;
    float: none !important;
  }

  #menu2_button .box-heading:hover {
    transform: translateY(-5px) !important;
    background: rgba(55,55,55,.8) !important;
    border-bottom: 3px solid rgba(255,255,255,.7) !important;
    box-shadow: 0 12px 25px rgba(0,0,0,.5) !important;
  }

  #menu2_button .box-heading:active {
    transform: translateY(1px) !important;
    border-bottom: 1px solid rgba(255,255,255,.3) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.3) !important;
  }

  #menu2_button .box-heading i {
    color: #fff !important;
    float: none !important;
    margin: 0 10px !important;
  }
}

/* --------------------------------------------------------------------------
   9. ПОИСК
   -------------------------------------------------------------------------- */
.search.input-group {
  display: flex !important;
  align-items: stretch !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.08) !important;
  backdrop-filter: blur(20px) var(--glass-saturate) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.06),inset 0 1px 1px rgba(255,255,255,.4) !important;
  transition: all .35s ease !important;
}

.search.input-group:hover,
.search.input-group:focus-within {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,180,120,.35) !important;
  box-shadow: 0 12px 35px rgba(0,0,0,.08),0 0 0 1px rgba(255,180,120,.15) !important;
}

.search.input-group .change_category_button,
.search.input-group .search-button {
  background: rgba(255,255,255,.15) !important;
  border: none !important;
  color: var(--color-text) !important;
  backdrop-filter: blur(10px) !important;
  transition: all var(--transition-fast) !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-top-right-radius: 20px !important;
  border-bottom-right-radius: 20px !important;
  overflow: hidden !important;
}

.search.input-group .change_category_button:hover,
.search.input-group .search-button:hover {
  background: rgba(255,180,120,.18) !important;
  color: #000 !important;
}

.search.input-group .fa {
  color: rgba(40,40,40,.7) !important;
  transition: all var(--transition-fast) !important;
  margin: 0 !important;
  line-height: 1 !important;
  display: block !important;
}

.search.input-group .search-button:hover .fa-search { color: #000 !important; }

.search.input-group .form-control {
  color: var(--color-text) !important;
  font-weight: 400 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding-left: 16px !important;
  min-height: 40px;
  display: block;
  width: 100%;
}

.search.input-group .form-control::placeholder { color: rgba(0,0,0,.35) !important; }

/* Скрытие дублей в мобильном поиске */
.bigsearch .change_category,.mobsearch .change_category { display: none; }

.bigsearch .search input[name="search"],
.mobsearch .search input[name="search"] {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  border-left: 1px solid #ddd;
}

.mobsearch .search.input-group { display: flex; width: 100%; }
.mobsearch .input-group-btn:first-child { display: none; }

/* Кнопка поиска */
button.search-button.btn.search_button {
  width: 60px;
  height: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc;
  border-left: none;
  background: #f8f8f8;
  transition: background-color var(--transition-fast);
  cursor: pointer;
  transform: translateZ(0);
}

button.search-button.btn.search_button:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
}

button.search-button.btn.search_button:hover i { color: #fff; }

button.search-button.btn.search_button:focus,
button.search-button.btn.search_button:active { outline: none; box-shadow: none; }

/* --------------------------------------------------------------------------
   10. ПОИСК НА СТРАНИЦЕ
   -------------------------------------------------------------------------- */
#content > .row {
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(20px);
  border-radius: 24px;
  padding: 28px;
  border: 1px solid var(--glass-border);
  box-shadow: 0 8px 32px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.6);
  margin-bottom: 24px;
}

#content > .row { margin-bottom: 15px; }

#input-search {
  padding-left: 48px;
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 500;
  color: #1a1a2e;
  background-image: url("data:image/svg+xml,%3Csvg fill='%232563eb' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 20l-5.2-5.2a7 7 0 10-1.4 1.4L20 21zM5 10a5 5 0 1110 0A5 5 0 015 10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 16px center;
  background-size: 20px;
  min-height: 40px;
}

#content .form-control {
  height: 52px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.85);
  transition: all var(--transition-smooth);
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 500;
  color: #1a1a2e;
}

#content .form-control:focus {
  border-color: var(--color-secondary);
  box-shadow: 0 0 0 4px rgba(37,99,235,.15),0 4px 12px rgba(37,99,235,.1);
  background: var(--color-bg);
  outline: none;
}

#content .form-control::placeholder { color: #94a3b8; font-weight: 400; }

#content select.form-control {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg fill='%232563eb' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 7l4.5 5 4.5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 18px;
  padding-right: 42px;
  cursor: pointer;
  height: auto !important;
  min-height: 40px;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

#content select.form-control:hover {
  border-color: var(--color-secondary);
  background-color: rgba(255,255,255,.95);
}

#button-search {
  height: 52px;
  border-radius: 16px;
  background: linear-gradient(135deg,#3b82f6 0%,var(--color-secondary) 50%,#1d4ed8 100%);
  border: none;
  color: var(--color-bg);
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .02em;
  width: 100%;
  transition: all var(--transition-smooth);
  box-shadow: 0 4px 14px rgba(37,99,235,.35),inset 0 1px 0 rgba(255,255,255,.2);
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  will-change: transform,box-shadow;
}

#button-search::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
  transition: left .5s ease;
}

#button-search:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(37,99,235,.45);
  background: linear-gradient(135deg,#60a5fa 0%,#3b82f6 50%,var(--color-secondary) 100%);
}

#button-search:hover::before { left: 100%; }
#button-search:active { transform: scale(.97); box-shadow: 0 2px 8px rgba(37,99,235,.3); }
#button-search:focus-visible { outline: 3px solid rgba(37,99,235,.5); outline-offset: 2px; }

/* Оранжевый стиль кнопки поиска (страница поиска) */
#button-search.btn-primary {
  background: var(--color-primary) !important;
  background-image: none !important;
  border: none !important;
  color: #fff !important;
  padding: 8px 25px !important;
  height: 44px !important;
  border-radius: 20px !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 15px rgba(255,140,0,.3) !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
}

#button-search.btn-primary:hover {
  background: var(--color-primary-hover) !important;
  box-shadow: 0 6px 20px rgba(255,140,0,.4) !important;
  transform: translateY(-1px) !important;
}

#content .control-label {
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: 14px;
  color: #334155;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.checkbox-inline {
  font-family: var(--font-ui);
  color: #64748b;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
}

.checkbox-inline input[type="checkbox"],
.checkbox-inline input {
  accent-color: var(--color-secondary);
  width: 18px;
  height: 18px;
  cursor: pointer;
  margin: 0 10px 0 0 !important;
  position: relative !important;
}

#content h2 {
  margin-top: 40px;
  font-size: 24px;
  font-weight: 600;
  border-bottom: 2px solid #f1f1f1;
  padding-bottom: 10px;
  color: #333;
}

/* --------------------------------------------------------------------------
   11. SELECT КАТЕГОРИЙ
   -------------------------------------------------------------------------- */
select[name="category_id"] {
  height: 50px !important;
  border-radius: 25px !important;
  font: 800 15px var(--font-main) !important;
  color: #000 !important;
  background: rgba(255,255,255,.8) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 20px center !important;
  border: 2px solid rgba(0,0,0,.1) !important;
  cursor: pointer;
  transition: all var(--transition-base);
  width: 100% !important;
  min-width: 180px;
  padding: 10px 25px 10px 20px !important;
  appearance: none;
  -webkit-appearance: none;
}

select[name="category_id"]:focus {
  outline: none;
  border-color: var(--color-secondary) !important;
  box-shadow: 0 5px 15px rgba(0,123,255,.2) !important;
  background-color: var(--color-bg) !important;
  transform: translateY(-1px);
}

select[name="category_id"] option {
  font-weight: 700;
  padding: 15px !important;
  background: #fff;
  color: #333;
}

select[name="category_id"] option[value="59"],
select[name="category_id"] option[value="75"],
select[name="category_id"] option[value="80"],
select[name="category_id"] option[value="90"],
select[name="category_id"] option[value="105"],
select[name="category_id"] option[value="118"] {
  background: #ebebeb !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  color: #000 !important;
}

/* --------------------------------------------------------------------------
   12. КАРТОЧКИ КАТЕГОРИЙ И ТОВАРОВ
   -------------------------------------------------------------------------- */
.home_catwalls .product-thumb,
.product-layout .product-thumb {
  background: var(--color-bg);
  border: 1px solid var(--border-color-light);
  border-radius: var(--radius-lg);
  padding: 15px;
  margin-bottom: 20px;
  text-align: center;
  transition: all var(--transition-base);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.home_catwalls .product-thumb:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: var(--shadow-xl);
  border-color: rgba(0,0,0,.15);
}

.product-layout:hover .product-thumb {
  transform: translateY(8px) scale(1.02);
  box-shadow: var(--shadow-xl);
  border-color: rgba(255,140,0,.25);
}

.home_catwalls .product-thumb .image img,
.product-layout .product-thumb .image img {
  border-radius: var(--radius-sm);
  transition: transform var(--transition-base);
}

.home_catwalls .product-thumb:hover .image img,
.product-layout:hover .product-thumb .image img { transform: scale(1.05); }

.home_catwalls .product-thumb h4 a,
.product-layout .product-thumb h4 a {
  color: var(--color-text);
  font-weight: 700;
  text-decoration: none;
  transition: color var(--transition-base);
}

.home_catwalls .product-thumb:hover h4 a,
.product-layout:hover .product-thumb h4 a { color: var(--color-primary); }

.product-grid .product,
.product-layout .product,
.product-item,
.product-card,
.box-product .product { box-shadow: none !important; }

/* --------------------------------------------------------------------------
   13. БЛОКИ ПРЕИМУЩЕСТВ (ПОД СЛАЙДЕРОМ)
   -------------------------------------------------------------------------- */

/* Выстраиваем иконку и текст в ровную линию для ВСЕХ блоков */
.home_home_blocks .home_block a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
}

/* Запрещаем иконке сплющиваться */
.home_home_blocks .home_block .image {
    flex-shrink: 0 !important;
    display: block !important;
}

/* Выравниваем текстовый контейнер */
.home_home_blocks .home_block .text {
    margin-left: 15px !important;
    height: auto !important;
    min-height: 51px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: left !important;
    width: 100% !important;
}

/* ЗАГОЛОВОК (сделали жирнее — 800) */
.home_home_blocks .home_block a .title {
    color: #1a568c !important; 
    font-family: var(--font-main), sans-serif !important;
    font-weight: 800 !important; /* Увеличили жирность */
    font-size: 16px !important;
    display: block !important;
    margin-bottom: 5px !important;
    text-transform: none !important;
    line-height: 1.2 !important;
    transition: color 0.3s ease !important;
}

/* Цвет заголовка при наведении */
.home_home_blocks .home_block a:hover .title {
    color: #ff8c00 !important; /* Оранжевый */
}

/* ОПИСАНИЕ (сделали жирнее — 600) */
.home_home_blocks .home_block a p {
    color: #555555 !important;
    font-family: var(--font-main), sans-serif !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    font-weight: 600 !important; /* Увеличили жирность текста */
    text-transform: none !important;
}
/* --------------------------------------------------------------------------
   14. ФИЛЬТРЫ И БОКОВАЯ ПАНЕЛЬ
   -------------------------------------------------------------------------- */
@keyframes glassFadeUp {
  from { opacity: 0; transform: translateY(30px); filter: blur(5px); }
  to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
}

#revfilter_box,
.column-left aside > div,
.column-left .list-group,
#column-left .list-group,
aside .list-group {
  opacity: 0;
  animation: glassFadeUp 1.2s cubic-bezier(.2,.8,.2,1) forwards;
}

#revfilter_box { animation-delay: .1s; }
.column-left .list-group,
#column-left .list-group { animation-delay: .4s; }

#revfilter_box .list-group,
.column-left .list-group,
aside .list-group,
div.list-group:not(#revfilter_box .list-group) {
  background: rgba(255,255,255,.9);
  backdrop-filter: var(--glass-blur);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  display: block;
  margin-bottom: 25px;
  overflow: hidden;
}

#revfilter_box.panel-default {
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  box-shadow: 0 5px 20px rgba(0,0,0,.06);
  background: var(--color-bg);
  display: block;
  overflow: hidden;
}

#revfilter_box .panel-heading.zag_block {
  background: var(--color-bg);
  border: none;
  border-bottom: 1px solid #f0f0f0;
  margin: 10px 0;
  padding: 15px 45px 15px 15px;
  position: relative;
  display: block;
  width: 100%;
  min-height: 50px;
  box-sizing: border-box;
  line-height: 20px;
}

.list-group-item {
  background: var(--color-bg);
  border: none;
  border-bottom: 1px solid var(--border-color-light);
  padding: 12px 18px;
  color: var(--color-text);
  transition: all var(--transition-fast);
  display: block;
}

.list-group-item:hover:not(.active) {
  background: #fffaf5;
  color: var(--color-primary);
  padding-left: 25px;
}

.list-group-item.active {
  background: var(--color-primary);
  color: var(--color-bg);
  border-bottom: 1px solid rgba(0,0,0,.1);
  font-weight: bold;
  text-transform: uppercase;
}

.list-group-item:last-child { border-bottom: none; }
.list-group-item[href*="/"] { font-size: 13px; }

#revfilter_reset {
  color: var(--color-primary);
  font-size: 18px;
  display: block;
  transition: transform var(--transition-base);
}

#revfilter_reset:hover { color: #ff4500; transform: scale(1.1); }

.clear_filter {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  cursor: pointer;
}

#revfilter_box .option_box,
#revfilter_box .collapsible,
#revfilter_box .list-group { display: block; opacity: 1; visibility: visible; }

.irs-line,.irs-bar,.irs-slider { transition: none; }

/* Фильтр — коллапс */
#revfilter .collapsible { padding: 10px 15px 15px !important; }

#revfilter .checkbox {
  margin: 6px 0 !important;
  display: flex !important;
  align-items: center !important;
}

#revfilter .checkbox label {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  cursor: pointer !important;
  font-size: 13px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#revfilter input[type="checkbox"] {
  margin: 0 10px 0 0 !important;
  flex-shrink: 0 !important;
  position: relative !important;
}

#revfilter .revlabel {
  margin-left: auto !important;
  background: #f5f5f5 !important;
  padding: 2px 7px !important;
  border-radius: 6px !important;
  font-size: 11px !important;
  color: #888 !important;
}

/* --------------------------------------------------------------------------
   15. ЧЕКБОКСЫ
   -------------------------------------------------------------------------- */
#revfilter_box input[type="checkbox"] {
  appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #ddd;
  border-radius: var(--radius-sm);
  background: var(--color-bg);
  cursor: pointer;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  transition: all var(--transition-fast);
}

#revfilter_box input[type="checkbox"]:hover { border-color: var(--color-primary); }

#revfilter_box input[type="checkbox"]:checked {
  background: var(--color-primary);
  border-color: var(--color-primary);
}

#revfilter_box input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

#revfilter_box input[type="checkbox"]:checked + label { font-weight: 700; color: var(--color-text); }

/* --------------------------------------------------------------------------
   16. КНОПКИ
   -------------------------------------------------------------------------- */
button:not(#cart *):not(.search *),
.btn:not(#cart *):not(.search *),
.button:not(#cart *):not(.search *),
input[type="submit"] {
  border-radius: var(--radius-sm) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: var(--glass-blur) !important;
  background-image: linear-gradient(180deg,rgba(255,255,255,.15) 0%,transparent 100%) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.3) !important;
  transition: all var(--transition-fast) !important;
  position: relative !important;
}

button:not(#cart *):not(.search *):hover,
.btn:not(#cart *):not(.search *):hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.1);
  box-shadow: 0 8px 20px rgba(0,0,0,.25) !important;
}

/* Единый оранжевый для основных кнопок */
#button-cart,
#button-review,
#button-answers,
#button_checkout,
.btn-primary,
.btn-danger, {
  background-color: var(--color-primary) !important;
  background-image: none !important;
  border-color: var(--color-primary-hover) !important;
  color: #fff !important;
  transition: all var(--transition-base) !important;
}

#button-cart:hover,
#button-review:hover,
#button-answers:hover,
#button_checkout:hover,
.btn-primary:hover,
.btn-danger:hover,{
  background-color: var(--color-primary-hover) !important;
  border-color: #cc7000 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0,0,0,.15) !important;
}

#button-cart i,.btn-primary i { color: #fff !important; }

/* Кнопка закрытия popup */
button[onclick*="magnificPopup.close"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  padding: 12px 30px;
  background: rgba(242,242,242,.9);
  border: 1.5px solid var(--color-bg);
  border-radius: var(--radius-sm);
  box-shadow: inset 0 1px 2px #fff,0 4px 12px rgba(0,0,0,.08);
  color: var(--color-text);
  font: 700 12px var(--font-main);
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--transition-smooth);
}

button[onclick*="magnificPopup.close"]:hover {
  background: var(--color-bg);
  transform: translateY(-1px);
  box-shadow: inset 0 1px 2px #fff,0 6px 15px rgba(0,0,0,.12);
}



a[href*="revcheckout"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 24px !important;
  background: linear-gradient(180deg,rgba(255,255,255,.4) 0%,rgba(255,255,255,.1) 50%,rgba(0,0,0,.05) 100%),var(--color-primary) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase;
  border-radius: var(--radius-sm) !important;
  border: 1px solid var(--glass-border) !important;
  transition: all var(--transition-bounce) !important;
  cursor: pointer !important;
}

a[href*="revcheckout"]:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 15px 25px rgba(255,140,0,.4),inset 0 1px 0 rgba(255,255,255,.6) !important;
  filter: brightness(1.1) !important;
  color: #fff !important;
}

a[href*="revcheckout"]:active {
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 10px rgba(255,140,0,.3) !important;
}

/* Корзина и кнопки групп */
.product-layout .button-group button,
#button-cart {
  background-color: var(--color-primary);
  backdrop-filter: var(--glass-blur);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.4),var(--shadow-orange);
  background-image: linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%,rgba(0,0,0,.05) 100%);
  border: 1px solid var(--glass-border);
  text-shadow: 0 1px 2px rgba(0,0,0,.2);
  color: var(--color-bg);
  border-radius: 25px;
  min-height: 40px;
  padding: 8px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px var(--font-main);
  text-transform: uppercase;
  transition: all var(--transition-bounce);
}

.product-layout .button-group button:hover,
#button-cart:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: inset 0 1px 3px rgba(255,255,255,.5),0 8px 20px rgba(255,140,0,.4);
}

.button-group button + button { background: #f5f5f5; color: #888; box-shadow: none; }
.button-group button + button:hover { background: #eee; color: var(--color-text); }

.product-layout .button-group button i,
.product-thumb .button-group button i {
  margin-right: 8px;
  font-size: 14px;
  line-height: 0;
  display: inline-block;
  vertical-align: middle;
}

/* Кнопка "Подробнее" */
#popup-view-button {
  display: inline-block !important;
  padding: 8px 35px !important;
  text-decoration: none !important;
  color: #fff !important;
  font-weight: 600 !important;
  border-radius: var(--radius-sm) !important;
  background: rgba(0,102,255,.5) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255,255,255,.4) !important;
  box-shadow: 0 4px 15px rgba(0,102,255,.4) !important;
  transition: all var(--transition-base) !important;
}

#popup-view-button:hover {
  background: rgba(0,70,180,.6) !important;
  box-shadow: 0 6px 20px rgba(0,102,255,.6) !important;
  transform: translateY(-1px) !important;
}

/* --------------------------------------------------------------------------
   17. МОДАЛЬНЫЕ ОКНА
   -------------------------------------------------------------------------- */
#popup-okno,.popup_notification.modalokno {
  border-radius: var(--radius-lg) !important;
  background: rgba(255,255,255,.85) !important;
  backdrop-filter: var(--glass-blur) !important;
  border: 1px solid var(--glass-border) !important;
}

#popup-okno-inner {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
}

.popup_notification.modalokno {
  border-radius: var(--radius-xl) !important;
  overflow: hidden !important;
  background: #fff !important;
  border: none !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.15) !important;
  padding: 30px !important;
  max-width: 450px !important;
  margin: auto !important;
}

.modalokno .mfp-close,
.popup_notification .mfp-close { display: none !important; }

button.mfp-close {
  width: 40px !important;
  height: 40px !important;
  line-height: 40px !important;
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  background: rgba(255,255,255,.2) !important;
  backdrop-filter: blur(10px) !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(255,255,255,.4) !important;
  color: var(--color-text) !important;
  font-size: 28px !important;
  transition: all var(--transition-smooth) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

button.mfp-close:hover {
  background: var(--color-primary) !important;
  color: var(--color-bg) !important;
  transform: rotate(90deg) scale(1.1) !important;
  box-shadow: 0 0 15px rgba(255,140,0,.5) !important;
}

.mfp-close {
  position: absolute !important;
  top: 0 !important;
  right: -45px !important;
  width: 44px !important;
  height: 44px !important;
  line-height: 44px !important;
  font-style: normal !important;
  font-size: 28px !important;
  font-family: Arial,Baskerville,monospace !important;
  background: transparent !important;
  color: #fff !important;
  opacity: .65 !important;
  padding: 0 !important;
}

.mfp-close:hover { opacity: 1 !important; }
.mfp-close { display: block !important; }

/* Popup headers */
.popup_notification_heading {
  text-align: center !important;
  font-family: var(--font-ui) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #333 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 20px 10px 10px !important;
  border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important;
  background: #f8f8f8 !important;
  margin: 0 !important;
}

.popup_notification_message {
  text-align: center !important;
  padding: 0 20px 20px !important;
  border-radius: 0 0 var(--radius-xl) var(--radius-xl) !important;
}

/* Кнопки в popup уведомлении */
.popup_notification_message div[class*="width"] {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 15px !important;
  width: 100% !important;
  margin: 20px 0 10px !important;
  float: none !important;
  overflow: visible !important;
}

.popup_notification_message a.btn.btn-primary,
.popup_notification_message a.popup-modal-dismiss {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 120px !important;
  height: 44px !important;
  margin: 0 !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all var(--transition-base) !important;
}

.popup_notification_message a.popup-modal-dismiss {
  background: #f0f0f0 !important;
  color: #333 !important;
  border: 1px solid #ddd !important;
}

.popup_notification_message a[href*="/ua"] {
  background: #ff9800 !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(255,152,0,.3) !important;
}

.popup_notification_message a[href*="/ua"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(255,152,0,.5) !important;
}

.popup_notification_message br { display: none !important; }

/* Popup изображения */
.mfp-figure { background: none !important; box-shadow: none !important; padding: 0 !important; }

.mfp-figure figure {
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  box-shadow: 0 25px 60px rgba(0,0,0,.5) !important;
  display: block !important;
}

img.mfp-img {
  padding: 0 !important;
  margin: 0 auto !important;
  display: block !important;
  width: 100% !important;
  max-height: 90vh !important;
  border-radius: 0 !important;
}

.mfp-bottom-bar,figcaption { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }
.mfp-figure::after,.mfp-img { display: block; background: none; padding: 0; }
.mfp-figure::after { display: none !important; }

.mfp-wrap {
  position: fixed !important;
  top: 0 !important;
  height: 100vh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  transform: translateZ(0);
}

.mfp-content { vertical-align: middle; display: inline-block; width: 100%; }
.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-container { cursor: default !important; }

.mfp-arrow {
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 60px !important;
  height: 100px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  z-index: 10000 !important;
  background: rgba(0,0,0,.1) !important;
  border: none !important;
  opacity: 1 !important;
  margin: 0 !important;
  transition: background-color var(--transition-base);
}

.mfp-arrow-left { left: 10px !important; right: auto !important; }
.mfp-arrow-right { right: 10px !important; left: auto !important; }
.mfp-arrow::before,.mfp-arrow::after { display: none !important; }

.mfp-arrow-left:before {
  content: '\f104' !important;
  font-family: 'FontAwesome' !important;
  color: #fff !important;
  font-size: 50px !important;
  text-shadow: 0 0 10px rgba(0,0,0,.5);
}

.mfp-arrow-right:before {
  content: '\f105' !important;
  font-family: 'FontAwesome' !important;
  color: #fff !important;
  font-size: 50px !important;
  text-shadow: 0 0 10px rgba(0,0,0,.5);
}

/* Popup окно товара */
#popup-view-wrapper {
  border-radius: var(--radius-xl) !important;
  overflow: visible !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.2) !important;
  background: #fff !important;
  border: none !important;
}

.popup-heading { border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important; }
.popup-footer { border-radius: 0 0 var(--radius-xl) var(--radius-xl) !important; }

.popup-footer button {
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  border: 1px solid #ddd;
  background: #fff;
  transition: all var(--transition-base);
}

.mfp-ajax-holder .mfp-content { background: transparent; }
.mfp-content td { text-shadow: 0 1px 0 rgba(255,255,255,.5); }

/* Авторизация */
#popup-order-okno .popup-heading {
  text-align: center !important;
  font-family: var(--font-ui) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  padding: 20px 0 !important;
}

#popup-order-okno.account_login {
  overflow: visible !important;
  border-radius: var(--radius-xl) !important;
}

#popup-order-okno input[name='email'],
#popup-order-okno input[name='password'] { border-radius: var(--radius-sm) !important; }

#popup-order-okno .popup-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 15px !important;
}

#popup-checkout-button,.account_login_close {
  padding: 10px 25px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  border-radius: var(--radius-sm) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 120px !important;
}

#popup-checkout-button {
  background: #ff9800 !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(255,152,0,.4) !important;
  transition: all var(--transition-base) !important;
  text-transform: uppercase;
}

#popup-checkout-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(255,152,0,.6) !important;
}

/* --------------------------------------------------------------------------
   18. ПОДМЕНЮ И МОБИЛЬНОЕ МЕНЮ
   -------------------------------------------------------------------------- */
.child-box li a,.podmenu2 li a,.childrenList a {
  color: var(--color-link);
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
  padding: 6px 15px;
  transition: all var(--transition-fast);
}

.child-box li a:hover,.podmenu2 li a:hover,.childrenList a:hover {
  color: var(--color-primary);
  transform: translateX(10px);
}

.child-box b,.child-box .title {
  display: block;
  font-size: 16px;
  color: var(--color-text);
  margin-bottom: 5px;
  padding-left: 15px;
}

.childrenList .child-box,.podmenu2 {
  background: var(--color-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-lg);
  padding: 15px 5px;
}

.mobilemenu .nav > li > a {
  color: var(--color-text) !important;
  background: var(--color-bg) !important;
  font-weight: bold !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  border-bottom: 1px solid var(--color-bg-light) !important;
  padding: 15px !important;
}

.mobilemenu .chevrond {
  color: var(--color-primary) !important;
  font-size: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.list-group-submenu ul li a {
  background: var(--color-bg-light) !important;
  color: var(--color-text-muted) !important;
  padding-left: 30px !important;
  border-bottom: 1px solid var(--border-color) !important;
}

/* --------------------------------------------------------------------------
   19. СЛАЙДЕР И БАННЕРЫ
   -------------------------------------------------------------------------- */
#revslideshow.owl-carousel,
#revslideshow .owl-wrapper-outer {
  border-radius: var(--radius-xl) !important;
  overflow: hidden !important;
  transform: translateZ(0);
}

#revslideshow {
  display: block !important;
  overflow: visible !important;
  box-shadow: var(--shadow-lg) !important;
  margin-bottom: 30px !important;
  filter: drop-shadow(0 15px 25px rgba(0,0,0,.2)) !important;
}

#revslideshow .owl-wrapper-outer {
  border-radius: var(--radius-xl) !important;
  overflow: hidden !important;
  background: #fff !important;
}

#revslideshow .owl-item .item img { transition: transform .6s var(--transition-smooth) !important; }
#revslideshow .owl-item:hover .item img { transform: scale(1.06) !important; }

.product-layout .owl-wrapper-outer,
.product-thumb .owl-wrapper-outer {
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   20. КАТЕГОРИИ И REFINE
   -------------------------------------------------------------------------- */
.refine_categories.clearfix {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 20px 0 !important;
  padding: 0 !important;
}

.refine_categories > a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex: 1 1 140px !important;
  min-height: 180px !important;
  padding: 15px 10px !important;
  background: #fff !important;
  border-radius: 15px !important;
  box-shadow: 0 4px 10px rgba(0,0,0,.05) !important;
  transition: all var(--transition-base) !important;
  text-decoration: none !important;
}

.refine_categories > a:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 25px rgba(0,0,0,.1) !important;
}

.refine_categories img {
  max-width: 80px !important;
  max-height: 80px !important;
  object-fit: contain;
  margin-bottom: 10px !important;
}

.refine_categories span {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  margin-top: auto !important;
}

.category_description {
  background: var(--color-bg) !important;
  border-radius: var(--radius-full) !important;
  padding: 30px !important;
  border: 1px solid var(--border-color-light) !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.05) !important;
}

.category_description h3 {
  background: var(--color-bg-alt) !important;
  border: 1px solid var(--border-color-light) !important;
  padding: 8px 20px !important;
  border-radius: 30px !important;
  font-weight: 700 !important;
}

/* --------------------------------------------------------------------------
   21. ПРОДУКТ И ИНФОРМАЦИЯ
   -------------------------------------------------------------------------- */
.product_informationss:last-child {
  background: var(--color-bg);
  padding: 10px;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.product-buy-box {
  background: #fff8f0;
  border: 1px solid rgba(255,140,0,.2);
  padding: 20px;
  border-radius: var(--radius-lg);
  margin-top: 20px;
}

.product_informationss ul.list-unstyled {
  background: var(--color-bg);
  border-radius: 16px;
  padding: 25px;
  margin-bottom: 25px;
  box-shadow: 0 8px 25px rgba(0,0,0,.06);
  transition: transform var(--transition-base);
  border: 1px solid var(--border-color-light);
}

.product_informationss ul.list-unstyled:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 40px rgba(0,0,0,.12);
}

.product-layout .price,
.product-layout .price-new,
.product-layout .price span {
  color: var(--color-primary) !important;
  font-weight: 800 !important;
  font-size: 18px !important;
}

.product-info .price,
.product-info .price-new {
  color: var(--color-primary) !important;
  font-size: 24px !important;
}

/* Блок покупки */
.form-group.pokupka {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background: rgba(255,255,255,.05);
  padding: 15px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(0,0,0,.05);
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
  text-align: center;
}

.form-group.pokupka .number {
  display: inline-flex !important;
  align-items: center;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid #ddd;
  margin-right: 10px;
}

#button-cart.btn-lg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 15px;
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: var(--radius-sm);
  border: none;
  float: none;
}

#button-cart.btn-lg i { margin-right: 10px; font-size: 16px; line-height: 1; margin-top: 0; }

.pop_right a {
  border-radius: var(--radius-sm);
  margin-left: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.pop_left,.pop_right { display: inline-block; vertical-align: middle; float: none; }
.pop_right { margin-left: 10px; }

/* Наличие */
.nalich { margin: 10px 0; display: inline-block; }

.nalich span.text-success.bg-success {
  display: inline-flex !important;
  align-items: center;
  padding: 6px 14px;
  border-radius: var(--radius-sm);
  background-color: rgba(76,175,80,.1) !important;
  color: #2e7d32 !important;
  border: 1px solid rgba(76,175,80,.2);
  font-weight: 500;
  font-size: 13px;
  line-height: 1;
}

.nalich span i { margin-right: 6px; font-size: 14px; }

/* --------------------------------------------------------------------------
   22. БЛОГ И НОВОСТИ
   -------------------------------------------------------------------------- */
.product-layout .blog-list {
  background: var(--color-bg);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all var(--transition-base);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border-color-light);
}

.product-layout:hover .blog-list {
  transform: translateY(8px) scale(1.02);
  box-shadow: var(--shadow-xl);
  border-color: var(--color-primary-ultra-light);
}

/* --------------------------------------------------------------------------
   23. ТАБЫ И ОТЗЫВЫ
   -------------------------------------------------------------------------- */
.nav-tabs > li > a {
  border-radius: 15px 15px 0 0 !important;
  background-color: var(--color-bg-light);
  transition: all var(--transition-fast);
}

.nav-tabs > li.active > a { background-color: var(--color-bg) !important; font-weight: bold; }

.tab-content {
  border: 1px solid var(--border-color);
  padding: 20px;
  border-radius: 0 0 20px 20px;
  background: var(--color-bg);
  box-shadow: var(--shadow-sm);
}

.well.otz {
  border-radius: var(--radius-lg) !important;
  border: 1px solid var(--border-color-light) !important;
  background-color: var(--color-bg-alt) !important;
  padding: 20px !important;
}

/* --------------------------------------------------------------------------
   24. О МАГАЗИНЕ
   -------------------------------------------------------------------------- */
.row:has(.aboutstore2),
.aboutstore2,
.aboutstore2 .rev_slider,
.aboutstore2 + div {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.aboutstore2 .heading_h,
.aboutstore2 .heading_h h3 { background: transparent; box-shadow: none; border: none; }
.aboutstore2 + div[class=""] { display: none; }
.aboutstore2 h2 { border-left: 5px solid var(--color-primary); padding-left: 15px; }

/* --------------------------------------------------------------------------
   25. КОРЗИНА (POPUP)
   -------------------------------------------------------------------------- */
.panel.rev_cart {
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  border: 1px solid #ddd !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.05) !important;
}

.rev_cart .quantity.number {
  border-radius: var(--radius-sm) !important;
  overflow: hidden !important;
  border: 1px solid #ccc !important;
  display: inline-flex !important;
}

.rev_cart .quantity.number input { border: none !important; background: #f9f9f9 !important; }
.rev_cart .frame-change-count button { border-radius: 0 !important; background: #eee !important; transition: background .2s; }
.rev_cart .frame-change-count button:hover { background: #e0e0e0 !important; }

.revcart_delete button {
  border-radius: 6px !important;
  padding: 5px 10px !important;
  background: #fff5f5 !important;
  color: #e53935 !important;
  border: 1px solid #ffebee !important;
  transition: all var(--transition-base);
}

.revcart_delete button:hover { background: #e53935 !important; color: #fff !important; }

#button_checkout {
  border-radius: var(--radius-sm) !important;
  padding: 12px 30px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 4px 10px rgba(217,83,79,.2) !important;
}

.revcart_table img.img-thumbnail { border-radius: var(--radius-sm) !important; }

.total_checkout {
  background: #fcfcfc !important;
  border-radius: var(--radius-sm) !important;
  padding: 15px !important;
  margin-bottom: 10px !important;
  border: 1px solid #eee !important;
}

#revcheckout,.revcart_column_left,.revcart_column_right,.revcart_column_right > div {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.fapanel.rev_wish_srav_prod {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.fapanel.rev_wish_srav_prod .lupa i {
  background: rgba(255,255,255,.2) !important;
  backdrop-filter: blur(5px);
  border-radius: 50%;
  padding: 8px;
  transition: all var(--transition-base);
}

.fapanel.rev_wish_srav_prod .lupa i:hover {
  background: rgba(255,255,255,.4) !important;
  transform: scale(1.1);
}

/* --------------------------------------------------------------------------
   26. WELL.SM (ФИЛЬТРЫ/СОРТИРОВКА)
   -------------------------------------------------------------------------- */
.well.well-sm {
  border-radius: 16px;
  background: #f5f5f7;
  border: 1px solid #e0e0e0;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
  padding: 15px 20px;
  overflow: hidden;
}

.well.well-sm .row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.well.well-sm .col-lg-3:first-child { flex: 1 1 200px; }
.well.well-sm .col-lg-6 { flex: 2 1 350px; }
.well.well-sm .col-lg-3:last-child { flex: 1 1 220px; }

.btn-group-justified .btn {
  background: #fff;
  border: 1px solid #ddd;
  color: #555;
  border-radius: 10px !important;
  transition: all .25s ease;
}

.btn-group-justified .btn:hover {
  background: #fff3e6;
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.btn-group-justified .btn.active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
  box-shadow: 0 4px 10px rgba(255,140,0,.3);
}

.well.well-sm .input-group {
  width: 100%;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid #ddd;
  background: #fff;
  transition: all .25s ease;
}

.well.well-sm .input-group:focus-within {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(255,140,0,.15);
}

.well.well-sm .input-group-addon {
  background: #f1f1f1;
  border: none;
  color: #666;
  font-weight: 500;
  white-space: nowrap;
}

.well.well-sm .input-group-addon i { color: var(--color-primary); margin-right: 6px; }

.well.well-sm select.form-control {
  width: 100%;
  border: none;
  box-shadow: none;
  background: transparent;
  height: 40px;
  color: #333;
}

/* --------------------------------------------------------------------------
   27. WELL INPUT GROUP (РАСТЯЖЕНИЕ)
   -------------------------------------------------------------------------- */
#content .well .input-group {
  display: flex !important;
  align-items: stretch !important;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #ddd;
}

#content .well .input-group-addon {
  background-color: #f5f5f5 !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 45px !important;
  height: auto !important;
  padding: 0 10px !important;
  margin: 0 !important;
}

#content .well .form-control {
  border: none !important;
  box-shadow: none !important;
  height: 38px !important;
}

/* --------------------------------------------------------------------------
   28. DROPDOWN МЕНЮ
   -------------------------------------------------------------------------- */
.dropdown-menu.dropdown-menu-right {
  border-radius: 15px !important;
  overflow: hidden !important;
  box-shadow: 0 5px 15px rgba(0,0,0,.15) !important;
  margin-top: 8px !important;
  border: 1px solid #ededed !important;
  padding: 5px 0 !important;
  text-align: center !important;
  min-width: 180px !important;
}

.dropdown-menu.dropdown-menu-right > li > a {
  display: block !important;
  padding: 12px 20px !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-align: center !important;
  transition: all var(--transition-base) !important;
}

.dropdown-menu.dropdown-menu-right > li > a:hover {
  background: #f8f8f8 !important;
  color: #ff9800 !important;
}

/* --------------------------------------------------------------------------
   29. ЗАГОЛОВКИ БЛОКОВ
   -------------------------------------------------------------------------- */
h3:has(.fa-check-square-o),
h3.zag_block {
  display: inline-flex !important;
  align-items: center !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.05) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.04) !important;
  border-radius: 50px !important;
  padding: 10px 25px !important;
  margin-bottom: 20px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}

h3:has(.fa-check-square-o) i,
h3.zag_block i { color: #ff9800 !important; margin-right: 10px !important; }

/* --------------------------------------------------------------------------
   30. ЗАГОЛОВОК H1
   -------------------------------------------------------------------------- */
h1.home_h1 {
  font-family: var(--font-secondary);
  font-weight: 800 !important;
  font-size: 16px !important;
  color: #2c3e50 !important;
  line-height: 1.4 !important;
  text-transform: none;
  letter-spacing: .5px;
  margin-top: 20px !important;
  margin-bottom: 15px !important;
  text-align: left;
  font-display: swap;
}

/* --------------------------------------------------------------------------
   31. ФУТЕР
   -------------------------------------------------------------------------- */
.footer {
  background: #1a1a1a !important;
  color: #bbb !important;
  padding: 60px 0 30px !important;
  border-top: 4px solid var(--color-primary);
}

.footer .zag_dm_cf a:hover { color: var(--color-primary) !important; padding-left: 5px; }
.soc_s a i:hover { background: var(--color-primary); transform: translateY(-3px); }

/* --------------------------------------------------------------------------
   32. CHEVRON / СТРЕЛКИ МЕНЮ
   -------------------------------------------------------------------------- */
.chevrond {
  float: right;
  margin-top: 2px;
  font-size: 16px;
  transition: transform var(--transition-base);
  width: 20px;
  text-align: center;
}

.chevrond .fa-plus.on { display: inline-block; color: var(--color-primary); }
.chevrond .fa-plus.on::before { content: "\f101"; font-family: 'FontAwesome'; }
.chevrond .fa-minus.off { display: none; }
.chevrond .fa-minus.off::before { content: "\f103"; font-family: 'FontAwesome'; }

li.active .chevrond .fa-plus.on,
a[aria-expanded="true"] .chevrond .fa-plus.on { display: none; }

li.active .chevrond .fa-minus.off,
a[aria-expanded="true"] .chevrond .fa-minus.off { display: inline-block; }

.navbar-ex1-collapse .chevrond { border: none; background: transparent; }

/* --------------------------------------------------------------------------
   33. КНОПКИ ОФОРМЛЕНИЯ ЗАКАЗА (КАБИНЕТ ЛОГИН)
   -------------------------------------------------------------------------- */
.buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 20px !important;
}

.pull-left,.pull-right { float: none !important; display: block !important; width: auto !important; }

/* --------------------------------------------------------------------------
   34. МОБИЛЬНЫЙ ТАБ-БАР
   -------------------------------------------------------------------------- */
@media (min-width: 1001px) {
  #m-tab-bar { display: none !important; }
}

@media (max-width: 1000px) {
  #m-tab-bar {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    background: #fff;
    transition: transform .3s ease,opacity .3s ease !important;
    transform: translateY(0);
    opacity: 1;
  }

  #m-tab-bar.at-bottom {
    transform: translateY(100%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #m-tab-bar.active:not(.at-bottom) {
    transform: translateY(0) !important;
    opacity: 1 !important;
  }

  .col-md-offset-3 {
    margin-left: 0 !important;
    width: 100% !important;
    float: none !important;
    padding: 0 15px !important;
  }

  .home_h1 {
    display: block !important;
    text-align: center !important;
    margin: 15px auto !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
  }
}

/* --------------------------------------------------------------------------
   35. АДАПТИВ > 992px
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
  #m-tab-bar { display: none; }
  #menu2 .podmenu2 { height: auto !important; }
}

/* --------------------------------------------------------------------------
   36. ДЕСКТОП > 768px (INPUT GROUP)
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
  .top-banner-fixed { display: none !important; }

  .input-group {
    display: flex;
    align-items: stretch;
    height: 40px;
    margin-bottom: 20px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 4px 8px rgba(0,0,0,.05);
    transition: transform var(--transition-fast),box-shadow var(--transition-fast);
    transform: translateZ(0);
  }

  .input-group:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0,0,0,.08);
  }

  .input-group-addon {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    height: 100%;
    background: #eee;
    border: 1px solid #ccc;
    border-right: none;
    border-radius: 20px 0 0 20px;
    min-width: 45px;
    color: #555;
  }

  .input-group .form-control {
    height: 100%;
    border: 1px solid #ccc;
    margin: 0;
    flex: 1;
    background: #fff;
    color: #333;
    font-size: 14px;
    padding: 0 15px;
    border-radius: 0 20px 20px 0;
    box-shadow: none;
  }
}
/* --------------------------------------------------------------------------
   37. ПЛАНШЕТ 768–991px
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 991px) {
  /* СКРЫВАЕМ десктопную (верхнюю) кнопку на планшете */
  #menu2_button .box-heading.hidden-xs.hidden-sm { display: none !important; }
  
  /* ВКЛЮЧАЕМ мобильную (нижнюю) кнопку на планшете */
  #menu2_button .box-heading.hidden-md.hidden-lg { display: flex !important; }

  .home_block:has(a[href*="make_order"]) { display: none !important; }

  #column-left .list-group { display: none !important; }
  #column-left {
    width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    position: absolute !important;
  }

  #content {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 15px !important;
  }

  .top-links .list-inline { display: flex; justify-content: center; align-items: center; text-align: center; }
  .top-links .list-inline li a {
    font-family: var(--font-main);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
  }

  .mobcats .chevrond.hided { display: inline-block !important; visibility: visible !important; opacity: 1 !important; }
  .mobcats .collapse.list-group-submenu { display: none; }
  .mobcats .collapse.list-group-submenu.in { display: block; }
}
/* --------------------------------------------------------------------------
   38. ПЛАНШЕТ ДО 1024px
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1024px) {
  .popup-phone-wrapper { transform: translateY(-250%); }
}

/* --------------------------------------------------------------------------
   39. ПЛАНШЕТ ДО 1199px
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1199px) {
  .mobcats .chevrond.hided { display: inline-block; visibility: visible; opacity: 1; }
  .mobcats .collapse.list-group-submenu { display: none; }
  .mobcats .collapse.list-group-submenu.in { display: block; }
}

/* --------------------------------------------------------------------------
   40. АДАПТИВ < 991px
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
  #revfilter_box_open { opacity: 1 !important; display: block !important; cursor: pointer; z-index: 1000; }

  #input-search,select[name="category_id"],#button-search,.xs-margin-top { margin-top: 10px; }

  #column-left.show {
    display: block !important;
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 1000000 !important;
    background: #fff !important;
    overflow-y: auto !important;
    padding: 15px;
    padding-bottom: 20px !important;
  }

  #column-left.show #revfilter_box,
  #column-left.show .list-group,
  #column-left.show .option_box,
  #column-left.show .collapsible { display: block !important; opacity: 1 !important; visibility: visible !important; }

  #column-left.show > .list-group,
  #column-left.show .mobil_wellsm { display: none !important; }

  .well.well-sm .col-lg-3:last-child { flex: 0 0 100%; max-width: 100%; }
}

/* --------------------------------------------------------------------------
   41. МОБИЛЬНЫЙ < 767px
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .top-links:not(.verh) { display: none; }

  #top .hidden-xs,#top .hidden-sm,
  #top .list-inline li a span:not([id]),
  #top .dropdown-toggle > span:not(#compare-total):not(#wishlist-total) { display: none; }

  #top .container { padding-left: 1px; padding-right: 1px; width: 100%; max-width: 100%; }
  #top .list-inline { display: flex; justify-content: space-between; width: 100%; padding: 0; margin: 0; }
  #top .list-inline > li { padding: 0; margin: 0; flex: 1 1 auto; text-align: center; display: flex; justify-content: center; }
  #top img { max-width: 12px; height: auto; }
  #top i.fa { font-size: 12px; margin: 0; }
  #top sup { font-size: 9px; margin-left: 1px; top: -5px; }

  #revslideshow { border-radius: 15px; overflow: hidden; transform: translateZ(0); }
  #revslideshow .item img { border-radius: 15px; }

  #menu2_button .box-heading.hidden-md.hidden-lg {
    background: linear-gradient(180deg,#757d85 0%,#5e666e 100%);
    border-radius: 12px 0 0 12px;
    height: 30px;
    padding: 0 15px;
    margin: 10px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-right: 1px solid rgba(255,255,255,.1);
    box-shadow: 0 8px 15px rgba(0,0,0,.3);
    transition: all .1s ease-in-out;
  }

  #cart {
    background: linear-gradient(180deg,#ffa669 0%,#ff8c00 100%);
    border-radius: 0 12px 12px 0;
    height: 30px;
    margin: 10px 0;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    box-shadow: 0 8px 15px rgba(255,140,0,.4);
    transition: all .1s ease-in-out;
  }

  #menu2_button .box-heading.hidden-md.hidden-lg i.fa-bars,#cart i { color: #fff; font-size: 14px; margin: 0; }

  #cart button.cart {
    background: transparent;
    border: none;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 4px;
    height: 100%;
  }

  #menu2_button .box-heading.hidden-md.hidden-lg span,
  #cart-total .hidden-xs,#cart-total .hidden-sm { display: none; }

  #menu2_button .box-heading.hidden-md.hidden-lg:active,#cart:active {
    transform: translateY(3px);
    box-shadow: 0 2px 5px rgba(0,0,0,.3);
    filter: brightness(.9);
  }

  #top3.clearfix.affix-top.absolutpo { background: transparent !important; border: none !important; box-shadow: none !important; }

  #top {
    background: #fff !important;
    margin: 10px !important;
    border-radius: 15px !important;
    box-shadow: 0 8px 25px rgba(0,0,0,.12) !important;
    position: relative !important;
    z-index: 100 !important;
    padding: 5px 0 !important;
    overflow: visible !important;
  }

  #top .nav.pull-right { display: flex !important; justify-content: space-around !important; width: 100% !important; }
  #top .nav.pull-right > ul > li { display: block !important; flex: 1; text-align: center; }
  #top a { padding: 12px 5px !important; display: block !important; min-height: 44px; pointer-events: auto !important; }
  #top a i,#top a span,#top a sup { pointer-events: none !important; }
  #top .dropdown-menu { z-index: 9999 !important; position: absolute !important; }
  #top .nav > li { position: relative !important; }

  div.col-xs-12:has(#logo) {
    background: #fff !important;
    border-radius: 20px 20px 0 0 !important;
    margin: 15px 15px 0 !important;
    padding: 20px 15px 10px !important;
    display: block !important;
    float: none !important;
    width: auto !important;
    position: relative !important;
    z-index: 10 !important;
    border-bottom: none !important;
  }

  div.col-xs-12:has(.header_conts) {
    background: #fff !important;
    border-radius: 0 0 20px 20px !important;
    margin: -2px 15px 20px !important;
    padding: 0 15px 20px !important;
    box-shadow: 0 15px 30px rgba(0,0,0,.12) !important;
    display: block !important;
    float: none !important;
    width: auto !important;
    position: relative !important;
    z-index: 5 !important;
  }

  #logo,.header_conts { text-align: center !important; margin: 0 !important; }
  #logo img { display: inline-block !important; margin: 0 auto !important; }

  .category_description { flex-direction: column !important; text-align: left !important; padding: 20px !important; }
  .category_description .fl-l { margin-right: 0 !important; margin: 0 auto 20px !important; display: block; }
  .category_description h3 { display: flex !important; width: fit-content !important; font-size: 16px !important; }

  .home_catwalls .product-thumb .caption h4 {
    font-size: 11px !important;
    line-height: 1.2 !important;
    margin: 5px 0 !important;
    text-align: center;
    overflow-wrap: break-word;
  }

  .home_catwalls .product-thumb .caption { height: auto !important; min-height: 45px; padding: 5px 2px !important; }
  .home_catwalls .col-xs-6 { padding-left: 5px !important; padding-right: 5px !important; }

  #content > .row { padding: 20px; border-radius: 20px; }
  #content .col-sm-5,#content .col-sm-2 { width: 100%; margin-bottom: 16px; }
  #content .form-control,#button-search { height: 48px; font-size: 14px; }

  .xs-margin-top { margin-top: 10px; width: 100% !important; }

  .input-group-addon span { display: none; }

  #button-search.btn-primary { width: 100% !important; margin-top: 10px !important; }

  .product-layout .description,
  .product-layout .description span,
  .product-layout .description b,
  .product-layout .description strong,
  .product-layout .description .desc_name {
    font-weight: 400 !important;
    font-size: 12px !important;
    color: #666 !important;
    line-height: 1.4 !important;
  }

  .product-layout .description b:last-child { color: #27ae60 !important; font-weight: 600 !important; }

  .well.otz { background: #f2f2f2; border: 1px solid #ddd; border-radius: 12px; padding: 15px; margin-top: 15px; }
  #post-review-box,#post-answers-box { display: block; }
  #open-review-box,#close-review-box,#open-answers-box,#close-answers-box { display: none; }

  .form-control {
    background: #fff;
    border: 2px solid #bbb;
    border-radius: var(--radius-sm);
    height: 48px;
    font-size: 16px;
    box-shadow: none;
    color: #333;
  }

  textarea.form-control { height: auto; min-height: 120px; }
  .form-horizontal .control-label { text-align: left; width: 100%; margin-bottom: 5px; font-weight: 700; }
  .form-horizontal .col-sm-10 { width: 100%; padding: 0; }

  .prod-rating {
    background: #f9f9f9;
    border: 2px solid #999;
    border-radius: var(--radius-sm);
    padding: 10px;
    display: flex;
    justify-content: space-around;
    margin-bottom: 15px;
  }

  .rat-star i { font-size: 26px; }

  #button-review,#button-answers {
    width: 100%;
    height: 50px;
    background: var(--color-primary);
    border: none;
    border-radius: var(--radius-sm);
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
  }

  .form-group { margin-bottom: 20px; }

  .well.otz .form-control {
    background: #edebeb;
    border: 2px solid #050505;
    border-radius: var(--radius-sm);
    height: 48px;
    color: #333;
    font-size: 16px;
    box-shadow: inset 0 1px 3px rgba(0,0,0,.1);
  }

  .well.otz .form-control:focus { border-color: var(--color-primary); background: #e8e8e8; outline: none; }
  .well.otz .form-control::placeholder { color: #777; }

  .mfp-wrap { overflow-y: auto !important; position: fixed !important; top: 0 !important; left: 0 !important; }
  #popup-view-wrapper { max-height: none !important; overflow: visible !important; position: relative !important; }

  .search.input-group .form-control.input-lg { height: 46px; }
  .search.input-group .btn-lg { height: 46px; padding: 0 15px; }
  .input-group-btn { display: flex; }

  .well.well-sm .row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .well.well-sm .row > .hidden-xs { display: none !important; }
  .well.well-sm .row > .col-lg-6 { grid-column: 1 / -1 !important; float: none !important; width: auto !important; padding: 0 !important; }
  .well.well-sm .row > .col-lg-3:last-child { grid-column: 1 / -1 !important; float: none !important; width: auto !important; padding: 0 !important; }
  .well.well-sm .row > br { display: none !important; }
  .well.well-sm { padding: 8px !important; }

  .buttons { flex-direction: column !important; align-items: stretch !important; }
  .buttons .pull-left,.buttons .pull-right,.buttons .btn { width: 100% !important; text-align: center !important; }

  #revsubscribe_form .col-xs-6,
  #revsubscribe_form .col-sm-4,
  #revsubscribe_form .col-sm-3 { width: 100% !important; float: none !important; margin-bottom: 10px !important; }

  #revsubscribe { text-align: center !important; padding: 20px 10px !important; }
  #revsubscribe .revtext { flex-direction: column !important; margin-bottom: 15px !important; }
  #revsubscribe .revtext i { margin-right: 0 !important; margin-bottom: 8px !important; }
  #revsubscribe .susbs_head_text { font-size: 16px !important; }
  #revsubscribe_submit { margin-top: 5px !important; }
}

/* --------------------------------------------------------------------------
   42. МОБИЛЬНЫЙ < 576px
   -------------------------------------------------------------------------- */
@media (max-width: 576px) {
  .well.well-sm .row { flex-direction: column; align-items: stretch; }
}

/* --------------------------------------------------------------------------
   43. МОБИЛЬНЫЙ < 480px
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {
  #top3_links a { margin: 0 2px; padding: 2px; }
  #top3_links { flex-wrap: nowrap; overflow-x: auto; gap: 2px; }

  .top-links.verh.nav.pull-right ul.list-inline li form#currency a.dropdown-toggle span.hidden-xs.hidden-sm,
  .top-links.verh.nav.pull-right ul.list-inline li.dropdown a span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .top-links.verh.nav.pull-right ul.list-inline li a.dropdown-toggle {
    padding: 4px 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* --------------------------------------------------------------------------
   44. ТАЧ-УСТРОЙСТВА
   -------------------------------------------------------------------------- */
@media (pointer: coarse) {
  .list-group-item,
  #menu2 .catalog_list.catalog_as_popup .revlevel_1 .title a,
  .button-group button,
  #button-cart { min-height: 44px; padding: 12px 20px; }

  .home_block .popup_html_content { min-height: 60px; padding: 20px; }

  #revfilter_box input[type="checkbox"] { width: 22px; height: 22px; }
  #revfilter_box input[type="checkbox"]:checked::after { left: 7px; top: 2px; width: 6px; height: 12px; }
}

/* --------------------------------------------------------------------------
   45. СЛАЙДЕР — ОТСТУПЫ
   -------------------------------------------------------------------------- */
#top4 .col-md-9 { padding-bottom: 15px !important; overflow: visible !important; }

.home_home_blocks {
  margin-top: -30px !important;
  position: relative !important;
  z-index: 10 !important;
}

@media (max-width: 767px) {
  .home_home_blocks { margin-top: -10px !important; }
}

/* --------------------------------------------------------------------------
   46. ДОСТУПНОСТЬ
   -------------------------------------------------------------------------- */
:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   47. PREFERS-REDUCED-MOTION
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }

  #revfilter_box,
  .column-left aside > div,
  .column-left .list-group,
  #column-left .list-group,
  aside .list-group { opacity: 1; animation: none; }
}

/* --------------------------------------------------------------------------
   48. CONTAIN ДЛЯ СОВРЕМЕННЫХ БРАУЗЕРОВ
   -------------------------------------------------------------------------- */
@supports (contain: layout) {
  .performance-critical { contain: layout style paint; }
}

/* ==========================================================================
   КОНЕЦ ФАЙЛА
   ========================================================================== */
   
   
   
   
#revfilter_box_open {
    /* Закругляем только верхний левый и верхний правый углы */
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
    
    /* Нижние углы оставляем острыми (0) */
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;

    /* Гарантируем, что кнопка будет поверх карточек товаров */
    position: fixed !important;
    z-index: 9999999 !important;
}
#m-btn-search {
    cursor: pointer !important;
    position: relative;
    z-index: 999; /* Выводим кнопку на передний план */
    display: flex; /* Выравниваем иконку и текст красиво */
    flex-direction: column;
    align-items: center;
}

#m-btn-search .m-tab-label {
    pointer-events: none; /* Клик будет проходить сквозь текст прямо на ссылку-родителя */
}
.input-group-addon span {
    display: none !important;
}
.products_category {
    /* Убираем закругления */
    border-radius: 0 !important;
    
    /* Убираем тени */
    box-shadow: none !important;
    
    /* Убираем фон, границы и внешние эффекты */
    background: transparent !important;
    border: none !important;
    outline: none !important;
    
    /* Если нужно убрать внутренние отступы самого контейнера */
    padding: 0 !important;
}
/* Сброс всех декоративных свойств для блока пагинации */
.pagpages {
    background: none !important;      /* Убирает фон (плашку) */
    border: none !important;          /* Убирает рамки */
    box-shadow: none !important;      /* Убирает тени */
    border-radius: 0 !important;      /* Убирает закругления */
    padding: 0 !important;           /* Убирает внутренние отступы */
    margin: 0 !important;            /* Убирает внешние отступы */
    min-height: 0 !important;        /* Убирает минимальную высоту, если она была */
}

/* На всякий случай убираем фон у родительской строки, если он там есть */
.row:has(> .pagpages) {
    background: none !important;
    box-shadow: none !important;
}
/* ==============================================
   Только для ПК версии (экраны шире 992px) 
   ============================================== */
@media (min-width: 992px) {
    /* Основной контейнер кнопки: выравниваем текст строго по центру */
    .box-heading {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important; /* Текст по центру */
        position: relative !important;      /* Разрешаем абсолютное позиционирование внутри */
        padding: 0 !important; 
        margin: 0 !important;
    }

    /* 1. Три полоски (бургер) — прибиваем налево */
    .box-heading .fa-bars {
        position: absolute !important;
        left: 20px !important; /* Отступ в точности как у левых иконок меню */
        margin: 0 !important;
    }

    /* 2. Галочка вниз — возвращаем её и прибиваем направо */
    .box-heading .icorightmenu {
        display: inline-flex !important; /* Включаем, так как ранее мы её скрывали */
        align-items: center !important;
        position: absolute !important;
        right: 20px !important; /* Отступ в точности как у правых стрелок меню */
        margin: 0 !important;
    }

    /* 3. Расстояние между "Каталог" и "товаров" */
    .box-heading span.hidden-xs {
        display: inline-block !important;
        margin-left: 10px !important; 
    }
}

/* Закругление всплывающего окна уведомлений */
.popup_notification {
    border-radius: 20px !important; /* Основной радиус закругления */
    overflow: hidden !important;    /* Жестко обрезает всё, что выходит за края */
}

/* Закругление цветной шапки (чтобы фон не перекрывал углы) */
.popup_notification .popup_notification_heading {
    border-radius: 20px 20px 0 0 !important; /* Закругляем только верхние углы */
}

/* 1. Заставляем оболочку кнопки тянуться на всю высоту поиска */
.search.input-group .search_button.input-group-btn {
    display: flex !important;
    align-items: stretch !important; /* Растягивает по вертикали */
    height: auto !important;
    margin: 0 !important;
}

/* 2. Заставляем саму кнопку занимать 100% высоты оболочки и центрируем лупу */
.search.input-group button.search-button.btn.search_button {
    display: flex !important;
    align-items: center !important;      /* Вертикальное центрирование лупы */
    justify-content: center !important;  /* Горизонтальное центрирование лупы */
    height: 100% !important;             /* Занимает всю высоту */
    min-height: 100% !important;
    width: 55px !important;              /* Ширина кнопки */
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 20px 20px 0 !important; /* Чтобы углы совпадали с общим стилем */
}

/* 3. Гарантируем, что лупа внутри не имеет лишних отступов */
.search.input-group button.search-button i.fa-search {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    display: block !important;
}

.mfp-img {
    /* Запрещаем растягиваться выше оригинального размера */
    max-height: 100% !important; 
    /* Если картинка меньше экрана, она останется своего размера */
    object-fit: scale-down; 
    /* Дополнительная проверка на ширину */
    width: auto !important;
}

/* Контейнер тоже должен подстраиваться под контент, а не растягивать его */
.mfp-figure img.mfp-img {
    padding: 0 !important;
}

/* Центрируем содержимое и заставляем контейнер сжаться до размеров картинки */
.mfp-content {
    vertical-align: middle;
    display: inline-block;
    width: auto !important; /* Убирает растягивание на всю ширину */
}

.mfp-figure {
    display: inline-block;
    line-height: 0;
    position: relative;
}

.mfp-figure figure {
    margin: 0;
}

/* Ограничиваем максимальную ширину окна, чтобы оно не было шире экрана на мобильных */
.mfp-container {
    text-align: center;
}


/* Планшетная версия и выше (от 768px до 991px) */
@media (min-width: 768px) and (max-width: 991px) {
    
    /* Скрываем текстовый узел внутри блока заголовка */
    /* Используем visibility или font-size:0, так как текст "Каталог" не обернут в тег */
    #menu2_button .box-heading {
        font-size: 0 !important;
    }

    /* Возвращаем иконку "гамбургер" (три полоски) */
    #menu2_button .box-heading i.fa-bars {
        font-size: 18px !important; /* Настройте размер под себя */
        margin-right: 0;
    }

    /* Скрываем блок со стрелкой */
    #menu2_button .box-heading .icorightmenu {
        display: none !important;
    }
    
    /* Дополнительно скрываем "товаров", если оно не скрылось стандартными классами */
    #menu2_button .box-heading span.hidden-xs {
        display: none !important;
    }
}


