/*
 * GBC design system foundation.
 *
 * This file is the final, shared presentation layer for reusable storefront
 * primitives. Page-specific layouts stay in their component templates/CSS.
 * Avoid adding URL-, section-ID- or element-ID-specific rules here.
 */

:root {
  /* Brand and semantic colour tokens. */
  --gbc-color-brand: #f1851c;
  --gbc-color-brand-hover: #d96f0c;
  --gbc-color-brand-text: #9b4a07;
  --gbc-color-brand-soft: #fff4e8;
  --gbc-color-brand-soft-strong: #ffead2;
  --gbc-color-sage-soft: #eef4ee;
  --gbc-color-sage: #58705d;
  --gbc-color-buy: #236b42;
  --gbc-color-buy-hover: #195632;
  --gbc-color-on-buy: #ffffff;
  --gbc-color-text: #2a2a2a;
  --gbc-color-text-muted: #6b6b6b;
  --gbc-color-surface: #ffffff;
  --gbc-color-surface-soft: #f5f5f3;
  --gbc-color-border: #e7e5e1;
  --gbc-color-focus: var(--gbc-color-brand-hover);
  --gbc-dropdown-width: 244px;
  --gbc-dropdown-radius: var(--gbc-radius-card);
  --gbc-dropdown-shadow: 0 12px 28px rgba(42, 42, 42, .12);

  /* Typography. Montserrat is already supplied locally by the template. */
  --gbc-font-family: "Montserrat", Arial, sans-serif;
  --gbc-font-weight-regular: 400;
  --gbc-font-weight-medium: 500;
  --gbc-font-weight-semibold: 600;
  --gbc-font-weight-heading: var(--gbc-font-weight-regular);
  --gbc-font-size-ui: 16px;
  --gbc-line-height-ui: 24px;
  --gbc-font-size-small: 14px;
  --gbc-line-height-small: 20px;
  --gbc-font-size-price: 18px;
  --gbc-line-height-price: 22px;
  --gbc-font-size-price-mobile: 15px;
  --gbc-icon-size-control: 18px;
  --gbc-touch-target: 44px;
  --gbc-product-title-weight: var(--gbc-font-weight-semibold);
  --gbc-catalog-price-height: 32px;
  --gbc-catalog-price-min-width: 84px;
  --gbc-catalog-action-min-width: calc(var(--gbc-catalog-price-min-width) + var(--gbc-space-6));
  --gbc-catalog-price-size: 16px;
  --gbc-product-section-size: 20px;
  --gbc-product-detail-heading-size: var(--gbc-font-size-ui);
  --gbc-product-detail-heading-line: 22px;
  --gbc-product-tag-size: 12px;
  --gbc-product-tag-line: 18px;
  --gbc-product-tag-height: var(--gbc-space-6);
  --gbc-product-composition-line: 20px;
  --gbc-product-close-icon: 14px;
  --gbc-product-favorite-icon: 24px;
  --gbc-payment-mark-width: 96px;
  --gbc-dialog-width: 904px;
  --gbc-dialog-height: min(92dvh, 900px);

  /* One spacing scale for templates and components. */
  --gbc-space-1: 4px;
  --gbc-space-2: 8px;
  --gbc-space-3: 12px;
  --gbc-space-4: 16px;
  --gbc-space-5: 24px;
  --gbc-space-6: 32px;
  --gbc-space-7: 48px;
  --gbc-space-8: 64px;

  --gbc-radius-control: 8px;
  --gbc-radius-card: 12px;
  --gbc-radius-dialog: 16px;
  --gbc-control-height: 48px;
  --gbc-container-content: 1280px;
  --gbc-container-gutter: 24px;
  --gbc-transition-fast: 160ms ease;
  --gbc-shadow-popover: 0 12px 28px rgba(42, 42, 42, .12);

  /* Listing navigation shares the filled, borderless control family. */
  --gbc-pagination-size: var(--gbc-touch-target);
  --gbc-load-more-width: 240px;
  --gbc-loading-icon-size: var(--gbc-icon-size-control);

  /* Dense filter lists keep explicit selection and a labelled reset action. */
  --gbc-filter-row-height: 36px;
  --gbc-filter-checkbox-size: 20px;
  --gbc-filter-list-height: 320px;
  --gbc-filter-reset-width: 136px;

  /* Keep Aspro components on the same brand primitive. */
  --theme-base-color: var(--gbc-color-brand);
  --theme-base-opacity-color: rgba(241, 133, 28, 0.12);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--gbc-color-text);
  font-family: var(--gbc-font-family);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* Search suggestions share the same white, compact popup on every header. */
body div.title-search-result {
  --gbc-search-image-size: 48px;
  --gbc-search-list-height: 360px;
  box-sizing: border-box;
  max-width: calc(100vw - 2 * var(--gbc-container-gutter));
  margin-top: var(--gbc-space-2);
  padding: var(--gbc-space-2);
  overflow: hidden;
  border: 0 !important;
  border-radius: var(--gbc-radius-dialog);
  background: var(--gbc-color-surface);
  color: var(--gbc-color-text);
  box-shadow: var(--gbc-shadow-popover);
  z-index: 1101;
}
body div.title-search-result .bx_searche {
  max-height: min(var(--gbc-search-list-height), 55dvh);
  margin: 0;
  overflow: auto;
  overscroll-behavior: contain;
  background: transparent;
  scrollbar-width: thin;
  scrollbar-color: var(--gbc-color-border) transparent;
}
body div.title-search-result .bx_item_block {
  min-height: var(--gbc-touch-target);
  padding: 0;
  border: 0;
  border-radius: var(--gbc-radius-control);
  background: transparent;
  color: var(--gbc-color-text);
  transition: background-color var(--gbc-transition-fast);
}
body div.title-search-result .bx_item_block > .maxwidth-theme {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: var(--gbc-space-3);
  width: 100%;
  max-width: none;
  padding: var(--gbc-space-2);
  margin: 0;
}
body div.title-search-result .bx_img_element {
  flex: 0 0 var(--gbc-search-image-size);
  width: var(--gbc-search-image-size);
  height: var(--gbc-search-image-size);
  margin: 0;
  border-radius: var(--gbc-radius-control);
  overflow: hidden;
}
body div.title-search-result .bx_img_element img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  border-radius: inherit;
}
body div.title-search-result .bx_item_element {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: var(--gbc-font-size-small);
  line-height: var(--gbc-line-height-small);
}
body div.title-search-result .bx_searche .bx_img_element + .bx_item_element { padding-inline-start: 0; }
body div.title-search-result .bx_item_element > span {
  display: block;
  font-size: inherit;
  font-weight: var(--gbc-product-title-weight);
  line-height: inherit;
}
body div.title-search-result .title-search-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--gbc-space-2);
  margin: var(--gbc-space-1) 0 0;
}
body div.title-search-result .title-search-price .price {
  margin: 0;
  padding: 0;
  font-size: var(--gbc-font-size-small);
  font-weight: var(--gbc-font-weight-medium);
  line-height: var(--gbc-line-height-small);
}
body div.title-search-result :is(.title-search-price .discount, .item-parent) {
  color: var(--gbc-color-text-muted);
  font-size: 12px;
  font-weight: var(--gbc-font-weight-regular);
  line-height: 18px;
}
body div.title-search-result .bx_item_block:is(:hover, :focus-visible, .title-search-selected) { background: var(--gbc-color-brand-soft); }
body div.title-search-result .bx_item_block:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: -2px; }
body div.title-search-result .bx_item_block.all_result { margin-top: var(--gbc-space-2); padding: 0; background: transparent; border: 0; }
body div.title-search-result .bx_item_element .all_result_title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--gbc-touch-target);
  width: 100%;
  margin: 0;
  padding: var(--gbc-space-2) var(--gbc-space-4);
  border: 0;
  border-radius: var(--gbc-radius-control);
  background: var(--gbc-color-surface-soft);
  color: var(--gbc-color-text);
  font-size: var(--gbc-font-size-small);
  line-height: var(--gbc-line-height-small);
  white-space: normal;
}
body div.title-search-result .bx_item_element .all_result_title:is(:hover, :focus-visible, :active) { background: var(--gbc-color-brand-soft); color: var(--gbc-color-text); }

/* Vector control; theme classes may not restore the old PNG or grey fill. */
body a#scrollToTop.scroll-to-top {
  display: grid;
  place-items: center;
  width: var(--gbc-touch-target);
  height: var(--gbc-touch-target);
  border: 0;
  border-radius: 50%;
  background: var(--gbc-color-brand-soft) !important;
  color: var(--gbc-color-text);
  box-shadow: var(--gbc-shadow-popover);
  pointer-events: none;
  visibility: hidden;
  transition: opacity var(--gbc-transition-fast), background-color var(--gbc-transition-fast);
}
body a#scrollToTop.scroll-to-top.visible { pointer-events: auto; visibility: visible; }
body a#scrollToTop.scroll-to-top:is(:hover, :active) { background: var(--gbc-color-brand-soft-strong) !important; color: var(--gbc-color-text); }
body a#scrollToTop.scroll-to-top:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 3px; }
body a#scrollToTop.scroll-to-top svg { display: block; width: var(--gbc-space-5); height: var(--gbc-space-5); fill: none; }

@media (max-width: 991px) {
  body #mobileheader .mobileheader-v1 { position: relative; }
  body #mobileheader .mobileheader-v1 > .pull-left,
  body #mobileheader .search-wrapper,
  body #mobileheader :is(#title-search, #title-search_mobile_search) { position: static; }
  body #mobileheader .search-wrapper { width: 100%; height: 58px; }
  body #mobileheader div.title-search-result {
    left: var(--gbc-container-gutter) !important;
    right: var(--gbc-container-gutter);
    top: 100% !important;
    width: auto !important;
    max-width: none;
  }
  body #mobileheader .search-button-div { display: none; }
  body a#scrollToTop.scroll-to-top { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  body div.title-search-result .bx_item_block,
  body a#scrollToTop.scroll-to-top { transition: none; }
}

/*
 * Layout primitive. The outer width includes the two page gutters, leaving
 * 1280px of real content at large viewports. The existing Aspro classes are
 * used so header, content and footer share one vertical axis.
 */
.gbc-container,
body :is(.maxwidth-theme, .wrapper_inner):not(.no-maxwidth) {
  box-sizing: border-box;
  width: 100%;
  max-width: calc(var(--gbc-container-content) + (var(--gbc-container-gutter) * 2));
  margin-inline: auto;
  padding-inline: var(--gbc-container-gutter);
}

/* The page shell owns its gutter once. Aspro adds a second maxwidth-theme
 * when the sidebar is hidden, including after a component changes that
 * setting. Those shell children inherit the available content width;
 * component cards, hero padding and the homepage keep their own layout. */
body#main .wrapper1:not(.front_page) #content > .wrapper_inner .middle > .container > .maxwidth-theme,
body#main .wrapper1:not(.front_page) #content > .wrapper_inner > .container_inner > .right_block.maxwidth-theme {
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

.gbc-section {
  padding-block: var(--gbc-space-8);
}

.gbc-stack {
  display: flex;
  flex-direction: column;
  gap: var(--gbc-space-5);
}

.gbc-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--gbc-space-5);
}

.gbc-card {
  overflow: hidden;
  border: 1px solid var(--gbc-color-border);
  border-radius: var(--gbc-radius-card);
  background: var(--gbc-color-surface);
}

/* Shared heading rhythm. Editorial/blog typography remains self-contained. */
body:not(.blog_page) .topic__heading #pagetitle {
  margin: 0;
  color: var(--gbc-color-text);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: var(--gbc-font-weight-heading);
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

body:not(.blog_page) :is(
  .top_block .title_block,
  .top_block .top_block_title,
  .ordered-block__title
) {
  color: var(--gbc-color-text);
  font-size: clamp(24px, 2.2vw, 30px);
  font-weight: var(--gbc-font-weight-heading);
  line-height: 1.27;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

/* Breadcrumbs use the same readable secondary type everywhere. */
body #navigation .breadcrumbs,
body #navigation .breadcrumbs a,
body #navigation .breadcrumbs span {
  font-size: var(--gbc-font-size-small);
  line-height: var(--gbc-line-height-small);
}

/* One catalog-section action on the homepage and branch pages. */
body .homeMoreCategory a.homeMoreLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--gbc-space-2);
  box-sizing: border-box;
  min-height: var(--gbc-control-height);
  padding: 11px 24px;
  border: 0;
  border-radius: var(--gbc-radius-dialog);
  background: var(--gbc-color-surface-soft);
  color: var(--gbc-color-text);
  font-family: var(--gbc-font-family);
  font-size: var(--gbc-font-size-small);
  font-weight: var(--gbc-font-weight-semibold);
  line-height: var(--gbc-line-height-small);
  text-decoration: none;
}
body .homeMoreCategory a.homeMoreLink:hover { background: var(--gbc-color-brand-soft); color: var(--gbc-color-text); }
body .homeMoreCategory a.homeMoreLink:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 3px; }

/* Explicit control contracts plus the safe, repeated Aspro form surfaces. */
.gbc-button,
body :where(
  .form .btn,
  .subscribe-form .btn,
  .basket-checkout-container .btn,
  .basket-checkout-block-btn .btn
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--gbc-control-height);
  padding: 11px 24px;
  border-radius: var(--gbc-radius-control);
  font-family: var(--gbc-font-family);
  font-size: var(--gbc-font-size-ui);
  font-weight: var(--gbc-font-weight-semibold);
  line-height: var(--gbc-line-height-ui);
  text-align: center;
  transition: background-color var(--gbc-transition-fast),
    border-color var(--gbc-transition-fast),
    color var(--gbc-transition-fast),
    box-shadow var(--gbc-transition-fast);
}

.gbc-button--primary {
  border: 1px solid var(--gbc-color-brand);
  background: var(--gbc-color-brand);
  color: #fff;
}

.gbc-button--primary:hover {
  border-color: var(--gbc-color-brand-hover);
  background: var(--gbc-color-brand-hover);
  color: #fff;
}

body :where(
  input.form-control,
  select.form-control,
  textarea.form-control,
  input.inputtext,
  select.inputtext,
  textarea.inputtext
):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
  box-sizing: border-box;
  min-height: var(--gbc-control-height);
  border-color: var(--gbc-color-border);
  border-radius: var(--gbc-radius-control);
  background: var(--gbc-color-surface);
  color: var(--gbc-color-text);
  font-family: var(--gbc-font-family);
  font-size: var(--gbc-font-size-ui);
  line-height: var(--gbc-line-height-ui);
}

body :where(
  input.form-control,
  select.form-control,
  textarea.form-control,
  input.inputtext,
  select.inputtext,
  textarea.inputtext
)::placeholder {
  color: var(--gbc-color-text-muted);
  opacity: 1;
}

/* One product-card visual contract across home, catalogue and recommendations. */
body#main:not(.blog_page) .catalog_block .catalog_item > .inner_wrap {
  overflow: visible;
  border: 0;
  border-radius: var(--gbc-radius-card);
  background: var(--gbc-color-surface);
  transition: box-shadow var(--gbc-transition-fast), transform var(--gbc-transition-fast);
}

body#main:not(.blog_page) .catalog_block .catalog_item > .inner_wrap:hover {
  box-shadow: none;
}

/* Aspro draws an inset frame on carousel hover. It reads as a dark "scar",
 * so the shared card contract explicitly keeps hover borderless. */
body#main:not(.blog_page) .catalog_block_template .catalog_block.owl-carousel .catalog_item:hover .inner_wrap {
  height: 100%;
  box-shadow: none;
}

body#main:not(.blog_page) .catalog_block :is(
  .image_wrapper_block > a,
  .section-gallery-wrapper__item img
) {
  overflow: hidden;
  border-radius: var(--gbc-radius-card);
}

body#main:not(.blog_page) .catalog_block .catalog_item .item-title a {
  display: -webkit-box;
  min-height: 44px;
  overflow: hidden;
  color: var(--gbc-color-text);
  font-size: 16px;
  font-weight: var(--gbc-product-title-weight);
  line-height: 22px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body#main:not(.blog_page) .catalog_block .catalog_item .item_info {
  display: flex;
  flex-direction: column;
}

body#main:not(.blog_page) .catalog_block .catalog_item .item_info--bottom_block {
  margin-top: auto;
  min-height: 90px;
}

body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 12px;
  min-height: 58px;
}

body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .singleReview,
body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices {
  min-width: 0;
  margin: 0;
}
body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .singleReview { grid-column: 1; grid-row: 1; }
body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices { grid-column: 2; grid-row: 1; }

body#main:not(.blog_page) .catalog_block .catalog_item .yandexPaySplit {
  min-height: 24px;
  margin-top: 8px;
  color: var(--gbc-color-text-muted);
  font-size: 13px;
  line-height: 18px;
}

/* Price and the native purchase action share one measured slot. Opacity swaps
 * preserve row geometry; existing in-cart / unavailable visibility is retained. */
@media (min-width: 992px) {
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices {
    position: relative; min-height: var(--gbc-catalog-price-height); min-width: var(--gbc-catalog-price-min-width);
    display: grid; align-items: center;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices .price_matrix_wrapper {
    display: block; min-height: var(--gbc-catalog-price-height);
    transition: opacity var(--gbc-transition-fast);
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices > .offer_buy_block {
    position: absolute; inset: 0; margin: 0; padding: 0;
    height: var(--gbc-catalog-price-height); transform: none;
    display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; justify-items: stretch; opacity: 0; pointer-events: none;
    transition: opacity var(--gbc-transition-fast);
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices > .offer_buy_block .button_block { width: 100%; min-width: 0; max-width: none; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices > .offer_buy_block .to-cart {
    display: flex; align-items: center; justify-content: center;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices > .offer_buy_block :is(.to-cart, .in-cart, .to-order) {
    box-sizing: border-box; position: static; transform: none;
    width: 100%; min-width: 0; max-width: none;
    height: var(--gbc-catalog-price-height); min-height: var(--gbc-catalog-price-height);
    margin: 0; padding: var(--gbc-space-1) var(--gbc-space-2);
    border: 0; border-radius: var(--gbc-radius-card); color: var(--gbc-color-text);
    font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small);
    white-space: nowrap;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices > .offer_buy_block :is(.to-cart, .in-cart, .to-order) span { padding: 0; transform: none; color: inherit; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices:is(:hover, :focus-within):has(> .offer_buy_block) .price_matrix_wrapper {
    opacity: 0;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices:is(:hover, :focus-within) > .offer_buy_block {
    opacity: 1; pointer-events: auto;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices:has(.in-cart:not([style*="display: none"]):not([style*="display:none"])) > .offer_buy_block {
    opacity: 1; pointer-events: auto;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices:has(.in-cart:not([style*="display: none"]):not([style*="display:none"])) .price_matrix_wrapper { opacity: 0; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices:has(.in-cart:not([style*="display: none"]):not([style*="display:none"])) .to-cart { display: none; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .prices-wrapper {
    box-sizing: border-box; min-height: var(--gbc-catalog-price-height); min-width: var(--gbc-catalog-price-min-width);
    width: max-content; flex-wrap: nowrap; margin: 0;
    display: flex; align-items: center; justify-content: center; gap: var(--gbc-space-2);
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .prices-wrapper .price { flex: none; margin: 0; white-space: nowrap; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .prices-wrapper .price.discount,
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .prices-wrapper .price.discount .price_value { font-size: 12px; line-height: 18px; }
}

body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price_value,
body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price {
  color: var(--gbc-color-text);
  font-size: var(--gbc-catalog-price-size);
  font-weight: var(--gbc-font-weight-medium);
  line-height: var(--gbc-line-height-ui);
}
body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices :is(.values_wrapper, .price_value, .price_currency) { font: inherit; }
body#main:not(.blog_page) .catalog_block .catalog_item .price_matrix_wrapper > .price.font-bold,
body#main:not(.blog_page) .catalog_block .catalog_item .price_matrix_wrapper .prices-wrapper {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--gbc-catalog-price-height); min-width: var(--gbc-catalog-price-min-width);
  padding: var(--gbc-space-1) 14px; background: #f3f3f3; border-radius: 10px;
}

body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price.discount,
body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price.discount .price_value {
  color: var(--gbc-color-text-muted);
  font-size: 14px;
  font-weight: var(--gbc-font-weight-regular);
  line-height: 20px;
}

body#main:not(.blog_page) .catalog_block .catalog_item .stickers [class*="sticker_"] {
  border-radius: 999px;
  font-size: 14px;
  font-weight: var(--gbc-font-weight-semibold);
  line-height: 20px;
}

/* Shared content components: home, GEO and other pages use the same markup.
 * Keep content in Bitrix; these contracts only own presentation. */
body .benefits__container {
  box-sizing: border-box;
  max-width: calc(var(--gbc-container-content) + 2 * var(--gbc-container-gutter));
  padding-inline: var(--gbc-container-gutter);
}
body .benefits__content { gap: var(--gbc-space-4); }
body .benefits .benefits__item {
  overflow: hidden;
  border: 0;
  border-radius: var(--gbc-radius-dialog);
  background: var(--gbc-color-surface-soft);
}
body .benefits .item-benefits__info { padding: 24px 24px 0; text-align: left; gap: 8px; }
body .benefits .item-benefits__subtitle { color: var(--gbc-color-text); font-size: 18px; line-height: 1.35; }
body .benefits .item-benefits__text { max-width: none; color: var(--gbc-color-text-muted); font-size: 14px; line-height: 1.5; }

body .main-branches__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  background: var(--gbc-color-sage-soft);
  border-radius: var(--gbc-radius-dialog);
}
body .main-branches__container::before,
body .main-branches__container::after { display: none; }
body .main-branches__content { padding: var(--gbc-space-7); align-self: center; }
body .main-branches__title { margin: 0 0 20px; color: var(--gbc-color-text); font-size: 24px; line-height: 1.3; font-weight: var(--gbc-font-weight-heading); }
body .main-branches__title span { margin-bottom: 8px; color: var(--gbc-color-text); font-size: clamp(30px, 3vw, 40px); line-height: 1.15; letter-spacing: -.02em; }
body .main-branches__text { margin-bottom: 24px; color: var(--gbc-color-text-muted); font-size: 16px; line-height: 1.6; }
body .main-branches__img-ibg { order: initial; padding-bottom: 0; min-height: 280px; }
body .main-branches__img-ibg img { border-radius: 0; object-fit: cover; }
body .main-branches .main-branches__button { min-height: 48px; height: auto; padding: 12px 24px; border: 0; border-radius: 12px; font-size: 14px !important; line-height: 24px !important; }

body .advantages .advantages__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: none;
  grid-auto-flow: row;
  gap: var(--gbc-space-4);
  overflow: visible;
}
body .advantages .advantages__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  grid-row: auto;
  order: initial;
  min-width: 0;
  height: auto;
  padding: var(--gbc-space-6);
  border: 0;
  border-radius: var(--gbc-radius-dialog);
  background: var(--gbc-color-brand-soft);
  text-align: left;
}
body .advantages .advantages__icon { width: 112px; height: 88px; margin-bottom: 24px; background: none; filter: none; }
body .advantages .advantages__icon img { transition: none; transform: none; }
body .advantages .advantages__title { margin: 0; color: var(--gbc-color-text); font-size: 18px; line-height: 1.4; font-weight: var(--gbc-font-weight-heading); text-align: left; text-wrap: pretty; }
body .advantages .advantages__item:has(.advantages__text) .advantages__title { margin-bottom: 12px; }
body .advantages .advantages__text { margin: 0; color: var(--gbc-color-text-muted); font-size: 14px; line-height: 1.6; font-weight: 400; text-wrap: pretty; }
body .advantages > .swipeIco { display: none; }

/* Editable SEO fragments are distributed between related homepage sections.
 * They deliberately stay borderless and compact, so content remains useful
 * without returning a large text wall at the bottom of the page. */
body .gbc-home-seo {
  max-width: 980px;
  padding-block: var(--gbc-space-6);
  color: var(--gbc-color-text-muted);
  font-size: 14px;
  line-height: 1.75;
}
body .gbc-home-seo h2 {
  margin: 0 0 var(--gbc-space-3);
  color: var(--gbc-color-text);
  font-size: clamp(24px, 2vw, 30px);
  font-weight: var(--gbc-font-weight-heading);
  line-height: 1.3;
  letter-spacing: -.015em;
  text-wrap: balance;
}
body .gbc-home-seo h3 {
  margin: var(--gbc-space-5) 0 var(--gbc-space-2);
  color: var(--gbc-color-text);
  font-size: 18px;
  font-weight: var(--gbc-font-weight-heading);
  line-height: 1.4;
}
body .gbc-home-seo p { margin: 0 0 var(--gbc-space-3); }
body .gbc-home-seo p:last-child { margin-bottom: 0; }
body .gbc-home-seo ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gbc-space-4) var(--gbc-space-6);
  margin: var(--gbc-space-4) 0 0;
  padding: 0;
  list-style: none;
}
body .gbc-home-seo li {
  display: grid;
  grid-template-columns: 6px minmax(0, 1fr);
  align-items: start;
  gap: var(--gbc-space-3);
  position: relative;
  margin: 0;
  padding: 0;
  color: var(--gbc-color-text);
  line-height: 1.6;
}
body .gbc-home-seo li::before {
  display: block;
  position: static;
  margin: .6em 0 0;
  padding: 0;
  transform: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gbc-color-brand);
  content: "";
}
body .gbc-home-seo--catalog { padding-top: var(--gbc-space-7); padding-bottom: 0; }
body .gbc-home-seo--gift { padding-bottom: var(--gbc-space-5); }
body .gbc-home-seo--occasion { padding-block: 0 var(--gbc-space-5); }
body .gbc-home-seo--selection { padding-top: var(--gbc-space-5); }

body .faq-main_section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--gbc-space-7); align-items: start; }
body .faq-main_section .faq-main_top { color: var(--gbc-color-text-muted); font-size: 13px; line-height: 20px; margin-bottom: 12px; }
body .faq-main_section .faq-main_title { margin: 0; color: var(--gbc-color-text); font-size: clamp(26px, 2.2vw, 32px); font-weight: var(--gbc-font-weight-heading); line-height: 1.25; letter-spacing: -.015em; }
body .faq-main_section .faq-main_bottom { max-width: none; margin-top: 16px; color: var(--gbc-color-text-muted); font-size: 14px; line-height: 1.6; }
body .faq-main_section .faq-section { min-width: 0; max-width: none; }
body .faq-main_section .accordion-type-1 { margin-bottom: 10px; }
body .faq-main_section .item.item-accordion-wrapper {
  overflow: hidden;
  margin: 0;
  border: 0;
  border-radius: var(--gbc-radius-dialog);
  background: var(--gbc-color-surface-soft);
  box-shadow: none;
}
body .faq-main_section .item-accordion-wrapper .accordion-head {
  min-height: 60px;
  padding: 20px 60px 20px 24px;
  border: 0;
  background: transparent;
  color: var(--gbc-color-text);
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
}
body .faq-main_section .accordion-head:hover { background: var(--gbc-color-brand-soft); }
body .faq-main_section .accordion-head .arrow_open { border: 0; box-shadow: none; background-color: transparent; }
body .faq-main_section .item-accordion-wrapper .accordion-body { padding: 0 24px 24px; border: 0; background: transparent; }
body .faq-main_section .item-views .item .previewtext p { color: var(--gbc-color-text-muted); font-size: 14px; line-height: 1.65; }

body .gallery-block .gallery-item__video { padding: 0; overflow: hidden; border: 0; border-radius: var(--gbc-radius-dialog); background: var(--gbc-color-surface-soft); }
body .gallery-block .gallery-item__video > a { border: 0; border-radius: var(--gbc-radius-dialog); }
body .gallery-block .gallery-item__video img { padding: 0; border-radius: var(--gbc-radius-dialog); }
body .gallery-block .gallery-item__video > svg { width: 44px; height: 44px; padding: 4px; border-radius: 50%; background: #fff; box-shadow: 0 2px 12px rgb(0 0 0 / 10%); }
body .gallery-block .gallery-item__info { padding-top: 14px; }
body .gallery-block .gallery-item__info > span { color: var(--gbc-color-text); font-size: 14px; font-weight: 600; line-height: 1.4; }
body .gallery-block .gallery-description { margin-top: 6px; color: var(--gbc-color-text-muted); font-size: 12px; line-height: 1.5; }

body .item-views.sales2 .item {
  overflow: hidden;
  height: 100%;
  border: 0;
  border-radius: var(--gbc-radius-dialog);
  background: var(--gbc-color-surface-soft);
  box-shadow: none;
}
body .item-views.sales2 .item .image { margin: 0; border-radius: 0; }
body .item-views.sales2 .item .image .bg-fon-img { border-radius: var(--gbc-radius-dialog) var(--gbc-radius-dialog) 0 0; }
body .item-views.sales2 .item .inner-text { padding: 20px 24px 24px; }
body .item-views.sales2 .item .title a { color: var(--gbc-color-text); font-size: 16px; font-weight: var(--gbc-font-weight-heading); line-height: 1.5; }

/* Catalogue and product surfaces share the homepage tokens. Keep native
 * visibility, purchase actions, AJAX filters and gallery behaviour intact. */
body .catalog1 .filter-panel-wrapper {
  padding: 0;
  margin-bottom: var(--gbc-space-5);
  border: 0;
  border-radius: var(--gbc-radius-dialog);
  background: transparent;
}
/* Catalogue uses the same content edge as the header, not a second gutter. */
body .wrapper_inner .middle > .container > .maxwidth-theme:has(.main-catalog-wrapper) { padding-inline: 0; }
body .flower-bar {
  --gbc-category-size: 92px;
  --gbc-category-width: 100px;
  margin-bottom: var(--gbc-space-5);
}
body .flower-bar__wrapper { padding-inline: 0; }
body .flower-bar__slider .swiper-slide { width: var(--gbc-category-width); min-height: calc(var(--gbc-category-size) + var(--gbc-space-2) + 36px); }
body .flower-bar__slider .flower-item { width: 100%; min-height: calc(var(--gbc-category-size) + var(--gbc-space-2) + 36px); gap: var(--gbc-space-2); }
body .flower-bar__slider .flower-item__pic {
  width: var(--gbc-category-size); height: var(--gbc-category-size);
  flex-shrink: 0; max-width: 100%; margin: 0; border: 0;
}
body .flower-bar__slider .flower-item__pic img { object-fit: contain; }
body .flower-bar__slider .flower-item__name { min-height: 36px; margin: 0; font-size: 12px; line-height: 18px; }
body .flower-bar__slider .swiper-wrapper.is-loading { display: flex; gap: 16px; overflow: hidden; }
body .flower-bar__slider.swiper-initialized .swiper-wrapper.is-loading { gap: 0; }
body .flower-bar__slider .swiper-wrapper.is-loading .swiper-slide { flex-shrink: 0; width: var(--gbc-category-width) !important; }
body .flower-bar__slider .swiper-wrapper.is-loading .flower-item__pic,
body .flower-bar__slider .swiper-wrapper.is-loading .flower-item__name {
  background: var(--gbc-color-surface-soft); animation: gbc-category-loading 1200ms ease-in-out infinite alternate;
}
body .flower-bar__slider .swiper-wrapper.is-loading .flower-item__pic { border-radius: 50%; }
body .flower-bar__slider .swiper-wrapper.is-loading .flower-item__name { color: transparent; border-radius: var(--gbc-radius-control); width: 85%; }
@keyframes gbc-category-loading { to { background-color: var(--gbc-color-border); } }
@media (max-width: 991px) { body .flower-bar__slider .swiper-wrapper.is-loading { gap: 12px; } body .flower-bar__slider.swiper-initialized .swiper-wrapper.is-loading { gap: 0; } }
@media (prefers-reduced-motion: reduce) { body .flower-bar__slider .swiper-wrapper.is-loading :is(.flower-item__pic, .flower-item__name) { animation: none; } }
body .flower-bar__slider .flower-item.active .flower-item__name { padding: 0; border: 0; color: var(--gbc-color-brand-hover); }
body .flower-bar__slider .flower-item.active .flower-item__pic { background-color: var(--gbc-color-brand); box-shadow: none; }
/* The native rose-builder action consumes the same brand at every width. */
body .rose-builder__submit { background: var(--gbc-color-brand); color: var(--gbc-color-surface); }
body .flower-bar .swiper-button-prev { left: 0; }
body .flower-bar .swiper-button-next { right: 0; }
body .flower-bar .swiper-button-lock { display: none !important; }

body .top-content-block .landings-list { padding: 0; border: 0; }
body .top-content-block .landings-list__item { margin: 0 var(--gbc-space-2) var(--gbc-space-2) 0; }
body .top-content-block .landings-list__name {
  display: inline-flex; align-items: center; gap: var(--gbc-space-2);
  min-height: var(--gbc-touch-target); padding: var(--gbc-space-2) var(--gbc-space-3);
  border: 0 !important; border-radius: var(--gbc-radius-card);
  background: var(--gbc-color-surface-soft); box-shadow: none;
  color: var(--gbc-color-text); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small);
}
body .top-content-block .landings-list__name:is(:hover, .active) { background: var(--gbc-color-brand-soft); color: var(--gbc-color-text); }
body .top-content-block .landings-list__item--active .landings-list__name { background: var(--gbc-color-brand-soft-strong); }

body .catalog1 .filter-panel-wrapper { align-items: flex-start; gap: var(--gbc-space-2); flex-wrap: wrap; }
body .catalog1 .filter-panel { top: auto; height: auto; margin: 0; flex: 0 0 auto; }
body .catalog1 .filter-panel__sort { float: none; }
body .catalog1 .filter-panel__sort .dropdown-select { padding: 0; background: none; }
body .catalog1 .filter-panel__sort .dropdown-select__title {
  display: flex; align-items: center; gap: var(--gbc-space-2);
  width: auto; height: var(--gbc-touch-target); padding: 0 var(--gbc-space-3);
  border: 0; border-radius: var(--gbc-radius-card); background: var(--gbc-color-surface-soft);
  color: var(--gbc-color-text); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small);
  max-width: 180px;
}
body .catalog1 .filter-panel__sort .dropdown-select__title > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body .catalog1 .filter-panel__sort .dropdown-select__title svg { display: block; }
body .catalog1 .filter-compact-block { min-width: 0; margin: 0; top: auto; flex: 1; }
body .catalog1 .bx_filter.compact form.smartfilter { position: relative; padding-right: calc(var(--gbc-touch-target) + var(--gbc-space-2)); }
body .catalog1 .bx_filter.compact { padding: 0; }
body .catalog1 .bx_filter.compact .bx_filter_section { margin: 0; }
body .catalog1 .bx_filter.compact .bx_filter_parameters {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--gbc-space-2); padding: 0; width: 100%;
}
body .catalog1 .bx_filter.compact .bx_filter_parameters > .bx_filter_parameters_box { float: none; margin: 0; }
body .catalog1 .bx_filter.compact .bx_filter_parameters_box > .bx_filter_parameters_box_title:not(.filter_title) {
  display: flex; align-items: center; gap: var(--gbc-space-2);
  min-height: var(--gbc-touch-target); padding: var(--gbc-space-2) var(--gbc-space-3);
  border: 0 !important; border-radius: var(--gbc-radius-card); background: var(--gbc-color-surface-soft);
  color: var(--gbc-color-text); box-shadow: none;
}
body .catalog1 .bx_filter.compact .bx_filter_parameters_box_title > :is(div, .text) {
  color: inherit; font-size: 15px; font-weight: var(--gbc-font-weight-medium); line-height: var(--gbc-line-height-small);
}
body .catalog1 .bx_filter.compact .bx_filter_parameters_box_title > .svg-inline-down {
  position: static !important; flex: 0 0 8px; width: 8px; height: 5px; margin: 0;
}
body .catalog1 .bx_filter.compact .bx_filter_parameters_box_title .delete_filter { position: static; margin: 0; }
body .catalog1 .bx_filter.compact .bx_filter_parameters_box_title .delete_filter::before { display: none; }
body .catalog1 .bx_filter.compact .bx_filter_parameters_box_title .delete_filter svg path { fill: currentColor; }
body .catalog1 .bx_filter.compact .bx_filter_parameters_box.active:not(.set) > .bx_filter_parameters_box_title { background: var(--gbc-color-surface); color: var(--gbc-color-text); }
body .catalog1 .bx_filter.compact .bx_filter_parameters_box.set > .bx_filter_parameters_box_title { background: var(--gbc-color-brand); color: var(--gbc-color-text); }
body .catalog1 .bx_filter.compact .bx_filter_block:not(.limited_block) {
  top: calc(100% + var(--gbc-space-2));
  padding: 20px 20px 0; border: 0;
  border-radius: var(--gbc-radius-dialog); background: var(--gbc-color-surface);
  box-shadow: 0 8px 32px rgb(42 42 42 / 12%); z-index: 20;
}
body .catalog1 .bx_filter.compact .prices > .bx_filter_block { width: 320px; }
body .catalog1 .bx_filter.compact .bx_filter_block .price_block { padding: 0; border: 0; }
body .catalog1 .bx_filter.compact .price_block > .bx_filter_parameters_box_title { display: none; }
body .catalog1 .bx_filter.compact .wrapp_change_inputs {
  display: flex; gap: var(--gbc-space-2); float: none; width: 100%; margin: 0;
}
body .catalog1 .bx_filter.compact .wrapp_change_inputs > .bx_filter_parameters_box_container_block { float: none; flex: 1; width: 50%; }
body .catalog1 .bx_filter.compact .wrapp_change_inputs .divider { display: none; }
body .catalog1 .bx_filter.compact .bx_filter_input_container {
  display: flex; align-items: center; padding: 0 var(--gbc-space-3); height: var(--gbc-control-height);
  border: 0; border-radius: var(--gbc-radius-control); background: var(--gbc-color-surface-soft); box-shadow: none;
}
body .catalog1 .bx_filter.compact .price_block .bx_filter_input_container::before { content: attr(data-label); color: var(--gbc-color-text-muted); font-size: var(--gbc-font-size-small); }
body .catalog1 .bx_filter.compact .bx_filter_input_container input {
  width: 100%; min-width: 0; height: 100%; padding: 0 var(--gbc-space-2);
  border: 0; background: transparent !important; font-size: 16px; color: var(--gbc-color-text); box-shadow: none;
}
body .catalog1 .bx_filter.compact .wrapp_slider { display: block; width: 100%; padding: var(--gbc-space-4) var(--gbc-space-2); margin: 0; }
body .catalog1 .bx_filter.compact .bx_ui_slider_track { margin: var(--gbc-space-2) 0; height: 4px; background: var(--gbc-color-border); }
body .catalog1 .bx_filter.compact .bx_ui_slider_part { display: none; }
body .catalog1 .bx_filter.compact .bx_ui_slider_handle {
  width: 22px; height: 22px; top: -9px; border: 2px solid var(--gbc-color-brand); border-radius: 50%;
  background: var(--gbc-color-surface); box-shadow: none;
}
body .catalog1 .bx_filter.compact .bx_filter_button_box { margin: 0; padding: 0; border: 0; background: transparent; }
body .catalog1 .bx_filter.compact .bx_filter_button_box .bx_filter_container_modef { margin: var(--gbc-space-2) 0; font-size: 12px; }
body .catalog1 .bx_filter_search_reset.btn-link-text { position: absolute; top: 0; right: 0; width: var(--gbc-touch-target); height: var(--gbc-touch-target); margin: 0; padding: var(--gbc-space-3); color: var(--gbc-color-text-muted); border-radius: var(--gbc-radius-card); background: var(--gbc-color-surface-soft); }
body .catalog1 .bx_filter_search_reset.btn-link-text > span { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
body .catalog1 .bx_filter.compact .filter.label_block input:not(:checked) + label::before { background: var(--gbc-color-surface); border-color: var(--gbc-color-border); }
body .catalog1 .bx_filter.compact .filter.label_block input[type="checkbox"]:not(:checked) + label:not(.sku)::before {
  display: block;
  box-sizing: border-box;
  border: 1px solid var(--gbc-color-text-muted);
}
body .catalog1 .bx_filter.compact .filter.label_block input:not(:checked) + label::after { opacity: 0; }
body .catalog1 .bx_filter.compact .filter.label_block input:checked + label::before { background: var(--gbc-color-brand); border-color: var(--gbc-color-brand); }
body .catalog1 .bx_filter.compact .filter.label_block input:checked + label::after { opacity: 1; }
body .catalog1 .bx_filter.compact .wrapp_all_inputs { border: 0; }
body .catalog1 .bx_filter.compact .bx_ui_slider_handle::after { display: none; }
body .top-content-block .landings-list__info-wrapper { gap: var(--gbc-space-2); }
body .top-content-block .landings-list__info-wrapper .landings-list__item { margin: 0; }
body .top-content-block .landings-list__info-wrapper .landings-list__name { margin: 0; }
@media (min-width: 768px) {
  body .top-content-block .landings-list__name { font-size: 13px; }
}
body:has(.catalog1 .bx_filter_parameters > .bx_filter_parameters_box.active) .retailcrm-consultant-app { opacity: 0 !important; pointer-events: none !important; }
body .catalog1 .bx_filter_parameters_box_title:hover { filter: brightness(.98); }
body .catalog1 :is(.bx_filter_parameters_box_title, .bx_filter_param_label, .bx_ui_slider_handle):focus-visible,
body .catalog1 .filter.label_block input:focus-visible + label,
body .top-content-block .landings-list__name:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }

@media (max-width: 991px) {
  body .flower-bar { --gbc-category-size: 64px; --gbc-category-width: 72px; margin-bottom: var(--gbc-space-4); }
  body .catalog1 .filter-panel-wrapper { background: transparent; padding: 0; align-items: flex-start; }
  body .catalog1 .filter-panel { display: flex; flex: 0 0 var(--gbc-touch-target); }
  body .catalog1 .filter-panel__sort .dropdown-select__title { width: var(--gbc-touch-target); padding: 0; justify-content: center; }
  body .catalog1 .filter-panel__sort .dropdown-select__title > :is(span, .svg) { display: none; }
  body .catalog1 .filter-panel__sort .dropdown-select__title::before {
    content: ''; width: 18px; height: 16px;
    background: linear-gradient(currentColor, currentColor) 0 1px / 18px 2px no-repeat,
      linear-gradient(currentColor, currentColor) 0 7px / 12px 2px no-repeat,
      linear-gradient(currentColor, currentColor) 0 13px / 6px 2px no-repeat;
  }
  body .catalog1 .filter-compact-block { overflow: visible; width: auto !important; }
  body .top-content-block .landings-list__info-wrapper { flex-wrap: nowrap; overflow-x: auto; padding-bottom: var(--gbc-space-2); }
  body .top-content-block .landings-list__item { flex: 0 0 auto; }
  body .top-content-block .landings-list__name { white-space: nowrap; }
  body .catalog1 .bx_filter.compact .bx_filter_parameters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: var(--gbc-space-2); }
  body .catalog1 .bx_filter.compact .bx_filter_parameters > .bx_filter_parameters_box { flex: 0 0 auto; }
  body .catalog1 .bx_filter.compact .bx_filter_parameters > .bx_filter_parameters_box > .bx_filter_block:not(.limited_block) {
    position: fixed; top: auto !important; bottom: calc(76px + env(safe-area-inset-bottom));
    left: var(--gbc-container-gutter); right: var(--gbc-container-gutter); width: auto; min-width: 0;
    max-height: calc(100dvh - 180px); overflow-y: auto; overscroll-behavior: contain; z-index: 110;
  }
  body .catalog1 .bx_filter.compact .bx_filter_input_container:focus-within { outline: 2px solid var(--gbc-color-focus); }
}
body .product-container .product-info .productName,
body .fast_view_frame .form_head h2 {
  margin: 0 0 var(--gbc-space-4);
  color: var(--gbc-color-text);
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: var(--gbc-font-weight-heading);
  line-height: 1.3;
  letter-spacing: -.015em;
}
body .fast_view_frame .fast-view-title { font-weight: inherit; }
body .product-container .product-info-wrapper { border: 0; }
body .product-container .product-info { padding: 0 0 var(--gbc-space-6); }
body :is(.product-container, .fast_view_frame) .product-detail-gallery__picture {
  border-radius: var(--gbc-radius-dialog);
}
body#main :is(.product-container, .fast_view_frame) .buy_block .button_block .btn {
  min-height: var(--gbc-control-height);
  height: auto;
  padding: var(--gbc-space-3) var(--gbc-space-5);
  border-radius: var(--gbc-radius-control);
  font-size: var(--gbc-font-size-ui);
  line-height: var(--gbc-line-height-ui);
}
body#main :is(.product-container, .fast_view_frame) .buy_block .button_block :is(.to-cart,.in-cart) {
  background: var(--gbc-color-buy);
  border-color: var(--gbc-color-buy);
  color: var(--gbc-color-on-buy);
}
body#main :is(.product-container, .fast_view_frame) .buy_block .button_block :is(.to-cart,.in-cart):hover {
  background: var(--gbc-color-buy-hover);
  border-color: var(--gbc-color-buy-hover);
}
body :is(.product-container, .fast_view_frame) .buy_block .counter_wrapp {
  padding-top: var(--gbc-space-3);
}
body :is(.product-container, .fast_view_frame) .info_ext_block {
  margin-top: var(--gbc-space-4);
  border-radius: var(--gbc-radius-card);
}
body .fast_view_frame {
  border-radius: var(--gbc-radius-dialog);
  background: var(--gbc-color-surface);
}
body .fast_view_frame .form_head { padding: var(--gbc-space-6) var(--gbc-space-6) var(--gbc-space-5); }
body .fast_view_frame .fastview-product { padding: 0 var(--gbc-space-6) var(--gbc-space-6); }

/* Shared static-page typography: existing CMS blocks keep their content,
 * images and responsive structure. No URL or element-ID exceptions. */
body .left_block .left_menu {
  padding: var(--gbc-space-2);
  border: 0;
  border-radius: var(--gbc-radius-dialog);
  background: var(--gbc-color-surface-soft);
}
body .left_block .left_menu > li { margin: 0; border: 0; }
body .left_block .left_menu > li > a {
  min-height: 44px;
  padding: var(--gbc-space-3) var(--gbc-space-4);
  border: 0;
  border-radius: var(--gbc-radius-control);
  background: transparent;
  line-height: var(--gbc-line-height-small);
}
body .left_block .left_menu > li.current > a,
body .left_block .left_menu > li > a:hover {
  background: var(--gbc-color-brand-soft);
  color: var(--gbc-color-text);
}
body:not(.blog_page) .right_block :is(h1, h2, h3, h4) {
  font-weight: var(--gbc-font-weight-heading);
}
body :is(.header-partners__image-ibg, .card-advantage__image-ibg) {
  overflow: hidden;
  border-radius: var(--gbc-radius-dialog);
}
body :is(.about-us, .partners, .request, .delivery, .pickup, .payment, .care, .loyalty, .requisites) :is(h1, h2, h3, h4) {
  color: var(--gbc-color-text);
  font-weight: var(--gbc-font-weight-heading);
  line-height: 1.3;
  letter-spacing: -.015em;
}
body :is(.about-us, .partners, .delivery, .care, .loyalty, .requisites) h1 {
  font-size: clamp(28px, 3vw, 40px);
}
body :is(.about-us, .partners, .request, .delivery, .pickup, .payment, .care, .loyalty, .requisites) h2 {
  font-size: clamp(24px, 2.2vw, 30px);
}
body :is(.about-us, .partners, .request, .delivery, .pickup, .payment, .care, .loyalty, .requisites) :is(h3, h4) {
  font-size: 20px;
}
body :is(.about-us__advantages-item, .card-advantage, .item-delivery, .item-payment) {
  border-radius: var(--gbc-radius-dialog);
}

@media (max-width: 767px) {
  body .catalog1 .filter-panel-wrapper { padding: var(--gbc-space-3); }
  body .fast_view_frame .form_head { padding: var(--gbc-space-5) var(--gbc-space-4) var(--gbc-space-4); }
  body .fast_view_frame .fastview-product { padding: 0 var(--gbc-space-4) var(--gbc-space-5); }
}
body .item-views.sales2 .item .title a:hover { color: var(--gbc-color-brand-hover); }
body .item-views.sales2 .sale-text { border-radius: 999px; background: var(--gbc-color-brand-soft); color: var(--gbc-color-text); }

@media (max-width: 991px) {
  :root {
    --gbc-mobile-section-space: clamp(20px, 4vw, 28px);
  }

  .gbc-section { padding-block: var(--gbc-mobile-section-space); }

  body:not(.blog_page) .topic__heading #pagetitle {
    font-size: 26px;
    line-height: 32px;
  }

  body:not(.blog_page) :is(
    .top_block .title_block,
    .top_block .top_block_title,
    .ordered-block__title
  ) {
    font-size: 20px;
    line-height: 26px;
  }

  body#main:not(.blog_page) .catalog_block .catalog_item .item-title a {
    font-size: 13px;
    line-height: 18px;
  }

  body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price_value,
  body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price {
    font-size: var(--gbc-font-size-price-mobile);
    line-height: var(--gbc-line-height-small);
  }

  body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price.discount,
  body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price.discount .price_value,
  body#main:not(.blog_page) .catalog_block .catalog_item .stickers [class*="sticker_"] {
    font-size: 12px;
    line-height: 17px;
  }

  body .main-branches__content { padding: var(--gbc-space-5); }
  body .main-branches__title { margin-bottom: 12px; font-size: 20px; }
  body .main-branches__title span { margin-bottom: 4px; font-size: 30px; }
  body .main-branches__text { margin-bottom: 16px; font-size: 14px; line-height: 1.5; }

  body .advantages .advantages__grid,
  body .benefits .benefits__content {
    display: flex;
    grid-template-columns: none;
    gap: 12px;
    margin-inline: calc(-1 * var(--gbc-container-gutter));
    padding: 0 var(--gbc-container-gutter) 10px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: var(--gbc-container-gutter);
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }

  body .advantages .advantages__item {
    flex: 0 0 min(70vw, 284px);
    min-height: 200px;
    padding: 18px;
    scroll-snap-align: start;
  }

  body .advantages .advantages__icon { width: 68px; height: 52px; margin-bottom: 12px; }
  body .advantages .advantages__title { font-size: 15px; line-height: 1.35; }
  body .advantages .advantages__item:has(.advantages__text) .advantages__title { margin-bottom: 8px; }
  body .advantages .advantages__text { font-size: 13px; line-height: 1.5; }

  body .benefits .benefits__item {
    flex: 0 0 min(70vw, 284px);
    min-height: 164px;
    scroll-snap-align: start;
  }

  body .benefits .item-benefits__info { padding: 16px 16px 0; }
  body .benefits .item-benefits__subtitle { font-size: 15px; }
  body .benefits .item-benefits__text { font-size: 13px; }

  body .gbc-home-seo {
    padding-block: var(--gbc-mobile-section-space);
    font-size: 14px;
    line-height: 1.55;
  }
  body .gbc-home-seo h2 { margin-bottom: 8px; font-size: 20px; line-height: 26px; }
  body .gbc-home-seo h3 { margin: 18px 0 8px; font-size: 17px; line-height: 22px; }
  body .gbc-home-seo p { margin-bottom: 8px; }
  body .gbc-home-seo ul { gap: 8px 20px; margin-top: 12px; }

  body .faq-main_section { grid-template-columns: 1fr; gap: 16px; }
  body .faq-main_section .faq-main_top { display: none; }
  body .faq-main_section .faq-main_title { font-size: 24px; line-height: 30px; }
  body .faq-main_section .faq-main_bottom { margin-top: 8px; font-size: 14px; line-height: 21px; }
  body .faq-main_section .accordion-type-1 { margin-bottom: 8px; }
  body .faq-main_section .item-accordion-wrapper .accordion-head {
    min-height: 52px;
    padding: 14px 44px 14px 16px;
    border-radius: 14px;
    font-size: 14px;
    line-height: 20px;
  }
  body .faq-main_section .item-accordion-wrapper .accordion-body { padding: 0 16px 16px; }
  body .faq-main_section .item-views .item .previewtext p { font-size: 13px; line-height: 1.55; }

  body .item-views.sales2 .item .inner-text { padding: 14px 16px 16px; }
  body .item-views.sales2 .item .title a { font-size: 14px; line-height: 1.4; }

  body :is(.about-us, .partners, .delivery, .care, .loyalty, .requisites) h1 { font-size: 26px; }
  body :is(.about-us, .partners, .request, .delivery, .pickup, .payment, .care, .loyalty, .requisites) h2 { font-size: 22px; }
  body :is(.about-us, .partners, .request, .delivery, .pickup, .payment, .care, .loyalty, .requisites) :is(h3, h4) { font-size: 17px; }
}
@media (max-width: 767px) {
  body .main-branches__container { grid-template-columns: 1fr; }
  body .main-branches__content { padding: 18px; }
  body .main-branches__title { font-size: 18px; }
  body .main-branches__title span { font-size: 26px; }
  body .main-branches__text { font-size: 13px; }
  body .main-branches__img-ibg { min-height: 0; aspect-ratio: 480 / 199; }
  body .advantages .advantages__grid {
    display: flex;
    grid-template-columns: none;
    gap: 12px;
    margin-inline: calc(-1 * var(--gbc-container-gutter));
    padding: 0 var(--gbc-container-gutter) 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: var(--gbc-container-gutter);
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }
  body .advantages .advantages__item {
    flex: 0 0 min(76vw, 284px);
    min-height: 190px;
    padding: 16px;
    scroll-snap-align: start;
  }
  body .advantages .advantages__icon { width: 64px; height: 48px; margin-bottom: 10px; }
  body .advantages .advantages__title { font-size: 15px; }
  body .benefits .benefits__content {
    display: flex;
    grid-template-columns: none;
    gap: 12px;
    margin-inline: calc(-1 * var(--gbc-container-gutter));
    padding: 0 var(--gbc-container-gutter) 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: var(--gbc-container-gutter);
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }
  body .benefits .benefits__item {
    flex: 0 0 min(76vw, 284px);
    min-height: 156px;
    scroll-snap-align: start;
  }
  body .benefits .item-benefits__info { padding: 14px 14px 0; }
  body .benefits .item-benefits__subtitle { font-size: 15px; }
  body .gbc-home-seo { padding-block: var(--gbc-space-5); font-size: 13px; line-height: 1.55; }
  body .gbc-home-seo--selection ul {
    display: flex;
    grid-template-columns: none;
    gap: 12px;
    margin-inline: calc(-1 * var(--gbc-container-gutter));
    padding: 0 var(--gbc-container-gutter) 8px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: var(--gbc-container-gutter);
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }
  body .gbc-home-seo--selection li {
    flex: 0 0 min(76vw, 284px);
    min-height: 92px;
    padding: 14px;
    border-radius: var(--gbc-radius-dialog);
    background: var(--gbc-color-surface-soft);
    scroll-snap-align: start;
  }
  body .gbc-home-seo--selection li::before { margin-top: .65em; }
  body .gbc-home-seo:not(.gbc-home-seo--selection) ul { grid-template-columns: 1fr; gap: 10px; }
  body .faq-main_section .item-accordion-wrapper .accordion-head { padding: 13px 42px 13px 14px; }
  body .faq-main_section .item-accordion-wrapper .accordion-body { padding: 0 14px 14px; }
}

/* Keyboard focus is intentionally visible throughout the storefront. */
body :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--gbc-color-focus);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  :root {
    --gbc-container-gutter: 16px;
  }

  .gbc-section {
    padding-block: var(--gbc-space-6);
  }

  .gbc-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--gbc-space-4);
  }

  body:not(.blog_page) .topic__heading #pagetitle {
    font-size: 24px;
    line-height: 30px;
  }

  body:not(.blog_page) :is(
    .top_block .title_block,
    .top_block .top_block_title,
    .ordered-block__title
  ) {
    font-size: 22px;
    line-height: 28px;
  }

  body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price_value,
  body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price {
    font-size: var(--gbc-font-size-price-mobile);
    line-height: var(--gbc-line-height-small);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  body *,
  body *::before,
  body *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Storefront interaction contract: shared targets, readable fields and
 * resilient overlays. Values come from the GBC spacing/type tokens above. */
body :where(a, button, input, select, textarea, summary, [role="button"]) {
  touch-action: manipulation;
}

body :where(button, [role="button"]) {
  -webkit-tap-highlight-color: transparent;
}

.product-popup__close {
  display: grid;
  width: var(--gbc-touch-target);
  height: var(--gbc-touch-target);
  padding: 0;
  place-items: center;
  appearance: none;
  cursor: pointer;
}

body .product-popup__close {
  top: var(--gbc-space-3);
  right: var(--gbc-space-3);
  border-radius: 50%;
  background: var(--gbc-color-surface-soft);
  color: var(--gbc-color-text);
}
body .product-popup__close img {
  width: var(--gbc-product-close-icon);
  height: var(--gbc-product-close-icon);
  max-width: none !important;
  max-height: none !important;
  object-fit: contain;
  transform: none;
  transition: transform 200ms ease-out;
}
body .product-popup__close:hover { background: var(--gbc-color-brand-soft); }
body .product-popup__close:hover img { transform: rotate(90deg); }
/* Shared purchase states: same footprint and contrast on every product shelf. */
body#main .catalog_block .offer_buy_block :is(.to-cart,.in-cart,.to-order),
body#main .product-popup :is(.product__add-to-cart,.in-cart) {
  box-sizing: border-box; min-height: var(--gbc-touch-target); border: 0;
  border-radius: var(--gbc-radius-control); background: var(--gbc-color-buy);
  color: var(--gbc-color-on-buy); font-size: var(--gbc-font-size-small);
  line-height: var(--gbc-line-height-small); text-transform: none;
  transition: background var(--gbc-transition-fast);
}
body#main .catalog_block .offer_buy_block :is(.to-cart,.in-cart,.to-order):hover,
body#main .product-popup :is(.product__add-to-cart,.in-cart):hover { background: var(--gbc-color-buy-hover); }
body#main .catalog_block .offer_buy_block :is(.to-cart,.in-cart,.to-order) span { background: transparent; color: inherit; }
body#main .catalog_block .offer_buy_block .in-cart { padding-inline: var(--gbc-space-4) !important; }
/* Native click/hover decoration must never stretch the button's flex layout. */
body#main .btn > .ripple {
  position: absolute !important; pointer-events: none;
  margin: 0 !important; padding: 0 !important; flex: none;
}
body#main .catalog_block .catalog_item .cost.prices:has(.in-cart:not([style*="display: none"]):not([style*="display:none"])) { min-width: var(--gbc-catalog-action-min-width); }
body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices > .offer_buy_block :is(.to-cart,.in-cart,.to-order) { color: var(--gbc-color-on-buy); display: flex; align-items: center; justify-content: center; }
body#main .catalog_block .catalog_item .inner_wrap { border: 0; box-shadow: none; background: transparent; }
/* One small heart on a generous hit target; no second decorative frame. */
body#main .catalog_block .catalog_item .like_icons:has(.wish_item) { border: 0; box-shadow: none; }
body#main .catalog_block .catalog_item .wish_item {
  display: grid; place-items: center; padding: 0 !important;
  width: var(--gbc-touch-target) !important; height: var(--gbc-touch-target) !important;
  min-width: var(--gbc-touch-target); min-height: var(--gbc-touch-target);
  border: 0 !important; border-radius: 50%; box-shadow: none !important;
  background: radial-gradient(circle, var(--gbc-color-surface) 16px, transparent 17px) !important;
  color: var(--gbc-color-text) !important;
}
body#main .catalog_block .catalog_item .wish_item > i { display: none !important; }
body#main .catalog_block .catalog_item .wish_item::before {
  content: ''; display: block; width: 20px; height: 20px; background: currentColor;
  mask: url('/local/templates/aspro_max/images/svg/gbc-heart.svg') center / contain no-repeat;
}
body#main .catalog_block .catalog_item .wish_item:is(.added, .in) { color: var(--gbc-color-brand) !important; }
body#main .catalog_block .catalog_item .wish_item:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }
body#main .catalog_block .offer_buy_block :is(.to-cart,.in-cart) > i { display: none; }
body#main .tabs_content:has(.catalog_block_template) { margin-inline: 0; padding-inline: 0; }
body .product-popup .product__title,
body#main:not(.blog_page) .product-container .product-info #pagetitle.productName,
body .fast_view_frame .fast-view-title { font-weight: var(--gbc-product-title-weight) !important; }
body#main:not(.blog_page) .catalog_block .catalog_item .item-title a > span { font-weight: inherit; }

body .product-popup .product__wrapper { align-items: flex-start; }
body .product-popup .product__title { min-width: 0; overflow-wrap: anywhere; }
body .product-popup .product__wrapper .like_icons { flex: 0 0 var(--gbc-touch-target); }
body .product-popup .wish_item {
  display: grid;
  width: var(--gbc-touch-target);
  height: var(--gbc-touch-target);
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--gbc-color-surface-soft);
  color: var(--gbc-color-text);
  cursor: pointer;
}
body .product-popup .wish_item:hover { background: var(--gbc-color-brand-soft); }
body#main .product-popup .wish_item :is(i, svg) {
  display: block;
  width: var(--gbc-product-favorite-icon) !important;
  height: var(--gbc-product-favorite-icon) !important;
  margin: 0;
  top: 0;
  position: static;
  color: inherit !important;
  line-height: 1;
}
body#main .product-popup .wish_item svg path {
  fill: none !important;
  stroke: currentColor !important;
}
body .product-popup .wish_item:is(.added, .in) { color: var(--gbc-color-brand); }
body#main .product-popup .wish_item:is(.added, .in) svg path { fill: var(--gbc-color-brand-soft-strong) !important; }
body .product-popup .like-text { display: none; }
body .product-popup .product__gallery { position: relative; }
@media (min-width: 768px) {
  body .product-popup .product__gallery { position: sticky; top: 0; align-self: start; }
}
body .product-popup .gbc-product-photo-favorite {
  position: absolute !important; top: var(--gbc-space-3) !important; right: var(--gbc-space-3) !important;
  bottom: auto !important; left: auto !important; width: var(--gbc-touch-target); height: var(--gbc-touch-target);
  z-index: 4; margin: 0; padding: 0;
}
body .product-popup .gbc-product-photo-favorite .wish_item { background: var(--gbc-color-surface); }
@media (max-width: 767px) {
  body#main .product-popup .gbc-product-photo-favorite { top: calc(var(--gbc-touch-target) + 2 * var(--gbc-space-3)) !important; }
}
body .product-popup :is(.product-popup__close, .wish_item):focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }

@media (min-width: 768px) {
  /* Close stays over the information side; favourite lives on the photo. */
  body .product-popup .product__wrapper {
    padding-right: calc(var(--gbc-touch-target) + var(--gbc-space-3));
  }
  body .product-popup__close {
    position: fixed;
    top: calc((100dvh - var(--gbc-dialog-height)) / 2 + var(--gbc-space-3));
    right: max(var(--gbc-space-3), calc((100vw - var(--gbc-dialog-width)) / 2 + var(--gbc-space-3)));
  }
}

body .product-popup {
  inset: 0;
  transition: opacity var(--gbc-transition-fast);
}
body .product-popup:not(.is-visible) { visibility: hidden; pointer-events: none; opacity: 0 !important; }
body .product-popup.is-visible { visibility: visible; pointer-events: auto; }
body .product-popup__content {
  max-width: var(--gbc-dialog-width);
  height: var(--gbc-dialog-height);
  max-height: var(--gbc-dialog-height);
  overflow-x: hidden;
  overscroll-behavior: contain;
  scroll-behavior: auto;
  overflow-anchor: none;
  transition: opacity var(--gbc-transition-fast);
}
body .product-popup .product__gallery { min-width: 0; }
body .product-popup .product__gallery-main { aspect-ratio: 1; }
body .product-popup .product__gallery-main img { display: block; }
body .product-popup .product__title { line-height: 1.3; text-wrap: pretty; }
body .product-popup .product__composition-list,
body .product-popup .product__composition-list :is(.sostav_item, p, li, div) {
  font-size: var(--gbc-font-size-small);
  line-height: var(--gbc-product-composition-line);
}
body .product-popup .product__composition-list :is(.sostav_item, p, li) { margin-block: 0 calc(var(--gbc-space-1) / 2); }
body .product-popup .product__composition-list :is(ul, ol) { margin-block: 0; }
body .product-popup .product__composition-list .sostav_item:last-child { margin-bottom: 0; }
body .product-popup .product__subtitle {
  font-size: var(--gbc-font-size-small);
  font-weight: var(--gbc-font-weight-medium);
  line-height: var(--gbc-line-height-small);
  margin-bottom: var(--gbc-space-2);
}
body#main :is(.product-popup, .product-container, .bottom-info-wrapper) :is(.ordered-block__title, .product__description h3) {
  margin-top: 0;
  font-size: var(--gbc-product-detail-heading-size) !important;
  font-weight: var(--gbc-font-weight-heading) !important;
  line-height: var(--gbc-product-detail-heading-line);
  letter-spacing: -.01em;
}
body :is(.product-popup, .product-container, .bottom-info-wrapper) .productFilterCatalogItems {
  gap: var(--gbc-space-2);
  padding-bottom: var(--gbc-space-5);
}
body#main :is(.product-popup, .product-container, .bottom-info-wrapper) .productFilterCatalogItem a,
body#main :is(.product-popup, .product-container, .bottom-info-wrapper) :is(#showMoreReviews, .product__show-more) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--gbc-touch-target);
  padding: var(--gbc-space-2) var(--gbc-space-3);
  border: 0;
  border-radius: var(--gbc-radius-card);
  background: var(--gbc-color-surface-soft);
  color: var(--gbc-color-text);
  font-size: var(--gbc-font-size-small);
  font-weight: var(--gbc-font-weight-regular);
  line-height: var(--gbc-line-height-small);
  text-decoration: none;
  box-shadow: none;
  transition: background-color var(--gbc-transition-fast), color var(--gbc-transition-fast);
}
body#main :is(.product-popup, .product-container, .bottom-info-wrapper) .productFilterCatalogItem a:hover,
body#main :is(.product-popup, .product-container, .bottom-info-wrapper) :is(#showMoreReviews, .product__show-more):hover { background: var(--gbc-color-brand-soft); }
body#main :is(.product-popup, .product-container, .bottom-info-wrapper) .productFilterCatalogItem a:focus-visible,
body#main :is(.product-popup, .product-container, .bottom-info-wrapper) :is(#showMoreReviews, .product__show-more):focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }
/* Secondary taxonomy chips are smaller than primary actions and still exceed
 * the 24px minimum target size; show-more controls keep their 44px target. */
body#main :is(.product-popup, .product-container, .bottom-info-wrapper) .productFilterCatalogItem a {
  box-sizing: border-box;
  min-height: var(--gbc-product-tag-height);
  max-width: 100%;
  padding: var(--gbc-space-1) var(--gbc-space-2);
  font-size: var(--gbc-product-tag-size);
  line-height: var(--gbc-product-tag-line);
  overflow-wrap: anywhere;
}
@media (max-width: 767px) {
  body .product-popup {
    --gbc-dialog-height: 100%;
    --gbc-product-section-size: 18px;
  }
  body .product-popup .product__gallery-main { aspect-ratio: auto; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  /* Narrow dialog columns need a separate control row, not a compressed title. */
  body .product-popup .product__wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--gbc-space-2);
    padding-right: 0;
  }
  body .product-popup .product__wrapper .like_icons {
    grid-row: 1;
    justify-self: end;
    margin-right: calc(var(--gbc-touch-target) + var(--gbc-space-3));
  }
  body .product-popup .product__title { grid-row: 2; }
}
@media (prefers-reduced-motion: reduce) {
  body .product-popup,
  body .product-popup__content,
  body .product-popup__close img { transition: none; }
  body .product-popup__close:hover img { transform: none; }
}

body:not(.blog_page) :is(h1#pagetitle, .topic__heading #pagetitle),
body:not(.blog_page) :is(.top_block .title_block, .top_block .top_block_title, .ordered-block__title) {
  font-weight: var(--gbc-font-weight-heading) !important;
}

/* Catalogue counts belong to the heading row, not its text baseline. */
body .topic__heading:has(> .element-count-wrapper) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--gbc-space-1) var(--gbc-space-2);
}
body .topic__heading:has(> .element-count-wrapper) #pagetitle { margin: 0; }
body .topic__heading > .element-count-wrapper,
body .topic__heading > .element-count-wrapper .element-count {
  display: inline-flex;
  align-items: center;
  position: static;
  margin: 0;
  vertical-align: middle;
}

@media (max-width: 767px) {
  body :where(input:not([type="hidden"]), textarea, select) {
    font-size: 16px;
  }

  body :is(
    .top-content-block .landings-list__name,
    .bx_filter_search_reset,
    .bx-filter-title,
    .bx_filter_parameters_box > .bx_filter_parameters_box_title,
    .dropdown-select__title,
    .module-pagination a,
    .module-pagination .cur,
    .product-container .listLinkToProducts a,
    .show-comment,
    .main__custom-text-show,
    .faq-main_section .accordion-head
  ) {
    min-height: 44px;
  }

  body :is(
    .top-content-block .landings-list__name,
    .bx_filter_search_reset,
    .module-pagination a,
    .module-pagination .cur,
    .product-container .listLinkToProducts a
  ) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  body .dropdown-select__title {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
  }

  body .module-pagination a,
  body .module-pagination .cur {
    min-width: 44px;
  }

  body .content-text table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  body :is(.jqmWindow, .product-popup__content) {
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  body .bottom-icons-panel__content-link {
    min-width: 44px;
    min-height: 44px;
  }
}

/* Mobile card contract. Legacy TYPE_2 rules use !important and inline heights;
 * reset those here once for home, catalogue and recommendation shelves. */
.gbc-product-status {
  position: absolute;
  inset: auto var(--gbc-space-2) var(--gbc-space-2);
  z-index: 5;
  padding: var(--gbc-space-2);
  border-radius: var(--gbc-radius-control);
  background: var(--gbc-color-surface);
  color: var(--gbc-color-text-muted);
  font-size: 13px;
  line-height: 18px;
  overflow-wrap: anywhere;
}
body .hasFastView { position: relative; }
.gbc-product-status a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--gbc-color-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.gbc-product-status.is-loading {
  inset: var(--gbc-space-3) auto auto var(--gbc-space-3);
  display: grid;
  place-items: center;
  width: var(--gbc-touch-target);
  height: var(--gbc-touch-target);
  padding: var(--gbc-space-2);
  pointer-events: none;
  background: transparent;
}
.gbc-product-status.is-loading::after {
  content: "";
  width: var(--gbc-loading-icon-size);
  height: var(--gbc-loading-icon-size);
  box-sizing: border-box;
  border: 2px solid var(--gbc-color-text-muted);
  border-right-color: transparent;
  border-radius: 50%;
  animation: gbc-pagination-loading 800ms linear infinite;
}
.gbc-product-status.is-loading > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (max-width: 767px) {
  body#main:not(.blog_page) .catalog_block {
    --gbc-card-gap: var(--gbc-space-2);
    --gbc-card-title-height: 36px;
  }
  body#main:not(.blog_page) .catalog_block.items.row:not(.owl-carousel) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gbc-space-3) var(--gbc-card-gap);
    width: 100%;
    margin: 0 !important;
  }
  body#main:not(.blog_page) .catalog_block.items.row:not(.owl-carousel) > .item {
    width: 100% !important;
    min-width: 0;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
  }
  body#main:not(.blog_page) .catalog_block.items.row > :is(.category-bar, .flower-bar, .bottom_nav) {
    grid-column: 1 / -1;
    min-width: 0;
  }
  body#main:not(.blog_page) .catalog_block.items.row > .category-bar {
    margin: 0 !important;
    padding-bottom: 0 !important;
  }
  body#main:not(.blog_page) .wrapper1 .catalog_block .catalog_item > .inner_wrap.TYPE_2 {
    width: 100%;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .image_wrapper_block {
    width: 100%;
    height: auto !important;
    padding-top: 100% !important;
    margin: 0 0 var(--gbc-space-2) !important;
    aspect-ratio: auto;
    border-radius: var(--gbc-radius-card);
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .item_info {
    gap: var(--gbc-space-1);
    margin: 0 !important;
    padding: 0 var(--gbc-space-1) var(--gbc-space-2) !important;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .item_info--top_block {
    order: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .item-title {
    min-height: 0;
    height: auto !important;
    margin: 0;
    padding: 0;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .item-title a {
    display: -webkit-box;
    height: var(--gbc-card-title-height);
    min-height: var(--gbc-card-title-height);
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 18px;
    font-weight: var(--gbc-product-title-weight);
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .item-title a > span { font: inherit; }
  body#main:not(.blog_page) .catalog_block .catalog_item .item_info--bottom_block {
    order: 1;
    min-height: 0;
    margin: 0 !important;
    padding: 0;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gbc-space-1);
    min-height: 0;
    margin: 0;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .singleReview {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: var(--gbc-space-1);
    min-width: 0;
    font-size: var(--gbc-font-size-small);
    line-height: var(--gbc-line-height-small);
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .singleReview :is(.item-rating, .svg, svg) { width: 16px; height: 16px; }
  body#main:not(.blog_page) .catalog_block .catalog_item .singleReviewTitle { font-size: inherit; line-height: inherit; }
  body#main:not(.blog_page) .catalog_block .catalog_item .singleReviewRaiting { flex-basis: auto; font-size: 12px; line-height: inherit; color: var(--gbc-color-text-muted); }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices { grid-column: 2; grid-row: 1; min-width: 0; width: auto; justify-self: end; padding: 0 !important; }
  body#main:not(.blog_page) .catalog_block .catalog_item .prices-wrapper {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center !important;
    gap: var(--gbc-space-1);
    min-width: 0;
    max-width: 100%;
    margin-inline: 0 !important;
    padding: var(--gbc-space-1) !important;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .price_matrix_wrapper > .price.font-bold {
    min-width: 0;
    padding-inline: var(--gbc-space-2) !important;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price { margin: 0; white-space: nowrap; }
  body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price.discount,
  body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price.discount :is(span, .price_value) { font-size: 12px !important; line-height: 14px; }
  body#main:not(.blog_page) .catalog_block .catalog_item .yandexPaySplit {
    position: static;
    min-height: 18px;
    margin-top: var(--gbc-space-1);
    font-size: 12px;
    line-height: 16px;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .wish_item_button .item-action__inner {
    min-width: 44px;
    min-height: 44px;
  }

  body .product-popup { top: env(safe-area-inset-top); }
  body .product-popup__content { max-height: 100%; }
  body .product-popup__footer { padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); }
  body .product-popup__close {
    position: fixed;
    z-index: 12;
    top: calc(12px + env(safe-area-inset-top));
    right: 12px;
    float: none;
    margin: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 4px 18px rgba(42, 42, 42, .14);
  }
  body .product-popup .product__gallery { touch-action: pan-y pinch-zoom !important; }
  body .product-popup .product__gallery-main img { max-height: 58dvh; object-fit: cover; }
  body .product-popup .product__title { font-size: 18px; line-height: 24px; }
  body .product-popup .product__description p { font-size: 13px; line-height: 1.5; }
}

/* Information-page contract: the same reading rhythm, not five page themes.
 * Content, forms, review pagination and maps remain supplied by Bitrix. */
body .gbc-information {
  --gbc-information-section-gap: var(--gbc-space-7);
  --gbc-information-body-size: var(--gbc-font-size-small);
  --gbc-information-hero-padding: var(--gbc-space-5);
  --gbc-information-hero-media-width: 240px;
  --gbc-information-hero-media-height: 200px;
  color: var(--gbc-color-text);
  font-size: var(--gbc-information-body-size);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
body .gbc-information > :is(section, .care__info-block) { margin-bottom: var(--gbc-information-section-gap); }
body .gbc-information :is(h1, h2, h3, h4) {
  margin: 0 0 var(--gbc-space-4);
  color: var(--gbc-color-text);
  font-weight: var(--gbc-font-weight-heading);
  line-height: 1.3;
  letter-spacing: -.015em;
  text-transform: none;
  text-align: left;
  text-wrap: balance;
}
body .gbc-information h1 { max-width: none; font-size: clamp(24px, 2.5vw, 32px); }
body .gbc-information h2 { font-size: clamp(21px, 2vw, 26px); }
body .gbc-information :is(h3, h4) { font-size: 18px; }
body .gbc-information :is(p, .info-block-care__text, .types-care__text, .about-return__num-li, .about-return__sub-li, .about-return__text) {
  color: var(--gbc-color-text);
  font-size: var(--gbc-information-body-size);
  line-height: 1.6;
}
body .gbc-information :is(p, .about-return__num-li) { margin: 0 0 var(--gbc-space-3); }
body .gbc-information :is(p:last-child, .about-return__num-li:last-child) { margin-bottom: 0; }
body .gbc-information .gbc-information__lead { font-size: 17px; line-height: 1.5; }
body .gbc-information .about-return__container { max-width: none; }
body .gbc-information :is(.vacancy__text, .about-return__lists) { max-width: 72ch; }
body .gbc-delivery-guide { max-width: 1100px; margin-inline: auto; }
body .gbc-delivery-guide section { padding: var(--gbc-space-5); border: 1px solid var(--gbc-color-border); border-radius: var(--gbc-radius-dialog); background: var(--gbc-color-surface); }
body .gbc-delivery-guide .gbc-information__lead { max-width: 72ch; }
body .gbc-delivery-guide :is(ul, li) { list-style: none; margin: 0; }
body .gbc-delivery-guide li::before { display: none; }
body .gbc-delivery-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--gbc-space-4); margin: var(--gbc-space-5) 0; }
body .gbc-delivery-facts > div { padding: var(--gbc-space-4); border-radius: var(--gbc-radius-card); background: var(--gbc-color-surface-soft); }
body .gbc-delivery-fact-icon { display: block; margin-bottom: var(--gbc-space-3); color: var(--gbc-color-brand); fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
body .gbc-delivery-facts dt { color: var(--gbc-color-text-muted); font-size: var(--gbc-font-size-small); font-weight: 400; }
body .gbc-delivery-facts dd { margin: var(--gbc-space-2) 0 0; font-size: 18px; font-weight: 600; color: var(--gbc-color-text); }
body .gbc-delivery-cities { display: flex; flex-wrap: wrap; gap: var(--gbc-space-2); padding: 0 0 var(--gbc-space-4); }
body .gbc-delivery-cities li { padding: var(--gbc-space-2) var(--gbc-space-3); border-radius: var(--gbc-radius-control); background: var(--gbc-color-surface-soft); }
body .gbc-delivery-cities li:has(a) { padding: 0; }
body .gbc-delivery-cities a { display: inline-flex; align-items: center; min-height: var(--gbc-touch-target); padding: var(--gbc-space-2) var(--gbc-space-3); color: var(--gbc-color-text); text-decoration: underline; text-underline-offset: var(--gbc-space-1); transition: color var(--gbc-transition-fast); }
body .gbc-delivery-cities a:is(:hover,:focus-visible) { color: var(--gbc-color-brand); }
body .gbc-delivery-callback { min-height: var(--gbc-touch-target); padding: var(--gbc-space-3) var(--gbc-space-4); border: 1px solid var(--gbc-color-border); border-radius: var(--gbc-radius-control); background: var(--gbc-color-surface-soft); color: var(--gbc-color-text); font: inherit; font-weight: 500; }
body .gbc-delivery-guide summary { cursor: pointer; min-height: var(--gbc-touch-target); padding-block: var(--gbc-space-3); font-weight: 600; }
body .gbc-delivery-guide summary:focus-visible,
body .gbc-delivery-guide :is(a,button):focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; border-radius: var(--gbc-radius-control); }
body .gbc-delivery-conditions { margin-top: var(--gbc-space-4); border-top: 1px solid var(--gbc-color-border); }
body .gbc-delivery-conditions > div { max-width: 80ch; padding-top: var(--gbc-space-3); }
body .gbc-delivery-conditions summary { display: flex; align-items: center; gap: var(--gbc-space-3); list-style: none; }
body .gbc-delivery-conditions summary::marker { content: ''; }
body .gbc-delivery-conditions summary::-webkit-details-marker { display: none; }
body .gbc-delivery-conditions summary svg { flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
body .gbc-delivery-conditions__info { color: var(--gbc-color-brand); }
body .gbc-delivery-conditions__chevron { margin-left: auto; }
body .gbc-delivery-conditions[open] .gbc-delivery-conditions__chevron { transform: rotate(180deg); }
body .gbc-delivery-conditions .gbc-delivery-conditions__body { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: var(--gbc-space-5); padding-top: var(--gbc-space-4); }
body .gbc-delivery-conditions__art { fill: none; stroke: var(--gbc-color-brand); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
body .gbc-delivery-conditions__paper { fill: var(--gbc-color-surface-soft); }
body .gbc-delivery-conditions__seal { fill: var(--gbc-color-brand); }
body .gbc-delivery-conditions__check { stroke: var(--gbc-color-surface); }
body .gbc-pickup-cities { margin-block: var(--gbc-space-4); }
body .gbc-pickup-city { border: 0; }
body .gbc-pickup-city + .gbc-pickup-city { border-top: 1px solid var(--gbc-color-border); }
body .gbc-pickup-city summary span { margin-left: var(--gbc-space-3); color: var(--gbc-color-text-muted); font-size: 12px; font-weight: 400; }
body .gbc-pickup-city ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--gbc-space-3); padding: var(--gbc-space-3) 0 var(--gbc-space-4); }
body .gbc-pickup-city li { min-width: 0; padding: var(--gbc-space-4); border: 1px solid var(--gbc-color-border); border-radius: var(--gbc-radius-card); overflow-wrap: anywhere; }
body .gbc-pickup-city small { display: block; margin-top: var(--gbc-space-2); color: var(--gbc-color-text-muted); line-height: 1.5; }
body .gbc-delivery-link { display: inline-flex; align-items: center; min-height: var(--gbc-touch-target); }
body .gbc-service-banner { display: grid; grid-template-columns: minmax(0,1fr) 256px; align-items: center; gap: var(--gbc-space-2) var(--gbc-space-5); min-height: 140px; padding: var(--gbc-space-4) var(--gbc-space-5); border-radius: var(--gbc-radius-card); background: var(--gbc-color-surface-soft); }
body .gbc-service-banner__copy { min-width: 0; grid-column: 1; }
body .gbc-service-banner h2 { margin: 0 0 var(--gbc-space-2); }
body .gbc-information .gbc-service-banner p { margin: 0; font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); }
body .gbc-pickup-banner { margin-bottom: var(--gbc-space-4); }
body .gbc-pickup-banner .gbc-delivery-link { gap: var(--gbc-space-2); color: var(--gbc-color-text); font-size: var(--gbc-font-size-small); font-weight: 500; }
body .gbc-pickup-banner .gbc-delivery-link:hover { color: var(--gbc-color-brand-hover); }
body .gbc-pickup-banner .gbc-delivery-link svg { flex: 0 0 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
body :is(.gbc-pickup-banner__map,.gbc-payment-banner__cards) { grid-column: 2; grid-row: 1; width: 256px; height: 104px; }
body .gbc-pickup-banner__blocks { fill: var(--gbc-color-border); }
body .gbc-pickup-banner__route { fill: none; stroke: var(--gbc-color-brand); stroke-width: 2; stroke-dasharray: 4 5; stroke-linecap: round; }
body .gbc-pickup-banner__start, body .gbc-pickup-banner__pin { fill: var(--gbc-color-brand); }
body .gbc-pickup-banner__pin-center { fill: var(--gbc-color-surface); }
body .gbc-pickup-banner__shop { fill: none; stroke: var(--gbc-color-brand); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
body .gbc-information .gbc-pickup-offer { display: flex; align-items: center; gap: var(--gbc-space-3); margin-bottom: var(--gbc-space-4); }
body .gbc-pickup-offer strong { flex-shrink: 0; padding: var(--gbc-space-2) var(--gbc-space-3); border-radius: var(--gbc-radius-control); background: var(--gbc-color-brand-soft-strong); color: var(--gbc-color-text); font-size: 18px; }
body .gbc-payment-banner__cards { grid-row: 1; fill: none; stroke: var(--gbc-color-brand); stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
body .gbc-payment-banner__back { fill: var(--gbc-color-border); stroke: none; }
body .gbc-payment-banner__front { fill: var(--gbc-color-surface); }
body .gbc-payment-banner__seal { fill: var(--gbc-color-brand); }
body .gbc-payment-banner__check { stroke: var(--gbc-color-surface); stroke-width: 2; }
body .gbc-payment-methods { margin-top: var(--gbc-space-5); }
body .gbc-payment-method { min-width: 0; background: var(--gbc-color-surface); }
body .gbc-payment-method + .gbc-payment-method { border-top: 1px solid var(--gbc-color-border); }
body .gbc-payment-method summary { display: flex; align-items: center; gap: var(--gbc-space-3); list-style: none; }
body .gbc-payment-method__title { flex: 1; min-width: 0; }
body .gbc-payment-method__mark { display: flex; align-items: center; justify-content: center; gap: var(--gbc-space-1); flex: 0 0 var(--gbc-payment-mark-width); width: var(--gbc-payment-mark-width); min-height: var(--gbc-space-6); }
body .gbc-payment-method__mark .gbc-payment-method__network { width: calc((var(--gbc-payment-mark-width) - 2 * var(--gbc-space-1)) / 3); height: 20px; margin: 0; object-fit: contain; }
body .gbc-payment-method__logo { flex: none; margin: 0; object-fit: contain; }
body .gbc-payment-method__logo--pay { object-fit: cover; }
body .gbc-payment-method summary::-webkit-details-marker { display: none; }
body .gbc-payment-method summary::marker { content: ''; }
body .gbc-payment-method summary svg { flex: none; margin-left: auto; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
body .gbc-payment-method[open] summary svg { transform: rotate(180deg); }
body .gbc-payment-instructions { padding-block: var(--gbc-space-3) var(--gbc-space-5); }
body .gbc-payment-instructions p { max-width: 72ch; }
body .gbc-payment-steps { display: grid; gap: var(--gbc-space-5); padding-inline-start: var(--gbc-space-5); margin: var(--gbc-space-5) 0 0; }
body .gbc-payment-steps > li { list-style: decimal; padding-inline-start: var(--gbc-space-2); }
body .gbc-payment-steps > li::marker { color: var(--gbc-color-text-muted); font-weight: var(--gbc-font-weight-semibold); }
body .gbc-payment-steps h3 { margin-bottom: var(--gbc-space-2); }
body .gbc-payment-instructions figure { max-width: calc(var(--gbc-space-8) * 8); margin: var(--gbc-space-4) 0 0; }
body .gbc-payment-instructions figure img { display: block; width: 100%; max-width: 100%; height: auto; max-height: none; margin: 0; }
body .gbc-payment-instructions figcaption { margin-top: var(--gbc-space-2); color: var(--gbc-color-text-muted); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); }
@media (max-width: 767px) {
  body .gbc-delivery-guide section { padding: var(--gbc-space-4); }
  body .gbc-delivery-facts, body .gbc-pickup-city ul { grid-template-columns: minmax(0,1fr); }
  body .gbc-service-banner { grid-template-columns: minmax(0,1fr) 96px; gap: var(--gbc-space-2) var(--gbc-space-3); padding-inline: var(--gbc-space-4); }
  body :is(.gbc-pickup-banner__map,.gbc-payment-banner__cards) { width: 96px; }
  body .gbc-payment-banner__cards { grid-row: 1; height: 80px; }
  body .gbc-delivery-conditions .gbc-delivery-conditions__body { grid-template-columns: minmax(0,1fr); gap: var(--gbc-space-3); }
  body .gbc-delivery-conditions__art { width: 48px; height: 48px; }
}
body .gbc-information .info-block-care__container_main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gbc-space-5); padding: 0; align-items: center; }
body .gbc-information .info-block-care__title_center { grid-column: 1 / -1; margin-bottom: 0; }
body .gbc-information .info-block-care__image-ibg { overflow: hidden; border-radius: var(--gbc-radius-dialog); }
body .gbc-information .types-care__container { padding: 0; }
body .gbc-information .types-care__body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 var(--gbc-space-5); }
body .gbc-information .types-care__item { align-items: flex-start; padding-block: var(--gbc-space-4); gap: var(--gbc-space-3); border-bottom: 1px solid var(--gbc-color-border); }
body .gbc-information .types-care__image { padding-top: var(--gbc-space-1); }
body .gbc-information .categories-care__title { justify-self: start; margin-bottom: var(--gbc-space-5); }
body .gbc-information .categories-care__item { padding: var(--gbc-space-3); border-radius: var(--gbc-radius-card); background: var(--gbc-color-surface-soft); }
body .gbc-information .categories-care__name { font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); }
body .gbc-information .about-return__image-ibg { margin-bottom: var(--gbc-space-5); overflow: hidden; border-radius: var(--gbc-radius-dialog); }
body .gbc-information .about-return__list { margin-bottom: var(--gbc-space-6); }
body .gbc-information .about-return__subtitle { margin-bottom: var(--gbc-space-3); font-size: 17px; font-weight: var(--gbc-font-weight-medium); line-height: 1.5; }
body .gbc-information .vacancy__title { margin-bottom: var(--gbc-space-4); }
body .gbc-information .vacancy__content { max-width: 72ch; padding: 0; }
body .gbc-information .vacancy__link { margin-top: var(--gbc-space-5); }
body .gbc-information .vacancy__link a { font-size: inherit; font-weight: var(--gbc-font-weight-medium); }
body .gbc-information .vacancy-avito-link { display: inline-flex; align-items: center; min-height: var(--gbc-touch-target); vertical-align: middle; }
body .gbc-information .vacancy-avito-link img { width: 88px; height: auto; }
body .gbc-information .reviews-static .front_review_custom { margin-top: 0; }
body .gbc-information .reviews-static .maxwidth-theme { padding: 0; }
body .gbc-information .reviews-static .add_review { position: static; margin: 0 0 var(--gbc-space-5); }
body .gbc-information .reviews-static .loading_state { display: grid; gap: var(--gbc-space-4); }
body .gbc-information .reviews-static .item-wrapper { width: 100%; padding: 0; }
body .gbc-information .reviews-static .reviews.item-views.list-mode .item { padding: var(--gbc-space-4) !important; border: 1px solid var(--gbc-color-border); border-radius: var(--gbc-radius-card); background: var(--gbc-color-surface); box-shadow: none; }
body .gbc-information .reviews-static .item .top_wrapper { padding: 0; }
body .gbc-information .reviews-static .item .body-info { padding: var(--gbc-space-3) 0 0; }
body .gbc-information .reviews-static .preview-text { width: 100%; max-width: 72ch; font-size: var(--gbc-information-body-size); line-height: 1.6; }
body .gbc-information .reviews-static .item .title { font-size: var(--gbc-font-size-small); font-weight: var(--gbc-font-weight-medium); }
body .gbc-information .reviews-static .add_review .btn {
  min-height: var(--gbc-touch-target);
  padding: var(--gbc-space-3) var(--gbc-space-4);
  color: var(--gbc-color-text);
  font-size: var(--gbc-font-size-small);
  line-height: var(--gbc-line-height-small);
}
body .gbc-information .reviews-static .votes_block.nstar.big .item-rating,
body .gbc-information .reviews-static .votes_block.nstar.big svg { width: 18px; height: 18px; }
@media (max-width: 767px) {
  body .gbc-information { --gbc-information-section-gap: var(--gbc-space-6); --gbc-information-body-size: 13px; }
  body .gbc-information :is(.info-block-care__container_main, .types-care__body) { grid-template-columns: minmax(0, 1fr); gap: var(--gbc-space-4); }
  body .gbc-information .gbc-information__lead { font-size: 15px; }
  body .gbc-information .types-care__body { gap: 0; }
  body .gbc-information .types-care__item { padding-block: var(--gbc-space-3); }
  body .gbc-information .reviews-static .reviews.item-views.list-mode .item { padding: var(--gbc-space-4) !important; }
  body .gbc-information .about-return__subtitle { font-size: 15px; }

  /* The page already owns its gutter; do not inset the catalogue twice. */
  body .wrapper_inner .middle > .container > .maxwidth-theme:has(.main-catalog-wrapper) { padding-inline: 0; }
  body .catalog1 .top_wrapper { margin-right: 0; }
  body .top-content-block .landings-list { margin-block: var(--gbc-space-3); padding: 0; border: 0; }
  body .top-content-block .landings-list__info-wrapper {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--gbc-space-2);
    width: 100%;
    padding-block: 0 var(--gbc-space-2);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }
  body .top-content-block .landings-list__item { flex: 0 0 auto; margin: 0; }
  body .top-content-block .landings-list__item--js-more { order: 1; }
  body .top-content-block .landings-list__name { min-height: var(--gbc-touch-target); padding-inline: var(--gbc-space-3); white-space: nowrap; }
  body .catalog1 .filter-panel-wrapper { display: flex; gap: var(--gbc-space-2); align-items: flex-start; margin-bottom: var(--gbc-space-4); padding: 0; }
  body .catalog1 .filter-panel { display: flex; height: auto; min-height: var(--gbc-touch-target); gap: var(--gbc-space-2); align-items: center; top: auto; margin: 0; }
  body .catalog1 .filter-panel { flex: 0 0 var(--gbc-touch-target); }
  body .catalog1 .filter-panel__sort { float: none !important; flex: 0 0 var(--gbc-touch-target); height: var(--gbc-touch-target); }
  body .catalog1 .filter-panel__sort .dropdown-select__title { display: flex; width: var(--gbc-touch-target); height: var(--gbc-touch-target); align-items: center; justify-content: center; padding: 0; }
  body .catalog1 .filter-panel__sort .dropdown-select { padding: 0; }
  body .catalog1 .filter-panel__sort .dropdown-select__title { background-size: var(--gbc-icon-size-control); }
  body .catalog1 .filter-panel__sort .dropdown-select__title > :is(span, .svg) { display: none; }
  body .catalog1 .filter-panel__sort .dropdown-select__title::before {
    content: ''; width: 18px; height: 16px;
    background: linear-gradient(currentColor, currentColor) 0 1px / 18px 2px no-repeat,
      linear-gradient(currentColor, currentColor) 0 7px / 12px 2px no-repeat,
      linear-gradient(currentColor, currentColor) 0 13px / 6px 2px no-repeat;
  }
  body .catalog1 .filter-compact-block { flex: 1; min-width: 0; margin: 0; top: auto; }
  body .catalog1 .filter-compact-block .bx_filter { margin: 0; }
  body .catalog1 .filter-compact-block .bx_filter_parameters { padding-bottom: 0; }
  body :is(.product-popup, .product-container) .dropdown-info__body {
    position: fixed;
    top: auto !important;
    bottom: calc(76px + env(safe-area-inset-bottom));
    left: var(--gbc-container-gutter) !important;
    right: var(--gbc-container-gutter) !important;
    width: auto !important;
    min-width: 0;
    max-width: none !important;
    transform: none !important;
  }
  body .promoCodCopied {
    left: var(--gbc-container-gutter);
    right: var(--gbc-container-gutter);
    width: auto;
    min-width: 0;
    max-width: none;
  }
}

/* Company/editorial pages use the same surfaces and rhythm as the storefront. */
body :is(.about-us, .care, .return) {
  --gbc-information-section-gap: var(--gbc-space-6);
  --gbc-information-card-padding: var(--gbc-space-5);
  --gbc-information-photo-radius: var(--gbc-radius-dialog);
}

body .about-us__container > :is(div, article) {
  margin-block: 0 var(--gbc-information-section-gap);
}
body .about-us :is(.about-us__banner-img, .about-us__contents-img,
  .about-us__gallery__img, .about-us__photo, .big-article-about__image-ibg) {
  overflow: hidden;
  border-radius: var(--gbc-information-photo-radius);
}
body .about-us :is(.about-us__title, .about-us__advantages-item-title) {
  color: var(--gbc-color-text);
  font-weight: var(--gbc-font-weight-heading);
  line-height: 1.3;
  letter-spacing: -.015em;
  text-wrap: balance;
}
body .about-us h1 { font-size: clamp(24px, 2.5vw, 32px); }
body .about-us h2 { font-size: clamp(21px, 2vw, 26px); }
body .about-us :is(.about__us-text, .about-us__banner-text) {
  color: var(--gbc-color-text-muted);
  font-size: var(--gbc-font-size-small);
  font-weight: var(--gbc-font-weight-regular);
  line-height: 1.6;
}
body .about-us__banner-info { padding: var(--gbc-space-7) var(--gbc-space-5); }
body .about-us__banner-title { margin-bottom: var(--gbc-space-4); }
body .about-us__banner-text { margin-bottom: var(--gbc-space-5); }
body .about-us__banner-box { flex-wrap: wrap; gap: var(--gbc-space-3); }
body .about-us__banner-infos {
  padding: var(--gbc-space-3) var(--gbc-space-4);
  border-radius: var(--gbc-radius-card);
  background: var(--gbc-color-surface);
  color: var(--gbc-color-text);
  font-weight: var(--gbc-font-weight-medium);
  font-size: var(--gbc-font-size-small);
  line-height: var(--gbc-line-height-small);
}
body .about-us__banner-infos img { width: 24px; height: 24px; }
body .about-us__contents {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gbc-space-6);
}
body .about-us__contents-img img { width: 100%; max-width: none; }
body .about-us__contents-info { max-width: none; }
body .about-us__contents-title { max-width: none; margin-bottom: var(--gbc-space-4); }
body .about-us__contents-text { margin-bottom: 0; }
body .about-us__gallery__box { gap: var(--gbc-space-4); }
body .about-us__numbers-wrapper { display: block; }
body .about-us__numbers-title { max-width: none; margin-bottom: var(--gbc-space-5); }
body .about-us__numbers-info {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--gbc-space-4);
}
body .about-us__numbers-item {
  padding: var(--gbc-space-5) var(--gbc-space-4);
  border-radius: var(--gbc-radius-card);
  background: var(--gbc-color-surface-soft);
}
body .about-us__numbers-item-number {
  margin-bottom: var(--gbc-space-2);
  color: var(--gbc-color-text);
  font-weight: var(--gbc-font-weight-medium);
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -.015em;
}
body .about-us__advantages { gap: var(--gbc-space-4); }
body .about-us__advantages-item { border-radius: var(--gbc-radius-card); }
body .about-us__advantages-item:nth-of-type(odd) { background: var(--gbc-color-brand-soft); }
body .about-us__advantages-item:nth-of-type(even) { background: var(--gbc-color-sage-soft); }
body .about-us__advantages-info { padding: var(--gbc-space-5) var(--gbc-space-4) var(--gbc-space-3); }
body .about-us__advantages-item-title { font-size: var(--gbc-font-size-small); }
body .about-us .big-article-about__image-ibg { position: relative; }
body .about-us .big-article-about__image-ibg video { display: block; height: auto; aspect-ratio: 16 / 9; }
body .about-us__video-heading { margin-bottom: var(--gbc-space-5); text-align: left; }
body .about-us__video-heading h2 { margin: 0 0 var(--gbc-space-2); max-width: none; }
body .about-us__video-heading p { margin: 0; color: var(--gbc-color-text-muted); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); }
body .about-us .big-article-about { margin-top: var(--gbc-space-7); padding-top: 0; }

/* Wholesale page: the existing editable copy, photos and form keep their
 * native sources. One beige introduction, then clean white content sections. */
body .gbc-partners-page { color: var(--gbc-color-text); }
body .gbc-partners-page :is(.partners, .request, .reviews) { padding: 0; margin: 0 0 var(--gbc-space-7); }
body .gbc-partners-page :is(.partners__container, .request__container, .reviews__container) {
  width: 100%; max-width: none; margin: 0; padding: 0;
}
body .gbc-partners-page .header-partners {
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: center;
  gap: var(--gbc-space-6); padding: var(--gbc-space-6); margin: 0 0 var(--gbc-space-7);
  border-radius: var(--gbc-radius-dialog); background: var(--gbc-color-brand-soft);
}
body .gbc-partners-page .header-partners__titles { width: auto; max-width: none; padding: 0; }
body .gbc-partners-page .header-partners__title { font-size: 32px; line-height: 40px; margin: 0 0 var(--gbc-space-4); }
body .gbc-partners-page .header-partners__text { max-width: 60ch; margin: 0; font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-ui); }
body .gbc-partners-page .header-partners__image-ibg { width: 100%; padding: 0; height: 220px; overflow: hidden; border-radius: var(--gbc-radius-card); }
body .gbc-partners-page .header-partners__image-ibg img { position: static; display: block; width: 100%; height: 100%; object-fit: cover; }
body .gbc-partners-page :is(.advantage-partners__title, .request__title, .reviews__title) { text-align: left; margin: 0 0 var(--gbc-space-5); font-size: 26px; line-height: 34px; font-weight: var(--gbc-font-weight-heading); }
body .gbc-partners-page .advantage-partners__content { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gbc-space-5); }
body .gbc-partners-page .card-advantage { display: block; width: auto; border: 0; background: transparent; padding: 0; min-width: 0; }
body .gbc-partners-page .card-advantage__image-ibg { height: auto; aspect-ratio: 4 / 3; padding: 0; overflow: hidden; border-radius: var(--gbc-radius-card); }
body .gbc-partners-page .card-advantage__image-ibg img { position: static; width: 100%; height: 100%; object-fit: cover; }
body .gbc-partners-page .card-advantage__text-container { position: static; padding: var(--gbc-space-4) 0 0; background: transparent; text-align: left; }
body .gbc-partners-page .card-advantage__title { margin: 0 0 var(--gbc-space-2); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); font-weight: var(--gbc-font-weight-semibold); color: var(--gbc-color-text); }
body .gbc-partners-page .card-advantage__text { font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); color: var(--gbc-color-text-muted); margin: 0; }
body .gbc-partners-page .card-advantage__text br { display: none; }
body .gbc-partners-page .request__container { display: block; padding: var(--gbc-space-6); border-radius: var(--gbc-radius-dialog); background: var(--gbc-color-brand-soft); }
body .gbc-partners-page .request { max-width: none; padding: 0; background: transparent; }
body .gbc-partners-page .request__titles { display: block; margin: 0; padding: 0; }
body .gbc-partners-page .request__titles .request__title { max-width: none; margin-bottom: var(--gbc-space-3); text-transform: none; letter-spacing: -.015em; }
body .gbc-partners-page .request__content { width: 100%; max-width: none; padding: 0; }
body .gbc-partners-page .request__text { max-width: 75ch; margin: 0 0 var(--gbc-space-4); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-ui); }
body .gbc-partners-page .request__form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; grid-template-rows: none; grid-auto-rows: auto; gap: var(--gbc-space-3); align-items: end; max-width: none; padding: 0; margin: 0; }
body .gbc-partners-page .request__line { min-width: 0; margin: 0; padding: 0; }
body .gbc-partners-page .request__label { position: static; display: block; height: auto; padding: 0; margin: 0 0 var(--gbc-space-2); transform: none; text-align: left; color: var(--gbc-color-text); font-size: 12px; line-height: 18px; opacity: 1; }
body .gbc-partners-page .request__line { display: flex; flex-direction: column-reverse; }
body .gbc-partners-page .request__input { width: 100%; height: var(--gbc-control-height); max-height: none; min-width: 0; padding: var(--gbc-space-3) var(--gbc-space-4); border: 0; border-radius: var(--gbc-radius-control); background: var(--gbc-color-surface); color: var(--gbc-color-text); font: inherit; font-size: var(--gbc-font-size-ui); }
body .gbc-partners-page .request__input::placeholder { color: transparent; }
body .gbc-partners-page .request__input:focus { border: 0; background: var(--gbc-color-surface); }
body .gbc-partners-page .request__input:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }
body .gbc-partners-page .request__button { min-height: var(--gbc-control-height); padding: var(--gbc-space-3) var(--gbc-space-5); border: 0; border-radius: var(--gbc-radius-control); background: var(--gbc-color-brand); color: var(--gbc-color-text); font: inherit; font-size: var(--gbc-font-size-small); cursor: pointer; }
body .gbc-partners-page .request__button:hover { background: var(--gbc-color-brand-soft-strong); }
body .gbc-partners-page .request__button:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }
body .gbc-partners-page .success-form { grid-column: 1 / -1; }
body .gbc-partners-page .success-form:empty { display: none; }
/* Wholesale uses the same variable-height review feed as /company/reviews/. */
body .gbc-wholesale-reviews__all { margin-top: var(--gbc-space-5); }
@media (max-width: 991px) {
  body .gbc-partners-page .request__form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .gbc-partners-page .advantage-partners__content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
  body .gbc-partners-page :is(.header-partners, .request__container) { padding: var(--gbc-space-4); gap: var(--gbc-space-5); }
  body .gbc-partners-page .header-partners { grid-template-columns: minmax(0, 1fr); }
  body .gbc-partners-page .header-partners__image-ibg { height: 160px; }
  body .gbc-partners-page .header-partners__title { font-size: 26px; line-height: 34px; }
  body .gbc-partners-page :is(.advantage-partners__title, .request__title, .reviews__title) { font-size: 22px; line-height: 28px; }
  body .gbc-partners-page .request__form { grid-template-columns: minmax(0, 1fr); }
}

/* Care: concise advice cards, an accessible flower picker and one advice panel. */
body .care .gbc-care-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  align-items: center;
  gap: var(--gbc-space-6);
  padding: var(--gbc-information-hero-padding);
  border-radius: var(--gbc-radius-dialog);
  background: var(--gbc-color-brand-soft);
}
body .care .gbc-care-hero .info-block-care__title { margin: 0; }
body .care .info-block-care__left-part { padding: 0; }
body .care .info-block-care__image-ibg {
  display: block;
  padding: 0;
  aspect-ratio: 3 / 2;
  border-radius: var(--gbc-information-photo-radius);
  overflow: hidden;
}
body .care .info-block-care__image-ibg img { padding: 0; }
body .care .info-block-care__image-ibg svg { width: 64px; height: 64px; }
body .care .info-block-care__content_main { gap: var(--gbc-space-4); padding: 0; max-width: none; }
body .care .care__types { background: transparent; }
body .care .types-care__body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gbc-space-4);
}
body .care .types-care__item {
  align-items: flex-start;
  gap: var(--gbc-space-4);
  padding: var(--gbc-information-card-padding);
  border: 0;
  border-radius: var(--gbc-radius-card);
  background: var(--gbc-color-surface-soft);
}
body .care .types-care__image { flex: 0 0 32px; padding: 0; }
body .care .types-care__image img { max-width: 32px; max-height: 32px; }
body .care .categories-care__container { display: block; padding: 0; }
body .care .categories-care__body {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--gbc-space-2);
}
body .care .categories-care__item {
  min-width: 0;
  min-height: var(--gbc-touch-target);
  margin: 0;
  padding: var(--gbc-space-3);
  gap: var(--gbc-space-3);
  border: 0;
  background: var(--gbc-color-surface-soft);
  text-align: left;
  font-family: inherit;
  transition: background var(--gbc-transition-fast);
}
body .care .categories-care__item:is(.active, :hover) { background: var(--gbc-color-brand-soft); }
body .care :is(.categories-care__item, .categories-care__list select, .info-block-care__image-ibg):focus-visible {
  outline: 2px solid var(--gbc-color-focus);
  outline-offset: 3px;
}
body .care .categories-care__image { flex-basis: 32px; height: 32px; }
body .care .categories-care__list { display: none; }
body .care .categories-care__list select {
  display: block;
  width: 100%;
  min-height: var(--gbc-control-height);
  padding: var(--gbc-space-3);
  border: 1px solid var(--gbc-color-border);
  border-radius: var(--gbc-radius-control);
  background: var(--gbc-color-surface-soft);
  color: var(--gbc-color-text);
  font: inherit;
}
body .care .info-block-care_tabs .info-block-care__container { display: block; padding: 0; }
body .care .info-block-care__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  align-items: center;
  gap: var(--gbc-space-5);
  padding: var(--gbc-information-card-padding);
  border-radius: var(--gbc-radius-dialog);
  background: var(--gbc-color-surface-soft);
  animation: none;
}
body .care .info-block-care__item[hidden] { display: none; }
body .care .info-block-care_tabs .info-block-care__image-ibg { order: 0; aspect-ratio: 1; }
body .care .info-block-care_tabs .info-block-care__content { padding: 0; gap: var(--gbc-space-3); }
body .care .info-block-care_tabs .info-block-care__title { margin: 0; }

/* Shared compact editorial hero: return, vacancies and reviews. */
body .gbc-information .gbc-information__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--gbc-information-hero-media-width);
  gap: var(--gbc-space-6);
  align-items: center;
  padding: var(--gbc-information-hero-padding);
  margin: 0 0 var(--gbc-space-6);
  overflow: hidden;
  border-radius: var(--gbc-radius-dialog);
  background: var(--gbc-color-brand-soft);
}
body .gbc-information .gbc-information__hero > * { min-width: 0; }
body .gbc-information .gbc-information__hero h1 { margin: 0 0 var(--gbc-space-3); font-size: clamp(24px, 2.5vw, 32px); line-height: 1.25; }
body .gbc-information .gbc-information__hero > h1 { margin: 0; max-width: 24ch; }
body .gbc-information .gbc-information__hero-image {
  position: relative;
  display: block;
  width: 100%;
  height: var(--gbc-information-hero-media-height);
  padding: 0;
  margin: 0;
  aspect-ratio: auto;
  overflow: hidden;
  border-radius: var(--gbc-radius-card);
}
body .gbc-information .gbc-information__hero-image img { position: static; display: block; width: 100%; height: 100%; max-height: none; aspect-ratio: auto; object-fit: cover; }
body .vacancy .gbc-information__hero-image img { object-position: center 43%; }
body .gbc-information .gbc-information__hero--text { grid-template-columns: minmax(0, 1fr); }

/* Requisites are editable content on a white reading surface, not striped rows. */
body .requisites {
  --gbc-requisites-label-width: 120px;
  --gbc-requisites-row-gap: var(--gbc-space-4);
}
body .requisites .gbc-information__lead { max-width: 64ch; font-size: var(--gbc-font-size-small); }
body .requisites__content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gbc-space-6); margin-bottom: var(--gbc-space-6); }
body .requisites__group { min-width: 0; margin: 0; padding: 0; background: transparent; }
body .requisites__group h2 { margin-bottom: var(--gbc-space-3); font-size: var(--gbc-font-size-price); line-height: var(--gbc-line-height-ui); }
body .requisites__list { margin: 0; }
body .requisites__row { display: grid; grid-template-columns: var(--gbc-requisites-label-width) minmax(0, 1fr); gap: var(--gbc-requisites-row-gap); padding-block: var(--gbc-space-3); border-bottom: 1px solid var(--gbc-color-border); }
body .requisites__row:last-child { border-bottom: 0; }
body .requisites__row :is(dt, dd) { min-width: 0; margin: 0; font-weight: var(--gbc-font-weight-regular); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); overflow-wrap: anywhere; }
body .requisites__row dt { color: var(--gbc-color-text-muted); overflow-wrap: normal; }
body .requisites__row dd { color: var(--gbc-color-text); font-variant-numeric: tabular-nums; }
@media (max-width: 1199px) { body .requisites__content { grid-template-columns: minmax(0, 1fr); gap: var(--gbc-space-5); } }
@media (max-width: 767px) {
  body .about-us__video-heading { margin-bottom: var(--gbc-space-4); }
  body .requisites { --gbc-requisites-row-gap: var(--gbc-space-2); }
  body .requisites__content { margin-bottom: var(--gbc-space-5); }
  body .requisites__row :is(dt, dd) { font-size: 13px; }
}

/* White reading surface: sections, not a stack of grey cards. */
body .return .about-return__lists { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--gbc-space-5); max-width: 80ch; width: 100%; }
body .return :is(.about-return__list, .about-return__notice, .about-return__exceptions) {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body .return :is(.about-return__list + .about-return__list, .about-return__exceptions) { padding-top: var(--gbc-space-5); border-top: 1px solid var(--gbc-color-border); }
body .return h2.about-return__subtitle {
  margin: 0 0 var(--gbc-space-4);
  font-size: 20px;
  font-weight: var(--gbc-font-weight-heading);
  line-height: 1.35;
}
body .return .about-return__sublist { padding-left: var(--gbc-space-4); margin-bottom: var(--gbc-space-3); }
body .return .about-return__sub-li { margin-bottom: var(--gbc-space-2); }
body .return .about-return__notice { padding: var(--gbc-space-4); border-radius: var(--gbc-radius-card); background: var(--gbc-color-brand-soft); }
body .return .about-return__text { font-weight: var(--gbc-font-weight-regular); }
body .return .about-return__text_mb { margin-bottom: var(--gbc-space-3); }
body .return :is(.about-return__list, .about-return__notice, .about-return__exceptions) > :last-child { margin-bottom: 0; }

/* The review feed remains the real Bitrix content, with its full-text dialog. */
body .gbc-reviews { --gbc-review-columns: 1; }
body .gbc-reviews .gbc-information__lead { margin-bottom: var(--gbc-space-4); }
body .gbc-reviews__platforms { display: flex; flex-wrap: wrap; gap: var(--gbc-space-2); }
body .gbc-reviews__platform {
  display: inline-flex;
  align-items: center;
  gap: var(--gbc-space-2);
  min-height: var(--gbc-touch-target);
  padding: var(--gbc-space-2) var(--gbc-space-4);
  border-radius: var(--gbc-radius-control);
  background: var(--gbc-color-surface);
  color: var(--gbc-color-text);
  font-size: var(--gbc-font-size-small);
  line-height: var(--gbc-line-height-small);
  text-decoration: none;
  transition: background var(--gbc-transition-fast);
}
body .gbc-reviews__platform img { display: block; width: 24px; height: 24px; object-fit: contain; flex-shrink: 0; }
body .gbc-reviews__platform img.gbc-reviews__platform-wordmark { width: 72px; height: 20px; }
body .gbc-reviews__platform:hover { color: var(--gbc-color-text); background: var(--gbc-color-brand-soft-strong); }
body .gbc-reviews :is(.gbc-reviews__platform, .link-block-more button):focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 3px; }
/* Native masonry: variable-height reviews flow down without empty grid cells. */
body .gbc-reviews .reviews-static .loading_state { display: block; column-count: var(--gbc-review-columns); column-gap: var(--gbc-space-4); orphans: 1; widows: 1; }
body#main .gbc-reviews .reviews-static .reviews.item-views.compact.list-mode .item-wrapper { display: inline-block; break-inside: avoid; vertical-align: top; box-sizing: border-box; width: 100% !important; min-width: 0; height: auto; padding: var(--gbc-space-4); margin: 0 0 var(--gbc-space-4); float: none; border: 1px solid var(--gbc-color-border); border-radius: var(--gbc-radius-card); background: var(--gbc-color-surface); }
body .gbc-reviews .reviews-static .reviews.item-views.compact.list-mode .item { height: auto; padding: 0 !important; margin: 0; border: 0 !important; border-radius: 0; background: transparent; }
body .gbc-reviews .reviews-static .reviews.item-views.compact.linked .item .top_wrapper .top-info { display: flex; flex-direction: column; gap: var(--gbc-space-2); padding: 0; }
body .gbc-reviews .reviews-static .reviews.item-views.compact .item .top_wrapper { margin: 0; }
body .gbc-reviews .reviews-static .item .top-info .wrap { font-size: 12px; line-height: 18px; }
body .gbc-reviews .reviews-static .item .title { float: none !important; width: 100%; line-height: var(--gbc-line-height-small); text-transform: none; }
body .gbc-reviews .reviews-static .item .top-info .votes_block.nstar { display: block; position: static; float: none !important; margin: 0; }
body .gbc-reviews .reviews-static .reviews.item-views.compact.linked .item .body-info { margin: var(--gbc-space-3) 0 0; padding: 0; }
body .gbc-reviews .reviews-static .body-info > .votes_block { display: none; }
body .gbc-reviews .reviews-static .preview-text { font-size: 13px; line-height: 1.55; }
body .gbc-reviews .reviews-static .preview-text p { font-size: inherit; line-height: inherit; }
body .gbc-reviews .reviews-static .item:has(.link-block-more) .preview-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; }
body .gbc-reviews .reviews-static .reviews.item-views.compact .item .link-block-more { margin-top: var(--gbc-space-3); }
body .gbc-reviews .reviews-static .link-block-more .btn {
  min-height: var(--gbc-touch-target);
  padding: var(--gbc-space-2) 0;
  border: 0;
  border-radius: var(--gbc-radius-control);
  background: transparent;
  color: var(--gbc-color-text);
  font-size: 12px;
  font-weight: var(--gbc-font-weight-regular);
  line-height: 18px;
  letter-spacing: 0;
  text-transform: none;
}
body .gbc-reviews .reviews-static .link-block-more .btn:hover { color: var(--gbc-color-text); background: transparent; text-decoration: underline; text-underline-offset: 3px; }
/* The response belongs to the review, not to a second oversized card. */
body#main .gbc-reviews .reviews-static .reviews.item-views.list-mode .respone_wrap { display: flex; align-items: flex-start; gap: var(--gbc-space-2); padding: var(--gbc-space-3); margin: var(--gbc-space-3) 0 0; border: 0 !important; border-radius: var(--gbc-radius-control); background: var(--gbc-color-surface-soft); box-shadow: none; }
body .gbc-reviews .reviews-static .reviews.item-views.list-mode .respone_wrap .response_body { min-width: 0; padding: 0; }
body .gbc-reviews .reviews-static .gbc-review-answer__label { margin: 0 0 var(--gbc-space-1); color: var(--gbc-color-text-muted); font-size: 12px; font-weight: var(--gbc-font-weight-medium); line-height: 18px; }
body .gbc-reviews .reviews-static .reviews.item-views.list-mode .respone_wrap .response_title { margin: 0 0 var(--gbc-space-1); font-size: 12px; line-height: 18px; }
body .gbc-reviews .reviews-static .response_title .font_upper { font: inherit; letter-spacing: 0; text-transform: none; }
body .gbc-reviews .reviews-static .response_text { color: var(--gbc-color-text); font-size: 13px; line-height: var(--gbc-line-height-small); overflow-wrap: anywhere; }
body .gbc-reviews .reviews-static .response_text :is(p, span, div) { color: inherit; font-size: inherit; line-height: inherit; }
body .gbc-reviews .reviews-static .response_text p { margin: 0 0 var(--gbc-space-2); }
body .gbc-reviews .reviews-static .response_text > :last-child { margin-bottom: 0; }
body .gbc-reviews .reviews-static .reviews.item-views.list-mode .response_img { flex: 0 0 var(--gbc-space-6); float: none; margin: 0; }
body .gbc-reviews .reviews-static .reviews.item-views.list-mode .response_img img { display: block; width: var(--gbc-space-6); height: var(--gbc-space-6); border-radius: 50%; object-fit: cover; }
body .gbc-reviews .reviews-static .reviews.item-views .item .body-info :is(.files_block, .video_block) { margin-top: var(--gbc-space-4); }
body .gbc-reviews .reviews-static :is(.files_block img, .video_block iframe) { max-width: 100%; }
body .gbc-reviews .reviews-static .reviews.item-views.list-mode .item .files_block .row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gbc-space-2); margin: 0; }
body .gbc-reviews .reviews-static .reviews.item-views.list-mode .item .files_block .row > div { width: 100%; min-width: 0; padding: 0; }
body .gbc-reviews .reviews-static .reviews.item-views.list-mode .item .files_block :is(.file_type, .description) { width: 100%; padding: 0; }
body .gbc-reviews .reviews-static .reviews.item-views.list-mode .item .files_block img { width: 100%; height: 112px; max-height: 112px; object-fit: cover; border-radius: var(--gbc-radius-control); }
body .gbc-reviews .reviews-static .reviews.item-views .item .files_block .description > span { display: block; font-size: 10px; line-height: 16px; white-space: nowrap; }
body .gbc-reviews .reviews-static .reviews.item-views.compact.linked .votes_block.nstar.big .ratings .item-rating svg { width: 18px; height: 18px; }
body .gbc-reviews .reviews-static .votes_block.nstar .inner_rating { display: flex; align-items: center; }
body .gbc-reviews .reviews-static .votes_block.nstar .item-rating i { display: block; width: 18px; height: 18px; line-height: 18px; }
body .gbc-reviews .reviews-static .add_review:after { display: none; }
body .gbc-reviews .reviews-static .add_review .button_wrap { padding: 0; }
body .gbc-reviews .reviews-static .bottom_nav_wrapper { margin-top: var(--gbc-space-5); }
@media (min-width: 600px) { body .gbc-reviews { --gbc-review-columns: 2; } }
@media (min-width: 992px) { body .gbc-reviews { --gbc-review-columns: 3; } }
@media (min-width: 1440px) { body .gbc-reviews { --gbc-review-columns: 4; } }

body .gbc-review-rating { display: inline-flex; align-items: center; gap: var(--gbc-space-1); font-size: 13px; line-height: var(--gbc-line-height-small); color: var(--gbc-color-text); }
body .gbc-review-rating > span:first-child { color: var(--gbc-color-brand); font-size: 18px; }
/* Full review uses the same quiet typography and compact controls as its card. */
body #popup_iframe_wrapper .review_frame.popup { width: 600px !important; max-width: calc(100vw - var(--gbc-space-6)); max-height: calc(100dvh - var(--gbc-space-6)); padding: 0; overflow-y: auto; overscroll-behavior: contain; border-radius: var(--gbc-radius-dialog); background: var(--gbc-color-surface); }
body .gbc-review-dialog { position: relative; color: var(--gbc-color-text); }
body .gbc-review-dialog .item-views.reviews.front { padding: 0; margin: 0; }
body .gbc-review-dialog .item-views.reviews.front .item { height: auto; padding: var(--gbc-space-5); margin: 0; border: 0; box-shadow: none; background: transparent; }
body .gbc-review-dialog .item-views.reviews.front .item .header-block { margin: 0; padding: 0 var(--gbc-touch-target) var(--gbc-space-4) 0; border-bottom: 1px solid var(--gbc-color-border); }
body .gbc-review-dialog .item-views.reviews.front .item .top_wrapper { display: flex; align-items: center; gap: var(--gbc-space-3); padding: 0 !important; margin: 0 !important; text-align: left; }
body .gbc-review-dialog .top_wrapper.clearfix:before,
body .gbc-review-dialog .top_wrapper.clearfix:after { display: none; }
body .gbc-review-dialog .item-views.reviews.front .item .image { position: static; flex: 0 0 48px; width: 48px; height: auto; margin: 0; }
body .gbc-review-dialog .item-views.reviews.front .item .image:before { display: none; }
body .gbc-review-dialog .item-views.reviews.front .item .image img { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; }
body .gbc-review-dialog .item-views.reviews.front .item .top-info { display: block; flex: 1; min-width: 0; padding: 0; background: transparent; text-align: left; }
body .gbc-review-dialog .item-views.reviews.front .item .title { display: block; width: auto; float: none; margin: 0; padding: 0; background: transparent; font-size: 18px; font-weight: var(--gbc-font-weight-medium); line-height: 1.4; text-transform: none; overflow-wrap: anywhere; }
body .gbc-review-dialog .item-views.reviews.front .item .top-info .wrap { display: block; position: static; height: auto; margin: 0 0 var(--gbc-space-1); padding: 0; background: transparent; color: var(--gbc-color-text-muted); font-size: 12px; line-height: 18px; }
body .gbc-review-dialog .top-info .wrap .font_upper { display: inline; position: static; padding: 0; background: transparent; font-size: inherit; line-height: inherit; text-transform: none; }
body .gbc-review-dialog .item-views.reviews.front .item .bottom-block { padding: var(--gbc-space-4) 0 0; margin: 0; }
body .gbc-review-dialog .gbc-review-rating { margin-bottom: var(--gbc-space-3); }
body .gbc-review-dialog .item-views.reviews.front .item .preview-text { margin: 0; width: 100%; font-size: var(--gbc-font-size-small); line-height: 1.6; overflow-wrap: anywhere; }
body .gbc-review-dialog .preview-text p { font-size: inherit; line-height: inherit; }
body .gbc-review-dialog .close-block { margin-top: var(--gbc-space-5); }
body .gbc-review-dialog .close-block .btn { min-height: var(--gbc-touch-target); padding: var(--gbc-space-2) var(--gbc-space-4); border: 0; border-radius: var(--gbc-radius-control); background: var(--gbc-color-brand-soft); color: var(--gbc-color-text); font-size: var(--gbc-font-size-small); font-weight: var(--gbc-font-weight-regular); line-height: var(--gbc-line-height-small); }
body .gbc-review-dialog .close-block .btn:hover { background: var(--gbc-color-brand-soft-strong); }
body .gbc-review-dialog .item-views.reviews.front button.gbc-review-dialog__close { display: flex; align-items: center; justify-content: center; position: absolute; top: var(--gbc-space-3); right: var(--gbc-space-3); width: var(--gbc-touch-target); height: var(--gbc-touch-target); padding: 0; border: 0; border-radius: 50%; background: var(--gbc-color-surface-soft); color: var(--gbc-color-text); opacity: 1; cursor: pointer; }
body .gbc-review-dialog__close :is(i, svg) { width: 18px; height: 18px; line-height: 18px; }
body .gbc-review-dialog__close svg { transition: transform var(--gbc-transition-fast); }
body .gbc-review-dialog__close:hover svg { transform: rotate(90deg); }
body .gbc-review-dialog :is(button, a):focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { body .gbc-review-dialog__close svg { transition: none; } body .gbc-review-dialog__close:hover svg { transform: none; } }

@media (max-width: 767px) {
  body :is(.about-us, .care, .return) {
    --gbc-information-section-gap: var(--gbc-space-5);
    --gbc-information-card-padding: var(--gbc-space-4);
  }
  body .about-us :is(.about__us-text, .about-us__banner-text) { font-size: 13px; }
  body .about-us__banner-info { padding: var(--gbc-space-6) var(--gbc-space-4); }
  body .about-us__banner-infos { gap: var(--gbc-space-2); padding: var(--gbc-space-2) var(--gbc-space-3); font-size: 12px; }
  body .about-us__contents { grid-template-columns: minmax(0, 1fr); gap: var(--gbc-space-4); }
  body .about-us__gallery__box { gap: var(--gbc-space-2); }
  body .about-us__numbers-info { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gbc-space-2); }
  body .about-us__numbers-item { padding: var(--gbc-space-4); }
  body .about-us__numbers-item-number { font-size: 20px; }
  body .about-us__advantages { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gbc-space-2); }
  body .about-us__advantages-info { padding: var(--gbc-space-4) var(--gbc-space-3) var(--gbc-space-2); }
  body .about-us__advantages-item-title { font-size: 13px; }
  body .care :is(.info-block-care__container_main, .types-care__body) { grid-template-columns: minmax(0, 1fr); gap: var(--gbc-space-3); }
  body .care .categories-care__body { display: none; }
  body .care .categories-care__list { display: block; }
  body .care .info-block-care__item { grid-template-columns: minmax(0, 1fr); gap: var(--gbc-space-4); }
  body .care .info-block-care_tabs .info-block-care__image-ibg { aspect-ratio: 3 / 2; }
  body .care .info-block-care__image-ibg svg { width: 48px; height: 48px; }
  body .gbc-information { --gbc-information-hero-padding: var(--gbc-space-4); --gbc-information-hero-media-height: 152px; }
  body .gbc-information .gbc-information__hero { grid-template-columns: minmax(0, 1fr); gap: var(--gbc-space-4); margin-bottom: var(--gbc-space-5); }
  body .gbc-reviews__platforms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body .gbc-reviews__platform { justify-content: center; min-width: 0; padding: var(--gbc-space-2); gap: var(--gbc-space-1); font-size: 12px; }
  body .gbc-reviews__platform > span[aria-hidden="true"] { display: none; }
  body .gbc-reviews__platform img { width: 20px; height: 20px; }
  body .gbc-reviews__platform img.gbc-reviews__platform-wordmark { width: 56px; height: 16px; }
  body .return h2.about-return__subtitle { font-size: 18px; }
  body .return .about-return__sublist { padding-left: var(--gbc-space-2); }
}

/* Shared listing navigation. Also covers cached Aspro markup until it expires.
 * Keep native AJAX classes and hrefs; presentation must not change navigation. */
.gbc-button--secondary,
body#main .ajax_load_btn {
  position: relative;
  gap: var(--gbc-space-2);
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: min(100%, var(--gbc-load-more-width));
  max-width: none;
  min-height: var(--gbc-control-height);
  height: auto;
  padding: var(--gbc-space-3) var(--gbc-space-5);
  margin: var(--gbc-space-5) auto var(--gbc-space-4);
  border: 0 !important;
  border-radius: var(--gbc-radius-card);
  background: var(--gbc-color-surface-soft) !important;
  color: var(--gbc-color-text) !important;
  font-family: var(--gbc-font-family);
  font-size: var(--gbc-font-size-small);
  font-weight: var(--gbc-font-weight-regular);
  line-height: var(--gbc-line-height-small);
  text-decoration: none;
  cursor: pointer;
  box-shadow: none !important;
  transform: none;
  transition: background-color var(--gbc-transition-fast);
}
.gbc-button--secondary > span,
body#main .ajax_load_btn .more_text_ajax {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--gbc-space-2);
  min-height: 0;
  padding: 0 !important;
  margin: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  color: var(--gbc-color-text) !important;
  font-size: var(--gbc-font-size-small);
  font-weight: var(--gbc-font-weight-medium);
  line-height: var(--gbc-line-height-small);
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-text-fill-color: var(--gbc-color-text);
}
.gbc-button--secondary:hover,
body#main .ajax_load_btn:hover { background: var(--gbc-color-brand-soft) !important; }
.gbc-button--secondary:active,
body#main .ajax_load_btn:active { background: var(--gbc-color-brand-soft-strong) !important; }
body#main .ajax_load_btn.loadings,
body#main .ajax_load_btn:has(.more_text_ajax.loading) { background: var(--gbc-color-brand-soft) !important; cursor: progress; }
body#main .ajax_load_btn .more_text_ajax::after { display: none; }
body#main .ajax_load_btn.loadings::after,
body#main .ajax_load_btn:has(.more_text_ajax.loading)::after {
  content: "";
  display: block;
  position: static;
  box-sizing: border-box;
  width: var(--gbc-loading-icon-size);
  height: var(--gbc-loading-icon-size);
  margin: 0;
  border: 2px solid var(--gbc-color-text-muted);
  border-right-color: transparent;
  border-radius: 50%;
  background: none;
  animation: gbc-pagination-loading 800ms linear infinite !important;
}
.gbc-button--secondary:disabled,
.gbc-button--secondary[aria-disabled="true"],
body#main .ajax_load_btn:disabled,
body#main .ajax_load_btn[aria-disabled="true"] { opacity: .6; cursor: not-allowed; }
body#main .module-pagination {
  height: auto;
  margin: var(--gbc-space-4) 0 0;
  zoom: 1;
}
body#main .module-pagination .nums,
body#main .gbc-blog-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--gbc-space-2);
  max-width: 100%;
}
body#main .gbc-blog-pagination { margin: var(--gbc-space-5) 0 0; }
body#main .module-pagination .flex-direction-nav,
body#main .module-pagination .flex-direction-nav > li { display: contents !important; }
body#main .module-pagination .nums :is(a, .cur),
body#main .gbc-blog-pagination :is(a, .is-current) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 auto;
  width: var(--gbc-pagination-size) !important;
  min-width: var(--gbc-pagination-size);
  height: var(--gbc-pagination-size) !important;
  min-height: var(--gbc-pagination-size);
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: var(--gbc-radius-control);
  background: var(--gbc-color-surface-soft);
  color: var(--gbc-color-text) !important;
  font-size: var(--gbc-font-size-small);
  font-weight: var(--gbc-font-weight-regular);
  line-height: var(--gbc-line-height-small);
  text-decoration: none;
  box-shadow: none;
  transform: none;
  filter: none;
  transition: background-color var(--gbc-transition-fast);
}
body#main .module-pagination .nums a:hover,
body#main .gbc-blog-pagination a:hover { background: var(--gbc-color-brand-soft); }
body#main .module-pagination .nums a:active,
body#main .gbc-blog-pagination a:active { background: var(--gbc-color-brand-soft-strong); }
body#main .module-pagination .nums .cur,
body#main .gbc-blog-pagination .is-current { background: var(--gbc-color-brand-soft-strong); font-weight: var(--gbc-font-weight-semibold); }
body#main .module-pagination .nums .point_sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--gbc-space-5);
  min-width: 0;
  height: var(--gbc-pagination-size);
  padding: 0;
  margin: 0;
  background: none;
  color: var(--gbc-color-text-muted);
  font-size: 0;
}
body#main .module-pagination .point_sep::after { content: "…"; font-size: var(--gbc-font-size-small); }
body#main .gbc-blog-pagination__gap { display: inline-flex; align-items: center; justify-content: center; width: var(--gbc-space-5); padding: 0; color: var(--gbc-color-text-muted); font-size: var(--gbc-font-size-small); }
body#main .module-pagination .nums .flex-prev { order: -1; }
body#main .module-pagination .nums .flex-next { order: 1; }
body#main .gbc-blog-pagination a[rel="prev"] { order: -1; }
body#main .gbc-blog-pagination a[rel="next"] { order: 1; }
body#main .gbc-blog-pagination .gbc-blog-pagination__arrow { font-size: 0; }
body#main .module-pagination .flex-direction-nav a .svg { display: none; }
body#main .module-pagination .flex-direction-nav a::before,
body#main .gbc-blog-pagination__arrow::before {
  content: "";
  width: var(--gbc-space-2);
  height: var(--gbc-space-2);
  border: solid currentColor;
  border-width: 2px 2px 0 0;
  background: none;
  transform: rotate(45deg);
}
body#main .module-pagination .flex-direction-nav .flex-prev::before,
body#main .gbc-blog-pagination a[rel="prev"]::before { transform: rotate(-135deg); }
body#main .module-pagination .all_block_nav { flex-basis: 100%; order: 2; margin-top: var(--gbc-space-2); }
body#main .module-pagination .all_block_nav a { width: auto !important; padding-inline: var(--gbc-space-4); }
.gbc-button--secondary:focus-visible,
body#main :is(.ajax_load_btn, .module-pagination a, .gbc-blog-pagination a):focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 3px; }
@keyframes gbc-pagination-loading { to { transform: rotate(360deg); } }
@media (max-width: 599px) {
  body#main .module-pagination .nums,
  body#main .gbc-blog-pagination { gap: var(--gbc-space-1); }
  /* The phone keeps current and adjacent pages, with full-size touch targets.
   * Desktop retains the endpoints and ellipses; no horizontal scrolling. */
  body#main .module-pagination .nums > :is(a, .point_sep) { display: none; }
  body#main .module-pagination .nums > a:has(+ .cur),
  body#main .module-pagination .nums > .cur + a { display: inline-flex; }
  body#main .gbc-blog-pagination > :is(a:not(.gbc-blog-pagination__arrow), .gbc-blog-pagination__gap) { display: none; }
  body#main .gbc-blog-pagination > a:has(+ .is-current),
  body#main .gbc-blog-pagination > .is-current + a { display: inline-flex; }
}
@media (prefers-reduced-motion: reduce) {
  .gbc-button--secondary,
  body#main :is(.ajax_load_btn, .module-pagination a, .gbc-blog-pagination a) { transition: none; }
  body#main .ajax_load_btn:has(.more_text_ajax.loading)::after,
  body#main .ajax_load_btn.loadings::after,
  .gbc-product-status.is-loading::after { animation: none !important; }
}

/* Compact catalogue controls: retain the production filter's native lists,
 * numeric tiles and automatic AJAX apply. Only round its existing controls. */
body#main .catalog1 .bx_filter.compact .bx_filter_parameters_box_container.scrollblock {
  max-height: min(var(--gbc-filter-list-height), 50dvh);
  overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin;
  padding: 0;
}
body#main .catalog1 .bx_filter.compact :is([data-prop_code="kolichestvo"], [data-prop_code="razmer"]) .bx_filter_param_label { border-radius: var(--gbc-radius-control); }
body#main .catalog1 .bx_filter.compact :is(.filter.label_block, .filter-value-wrap) input:checked + label,
body#main .catalog1 .bx_filter.compact :is(.filter.label_block, .filter-value-wrap) input:checked + label span { color: var(--gbc-color-text); }
body#main .catalog1 .bx_filter.compact :is(.filter.label_block, .filter-value-wrap) input:disabled + label { color: var(--gbc-color-text-muted); opacity: .65; cursor: not-allowed; }
body#main .catalog1 .bx_filter.compact :is(.filter.label_block, .filter-value-wrap) input:focus-visible + label { outline: 2px solid var(--gbc-color-focus); outline-offset: -2px; }
body#main .catalog1 .bx_filter.compact .filter-search_catalog {
  display: flex; align-items: center; gap: var(--gbc-space-2); min-height: var(--gbc-touch-target);
  margin-bottom: var(--gbc-space-2); padding: 0 var(--gbc-space-3);
  border: 0; border-radius: var(--gbc-radius-control); background: var(--gbc-color-surface-soft);
}
body#main .catalog1 .bx_filter.compact .filter-search_catalog_ico { position: static; display: flex; flex: 0 0 var(--gbc-icon-size-control); }
body#main .catalog1 .bx_filter.compact .filter-search_catalog_ico svg { position: static; width: var(--gbc-icon-size-control); height: var(--gbc-icon-size-control); }
body#main .catalog1 .bx_filter.compact .filter-search_catalog_input {
  min-width: 0; height: var(--gbc-touch-target); margin: 0; padding: 0;
  font-size: var(--gbc-font-size-small) !important; line-height: var(--gbc-line-height-small) !important;
}
body#main .catalog1 .bx_filter.compact .filter-search_catalog:focus-within { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }

/* Sort stays icon-only; the current selection is available to assistive
 * technology and in the tooltip/menu rather than widening the control. */
body#main .catalog1 .filter-panel__sort .dropdown-select__title {
  display: flex; align-items: center; justify-content: center;
  width: var(--gbc-touch-target); height: var(--gbc-touch-target); min-width: 0;
  padding: 0; font-size: 0; background: var(--gbc-color-surface-soft); background-image: none;
}
body#main .catalog1 .filter-panel__sort .dropdown-select__title::before { content: none; display: none; }
body#main .catalog1 .filter-panel__sort .dropdown-select__title > :is(span, i) { display: none; }
body#main .catalog1 .filter-panel__sort .dropdown-select__title > .gbc-sort-icon {
  display: block; width: var(--gbc-filter-checkbox-size); height: var(--gbc-filter-checkbox-size); flex: none;
}
body#main .catalog1 .filter-panel__sort .dropdown-select__title:hover { background: var(--gbc-color-brand-soft); }
body#main .catalog1 .filter-panel__sort .dropdown-menu-inner { padding: var(--gbc-space-2); border-radius: var(--gbc-radius-card); }
body#main .catalog1 .filter-panel__sort .dropdown-select__list-link {
  min-height: var(--gbc-filter-row-height); margin: 0; padding: var(--gbc-space-2) var(--gbc-space-3);
  border: 0; border-radius: var(--gbc-radius-control); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small);
}

body#main .catalog1 .bx_filter.compact form.smartfilter { padding-right: 0; }
body#main .catalog1 .bx_filter.compact form.smartfilter:has(> .bx_filter_search_reset:not(.hidden)) {
  padding-right: calc(var(--gbc-filter-reset-width) + var(--gbc-space-2));
}
body#main .catalog1 .bx_filter_search_reset.btn-link-text {
  box-sizing: border-box; min-width: var(--gbc-filter-reset-width); max-width: none; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center; gap: var(--gbc-space-2);
  width: var(--gbc-filter-reset-width); height: var(--gbc-touch-target); padding: 0 var(--gbc-space-3);
  border: 0; color: var(--gbc-color-text); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small);
}
body#main .catalog1 .bx_filter_search_reset.btn-link-text > span:not(.svg) {
  position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: nowrap;
}
body#main .catalog1 .bx_filter_search_reset.btn-link-text .svg {
  position: static; display: inline-flex; width: var(--gbc-icon-size-control); height: var(--gbc-icon-size-control); flex: none; margin: 0;
}
body#main .catalog1 .bx_filter_search_reset.btn-link-text svg { width: var(--gbc-icon-size-control); height: var(--gbc-icon-size-control); }
body#main .catalog1 .bx_filter_search_reset:is(:hover, :active) { background: var(--gbc-color-brand-soft); color: var(--gbc-color-text); }
body#main .catalog1 :is(.bx_filter_search_reset, .dropdown-select__title):focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }
@media (max-width: 991px) {
  body#main .catalog1 { --gbc-filter-row-height: var(--gbc-touch-target); }
  body#main .catalog1 .bx_filter.compact form.smartfilter:has(> .bx_filter_search_reset:not(.hidden)) { padding-right: 0; }
  body#main .catalog1 .bx_filter_search_reset.btn-link-text { position: static !important; margin: var(--gbc-space-2) 0 0 auto !important; }
  /* 16px inputs avoid iOS focus zoom without enlarging option labels. */
  body#main .catalog1 .bx_filter.compact .filter-search_catalog_input { font-size: var(--gbc-font-size-ui) !important; }
  /* Production tiles remain five per row, with a real phone touch target. */
  body#main .catalog1 .bx_filter.compact :is([data-prop_code="kolichestvo"], [data-prop_code="razmer"]) .bx_filter_parameters_box_container { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  body#main .catalog1 .bx_filter.compact :is([data-prop_code="kolichestvo"], [data-prop_code="razmer"]) .bx_filter_param_label { min-height: var(--gbc-touch-target); }
}

/* Gift occasions and recently viewed products keep the catalogue's content edge. */
body .category-bar {
  --gbc-gift-size: 92px;
  --gbc-gift-gap: var(--gbc-space-4);
  padding-inline: 0 !important;
}
body .category-bar__wrapper { padding-inline: 0 !important; }
body .category-bar__slider .swiper-slide { width: var(--gbc-gift-size); }
body .category-bar__slider .category-item { width: 100%; align-items: flex-start; gap: var(--gbc-space-2); }
body .category-bar__slider .category-item__pic {
  width: 100%; height: auto; aspect-ratio: 1;
  max-width: none; flex: none; border-radius: var(--gbc-radius-card); overflow: hidden;
}
body .category-bar__slider .category-item__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
body .category-bar__title { margin: 0 0 var(--gbc-space-4); font-size: 26px; line-height: 32px; font-weight: var(--gbc-font-weight-medium); }
body .category-bar__slider .category-item__name { width: 100%; font-size: 12px; line-height: 18px; }
body#main .viewed_product_block { background: var(--gbc-color-surface); }
body .viewed_product_block .block-item { position: relative; }
body .viewed_product_block :is(.block-item, .block-item__wrapper, .block-item__inner) {
  border: 0 !important; box-shadow: none !important; background: transparent;
}
body .viewed_product_block :is(.block-item__image, .block-item__image a, .block-item__image img) {
  border-radius: var(--gbc-radius-card); overflow: hidden;
}
body .viewed_product_block .block-item__title a { font-weight: var(--gbc-product-title-weight); }
@media (max-width: 767px) {
  body#main .viewed_product_block { --gbc-viewed-gap: var(--gbc-space-2); --gbc-viewed-count: 2; --gbc-viewed-thumb-size: calc(var(--gbc-space-6) * 3); }
  body#main .viewed_product_block .swiper-wrapper { --items-count: var(--gbc-viewed-count); --gap: var(--gbc-viewed-gap); }
  body#main .viewed_product_block .swiper-slide.block-item { width: calc((100% - (var(--gbc-viewed-count) - 1) * var(--gbc-viewed-gap)) / var(--gbc-viewed-count)) !important; }
  body#main .viewed_product_block .block-item__inner { display: flex; flex-direction: column; align-items: flex-start; gap: var(--gbc-space-2); padding: 0; }
  body#main .viewed_product_block .block-item__image { width: var(--gbc-viewed-thumb-size) !important; height: var(--gbc-viewed-thumb-size) !important; flex: none; padding: 0; }
  body#main .viewed_product_block .block-item__image :is(a, img) { display: block; width: 100%; height: 100%; object-fit: cover; }
  body#main .viewed_product_block .block-item__info { width: 100%; min-width: 0; margin: 0; padding: 0; }
  body#main .viewed_product_block .block-item__title { max-height: calc(2 * var(--gbc-line-height-small)); }
  body#main .viewed_product_block .block-item__title a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); }
  body#main .viewed_product_block .cost .price { font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); }
  body#main .viewed_product_block .viewed-wrapper { padding-block: var(--gbc-space-5); }
  body#main .catalog_block .catalog_item .cost.prices:has(.in-cart:not([style*="display: none"]):not([style*="display:none"])) > .offer_buy_block { display: block; position: static; height: auto; margin: 0; padding: 0; opacity: 1; pointer-events: auto; }
  body#main .catalog_block .catalog_item .cost.prices:has(.in-cart:not([style*="display: none"]):not([style*="display:none"])) .price_matrix_wrapper { display: none; }
  body#main .catalog_block .catalog_item .cost.prices > .offer_buy_block .in-cart { width: auto; min-width: var(--gbc-catalog-action-min-width); height: var(--gbc-touch-target); padding-block: var(--gbc-space-2); white-space: nowrap; }
}
@media (min-width: 600px) and (max-width: 767px) { body#main .viewed_product_block { --gbc-viewed-count: 3; } }

/* Keep the real rating and the native textual review count, including its wording. */
body#main .catalog_block .catalog_item .singleReview.gbc-review-summary {
  display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center;
  gap: var(--gbc-space-1); min-width: 0; font-size: 13px; line-height: var(--gbc-line-height-small);
}
body#main .catalog_block .gbc-review-summary .singleReviewTitle { font-size: inherit; font-weight: var(--gbc-font-weight-medium); }
body#main .catalog_block .gbc-review-summary .singleReviewRaiting {
  display: inline-flex; align-items: center; gap: var(--gbc-space-1); flex-basis: auto;
  margin-left: var(--gbc-space-1); color: var(--gbc-color-text-muted); font-size: 12px; line-height: inherit;
}
body#main :is(.callback-block, .gbc-footer__callback) {
  border-bottom: 0;
  text-decoration: underline dotted; text-underline-offset: var(--gbc-space-1);
}
@media (max-width: 767px) {
  body .category-bar { --gbc-gift-size: 72px; --gbc-gift-gap: var(--gbc-space-3); }
  body#main .catalog_block .catalog_item .singleReview.gbc-review-summary { flex-wrap: nowrap; font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); }
  body#main .catalog_block .gbc-review-summary .singleReviewRaiting { font-size: 12px; margin-left: 0; }
  body .category-bar__title { font-size: 22px; line-height: 28px; }
}

/* Narrow desktop shelves retain full review wording. Phones already use compact
 * numeric counts, so their rating and price must stay on the shared row. */
body#main:not(.blog_page) .catalog_block .catalog_item { container-type: inline-size; container-name: gbc-product-card; }
@media (min-width: 768px) {
@container gbc-product-card (max-width:240px) {
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton { grid-template-columns: minmax(0,1fr); gap: var(--gbc-space-1); }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices { grid-column: 1; grid-row: 1; justify-self: end; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .singleReview {
    grid-column: 1; grid-row: 2; justify-self: start; width: auto; max-width: 100%;
    display: flex; flex-wrap: nowrap; align-items: center; gap: var(--gbc-space-1);
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .singleReview > :is(.item-rating,.singleReviewTitle,.singleReviewRaiting) { flex: none; margin: 0; white-space: nowrap; }
}
}
