/* Phone composition only. CMS content and native Aspro actions are unchanged. */
.sale-personal-section-index-block-ico .gbc-delete-icon--mobile { display: none !important; }
@media (max-width: 767px) {
  .sale-personal-section-index-block-ico .gbc-delete-icon--desktop { display: none !important; }
  .sale-personal-section-index-block-ico .gbc-delete-icon--mobile { display: inline-block !important; }
  body .gbc-product-added-notice {
    position: fixed; z-index: 1100; left: var(--gbc-container-gutter); right: var(--gbc-container-gutter);
    bottom: calc(72px + env(safe-area-inset-bottom)); display: flex; align-items: center;
    gap: var(--gbc-space-2); min-height: 56px; padding: var(--gbc-space-2) var(--gbc-space-3);
    border: 1px solid var(--gbc-color-border); border-radius: var(--gbc-radius-card);
    background: var(--gbc-color-surface); box-shadow: var(--gbc-shadow-popover);
    color: var(--gbc-color-text); font: var(--gbc-font-weight-medium) 13px/18px var(--gbc-font-family);
    opacity: 0; visibility: hidden; transform: translateY(12px); pointer-events: none;
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
  }
  body .gbc-product-added-notice.is-visible { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
  body .gbc-product-added-notice__check { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--gbc-color-buy); color: var(--gbc-color-on-buy); }
  body .gbc-product-added-notice a { margin-left: auto; color: var(--gbc-color-buy); white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }
  body .gbc-product-added-notice a:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }
  :root {
    --gbc-mobile-copy-size: var(--gbc-font-size-small);
    --gbc-mobile-copy-line: 22px;
    --gbc-mobile-title-size: 24px;
    --gbc-mobile-title-line: 30px;
    --gbc-mobile-section-size: 18px;
    --gbc-mobile-section-line: 24px;
    --gbc-mobile-map-height: 240px;
    --gbc-mobile-list-height: min(60dvh, 480px);
  }

  /* Native title/breadcrumb shells used to reserve 125px before any content. */
  body#main .wrapper1:not(.front_page) .page-top { margin-bottom: var(--gbc-space-3); }
  body#main .wrapper1:not(.front_page) .page-top #navigation {
    margin: 0;
    padding-block: var(--gbc-space-2);
    min-height: 0;
  }
  body#main .wrapper1:not(.front_page) .page-top .breadcrumbs {
    font-size: 12px;
    line-height: 18px;
    margin: 0;
    padding: 0;
  }
  body#main .wrapper1:not(.front_page) .page-top .topic {
    padding-block: var(--gbc-space-2) 0;
    margin-bottom: 0;
  }
  body#main .wrapper1:not(.front_page) #pagetitle {
    font-size: var(--gbc-mobile-title-size);
    line-height: var(--gbc-mobile-title-line);
    overflow-wrap: anywhere;
  }
  body#main .wrapper1:not(.front_page) #content > .wrapper_inner:has(.search-page-wrap) {
    padding-inline: var(--gbc-container-gutter) !important;
  }
  body#main .search-page-wrap input[type="text"] {
    min-height: var(--gbc-touch-target);
    font-size: 16px;
    border: 0;
    border-radius: var(--gbc-radius-control);
    background: var(--gbc-color-surface-soft);
  }
  body#main .search-page-wrap :is(form, .form-control) { min-width: 0; max-width: 100%; }
  /* iOS zooms focused fields below 16px, even when the surrounding copy is small. */
  body#main #content :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], select, textarea) { font-size: 16px !important; }
  body#main #footer input[type="email"] { font-size: 16px !important; }
  body#main .search-page-wrap button[type="submit"] {
    min-width: var(--gbc-touch-target);
    min-height: var(--gbc-touch-target);
    border: 0;
    border-radius: var(--gbc-radius-control);
  }
  body#main #mobilemenu li.selected > .link > a,
  body#main #mobilemenu li.selected > a { color: var(--gbc-color-brand); }
  body#main #mobilemenu .top > li > a {
    min-height: var(--gbc-touch-target);
    padding-block: var(--gbc-space-2);
    font-size: var(--gbc-font-size-ui);
    line-height: var(--gbc-line-height-ui);
    font-weight: var(--gbc-font-weight-medium);
    color: var(--gbc-color-text) !important;
    text-transform: none;
  }
  body#main #mobilemenu .top > li.selected > a { color: var(--gbc-color-brand) !important; }
  body#main #mobilemenu .top-mobile-menu { border-top: 0 !important; }
  body#main #mobilemenu .top-mobile-menu > .top > li:first-child { border-top: 0 !important; }
  body#main #mobilemenu .menu.menu_dop a.shop span::after {
    display: inline-grid; place-items: center; box-sizing: border-box;
    min-width: 28px; height: 24px; padding: 0 var(--gbc-space-1);
    line-height: 1; text-align: center;
  }
  body#main .gbc-company-mobile-nav {
    display: flex; gap: var(--gbc-space-2); overflow-x: auto; scrollbar-width: none;
    margin: var(--gbc-space-2) 0 var(--gbc-space-4);
    padding: 0 0 var(--gbc-space-2); scroll-snap-type: x proximity;
  }
  body#main .gbc-company-mobile-nav::-webkit-scrollbar { display: none; }
  body#main .gbc-company-mobile-nav a {
    flex: none; display: inline-flex; align-items: center; min-height: var(--gbc-touch-target);
    padding: var(--gbc-space-2) var(--gbc-space-3); 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); text-decoration: none;
    scroll-snap-align: start;
  }
  body#main .gbc-company-mobile-nav a[aria-current="page"] { background: var(--gbc-color-brand-soft); font-weight: var(--gbc-font-weight-semibold); }
  body#main .gbc-company-mobile-nav a:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }
  body#main :is(.front_sale2, .front_sale2_custom) .top_block { display: flex; align-items: center; justify-content: space-between; gap: var(--gbc-space-3); }
  body#main :is(.front_sale2, .front_sale2_custom) .top_block h2 { min-width: 0; margin: 0 !important; }
  body#main :is(.front_sale2, .front_sale2_custom) .top_block > a {
    position: static !important; display: flex !important; align-items: center; justify-content: center;
    flex: none; width: auto !important; height: auto !important; min-height: var(--gbc-touch-target);
    margin: 0 !important; padding: 0; font-size: var(--gbc-font-size-small) !important;
    line-height: var(--gbc-line-height-small); text-indent: 0; text-transform: none; white-space: nowrap;
    background-image: none !important; transform: none !important;
  }
  body#main :is(.front_sale2, .front_sale2_custom) .top_block > a::before, body#main :is(.front_sale2, .front_sale2_custom) .top_block > a::after { display: none !important; }
  body#main :is(.front_sale2, .front_sale2_custom) .top_block > a :is(i, svg, .svg, .arrow) { display: none !important; }
  body#main:has(.bx_filter_parameters_box .bx_filter_block[style*="display: block"]) #scrollToTop {
    visibility: hidden;
    pointer-events: none;
  }
  /* A second floating control cannot fit beside the full-width two-column shelf. */
  body#main:has(.wrapper1.front_page, .catalog1, .product-container) #scrollToTop { display: none !important; }
  body#main .rose-builder__chip,
  body#main .rose-builder__cta {
    min-height: var(--gbc-touch-target);
    border: 0 !important;
    border-radius: var(--gbc-radius-control) !important;
    font-size: var(--gbc-font-size-small);
    line-height: var(--gbc-line-height-small);
  }
  body#main .rose-builder__chip { background: var(--gbc-color-surface); color: var(--gbc-color-text); }
  body#main .rose-builder__chip:is(:hover, :focus-visible) { background: var(--gbc-color-brand-soft-strong); }
  body#main .rose-builder__cta { background: var(--gbc-color-brand) !important; }
  body#main .rose-builder__submit { min-height: var(--gbc-touch-target); }
  /* Three native choices and their action occupy one compact, accessible row. */
  body#main .rose-builder { padding: var(--gbc-space-3); }
  body#main .rose-builder__inner { display: grid; gap: var(--gbc-space-2); }
  body#main .rose-builder__actions {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    width: 100%; gap: var(--gbc-space-1);
  }
  body#main .rose-builder__actions .rose-builder__chip,
  body#main .rose-builder__actions .rose-builder__submit {
    width: 100%; height: var(--gbc-control-height); min-width: 0;
    justify-content: center; padding: var(--gbc-space-1);
    font-size: var(--gbc-product-tag-size); line-height: var(--gbc-product-tag-line);
  }
  body#main .rose-builder__actions .rose-builder__chip { flex-direction: column; gap: var(--gbc-space-1); }
  body#main .rose-builder__actions .rose-builder__chip > span { width: var(--gbc-space-4); height: var(--gbc-space-4); }
  body#main .rose-builder__actions .rose-builder__submit {
    min-width: calc(var(--gbc-touch-target) + var(--gbc-space-6)); gap: var(--gbc-space-1);
  }

  /* Real tap area, not just the 28px native circle inside a different button. */
  body#main .catalog_block .catalog_item .like_icons:has(.wish_item) { bottom: auto; width: var(--gbc-touch-target) !important; min-height: var(--gbc-touch-target); }
  body#main :is(.catalog_block .catalog_item, .product-container) .wish_item {
    display: grid;
    place-items: center;
    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;
    border-radius: 50%;
    background: radial-gradient(circle, var(--gbc-color-surface) 16px, transparent 17px) !important;
    color: var(--gbc-color-text) !important;
    padding: 0 !important;
  }
  body#main :is(.catalog_block .catalog_item, .product-container) .wish_item > i { display: none !important; }
  body#main :is(.catalog_block .catalog_item, .product-container) .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 :is(.catalog_block .catalog_item, .product-container) .wish_item:is(.added, .in) { color: var(--gbc-color-brand) !important; }
  body#main :is(.catalog_block .catalog_item, .product-container) .wish_item:focus-visible {
    outline: 2px solid var(--gbc-color-focus);
    outline-offset: 2px;
  }
  body#main .product-container .product-info-headnote .col-auto { flex-direction: column; align-items: flex-start; gap: var(--gbc-space-1); width: 100%; }
  body#main .product-container .product-info #pagetitle.productName {
    max-width: 100%;
    margin-bottom: 0;
    font-size: var(--gbc-mobile-section-size);
    line-height: var(--gbc-mobile-section-line);
    font-weight: var(--gbc-product-title-weight);
  }
  body#main .product-container .productCode { position: static; flex: none; font-size: 12px; line-height: 18px; color: var(--gbc-color-text-muted); }
  body#main .product-container .product-main .cost.prices.detail .price:not(.discount) { font-size: 20px !important; line-height: 26px; }
  body#main .product-container .product-main .cost.prices.detail .price.discount .values_wrapper { font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); }
  body#main .product-container .product-main .sale_block .sale-number { background: var(--gbc-color-brand-soft-strong); color: var(--gbc-color-text); border: 0; }
  body#main .product-container .product-main .sale_block .inner-sale { background: var(--gbc-color-brand-soft); border: 0; border-radius: var(--gbc-radius-control); }
  body#main .product-container .product-main .sale_block :is(.text, .value) { color: var(--gbc-color-text); font-size: 12px; line-height: 18px; }
  body#main .product-container .buy_block .button_block { flex: 1 1 auto; min-width: 0; }
  body#main .product-container .buy_block .button_block .to-cart {
    width: 100%;
  }
  body#main .product-popup .product__size {
    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-control);
    background: var(--gbc-color-surface-soft);
    color: var(--gbc-color-text);
    font-size: 13px;
    line-height: 18px;
  }
  body#main .product-popup .product__size.active { background: var(--gbc-color-text); color: var(--gbc-color-surface); }
  body#main .product-popup .product__size:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }

  /* Own only phone composition, leaving the CMS filter form and sort links intact. */
  body#main .catalog1 .gbc-mobile-filter-ready {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start; gap: var(--gbc-space-3); margin-bottom: var(--gbc-space-4);
  }
  body#main .catalog1 .gbc-mobile-filter-toggle:not([hidden]) {
    grid-column: 1; grid-row: 1; display: flex; align-items: center; justify-content: center;
    gap: var(--gbc-space-2); width: 100%; min-height: var(--gbc-control-height);
    padding: var(--gbc-space-2); border: 0; border-radius: var(--gbc-radius-control);
    background: var(--gbc-color-surface-soft); color: var(--gbc-color-text);
    font: var(--gbc-font-weight-medium) var(--gbc-font-size-small)/var(--gbc-line-height-small) var(--gbc-font-family);
  }
  body#main .gbc-mobile-filter-toggle::before {
    content: ''; width: 18px; height: 18px; flex: none; background: currentColor;
    mask: url('/local/templates/aspro_max/images/svg/catalog/filter.svg') center / contain no-repeat;
  }
  body#main .catalog1 .gbc-mobile-filter-ready > .filter-panel { grid-column: 2; grid-row: 1; width: 100%; min-width: 0; height: auto; margin: 0; padding: 0; position: static; gap: 0; }
  body#main .catalog1 .gbc-mobile-filter-ready > .filter-panel > .clearfix { display: none; }
  body#main .catalog1 .gbc-mobile-filter-ready .filter-panel__sort { position: static !important; inset: auto !important; width: 100%; min-width: 0; flex: 1 1 100% !important; height: auto; margin: 0; }
  body#main .catalog1 .gbc-mobile-filter-ready .dropdown-select { width: 100%; }
  body#main .catalog1 .gbc-mobile-filter-ready .dropdown-select__title {
    width: 100%; max-width: none; height: auto; min-height: var(--gbc-control-height); gap: var(--gbc-space-2);
    padding: var(--gbc-space-2); justify-content: space-between; border-radius: var(--gbc-radius-control);
    font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); text-align: left;
  }
  body#main .catalog1 .gbc-mobile-filter-ready .dropdown-select__title > .gbc-sort-icon { display: none; }
  body#main .catalog1 .gbc-mobile-filter-ready .dropdown-select__title > :is(span, i) { display: block; }
  body#main .catalog1 .gbc-mobile-filter-ready .dropdown-select__title > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  body#main .catalog1 .gbc-mobile-filter-ready > .filter-compact-block { grid-column: 1 / -1; grid-row: 2; width: 100% !important; }
  body#main .catalog1 .gbc-mobile-filter-ready > .filter-compact-block[hidden],
  body#main .gbc-mobile-filter-toggle[hidden],
  body#main .faq-main_section .accordion-type-1[hidden],
  body#main .gbc-faq-more[hidden] { display: none !important; }
  body#main .catalog1 .gbc-mobile-filter-ready form.smartfilter { padding: 0; }
  body#main .catalog1 .gbc-mobile-filter-ready .bx_filter_parameters { display: flex; flex-wrap: wrap; overflow: visible; gap: var(--gbc-space-2); }
  body#main .catalog1 .gbc-mobile-filter-ready .bx_filter_search_reset.btn-link-text { position: static; margin-top: var(--gbc-space-2); }
  body#main :is(.gbc-mobile-filter-toggle, .gbc-faq-more):focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }
  body#main .gbc-faq-more:not([hidden]) {
    display: flex; align-items: center; justify-content: center; width: 100%;
    min-height: var(--gbc-control-height); margin-top: var(--gbc-space-3); 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: var(--gbc-font-weight-medium) var(--gbc-font-size-small)/var(--gbc-line-height-small) var(--gbc-font-family);
  }
  body#main .benefits .benefits__content { justify-content: flex-start; }
  body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price:not(.discount) { font-size: var(--gbc-mobile-section-size); }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices .price:not(.discount) { font-size: 14px !important; line-height: 18px; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices .price.discount { font-size: 10px !important; line-height: 14px; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .singleReview { min-width: 0; white-space: nowrap; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .singleReviewRaiting[data-compact-count] {
    flex: 0 0 auto; margin: 0; font-size: 0 !important; white-space: nowrap;
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .singleReviewRaiting[data-compact-count]::after {
    content: attr(data-compact-count); font-size: 12px; line-height: var(--gbc-line-height-small);
  }
  body#main:not(.blog_page) .catalog_block .catalog_item .cost.prices .price:not(.discount) :is(.values_wrapper, .price_value, .price_currency) { font: inherit; }
  /* Shared product actions own backgrounds and glyph sizes; keep the shadow reset. */
  body#main .product-popup__close { box-shadow: none; }
  body#main .product-popup .gbc-product-photo-favorite .wish_item { box-shadow: none; }
  body#main .product-popup .singleReview :is(.item-rating, .svg, svg) { width: 16px !important; height: 16px !important; }
  body#main .product-popup .votes_block.with-text .item-rating :is(i, svg) { width: 16px !important; height: 16px !important; }
  body#main .product-popup .product__info { padding: var(--gbc-space-3) var(--gbc-container-gutter) 0; }
  body#main .product-popup .product__article--hide-pc { margin-bottom: var(--gbc-space-1); text-align: left; }
  body#main .product-popup .product__wrapper { max-width: 100%; margin: 0 0 var(--gbc-space-3); }
  body#main .product-popup .product__title { margin: 0; }
  body#main .product-popup .product__properties { margin-bottom: var(--gbc-space-2); }
  body#main .product-popup .product__sizes { justify-content: flex-start; gap: var(--gbc-space-2); margin-bottom: var(--gbc-space-4); }
  body#main .product-popup .product__info :is(.couponCopy, .promotion) { margin-block: 0 var(--gbc-space-2); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); }

  /* Promotions: intro, year control and cards follow the same compact rhythm. */
  body#main #content .text_before_items:has(+ .select_head_wrap) {
    margin-bottom: var(--gbc-space-4);
    font-size: var(--gbc-mobile-copy-size);
    line-height: var(--gbc-mobile-copy-line);
  }
  body#main #content .text_before_items:has(+ .select_head_wrap) p { margin-bottom: var(--gbc-space-3); }
  body#main #content .select_head_wrap { margin-bottom: var(--gbc-space-4); }
  body#main #content .select_head_wrap .menu_item_selected {
    min-height: var(--gbc-touch-target);
    padding: var(--gbc-space-3) var(--gbc-space-4);
    border: 0;
    border-radius: var(--gbc-radius-control);
    background: var(--gbc-color-surface-soft);
    font-size: var(--gbc-font-size-small);
    line-height: var(--gbc-line-height-small);
  }
  body#main #content .select_head_wrap .head-block {
    border: 0;
    border-radius: var(--gbc-radius-card);
  }
  body#main #content .select_head_wrap .head-block .item-link {
    min-height: var(--gbc-touch-target);
    font-size: var(--gbc-font-size-small);
  }

  /* Editorial navigation is auxiliary, so it scrolls instead of taking a screen. */
  body#main .gbc-blog-page__intro {
    margin-bottom: var(--gbc-space-4);
    font-size: var(--gbc-mobile-copy-size);
    line-height: var(--gbc-mobile-copy-line);
  }
  body#main .gbc-blog-navigation {
    gap: var(--gbc-space-3);
    padding: var(--gbc-space-3);
    margin-block: 0 var(--gbc-space-5);
    background: var(--gbc-color-surface-soft);
    border-radius: var(--gbc-radius-card);
  }
  body#main .gbc-blog-search label { font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); }
  body#main .gbc-blog-search__controls { grid-template-columns: minmax(0, 1fr) auto; gap: var(--gbc-space-2); }
  body#main .gbc-blog-search input {
    min-height: var(--gbc-touch-target);
    padding: var(--gbc-space-2) var(--gbc-space-3);
    border: 0;
    border-radius: var(--gbc-radius-control);
    font-size: 16px;
  }
  body#main .gbc-blog-search .btn {
    min-height: var(--gbc-touch-target);
    width: auto;
    padding-inline: var(--gbc-space-3);
    border: 0;
    border-radius: var(--gbc-radius-control);
    font-size: var(--gbc-font-size-small);
  }
  body#main :is(.gbc-blog-categories, .gbc-blog-topics) {
    flex-wrap: nowrap;
    gap: var(--gbc-space-2);
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    padding-bottom: var(--gbc-space-1);
  }
  body#main :is(.gbc-blog-categories, .gbc-blog-topics) > * { flex: 0 0 auto; }
  body#main :is(.gbc-blog-categories, .gbc-blog-topics) a {
    border: 0;
    border-radius: var(--gbc-radius-control);
    min-height: var(--gbc-touch-target);
    background: var(--gbc-color-surface);
    font-size: var(--gbc-font-size-small);
  }
  body#main :is(.gbc-blog-categories, .gbc-blog-topics) a:is(:hover, .is-active) {
    background: var(--gbc-color-brand-soft-strong);
    color: var(--gbc-color-text);
  }
  body#main.blog_page .gbc-editorial-copy,
  body#main.blog_page .gbc-editorial-copy :is(.gbc-editorial-proscons__group, .gbc-editorial-note, .gbc-editorial-footnotes) {
    font-size: var(--gbc-mobile-copy-size);
    line-height: var(--gbc-mobile-copy-line);
  }
  body#main.blog_page .gbc-editorial-copy p { margin-bottom: var(--gbc-space-4) !important; }
  body#main.blog_page .gbc-editorial-copy .gbc-editorial-lead {
    font-size: var(--gbc-font-size-ui);
    line-height: var(--gbc-line-height-ui);
    margin-bottom: var(--gbc-space-5) !important;
  }
  body#main.blog_page .gbc-editorial-copy h2 {
    margin-block: var(--gbc-space-5) var(--gbc-space-3);
    font-size: var(--gbc-mobile-section-size);
    line-height: var(--gbc-mobile-section-line);
  }
  body#main.blog_page .gbc-editorial-copy :is(h3, h4) {
    margin-block: var(--gbc-space-4) var(--gbc-space-2);
    font-size: var(--gbc-font-size-ui);
    line-height: var(--gbc-line-height-ui);
  }
  body#main.blog_page .gbc-editorial-copy :is(figure, blockquote, .gbc-editorial-note, .gbc-editorial-table) { margin-block: var(--gbc-space-5); }
  body#main.blog_page .gbc-editorial-toc { margin-bottom: var(--gbc-space-4); }
  body#main.blog_page .gbc-editorial-copy .gbc-editorial-note { padding: var(--gbc-space-4); }
  body#main.blog_page .gbc-editorial-copy .gbc-editorial-table table { font-size: var(--gbc-font-size-small); }
  body#main.blog_page .gbc-article-products .catalog_block {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--gbc-space-3) var(--gbc-space-2) !important;
  }
  body#main.blog_page .gbc-article-products .item_block { max-width: none; }
  body#main.blog_page .gbc-article-products .item-title a {
    font-size: 13px;
    line-height: 18px;
    font-weight: var(--gbc-product-title-weight);
  }
  body#main .gbc-editorial-card__title { font-size: var(--gbc-mobile-section-size); line-height: var(--gbc-mobile-section-line); }
  body#main .gbc-editorial-card__description { font-size: var(--gbc-mobile-copy-size); line-height: var(--gbc-mobile-copy-line); }

  /* Loyalty keeps its original benefits, without a separate legacy type scale. */
  body#main .loyalty__header {
    padding: var(--gbc-space-4);
    background: var(--gbc-color-brand-soft);
    border-radius: var(--gbc-radius-dialog);
  }
  body#main .loyalty__header::before { content: none; }
  body#main .loyalty__title {
    font-size: var(--gbc-mobile-title-size);
    line-height: var(--gbc-mobile-title-line);
    font-weight: var(--gbc-font-weight-heading);
    letter-spacing: 0;
  }
  body#main :is(.loyalty__bonus-title, .loyalty__conditions-title) {
    margin-bottom: var(--gbc-space-4);
    font-size: var(--gbc-mobile-section-size);
    line-height: var(--gbc-mobile-section-line);
  }
  body#main :is(.loyalty__header, .loyalty__bonus, .loyalty__bonus-items) { margin-bottom: var(--gbc-space-5); }
  body#main .loyalty__items { gap: var(--gbc-space-2); margin-top: var(--gbc-space-4); }
  body#main .loyalty__item { padding: var(--gbc-space-3); gap: var(--gbc-space-3); border-radius: var(--gbc-radius-card); }
  body#main :is(.loyalty__text, .loyalty__bonus-left-item-text, .loyalty__conditions-text) {
    font-size: var(--gbc-mobile-copy-size);
    line-height: var(--gbc-mobile-copy-line);
    text-wrap: initial;
    max-width: none;
  }
  body#main .loyalty__bonus-items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gbc-space-2); }
  body#main .loyalty__bonus-item { padding: var(--gbc-space-3); clip-path: none; border-radius: var(--gbc-radius-card); }
  body#main .loyalty__bonus-item-title { font-size: var(--gbc-mobile-section-size); line-height: var(--gbc-mobile-section-line); }
  body#main .loyalty__bonus-item-subtitle { font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); }
  body#main .loyalty__bonus-left-item { padding: var(--gbc-space-4); margin-bottom: var(--gbc-space-3); background: var(--gbc-color-surface-soft); border-radius: var(--gbc-radius-card); }
  body#main .loyalty__bonus-left-item-box { margin-bottom: var(--gbc-space-3); }
  body#main .loyalty__bonus-left-item-title { font-size: var(--gbc-font-size-ui); line-height: var(--gbc-line-height-ui); }
  body#main .loyalty__conditions-items { grid-template-columns: minmax(0, 1fr); gap: var(--gbc-space-2); }
  body#main .loyalty__conditions-item { padding: var(--gbc-space-3); gap: var(--gbc-space-3); border-radius: var(--gbc-radius-card); }
  body#main :is(.loyalty__btn, .loyalty__conditions-btn) { margin-left: 0; min-height: var(--gbc-touch-target); max-width: 100%; }
  body#main :is(.loyalty__btn-top, .loyalty__conditions-btn) { margin-top: var(--gbc-space-4); }

  /* All CMS stores remain available; their list no longer buries the footer. */
  body#main .contacts-v2 > .gbc-stores-mobile-title {
    margin: 0 0 var(--gbc-space-4);
    font-size: var(--gbc-mobile-title-size);
    line-height: var(--gbc-mobile-title-line);
  }
  body#main .contacts-v2 .contacts-page-map {
    height: var(--gbc-mobile-map-height);
    overflow: hidden;
    border-radius: var(--gbc-radius-dialog);
  }
  body#main .contacts-v2 .contacts-page-map :is(.bx-yandex-map, ymaps[id], .ymaps-map) { height: var(--gbc-mobile-map-height) !important; }
  body#main .contacts-v2 .contacts-page-top { margin-bottom: var(--gbc-space-4); }
  body#main .contacts-v2 .contacts-stores.shops-list1 {
    max-height: var(--gbc-mobile-list-height);
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    padding-right: var(--gbc-space-1);
    margin-top: var(--gbc-space-4);
  }
  body#main .contacts-v2 .contacts-stores.shops-list1:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }
  body#main .contacts-v2 .contacts-stores :is(.item, .section-info) { padding: var(--gbc-space-3); }
  body#main .contacts-v2 .contacts-stores .section-info { margin: var(--gbc-space-3) 0 var(--gbc-space-2); }
  body#main .contacts-v2 .contacts-stores .item { border: 0; background: var(--gbc-color-surface-soft); border-radius: var(--gbc-radius-card); box-shadow: none; margin-bottom: var(--gbc-space-2); }
  body#main .contacts-v2 .contacts-stores :is(.title, .name, .address) { font-size: var(--gbc-mobile-copy-size); line-height: var(--gbc-mobile-copy-line); }
  body#main .contacts-v2 .sectionText { margin-top: var(--gbc-space-5); font-size: var(--gbc-mobile-copy-size); line-height: var(--gbc-mobile-copy-line); }
  body#main #content .site-map {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--gbc-space-1);
    max-height: var(--gbc-mobile-list-height);
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
  }
  body#main #content .site-map a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: var(--gbc-touch-target);
    margin: 0;
    padding: var(--gbc-space-2) var(--gbc-space-3);
    background: var(--gbc-color-surface-soft);
    border-radius: var(--gbc-radius-control);
    font-size: var(--gbc-mobile-copy-size);
    line-height: var(--gbc-mobile-copy-line);
    text-decoration: none;
  }
  body#main #content .site-map :is(a:hover, a:focus-visible) { background: var(--gbc-color-brand-soft); }
}

@media (max-width: 359px) {
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton { gap: 2px; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .singleReview { gap: 2px; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .singleReviewRaiting[data-compact-count]::after { font-size: 12px; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .prices-wrapper { gap: 2px; padding: 2px !important; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices .price:not(.discount) { font-size: 12px !important; line-height: 16px; }
  body#main:not(.blog_page) .catalog_block .catalog_item .linePriceButton .cost.prices .price.discount { font-size: 9px !important; line-height: 12px; }
}

@media (max-width: 767px) {
  /* Sorting leads; both controls share the available row equally. */
  body#main .catalog1 .gbc-mobile-filter-ready > .filter-panel { grid-column: 1; }
  body#main .catalog1 .gbc-mobile-filter-toggle:not([hidden]) { grid-column: 2; }
  body#main .catalog1 .gbc-mobile-filter-ready .dropdown-select__title { justify-content: flex-start; }
  body#main .catalog1 .gbc-mobile-filter-ready .dropdown-select__title > .gbc-sort-icon { display: block; width: 18px; height: 18px; flex: none; }
  body#main .catalog1 .gbc-mobile-filter-ready .dropdown-select__title > :is(i,.svg) { margin-left: auto; }

  /* Basket and checkout share the same mobile content gutters. */
  body#main:has(#basket-root, #bx-soa-order-form.gbc-checkout) .middle > .container { padding-inline: 0 !important; }
  body#main #bx-soa-order-form.gbc-checkout { padding-inline: 0 !important; }
  body#main.simple_basket_mode:has(#basket-root) #content > .wrapper_inner,
  body#main.simple_basket_mode:has(#basket-root) .page-top > .wrapper_inner { padding-inline: var(--gbc-container-gutter) !important; }
  body#main #basket-root,
  body#main #basket-root > .basket-items-list,
  body#main #basket-root :is(.basket-items-list-outer,.basket-items-list-wrapper,.basket-items-list-container,.basket-items-list-table,.basket-total-outer,.basket-total-block,.basket-coupon-section) { width: 100%; max-width: none; box-sizing: border-box; margin-inline: 0; }
  body#main #basket-root :is(.basket-items-list-container,.basket-items-list-table tbody) { height: auto !important; max-height: none !important; overflow: visible !important; }
  body#main #basket-root .basket-checkout-block :is(.basket-btn-checkout,.j-login) {
    display: flex; align-items: center; justify-content: center; width: 100%;
    height: auto !important; min-height: var(--gbc-control-height); padding: var(--gbc-space-3) var(--gbc-space-4) !important; border: 0 !important;
    border-radius: var(--gbc-radius-control); background: var(--gbc-color-buy) !important;
    color: var(--gbc-color-on-buy) !important;
    font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); text-align: center;
  }
  body#main #basket-root .basket-checkout-block :is(.basket-btn-checkout,.j-login) > span:not(.ripple) { position: static; margin: 0; padding: 0; font: inherit; }
  body#main #basket-root .basket-checkout-block :is(.basket-btn-checkout,.j-login):is(:hover,:focus-visible) { background: var(--gbc-color-buy-hover) !important; }
  body#main #bx-soa-order-form .bx-soa-section-content :is(.form-group,.soa-property-container,.form-control,input[type="text"],input[type="tel"],input[type="email"],textarea,select) { max-width: 100%; width: 100%; box-sizing: border-box; }
  body#main #bx-soa-order-form .bx-soa-section-content .bx-soa-customer-field[class*="col-"] { width: 100%; max-width: 100%; }
  body#main #bx-soa-order-form :is(.btn-order-save,.bx-soa-total .btn-default) { background: var(--gbc-color-buy-hover) !important; border-color: var(--gbc-color-buy-hover) !important; color: var(--gbc-color-on-buy) !important; }
  body#main #bx-soa-order-form #pickUpMap button[data-store].btn {
    display: flex; align-items: center; justify-content: center; box-sizing: border-box !important; width: 100% !important;
    height: var(--gbc-touch-target) !important; min-height: var(--gbc-touch-target); margin-top: var(--gbc-space-2);
    padding: var(--gbc-space-2) var(--gbc-space-3) !important;
    border: 0; border-radius: var(--gbc-radius-control) !important;
    background: var(--gbc-color-brand); color: var(--gbc-color-on-buy);
    font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small);
  }
  body#main #bx-soa-order-form #pickUpMap button[data-store].btn:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }
  body#main #bx-soa-order-form #pickUpMap [class*="-balloon_layout_panel"] [class$="-balloon__content"] > ymaps {
    height: auto !important; max-height: none !important; overflow: visible !important;
  }

  /* Consistent, denser two-column account navigation. */
  body#main .personal_wrapper .sale-personal-section-row-flex { align-items: stretch; grid-auto-rows: 1fr; width: 100%; max-width: none; margin-inline: 0; }
  body#main .personal_wrapper .sale-personal-section-row-flex > div,
  body#main .personal_wrapper .sale-personal-section-index-block,
  body#main .personal_wrapper .sale-personal-section-index-block-link { height: 100%; }
  body#main .personal_wrapper .sale-personal-section-index-block { padding: 0; }
  body#main .personal_wrapper .sale-personal-section-row-flex .sale-personal-section-index-block-link {
    min-height: 92px; padding: var(--gbc-space-2) var(--gbc-space-3) !important; gap: var(--gbc-space-1);
    justify-content: center; background: var(--gbc-color-surface) !important;
  }
  body#main .personal_wrapper .sale-personal-section-index-block-name { font-size: 14px; line-height: 18px; }
  body#main .personal_wrapper .sale-personal-section-index-block-ico { display: block; flex: none; height: 24px; margin: 0; }
  body#main .personal_wrapper .sale-personal-section-index-block-ico :is(i,svg),
  body#main .personal_wrapper .gbc-account-icon { width: 24px; height: 24px; }
  body#main .personal_wrapper .sale-personal-section-index-block-ico i.fa { display: block; font-size: 24px; height: 24px; }
  body#main .personal_wrapper .removeAcc .gbc-delete-icon--mobile,
  body#main .personal_wrapper .removeAcc .gbc-delete-icon--mobile svg { color: var(--gbc-color-error); fill: none !important; }
  body#main .personal_wrapper .removeAcc .gbc-delete-icon--mobile svg :is(path,circle,line,rect,polyline) {
    fill: none !important; stroke: currentColor !important;
  }
}
