/* ============================================================
   xl-top.css — верх страницы как единый продукт (1200–1500px)
   Последний слой. Одна сетка. Одна шкала отступов. Один UX.
   ============================================================ */

:root {
  /* Единый контейнер */
  --xl-shell-max: 1360px;
  --xl-shell-pad: 24px;

  /* Шкала ритма: 8 / 16 / 24 / 32 / 48 / 64 */
  --xl-s1: 8px;
  --xl-s2: 16px;
  --xl-s3: 24px;
  --xl-s4: 32px;
  --xl-s5: 48px;
  --xl-s6: 64px;

  /* Роли цвета */
  --xl-action: #E86622;
  --xl-nav: #211E1B;
  --xl-service: #0E8A96;
  --xl-service-soft: #EEF8F9;
  --xl-sale: #C62828;
  --xl-page: #F6F2EB;
  --xl-surface: #FFFFFF;
  --xl-text: #1A1714;
  --xl-muted: #6B645C;
  --xl-line: #E6DDD2;
  --xl-footer-bg: #171513;

  --xl-font: "Manrope", Arial, Helvetica, sans-serif;
  --xl-r: 18px;
  --xl-r-sm: 12px;
  --xl-shadow: 0 10px 28px rgba(26, 23, 20, 0.07);
  --xl-shadow-lg: 0 18px 40px rgba(26, 23, 20, 0.12);
}

@media (min-width: 1600px) {
  :root { --xl-shell-max: 1440px; --xl-shell-pad: 28px; }
}
@media (min-width: 1920px) {
  :root { --xl-shell-max: 1520px; --xl-shell-pad: 32px; }
}

/* ---------- Фон страницы / без хвоста ---------- */
html { background: var(--xl-footer-bg) !important; }
body.xl-redesign {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--xl-footer-bg) !important;
  font-family: var(--xl-font) !important;
  color: var(--xl-text) !important;
}
body.xl-redesign #container.xl-redesign,
body.xl-redesign #container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--xl-page) !important;
  overflow-x: clip;
}
body.xl-redesign #container > div[style*="16.png"] { display: none !important; }
@media (min-width: 901px) {
  body.xl-redesign .xl-tabbar { display: none !important; }
  body.xl-redesign { padding-bottom: 0 !important; }
}

/* ---------- 1. ЕДИНЫЙ SHELL (критично) ---------- */
body.xl-redesign .xl-wrap,
body.xl-redesign .xl-utility .xl-wrap,
body.xl-redesign .xl-brandrow .xl-wrap,
body.xl-redesign .xl-navrow .xl-wrap,
body.xl-redesign table#middle,
body.xl-redesign .xl-footer__main,
body.xl-redesign .xl-footer__bottom-inner,
body.xl-redesign .xl-nav__panel-inner {
  width: 100% !important;
  max-width: var(--xl-shell-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--xl-shell-pad) !important;
  padding-right: var(--xl-shell-pad) !important;
  box-sizing: border-box !important;
}

/* Мегаменю: панель на всю ширину экрана, inner = shell */
body.xl-redesign .xl-nav__panel.xlopni-nav__container_visible {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.xl-redesign .xl-nav__panel-inner {
  border-radius: 0 0 20px 20px !important;
  overflow: hidden !important;
}

@media (min-width: 901px) {
  body.xl-redesign table#middle {
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }
  body.xl-redesign table#middle td.one {
    width: 228px !important;
    padding: 0 var(--xl-s3) 0 0 !important;
    vertical-align: top !important;
  }
  body.xl-redesign table#middle td.three {
    width: 268px !important;
    padding: 0 0 0 var(--xl-s3) !important;
    vertical-align: top !important;
  }
  body.xl-redesign table#middle td.two {
    width: auto !important;
    padding: 0 !important;
    vertical-align: top !important;
  }
}

/* ---------- 4. Шапка — довести ---------- */
body.xl-redesign .xl-header {
  margin: 0 0 var(--xl-s3) !important;
  background: var(--xl-surface) !important;
  box-shadow: 0 1px 0 rgba(26, 23, 20, 0.06);
}
body.xl-redesign .xl-utility {
  height: 36px !important;
  background: #EFE7DD !important;
  font-size: 12px !important;
}
body.xl-redesign .xl-utility .xl-wrap {
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
body.xl-redesign .xl-utility a {
  color: var(--xl-muted) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
}
body.xl-redesign .xl-utility a:hover { color: var(--xl-text) !important; }

body.xl-redesign .xl-brandrow .xl-wrap {
  min-height: 88px !important;
  height: 88px !important;
  display: flex !important;
  align-items: center !important;
  gap: var(--xl-s3) !important;
}
body.xl-redesign .xl-logo-name {
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}
body.xl-redesign .xl-logo-tag {
  font-size: 12px !important;
  color: var(--xl-muted) !important;
  font-weight: 600 !important;
}
body.xl-redesign .xl-sun {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
}
body.xl-redesign .xl-age--header {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 50% !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  border: 2px solid #fff !important;
  box-shadow: 0 0 0 1px #111 !important;
}
body.xl-redesign .xl-phone {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--xl-text) !important;
  letter-spacing: -0.02em !important;
}
body.xl-redesign .xl-hours {
  font-size: 12px !important;
  color: var(--xl-muted) !important;
  font-weight: 600 !important;
}
body.xl-redesign .xl-perk {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--xl-muted) !important;
}

body.xl-redesign .xl-navrow {
  background: var(--xl-nav) !important;
}
body.xl-redesign .xl-navrow .xl-wrap {
  min-height: 64px !important;
  height: 64px !important;
  display: flex !important;
  align-items: center !important;
  gap: var(--xl-s2) !important;
}
body.xl-redesign .xl-catalog {
  height: 44px !important;
  padding: 0 18px !important;
  border-radius: var(--xl-r-sm) !important;
  background: #2A2622 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  border: 0 !important;
}
body.xl-redesign .xl-catalog.is-open {
  background: var(--xl-action) !important;
  box-shadow: none !important;
}
body.xl-redesign .xl-menu a {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body.xl-redesign .xl-menu a:hover { color: #fff !important; }
body.xl-redesign .xl-menu a[href="/discount.html"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin: -6px 0 !important;
  padding: 6px 9px !important;
  border-radius: 999px !important;
  background: rgba(255, 106, 0, 0.2) !important;
  color: #ffb06a !important;
}
body.xl-redesign .xl-menu a[href="/discount.html"]::before {
  content: "%" !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: #ff6a00 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
body.xl-redesign .xl-menu a[href="/discount.html"]:hover {
  background: #ff6a00 !important;
  color: #fff !important;
}

/* Поиск и CTA — одна высота */
body.xl-redesign .xl-search-wrap,
body.xl-redesign #boxSearch,
body.xl-redesign .xl-search-wrap form {
  height: 44px !important;
}
body.xl-redesign .xl-search-wrap input[type="text"],
body.xl-redesign #boxSearch input[type="text"],
body.xl-redesign .xl-search-wrap input[name="keywords"] {
  height: 44px !important;
  border-radius: var(--xl-r-sm) !important;
  font-size: 14px !important;
  border: 0 !important;
  padding: 0 16px !important;
}
body.xl-redesign .xl-cta {
  height: 44px !important;
  padding: 0 20px !important;
  border-radius: var(--xl-r-sm) !important;
  background: var(--xl-action) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
body.xl-redesign .xl-cart-wrap a,
body.xl-redesign #boxCart a.xl-cart,
body.xl-redesign .xl-cart {
  height: 44px !important;
  border-radius: var(--xl-r-sm) !important;
}

/* ---------- 2. Хлебные крошки ---------- */
body.xl-redesign .naviM,
body.xl-redesign #content .naviM,
body.xl-redesign .xl-bc,
body.xl-redesign div.navigation,
body.xl-redesign .navi {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 var(--xl-s2) !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: var(--xl-muted) !important;
  background: none !important;
  border: 0 !important;
}
body.xl-redesign .naviM a,
body.xl-redesign .naviM a:link,
body.xl-redesign .naviM a:visited,
body.xl-redesign .xl-bc a,
body.xl-redesign .navi a {
  color: var(--xl-muted) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
body.xl-redesign .naviM a:hover,
body.xl-redesign .xl-bc a:hover { color: var(--xl-text) !important; }
body.xl-redesign .naviM .navu,
body.xl-redesign .naviM font,
body.xl-redesign .naviM span,
body.xl-redesign .xl-bc__sep {
  color: #A39A90 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  font-family: inherit !important;
}
body.xl-redesign .xl-bc__sep { color: #C4BBB1 !important; }
body.xl-redesign #content > h1 {
  margin: 0 0 var(--xl-s2) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: var(--xl-text) !important;
}
body.xl-redesign #content > h1 span,
body.xl-redesign #content > h1 font {
  color: inherit !important;
  font-size: inherit !important;
}

/* ---------- 3. Hero ---------- */
body.xl-redesign .xl-hero {
  position: relative !important;
  min-height: 560px !important;
  padding: var(--xl-s6) 72px !important;
  margin: 0 0 var(--xl-s5) !important;
  border-radius: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  overflow: hidden !important;
  background-color: #0b1220 !important;
  background-image:
    linear-gradient(105deg, rgba(8, 12, 22, 0.9) 0%, rgba(8, 12, 22, 0.66) 40%, rgba(8, 12, 22, 0.28) 70%, rgba(8, 12, 22, 0.12) 100%),
    url("../img/hero-fireworks.jpg") !important;
  background-size: cover !important;
  background-position: 70% center !important;
  box-shadow: var(--xl-shadow-lg) !important;
}
body.xl-redesign .xl-hero__eyebrow {
  margin: 0 0 var(--xl-s2) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #E8CF9A !important;
}
body.xl-redesign .xl-hero__title {
  max-width: 680px !important;
  margin: 0 0 var(--xl-s3) !important;
  font-size: 56px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  color: #fff !important;
  text-transform: uppercase !important;
  text-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}
body.xl-redesign .xl-hero__text {
  max-width: 460px !important;
  margin: 0 0 var(--xl-s4) !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-weight: 500 !important;
}
body.xl-redesign .xl-hero__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
body.xl-redesign .xl-hero__actions .xl-btn {
  height: 52px !important;
  padding: 0 28px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  border-radius: var(--xl-r-sm) !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
body.xl-redesign .xl-hero__actions .xl-btn--primary {
  background: var(--xl-action) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(232, 102, 34, 0.35);
}
body.xl-redesign .xl-hero__actions .xl-btn--ghost {
  border: 1.5px solid rgba(255, 255, 255, 0.55) !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

/* ---------- 5. Левая колонка ---------- */
body.xl-redesign #left .boxStyle {
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}
body.xl-redesign #left .boxStyle p.hD,
body.xl-redesign #left .boxStyle h5 {
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid #EDE6DD !important;
  border-radius: 0 !important;
  color: #8A837C !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  filter: none !important;
  cursor: pointer;
}
body.xl-redesign #left .boxStyle.active p.hD,
body.xl-redesign #left .boxStyle.xl-open p.hD {
  color: var(--xl-text) !important;
  border-bottom-color: var(--xl-service) !important;
}
body.xl-redesign #boxHolidays > div,
body.xl-redesign #boxPrices > div,
body.xl-redesign #boxZalp > div {
  display: none !important;
}
body.xl-redesign #boxHolidays.active > div,
body.xl-redesign #boxHolidays.xl-open > div,
body.xl-redesign #boxPrices.active > div,
body.xl-redesign #boxPrices.xl-open > div,
body.xl-redesign #boxZalp.active > div,
body.xl-redesign #boxZalp.xl-open > div {
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  padding: var(--xl-s1) 0 var(--xl-s2) !important;
}
body.xl-redesign #left a,
body.xl-redesign #left a:link,
body.xl-redesign #left a:visited {
  color: #3F3A35 !important;
  text-decoration: none !important;
}
body.xl-redesign #left .boxStyle ul li a {
  display: block !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
body.xl-redesign #left .boxStyle ul li a:hover {
  background: var(--xl-service-soft) !important;
  color: var(--xl-service) !important;
}
body.xl-redesign #left #boxCategories {
  margin: 0 0 var(--xl-s3) !important;
  padding: 10px !important;
  background: var(--xl-surface) !important;
  border: 1px solid var(--xl-line) !important;
  border-radius: var(--xl-r) !important;
  box-shadow: var(--xl-shadow);
}
body.xl-redesign #left #boxCategories p.hD {
  height: 44px !important;
  margin: 0 0 8px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--xl-nav) !important;
  color: #fff !important;
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
}
body.xl-redesign #left #boxCategories > div {
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}
body.xl-redesign #left .bPg { background: transparent !important; }
body.xl-redesign #left #boxCategories .bPg::after { border-color: #fff !important; }

/* ---------- 6. Правая колонка — один стиль ---------- */
body.xl-redesign #right {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
body.xl-redesign #right br,
body.xl-redesign #right #vk_groups { display: none !important; }

body.xl-redesign #right .xl-svc,
body.xl-redesign #right .boxStyle,
body.xl-redesign #right #boxWhatsNew,
body.xl-redesign #right #boxBestsellers,
body.xl-redesign #right #boxReviews,
body.xl-redesign #right .xl-side-card,
body.xl-redesign #right .xl-reviews-card {
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--xl-line) !important;
  border-radius: var(--xl-r) !important;
  background: var(--xl-surface) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  filter: none !important;
}
body.xl-redesign #right .xl-svc {
  padding: var(--xl-s2) var(--xl-s2) !important;
  min-height: 84px !important;
  text-decoration: none !important;
  transition: transform .15s ease, border-color .15s ease !important;
}
body.xl-redesign #right .xl-svc:hover {
  transform: translateY(-2px);
  border-color: #d5cbbb !important;
}
body.xl-redesign #right .xl-svc--accent {
  background: var(--xl-service-soft) !important;
  border-color: #d2e8eb !important;
}
body.xl-redesign #right .xl-svc__t {
  display: block !important;
  margin: 0 0 6px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: var(--xl-text) !important;
}
body.xl-redesign #right .xl-svc--accent .xl-svc__t { color: var(--xl-service) !important; }
body.xl-redesign #right .xl-svc__d {
  display: block !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: var(--xl-muted) !important;
}
body.xl-redesign #right .boxWhatsNewHeader,
body.xl-redesign #right .boxStyle h5,
body.xl-redesign #right .boxStyle p.hD,
body.xl-redesign #right .xl-reviews-card__h,
body.xl-redesign #right #boxBestsellers h5,
body.xl-redesign #right #boxReviews h5 {
  min-height: 52px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  display: flex !important;
  align-items: center !important;
  background: #fff !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid #F0EBE3 !important;
  color: var(--xl-text) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-transform: none !important;
  filter: none !important;
  text-align: left !important;
}
body.xl-redesign #right #boxWhatsNewContent,
body.xl-redesign #right #boxBestsellersContent,
body.xl-redesign #right #boxReviewsContent,
body.xl-redesign #right .boxStyle > div:not(.boxWhatsNewHeader),
body.xl-redesign #right .xl-reviews-card__b {
  padding: 16px 18px 18px !important;
  border: 0 !important;
  background: #fff !important;
}
body.xl-redesign #right .xl-reviews-card__stars { color: var(--xl-action) !important; letter-spacing: 2px; margin-bottom: 8px; }
body.xl-redesign #right .xl-reviews-card__t { display: block; font-size: 15px; font-weight: 800; margin-bottom: 6px; color: var(--xl-text); }
body.xl-redesign #right .xl-reviews-card__d { display: block; font-size: 13px; color: var(--xl-muted); line-height: 1.45; margin-bottom: 10px; }
body.xl-redesign #right .xl-reviews-card__link { color: var(--xl-service) !important; font-weight: 800; font-size: 13px; }
body.xl-redesign #right a[href="/reviews.php"] img[src*="reviews.png"] { display: none !important; }

/* ---------- 7. Категории ---------- */
body.xl-redesign .xl-section {
  margin-bottom: var(--xl-s5) !important;
}
body.xl-redesign .xl-section__title {
  margin: 0 !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: var(--xl-text) !important;
}
body.xl-redesign .xl-section__head {
  margin-bottom: var(--xl-s3) !important;
  align-items: end !important;
}
body.xl-redesign .xl-section__link {
  color: var(--xl-service) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
body.xl-redesign #icSet2.catalog,
body.xl-redesign table#icSet2 {
  gap: 16px !important;
}
body.xl-redesign #icSet2 a {
  min-height: 250px !important;
  padding: 28px 18px 24px !important;
  border-radius: 20px !important;
  border: 1px solid var(--xl-line) !important;
  background: var(--xl-surface) !important;
  box-shadow: var(--xl-shadow) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
body.xl-redesign #icSet2 a:hover {
  transform: translateY(-8px) scale(1.01) !important;
  border-color: rgba(14, 138, 150, 0.35) !important;
  box-shadow: var(--xl-shadow-lg) !important;
}
body.xl-redesign #icSet2 img {
  width: 132px !important;
  height: 132px !important;
  object-fit: contain !important;
  transition: transform .22s ease !important;
}
body.xl-redesign #icSet2 a:hover img { transform: scale(1.12) rotate(-2deg) !important; }
body.xl-redesign #icSet2 span {
  display: block !important;
  width: 100% !important;
  margin-top: 16px !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  color: var(--xl-text) !important;
}
body.xl-redesign #icSet2 td:nth-child(4n+1) a { background: linear-gradient(180deg, #fff 55%, #fff8f1) !important; }
body.xl-redesign #icSet2 td:nth-child(4n+2) a { background: linear-gradient(180deg, #fff 55%, #f3f9f9) !important; }
body.xl-redesign #icSet2 td:nth-child(4n+3) a { background: linear-gradient(180deg, #fff 55%, #faf4ff) !important; }
body.xl-redesign #icSet2 td:nth-child(4n+4) a { background: linear-gradient(180deg, #fff 55%, #f4f8f2) !important; }

/* ---------- 8. Идеальная карточка товара ---------- */
body.xl-redesign .xl-product-heading,
body.xl-redesign .xl-product-heading a {
  margin: 0 0 var(--xl-s3) !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: var(--xl-text) !important;
  text-decoration: none !important;
}
body.xl-redesign .xl-product-grid .pageItem,
body.xl-redesign #content .page .pageItem {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
@media (min-width: 1200px) {
  body.xl-redesign .xl-product-grid .pageItem,
  body.xl-redesign #content .page .pageItem {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

body.xl-redesign .xl-product-grid dl.itemNewProductsDefault,
body.xl-redesign #content dl.itemNewProductsDefault {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100% !important;
  border: 1px solid var(--xl-line) !important;
  border-radius: 20px !important;
  background: var(--xl-surface) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
body.xl-redesign .xl-product-grid dl.itemNewProductsDefault:hover {
  transform: translateY(-5px) !important;
  border-color: #d8cfc3 !important;
  box-shadow: var(--xl-shadow-lg) !important;
}

/* бейджи */
body.xl-redesign .xl-card__badges {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 4 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  align-items: flex-start !important;
}
body.xl-redesign .xl-card__badge {
  height: 26px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  background: var(--xl-action) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  display: inline-flex !important;
  align-items: center !important;
  position: static !important;
}
body.xl-redesign .xl-card__badge--sale { background: var(--xl-sale) !important; }
body.xl-redesign .xl-card__badge--new { background: var(--xl-service) !important; }

/* избранное */
body.xl-redesign .xl-card__fav {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 5 !important;
  width: 36px !important;
  height: 36px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 4px 12px rgba(26, 23, 20, 0.12) !important;
  cursor: pointer !important;
  display: inline-grid !important;
  place-items: center !important;
  color: #9A928A !important;
  transition: color .15s ease, transform .15s ease !important;
}
body.xl-redesign .xl-card__fav:hover {
  color: var(--xl-sale) !important;
  transform: scale(1.06);
}
body.xl-redesign .xl-card__fav svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }

/* фото — главный элемент */
body.xl-redesign .xl-product-grid dt.itemImage {
  position: relative !important;
  margin: 0 !important;
  padding: 20px 16px 8px !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  background: #fff !important;
}
body.xl-redesign .xl-product-grid dt.itemImage a.f_image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 210px !important;
}
body.xl-redesign .xl-product-grid dt.itemImage a.f_image img {
  width: 100% !important;
  max-width: 100% !important;
  max-height: 230px !important;
  object-fit: contain !important;
  transition: transform .22s ease !important;
}
body.xl-redesign .xl-product-grid dl.itemNewProductsDefault:hover dt.itemImage img {
  transform: scale(1.05) !important;
}
body.xl-redesign .xl-product-grid dt.itemImage > br,
body.xl-redesign .xl-product-grid dt.itemImage > input,
body.xl-redesign .xl-product-grid dt.itemImage > a.button,
body.xl-redesign .xl-product-grid .extra_effects3 {
  display: none !important;
}

/* быстрый просмотр */
body.xl-redesign .xl-card__qv {
  position: absolute !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 12px !important;
  z-index: 4 !important;
  height: 40px !important;
  border-radius: 10px !important;
  background: rgba(26, 23, 20, 0.92) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  opacity: 0 !important;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease !important;
}
body.xl-redesign .xl-product-grid dl.itemNewProductsDefault:hover .xl-card__qv {
  opacity: 1 !important;
  transform: translateY(0);
}

body.xl-redesign .xl-product-grid dd.xl-card__title,
body.xl-redesign .xl-product-grid dd.xl-card__desc,
body.xl-redesign .xl-product-grid dd.itemDescriptionPrice,
body.xl-redesign .xl-product-grid .xl-card__buy {
  padding-left: 16px !important;
  padding-right: 16px !important;
  margin: 0 !important;
}
body.xl-redesign .xl-product-grid dd.xl-card__title > a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  min-height: 2.7em !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--xl-text) !important;
  text-decoration: none !important;
}
body.xl-redesign .xl-product-grid dd.xl-card__desc {
  margin-top: 6px !important;
  font-size: 12px !important;
  color: var(--xl-muted) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
}
body.xl-redesign .xl-product-grid dd.itemDescription:nth-of-type(n+3) { display: none !important; }

/* цена */
body.xl-redesign .xl-product-grid dd.itemDescriptionPrice {
  margin-top: 12px !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: var(--xl-text) !important;
  line-height: 1.1 !important;
}
body.xl-redesign .xl-product-grid dd.itemDescriptionPrice s,
body.xl-redesign .xl-product-grid dd.itemDescriptionPrice strike,
body.xl-redesign .xl-product-grid dd.itemDescriptionPrice .productsOldPrice,
body.xl-redesign .xl-product-grid dd.itemDescriptionPrice span[style*="line-through"],
body.xl-redesign .xl-product-grid dd.itemDescriptionPrice font[style*="line-through"] {
  display: inline-block !important;
  margin-right: 8px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #9A928A !important;
  text-decoration: line-through !important;
}
body.xl-redesign .xl-product-grid dd.itemDescriptionPrice .productsNewPrice,
body.xl-redesign .xl-product-grid dd.itemDescriptionPrice font[color],
body.xl-redesign .xl-product-grid dd.itemDescriptionPrice b,
body.xl-redesign .xl-product-grid dd.itemDescriptionPrice strong {
  color: var(--xl-sale) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
}

/* купить */
body.xl-redesign .xl-product-grid .xl-card__buy {
  display: grid !important;
  grid-template-columns: 48px 1fr !important;
  gap: 8px !important;
  margin-top: auto !important;
  padding: 14px 16px 16px !important;
}
body.xl-redesign .xl-product-grid .xl-card__buy input[name="products_qty"] {
  width: 48px !important;
  height: 48px !important;
  border: 1px solid var(--xl-line) !important;
  border-radius: 12px !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  box-sizing: border-box !important;
}
body.xl-redesign .xl-product-grid .xl-card__buy a.button,
body.xl-redesign .xl-product-grid .xl-card__buy .button {
  width: 100% !important;
  height: 48px !important;
  border-radius: 12px !important;
  background: var(--xl-action) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(232, 102, 34, 0.28) !important;
}

/* ---------- Мегаменю: shell + плотнее ---------- */
body.xl-redesign .xl-nav__panel-inner {
  background: #fff !important;
  box-shadow: 0 28px 56px rgba(23, 21, 19, 0.24) !important;
}
body.xl-redesign .xl-nav__head {
  padding: 16px 24px !important;
  background: var(--xl-nav) !important;
}
body.xl-redesign .xl-nav__head-title { font-size: 18px !important; }
body.xl-redesign .xl-age--panel {
  background: var(--xl-action) !important;
  border-radius: 999px !important;
  min-width: 40px !important;
  height: 28px !important;
  color: #fff !important;
  font-weight: 800 !important;
}
body.xl-redesign .xl-nav__body { padding: 20px 24px !important; }
body.xl-redesign .xl-nav__card {
  min-height: 118px !important;
  border-radius: 14px !important;
}
body.xl-redesign .xl-nav__links a {
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 8px 0 !important;
}
body.xl-redesign .xl-nav__foot-cta {
  background: var(--xl-action) !important;
  height: 44px !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
}

/* burger = catalog */
body.xl-redesign .xl-mmenu.xl-catalog {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  background: var(--xl-nav) !important;
}

/* Промо вверху — компактнее, часть ритма */
body.xl-redesign .xl-promo {
  margin: 0 0 var(--xl-s5) !important;
  gap: 12px !important;
}
body.xl-redesign .xl-promo a {
  min-height: 108px !important;
  padding: 20px 18px !important;
  border-radius: 16px !important;
}
body.xl-redesign .xl-promo__t { font-size: 16px !important; font-weight: 800 !important; }
body.xl-redesign .xl-promo__d { font-size: 13px !important; }

@media (max-width: 1200px) {
  body.xl-redesign .xl-hero {
    min-height: 420px !important;
    padding: var(--xl-s4) var(--xl-s3) !important;
  }
  body.xl-redesign .xl-hero__title { font-size: 38px !important; }
  body.xl-redesign .xl-brandrow .xl-wrap { height: auto !important; min-height: 80px !important; }
}
