/* Migration compatibility: presentation only; no catalog, stock or order logic. */
body.es-next .thumb .thumb__picture {
  padding: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  line-height: 0 !important;
}
body.es-next .thumb .thumb__picture > img {
  position: absolute !important;
  inset: 2% !important;
  width: 96% !important;
  height: 96% !important;
  max-width: 96% !important;
  max-height: 96% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
/* Separate text, product and action into non-overlapping grid rows. */
body.es-next .es-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto 210px auto;
  gap: 14px;
  min-height: 0;
  padding: 28px;
}
body.es-next .es-story > div { display: contents; }
body.es-next .es-story > img {
  position: static;
  grid-area: 3 / 1;
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center;
}
body.es-next .es-story h2 {
  grid-area: 1 / 1;
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
}
body.es-next .es-story p {
  grid-area: 2 / 1;
  min-width: 0;
  margin: 0;
  font-size: clamp(28px, 3.1vw, 42px);
  line-height: 1.1;
  letter-spacing: -1px;
}
body.es-next .es-story span {
  grid-area: 4 / 1;
  min-width: 0;
  font-size: 12px;
  line-height: 1.5;
}
body.es-next .es-section-heading { flex-wrap: wrap; gap: 12px 20px; }
body.es-next .es-section-heading > h2 { min-width: 0; }
body.es-next .heading_catalog { padding: 0 !important; margin: 8px 0 22px !important; }
body.es-next .heading_catalog .title { margin: 0 !important; line-height: 1.18 !important; }
/* Restyle the existing native filter without changing its IDs or handlers. */
body.es-next .filter_icons_block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0 20px;
  margin: 0;
  clear: both;
}
body.es-next .filter_icons_block > .clear { display: none; }
body.es-next .filter_icons_block .filter_icon {
  float: none;
  width: auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
}
body.es-next .filter_icon_show {
  gap: 10px;
  padding: 11px 16px;
  background: var(--es-ink, #101b29);
  color: #fff;
  border: 1px solid var(--es-ink, #101b29);
  border-radius: 0;
}
body.es-next .filter_icons_block .f_icon { display: none !important; }
body.es-next .filter_icon_show::before {
  content: '';
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18'/%3E%3Cpath d='M8 3v6M16 9v6M10 15v6'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.es-next .filter_icon_show .f_icon + span { font-size: 0 !important; color: inherit !important; }
body.es-next .filter_icon_show .f_icon + span::after {
  content: 'Фильтры';
  font: 600 13px/1.4 Manrope, Arial, sans-serif;
}
body.es-next .filter_icon_clear .filter_clear_lbl {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 6px 0 6px 8px;
  color: var(--es-muted, #69717c) !important;
  background: none;
  font: 400 12px/1.4 Manrope, Arial, sans-serif;
  text-decoration: none;
}
body.es-next .filter_icon_clear .filter_clear_lbl:hover { color: var(--es-ink, #101b29) !important; text-decoration: underline; }
body.es-next .filter_block_js {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100vh !important;
  height: 100dvh !important;
  padding: 90px 20px 36px !important;
  margin: 0 !important;
  background: #fff;
  overflow-x: hidden;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  z-index: 10010 !important;
  font-family: Manrope, Arial, sans-serif;
}
body.es-next .filter_block_js .smartfilter { max-width: 760px; margin: 0 auto; }
body.es-next .filter_block_js .filter__title {
  margin: 0 0 18px;
  padding: 0;
  color: var(--es-ink, #101b29);
  font: 700 26px/1.2 Manrope, Arial, sans-serif;
}
body.es-next .filter_block_js .filter__item {
  float: none;
  width: 100%;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid var(--es-line, #e2e5e9);
}
body.es-next .filter_block_js .bx-filter-parameters-box-title {
  color: var(--es-ink, #101b29);
  font: 600 14px/1.5 Manrope, Arial, sans-serif;
}
body.es-next .filter_block_js .bx-filter-param-label { font-family: Manrope, Arial, sans-serif; }
body.es-next .filter_block_js .filter_btns {
  display: flex;
  align-items: center;
  gap: 8px;
  position: fixed !important;
  inset: 0 0 auto !important;
  width: 100% !important;
  min-height: 72px;
  padding: 12px 16px;
  margin: 0;
  background: #fff;
  border-bottom: 1px solid var(--es-line, #e2e5e9);
  z-index: 10020 !important;
}
body.es-next .filter_block_js .filter_btn_close {
  display: grid;
  place-items: center;
  float: none;
  flex: 0 0 44px;
  width: 44px !important;
  height: 44px;
  margin: 0;
  padding: 0;
  color: var(--es-ink, #101b29);
  background: none !important;
  text-decoration: none;
  border: 1px solid var(--es-line, #e2e5e9);
}
body.es-next .filter_block_js .filter_btn_close::after { content: '×'; font: 28px/1 Arial, sans-serif; }
body.es-next .filter_block_js .filter_btns .filter__reset,
body.es-next .filter_block_js .filter_btns .button {
  float: none !important;
  position: static !important;
  flex: 1 1 0;
  min-width: 0 !important;
  width: auto !important;
  min-height: 44px;
  height: auto;
  padding: 12px 8px;
  margin: 0 !important;
  border-radius: 0;
  font: 600 12px/1.4 Manrope, Arial, sans-serif;
}
body.es-next .filter_block_js .filter_btns .filter__reset {
  color: var(--es-ink, #101b29);
  background: #fff;
  border: 1px solid var(--es-line, #e2e5e9);
}
body.es-next .filter_block_js .filter_btns .button {
  color: #fff;
  background: var(--es-ink, #101b29);
  border: 1px solid var(--es-ink, #101b29);
}
@media (max-width: 680px) {
  body.es-next .es-story { padding: 22px; gap: 12px; grid-template-rows: auto auto 180px auto; }
  body.es-next .es-story p { font-size: clamp(26px, 8vw, 34px); letter-spacing: -.8px; }
  body.es-next .es-story span { font-size: 11px; }
  body.es-next .es-section-heading { gap: 10px 16px; }
  body.es-next .offers ul.catalog { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
