/* =============================================================================
   [00] MOBILE BASE TOKENS (<=767px)
   ========================================================================== */
@media (max-width: 767px) {
  :root {
    --pad: 20px;

    /* стабильные отступы шапки */
    --safe: env(safe-area-inset-top, 0px);
    --header-pt: 30px;   /* воздух сверху до контента */
    --line-top: 10px;    /* расстояние от верха до тонкой линии */

    /* опционально: единое семейство для плиток каталога */
    /* --cat-font-family: "Cygre", "Inter", sans-serif; */
  }
}

/* =============================================================================
   [10] NAVBAR (INDEX .header + CATALOG .header-4 + THEME/LINE)
   ========================================================================== */
/* -- INDEX HEADER (.w-layout-grid.header) ----------------------------------- */
@media (max-width: 767px) {
  .w-layout-grid.header {
    position: relative;
    grid-template-columns: 44px 1fr 64px !important;
    align-items: center;
    padding: calc(var(--safe) + var(--header-pt)) var(--pad) 14px !important;
    border: none !important;
    box-shadow: none !important;
  }
  .w-layout-grid.header::before {
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: calc(var(--safe) + var(--line-top));
    height: 1px;
    background: #fff;
    pointer-events: none;
    z-index: 2;
  }
  .w-layout-grid.header .menu .text-block-catalog {
    display: inline-block; width: 24px; height: 14px; position: relative;
    text-indent: -9999px; overflow: hidden; color: #fff;
    border-top: 1px solid currentColor; border-bottom: 1px solid currentColor;
  }
  .w-layout-grid.header .menu .text-block-catalog::before {
    content: ""; position: absolute; left: 0; right: 0; top: 50%;
    height: 1px; background: currentColor; transform: translateY(-50%);
  }
  .w-layout-grid.header .sonder-logo-1 { display: grid; place-items: center; }
  .w-layout-grid.header .sonder-logo-1 img { width: 92px !important; height: auto; }
  .w-layout-grid.header .icons { display: flex; gap: 18px; justify-content: flex-end; }
  .w-layout-grid.header .icons img { width: 18px; height: 18px; display: block; }
}

/* -- CATALOG HEADER (.w-layout-grid.header-4) + TOKENS ---------------------- */
@media (max-width: 767px) {
  :root{
    /* layout для хедера каталога и баннера */
    --cat-pad-x:     var(--pad);
    --cat-header-pt: 69px;
    --cat-header-pb: 20px;
    --cat-line-top:  40px;

    --cat-banner-min-h: 50dvh;
    --cat-banner-min-px: 420px;
    --cat-banner-max-px: 780px;
    --cat-banner-pb:     25vh;
  }

  .w-layout-grid.header-4 {
    position: static !important; left: 0; right: 0; top: 0;
    z-index: 50; background: transparent !important;
    grid-template-columns: 44px 1fr 64px !important; align-items: center;
    padding: calc(var(--safe) + var(--cat-header-pt)) var(--cat-pad-x) var(--cat-header-pb) !important;
    border: 0 !important; box-shadow: none !important;
  }
  .w-layout-grid.header-4 .menu-2 .text-block-27{
    display: inline-block; width: 24px; height: 14px; position: relative;
    text-indent: -9999px; overflow: hidden; color: #fff;
    border-top: 1px solid currentColor; border-bottom: 1px solid currentColor;
  }
  .w-layout-grid.header-4 .menu-2 .text-block-27::before{
    content:""; position:absolute; left:0; right:0; top:50%; height:1px;
    background: currentColor; transform: translateY(-50%);
  }
  .w-layout-grid.header-4 .sonder-logo-2 { display: grid; place-items: center; }
  .w-layout-grid.header-4 .sonder-logo-2 img { width: 92px !important; height: auto; filter: invert(1) brightness(1.1) contrast(1.05); }
  .w-layout-grid.header-4 .icons-2 { display: flex; gap: 18px; justify-content: flex-end; }
  .w-layout-grid.header-4 .icons-2 img { width: 18px; height: 18px; display: block; filter: invert(1) brightness(1.1) contrast(1.05); }
  .w-layout-grid.header-4 .menu-2 a { color: #fff; text-decoration: none; }
}

/* -- NAVBAR LINE (внутри контейнера) --------------------------------------- */
@media (max-width: 767px){
  .w-layout-grid.header-4{ position: relative !important; }
  .w-layout-grid.header-4::before{
    content:""; position:absolute; left:0; right:0;
    top: calc(env(safe-area-inset-top, 0px) + var(--cat-line-top));
    height:1px; background: var(--nav-line, #fff);
    pointer-events:none; z-index: 2;
  }
  body.nav-dark .w-layout-grid.header-4::before{ background:#111; }
}

/* -- NAVBAR THEME TOKENS (mobile only) ------------------------------------- */
@media (max-width: 767px) {
  .w-layout-grid.header-4 {
    --nav-fg: #fff; --nav-line: #fff;
    --nav-img-filter: invert(1) brightness(1.1) contrast(1.05);
  }
  body.nav-dark .w-layout-grid.header-4 {
    --nav-fg: #111; --nav-line: #111; --nav-img-filter: none;
  }
  body.nav-light .w-layout-grid.header-4 {
    --nav-fg: #fff; --nav-line: #fff;
    --nav-img-filter: invert(1) brightness(1.1) contrast(1.05);
  }

  .w-layout-grid.header-4 a { color: var(--nav-fg) !important; }
  .w-layout-grid.header-4 .menu-2 .text-block-27 {
    color: var(--nav-fg) !important;
    border-top-color: currentColor !important;
    border-bottom-color: currentColor !important;
  }
  .w-layout-grid.header-4 .menu-2 .text-block-27::before { background: currentColor !important; }
  .w-layout-grid.header-4 .sonder-logo-2 img,
  .w-layout-grid.header-4 .icons-2 img { filter: var(--nav-img-filter) !important; }
  .w-layout-grid.header-4::before { background: var(--nav-line) !important; }
  .w-layout-grid.header-4 .menu-2 a { color: var(--nav-fg) !important; }
}

/* -- OPTIONAL: глобальная фикс-линия (мобайл) ------------------------------ */
@media (max-width: 767px) {
  .w-layout-grid.header-4 { position: relative !important; }
  .navline-fixed{
    position: fixed; left: 0; right: 0;
    top: calc(env(safe-area-inset-top, 0px) + var(--cat-line-top));
    height: 1px; background: var(--nav-line, #fff);
    pointer-events: none; z-index: 60;
  }
  body.nav-dark .navline-fixed { background: #111; }
}
@media (min-width: 768px) { .navline-fixed { display: none; } }

/* =============================================================================
   [20] HOME (HERO + NEW/BESTSELLERS + H-CAROUSEL + SECTION HEADER)
   ========================================================================== */
/* -- HERO ------------------------------------------------------------------- */
@media (max-width: 767px) {
  .home { min-height: 100vh !important; display: flex !important; flex-direction: column !important; }
  .home-info-wrap {
    flex: 1 0 auto; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 35px;
    padding: 0 var(--pad) var(--pad) var(--pad) !important; margin: 0 !important; text-align: left;
  }
  .hiw-text-wrap { max-width: 32ch; display: flex; flex-direction: column; margin: 0 !important; padding: 0 !important; }
  .text-block-little-moments, .text-block-ceramics-for-home { margin: 0 !important; padding: 0 !important; }
  .text-block-little-moments {
    color: #fff; font-size: clamp(24px, 7.2vw, 30px) !important; line-height: 1.15 !important; letter-spacing: .01em;
    text-shadow: 0 1px 2px rgba(0,0,0,.25);
  }
@media (max-width: 767px) {
  .choose {
    /* гасим webflow + safari */
    -webkit-appearance: none;
    appearance: none;
    display: inline-block !important;

    width: 200px;
    height: 44px;

    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    outline: 1px solid rgba(255,255,255,.98) !important;
    outline-offset: -1px;
    background: transparent;

    text-align: center;
    line-height: 44px; /* КЛЮЧ: вертикальный центр за счёт line-height */
  }

  .choose .text-block-select-product {
    display: inline-block;
    margin: 0 !important;
    padding: 0 16px;
    line-height: inherit;  /* берёт 44px */
  }
}
   
}

/* -- NEW & BESTSELLERS (заголовок секции) ---------------------------------- */
@media (max-width: 767px) {
  .new-bestsellers {
    position: relative; z-index: 5; padding-inline: 0 !important; padding-bottom: 40px !important;
    margin-bottom: 0 !important; overflow: visible !important;
  }
  .new-bestsellers::after {
    content: ""; position: absolute; left: var(--pad); right: var(--pad); bottom: 0; height: 1px;
    background: rgba(0,0,0,.12); z-index: 6; pointer-events: none;
  }
  .new-bestsellers > .header-2 {
    display: flex !important; align-items: center; justify-content: space-between; gap: 16px;
    padding-left: var(--pad) !important; padding-right: var(--pad) !important; margin: 0 !important;
    margin-bottom: 40px !important; grid-template-columns: none !important;
  }
  .text-block-new-bestsellers {
    margin: 0 !important; font-size: clamp(18px, 5.2vw, 22px) !important; line-height: 1.15 !important; letter-spacing: .01em;
  }
  .new-bestsellers .header-2 .link-arrow { margin: 0 !important; flex: 0 0 auto; }
  .new-bestsellers .header-2 .link-arrow-wrap { display: grid; place-items: center; width: 40px; height: 40px; }
  .new-bestsellers .header-2 .link-arrow-img { width: auto !important; height: auto !important; max-width: none !important; display: block; }
}

/* -- NEW & BESTSELLERS (чистый Y-скролл) ----------------------------------- */
@media (max-width: 767px) {
  .new-bestsellers::after { content: none !important; }
  .new-bestsellers { padding-bottom: 28px !important; }
  .grid-product-1 { padding-bottom: 12px !important; overflow-y: hidden !important; }
}

/* -- HORIZONTAL PRODUCT CAROUSEL — mobile, symmetric padders (no double edges) */
@media (max-width: 767px){
  :root{ --carousel-edge: 20px; }  /* или 16px/24px */
}

@media (max-width: 767px) {
  .product-list-1 {
    display: block !important;
    margin: 0;
    overflow: visible !important;
    height: auto !important; max-height: none !important; min-height: 0 !important;
  }

  .grid-product-1 {
    display: flex !important;
    align-items: stretch;
    gap: 20px;
    overflow-x: auto;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;                    /* мягче, чем mandatory */
    /* важно: без scroll-padding, чтобы не удваивать край */
    padding: 0 !important;
    margin: 0 !important;
    scroll-padding-left: 0 !important;
    scroll-padding-right: 0 !important;

    height: auto !important; max-height: none !important; min-height: 0 !important;
    touch-action: pan-x;
    overscroll-behavior-x: contain;
    scrollbar-width: none; -ms-overflow-style: none;
  }
  .grid-product-1::-webkit-scrollbar { display: none; }

  /* убираем старые крайние марджины у элементов, чтобы не было «x2» */
  .grid-product-1 > :first-child { margin-left: 0 !important; }
  .grid-product-1 > :last-child  { margin-right: 0 !important; }

  /* На всякий случай: гасим любые боковые margin у карточек */
  .grid-product-1 > * { margin-left: 0 !important; margin-right: 0 !important; }

  /* виртуальные пэддеры по краям — задают ровно один «--pad» слева/справа */
  .grid-product-1::before,
  .grid-product-1::after{
    content: "";
    flex: 0 0 var(--carousel-edge, var(--pad));       /* можно переопределить --carousel-edge */
    pointer-events: none;
  }
  .grid-product-1::before { scroll-snap-align: start; }
  .grid-product-1::after  { scroll-snap-align: end; }

  .product-1 {
    display: flex;
    flex-direction: column;
    flex: 0 0 80vw;
    max-width: 440px;
    scroll-snap-align: start;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible;
    margin: 0 !important;                               /* страховка от боковых margin */
  }

  .img-product-1 { display: block; width: 100%; margin: 0 !important; }
  .img-product-1 img {
    display: block; width: 100%; height: auto;
    aspect-ratio: 4/5; object-fit: cover; border-radius: 0 !important; background: #ddd;
  }

  .info-product-1 {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 10px; padding: 10px 0 12px;
  }

  .cart-product-1 { flex: 0 0 auto; }
  .cart-product-1 .add-product-link-wrap-1 {
    display: grid; place-items: center;
    width: 36px; height: 36px; flex: 0 0 36px;
    background: transparent !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important;
  }
  .cart-product-1 img { width: 18px; height: 18px; display: block; }
}

/* -- SECTION HEADER “КАТАЛОГ” (.header-3) ---------------------------------- */
@media (max-width: 767px) {
  .header-3 {
    position: relative; z-index: 1; display: flex !important; align-items: center; justify-content: space-between; gap: 16px;
    padding-left: var(--pad) !important; padding-right: var(--pad) !important; margin: 40px 0 !important;
    grid-template-columns: none !important;
  }
  .text-block-catalog-1 { margin: 0 !important; font-size: clamp(18px, 5.2vw, 22px) !important; line-height: 1.15 !important; letter-spacing: .01em; }
  .header-3 .link-arow-1 { margin: 0 !important; flex: 0 0 auto; }
  .header-3 .link-arrow-wrap-2 { display: grid; place-items: center; width: 40px; height: 40px; }
  .header-3 .link-arrow-img-1 { width: auto !important; height: auto !important; max-width: none !important; display: block; }
  .new-bestsellers + .header-3 { margin-top: 0 !important; }
}

/* NEW & BESTSELLERS — как раньше: 28 + 12 и скрытый Y у ленты */
@media (max-width: 767px) {
  .new-bestsellers::after { content: none !important; }
  .new-bestsellers { padding-bottom: 28px !important; }

  .product-list-1 { overflow: visible !important; }   /* контейнер — открытый */
  .grid-product-1 {
    overflow-y: hidden !important;                    /* лента — скрыт Y */
    padding-bottom: 12px !important;                  /* добиваем суммарно 40px */
  }

  /* убираем 1–2px базлайнового зазора под изображением */
  .img-product-1 { line-height: 0 !important; font-size: 0 !important; }
  .img-product-1 img { display: block !important; vertical-align: bottom !important; }
}


/* =============================================================================
   [30] CATALOG (BANNER UNDER NAVBAR + FILTER/SORT + LIST/GRID + IMG FIXES)
   ========================================================================== */
/* -- HIDE TABS/BARS ON MOBILE + BANNER SIZE -------------------------------- */
@media (max-width: 767px) {
  .catalog-menu, .catalog-tabs, .categories-bar, .catalog-submenu, .subcategories, .tabs-line,
  .catalog-filters-top, .cat-all, .tab-all { display: none !important; }

  #catalog .banner {
    position: relative; margin-top: 0; background-size: cover; background-position: center;
    padding-top: calc(var(--safe) + var(--cat-header-pt) + var(--cat-header-pb) + 8px);
    min-height: clamp(var(--cat-banner-min-px), var(--cat-banner-min-h), var(--cat-banner-max-px));
    padding-bottom: var(--cat-banner-pb);
    display: grid; align-content: end;
  }
  #catalog .banner > .w-container,
  #catalog .banner > .container,
  #catalog .banner > .banner-inner { min-height: inherit; display: grid; align-content: end; }

  main { position: relative; z-index: 1; }
}

/* -- SORTING-ONLY ROW (скрыть “Все”, одна линия) --------------------------- */
@media (max-width: 767px) {
  .catalog-menu .product-all, .wrap-2-product-type-menu .product-all, a.product-all { display: none !important; }
  .wrap-2-product-type-menu > a:first-child.product-all,
  .catalog-menu > a:first-child.product-all { display: none !important; }

  .product-type-menu { margin-left: var(--pad) !important; margin-right: var(--pad) !important; height: auto !important; }
  .sorting-btn, .sorting-wrap { display: flex !important; align-items: center; gap: 10px; flex-wrap: nowrap !important; white-space: nowrap !important; }
  .sorting-wrap .text-block, .sorting-wrap .sort-label, .sorting-wrap label { white-space: nowrap !important; flex: 0 0 auto; }
  .sorting-wrap select { min-width: 42vw; max-width: 60vw; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; line-height: 1.2; }
  .wrap-2-product-type-menu { gap: 20px !important; }
}

/* -- ONLY SORTING (скрыть табы/левую колонку) ------------------------------- */
@media (max-width: 767px) {
  .catalog-filters-top { display: flex !important; }

  .catalog-menu, .catalog-tabs, .categories-bar, .catalog-submenu, .subcategories, .tabs-line,
  .wrap-2-product-type-menu,
  a.product-all, a.product-mugs, a.product-plates, a.product-glasses, a.product-bowls, a.dishes-text, a.decor-text, a.candles-text, a.new-items-text {
    display: none !important;
  }
  .product-type-menu {
    margin-left: var(--pad) !important; margin-right: var(--pad) !important; height: auto !important;
    display: flex !important; align-items: center; justify-content: flex-end;
  }
  .sorting-btn, .sorting-wrap { display: flex !important; align-items: center; gap: 10px; flex-wrap: nowrap !important; white-space: nowrap !important; }
  .sorting-wrap label { white-space: nowrap !important; }
  .sorting-wrap select { min-width: 42vw; max-width: 60vw; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; line-height: 1.2; }
}

/* -- LIST/GRID (ONE-COLUMN) ------------------------------------------------- */
@media (max-width: 767px) {
  #catalog .product-list-1 {
    display: block !important; margin: 0 var(--pad) 30px !important; overflow: visible !important;
    height: auto !important; max-height: none !important; min-height: 0 !important;
  }
  #catalog .grid-product-1 {
    display: grid !important; grid-template-columns: 1fr !important; gap: 18px !important;
    overflow: visible !important; padding: 0 !important; margin: 0 !important;
    scroll-snap-type: none !important; -webkit-overflow-scrolling: auto !important;
  }
  #catalog .grid-product-1 > :first-child { margin-left: 0 !important; }
  #catalog .grid-product-1 > :last-child  { margin-right: 0 !important; }

  #catalog .product-1 {
    display: grid !important; grid-template-rows: auto auto; gap: 0 !important; padding: 0 !important;
    border: none !important; flex: initial !important; max-width: none !important; scroll-snap-align: none !important;
  }
  #catalog .img-product-1 { display: block !important; margin: 0 !important; border-radius: 0 !important; overflow: hidden; line-height: 0; }
  #catalog .img-product-1 img {
    display: block; width: 100% !important; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 0 !important; margin: 0 !important;
  }
  #catalog .info-product-1 {
    display: grid !important; grid-template-columns: 1fr auto !important; align-items: center !important; gap: 10px !important;
    height: auto !important; margin: 0 !important; padding: 4px 2px 0 !important; border: none !important;
  }
  #catalog .about-product-1 { gap: 2px !important; place-items: start; }
  #catalog .text-block-73 {
    margin: 0 !important; font-size: 14px; line-height: 1.25;
    overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  }
  #catalog .text-block-74 { margin: 0 !important; font-size: 13px; line-height: 1.2; opacity: .9; }
  #catalog .cart-product-1 { display: flex !important; justify-content: flex-end; align-items: center; }
  #catalog .cart-product-1 .add-product-link-wrap-1 { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 8px; }
  #catalog .cart-product-1 img { width: 20px; height: 20px; display: block; }
}

/* -- IMG CONTAINER FIXES (no extra space) ---------------------------------- */
@media (max-width: 767px) {
  #catalog .grid-product-1 .product-1 > a.img-product-1,
  #catalog .grid-product-1 .product-1 > a.img-product-1.w-inline-block {
    display: block !important;
    height: auto !important; min-height: 0 !important; max-height: none !important;
    padding: 0 !important; margin: 0 !important; border: 0 !important;
    aspect-ratio: auto !important; line-height: 0 !important; font-size: 0 !important;
  }
  #catalog .grid-product-1 .product-1 > a.img-product-1 img {
    display: block !important; width: 100% !important; height: auto !important; margin: 0 !important;
    vertical-align: bottom !important; object-fit: cover;
    /* если нужен строгий формат: aspect-ratio: 1 / 1; */
  }
  #catalog .grid-product-1 .product-1 {
    display: grid !important; grid-template-rows: auto auto !important; row-gap: 0 !important; gap: 10px !important;
  }
  #catalog .grid-product-1 .product-1 > .info-product-1 { margin-top: 0 !important; padding-top: 0 !important; }
}

/* -- BANNER UNDER NAVBAR (подложка) ---------------------------------------- */
@media (max-width: 767px){
  #catalog, .catalog-page { position: relative; z-index: 0; }
  #catalog .banner{
    margin-top: calc(-1 * (var(--safe) + var(--cat-header-pt) + var(--cat-header-pb)));
    padding-top: calc(var(--safe) + var(--cat-header-pt) + var(--cat-header-pb) + 8px);
    position: relative; z-index: 0;
  }
  #catalog .banner::before{
    content:""; position:absolute; left:0; right:0; top:0;
    height: calc(var(--safe) + var(--cat-header-pt) + var(--cat-header-pb) + 32px);
    background: linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,0));
    pointer-events:none; z-index: 1;
  }
  #catalog .banner > *{ position: relative; z-index: 2; }
}

/* =============================================================================
   [40] OVERLAYS (SEARCH / CART / MOBILE MENU)
   ========================================================================== */
/* -- SEARCH OVERLAY --------------------------------------------------------- */
@media (max-width: 767px) {
  html, body { height: 100%; }
  body.body-lock { position: fixed; width: 100%; overflow: hidden; top: var(--lock-top, 0px); }

  .search-window {
    position: fixed; inset: 0; z-index: 9999; width: 100%; height: 100dvh; display: none; overflow: hidden;
    backface-visibility: hidden; transform: translateZ(0); overscroll-behavior: none;
  }
  .shadow-on-search {
    position: absolute; inset: 0; display: block; background: var(--background, #efeee9);
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  }
  .search-block {
    position: absolute; inset: 0; background: var(--white, #fff); width: 100%; height: 100%;
    overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
    padding: calc(env(safe-area-inset-top, 0px) + 16px) var(--pad, 20px) var(--pad, 20px);
    box-sizing: border-box;
  }
  .search-section { margin: 12px 0 0 0; display: grid; grid-template-columns: 1fr; row-gap: 16px; }
  .cross-wrap { display: flex; justify-content: flex-end; }
  .cross-wrap img { width: 24px; height: 24px; }
  .search-string {
    display: flex; align-items: center; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--blackline, #222);
    margin-inline: 20px;
  }
  .linse-wrap { display: block; }
  .search-area { flex: 1 1 auto; width: auto; padding-top: 5px; border: 0; outline: 0; background: transparent; font-size: 16px; line-height: 1.3; }
  .search-results { display: flex; flex-direction: column; row-gap: 12px; }
}

/* -- CART OVERLAY ----------------------------------------------------------- */
.cart-window { display: none; }
.cart-window.is-open { display: block; }

@media (max-width: 767px) {
  :root{ --pad: 20px; --img: 60px; --gap: 10px; --qty-w: 64px; --qty-h: 26px; --fz: 13px; --fz-sm: 12px; }
  body.body-lock { position: fixed; width: 100%; overflow: hidden; top: var(--lock-top, 0px); }

  .cart-window {
    position: fixed; inset: 0; z-index: 9999; width: 100%; height: 100dvh; overflow: hidden;
    backface-visibility: hidden; transform: translateZ(0); overscroll-behavior: none;
  }
  .shadow-on-cart { position: absolute; inset: 0; display: flex; }

  .cart-block {
    position: absolute; inset: 0; width: 100% !important; height: 100% !important; background: var(--white);
    padding: var(--pad) var(--pad) calc(var(--pad) + env(safe-area-inset-bottom,0px));
    overflow: auto; overflow-x: hidden; box-sizing: border-box;
    transform: translateY(100%); transition: transform .28s ease; will-change: transform;
  }
  .cart-window.is-open .cart-block { transform: translateY(0); }

  .cart-block, .cart-section, .cart-info-wrap, .product-line, .slider, .cart-block * { box-sizing: border-box; }
  .cart-section, .cart-info-wrap, .product-line, .text-block-91, .pl-about-info { min-width: 0 !important; width: 100% !important; max-width: 100% !important; }

  .cart-section { margin: 0; padding: var(--pad) !important; display: grid; grid-template-columns: 1fr; row-gap: 16px; }

  .cart-block { position: relative; }
  .cross-wrap-cart { position: absolute; top: var(--pad); right: var(--pad); padding: 0; display: flex; justify-content: flex-end; align-items: center; }
  .close-cross-wrap-cart { width: 32px; height: 32px; display: inline-flex; justify-content: center; align-items: center; }
  .close-cross-wrap-cart img { width: 20px; height: 20px; }

  .text-block-54 { font-size: 20px; line-height: 24px; padding-right: 40px; }
  .just-line-2 { height: 1px; background: var(--blackline); opacity: .25; }

  #cart-lines-mini:empty { min-height: 56px; display: flex; align-items: center; justify-content: center; }
  #cart-lines-mini:empty::before { content: "Корзина пуста"; white-space: nowrap; opacity: .65; color: var(--blackline); }

  /* строка товара: [img | title | price | qty] */
  .product-line {
    display: grid !important;
    grid-template-columns: var(--img) 1fr auto minmax(var(--qty-w), max-content) !important;
    column-gap: var(--gap) !important; align-items: center !important; padding: 8px 0;
  }
  .product-line .pl-img-wrap {
    width: var(--img); height: var(--img); overflow: hidden; border-radius: 0; display: flex; align-items: center; justify-content: center;
  }
  .product-line .pl-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
  .product-line .pl-about-info { min-width: 0; font-size: var(--fz); line-height: 1.2; justify-content: flex-start; white-space: normal; }
  .product-line .pl-price { grid-column: 3; white-space: nowrap; justify-content: flex-end; font-size: var(--fz); font-weight: 600; margin-right: 6px; }
  .product-line .pl-quantity-grid-wrap {
    grid-column: 4; justify-self: end; width: var(--qty-w); height: var(--qty-h);
    display: grid; grid-template-columns: 1fr 1fr 1fr; place-items: center; border-radius: 0;
  }
  .product-line .plqg-quantity-info { font-size: 12px; line-height: 1; }
  .product-line .pl-quantity-grid-wrap > * { min-width: 16px; border-radius: 0 !important; }
  .product-line .pl-close-button { display: none !important; }

  .text-block-91 {
    position: sticky; bottom: 64px; z-index: 2; background: var(--white); padding: 8px 0; display: flex; justify-content: flex-end; font-weight: 600;
  }
  .cart-info-wrap > .button.w-button {
    position: sticky; bottom: 0; z-index: 3; width: 100%; height: 52px; border-radius: 0; margin: 0 !important; font-size: 16px; letter-spacing: .02em;
  }

  .slider { height: 58vh; }
}
/* safety force-open */
.cart-window.is-open .cart-block,
.cart-window[data-open="1"] .cart-block,
#Cart-Window[style*="display: block"] .cart-block { transform: translateY(0) !important; }
/* narrow breakpoints */
@media (max-width: 360px) { :root{ --img: 54px; --gap: 8px; --qty-w: 56px; --qty-h: 24px; --fz: var(--fz-sm); } }
@media (max-width: 330px) {
  :root{ --img: 50px; --qty-w: 54px; --qty-h: 24px; }
  .product-line {
    grid-template-columns: var(--img) 1fr minmax(var(--qty-w), max-content) !important;
    grid-template-rows: auto auto; grid-template-areas: "img title qty" "img price qty";
  }
  .product-line .pl-img-wrap { grid-area: img; }
  .product-line .pl-about-info { grid-area: title; }
  .product-line .pl-price { grid-area: price; margin-right: 0; justify-content: flex-start; }
  .product-line .pl-quantity-grid-wrap { grid-area: qty; justify-self: end; }
}
/* desktop-like flow for totals/button */
@media (max-width: 767px) {
  .cart-block { overflow-y: auto; }
  #cart-lines-mini, .product-line-wrap, .cart-info-wrap { overflow: visible !important; padding-bottom: 0 !important; flex: 0 0 auto !important; }
  .text-block-91 {
    position: static !important; bottom: auto !important; z-index: auto !important;
    background: transparent !important; padding: 8px 0; margin-top: 8px;
  }
  .cart-info-wrap > .button.w-button{
    position: static !important; bottom: auto !important; z-index: auto !important;
    width: 100%; height: 52px; margin: 0 !important; border-radius: 0;
  }
}

/* -- MOBILE MENU ------------------------------------------------------------ */
:root { --app-font: "Cygre","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; }
.mobile-menu, .mobile-menu * { font-family: var(--app-font) !important; }
#mnav[hidden] { display: none !important; }

.mobile-menu { position: fixed !important; inset: 0 !important; z-index: 99999 !important; color: #1c1c1c; }
.mnav-backdrop { position: absolute !important; inset: 0 !important; background: rgba(0,0,0,.10) !important; opacity: 0 !important; transition: opacity .18s ease !important; pointer-events: none; }
.mnav-panel {
  position: absolute !important; top: 0; right: 0; bottom: 0; left: 0 !important;
  width: 100% !important; max-width: none !important; background: #f4f1e9 !important;
  transform: translateX(100%) !important; transition: transform .18s ease !important;
  display: flex !important; flex-direction: column !important; z-index: 100000 !important;
}
.mobile-menu.is-open .mnav-backdrop { opacity: 1 !important; pointer-events: auto; }
.mobile-menu.is-open .mnav-panel   { transform: translateX(0) !important; }
body.body-lock { position: fixed !important; width: 100% !important; overflow: hidden !important; }

@media (max-width: 767px) {
  .mnav-header { display: flex; align-items: center; justify-content: space-between; padding: 22px 22px 10px; }
  .mnav-logo { display: inline-block; font-size: 24px; line-height: 1; text-decoration: none; color: #1c1c1c; letter-spacing: .02em; }
  .mnav-close { appearance: none; background: transparent; border: 0; padding: 6px; margin: -6px; line-height: 0; cursor: pointer; }
  .mnav-x { position: relative; width: 14px; height: 14px; display: block; }
  .mnav-x::before, .mnav-x::after { content: ""; position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: #1c1c1c; transform-origin: 50% 50%; }
  .mnav-x::before { transform: translateY(-50%) rotate(45deg); }
  .mnav-x::after  { transform: translateY(-50%) rotate(-45deg); }

  .mnav-body { overflow: auto; padding: 6px 22px 22px; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  .mnav-body::-webkit-scrollbar { width: 0; height: 0; }
  .mnav-list { list-style: none; margin: 0; padding: 0; }
  .mnav-divider { height: 1px; background: rgba(0,0,0,.25); margin: 14px 0; }
  .mnav-section { margin: 6px 0; }

  .mnav-acc, .mnav-link {
    width: 100%; display: flex; align-items: center; justify-content: space-between; background: transparent; border: 0;
    text-decoration: none; cursor: pointer; color: #1c1c1c; padding: 12px 0; margin: 0;
  }
  .mnav-sec-title { font-size: 16px; letter-spacing: .06em; text-transform: uppercase; }
  .mnav-caret {
    width: 28px; height: 28px; flex: 0 0 28px; transition: transform .18s ease;
    background: center / 22px 22px no-repeat
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1c1c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E");
  }
  .mnav-acc[aria-expanded="true"] .mnav-caret { transform: rotate(180deg); }
  .mnav-sub { list-style: none; margin: 0; padding: 0 0 8px; border-bottom: 1px solid rgba(0,0,0,.25); }
  .mnav-sub li a { display: block; padding: 8px 0; text-decoration: none; color: #1c1c1c; font-size: 15px; }
  .mnav-sub li a:active { opacity: .7; }
}

/* ============================================================================
   [50] PRODUCT PAGE (SLIDER + INFO GRID) — MOBILE
   ============================================================================ */

/* == BASE MOBILE (<=767px) ================================================== */
@media (max-width: 767px){

  /* --- TOKENS -------------------------------------------------------------- */
  :root{
    --pad: 20px;

    /* фактическая высота шапки (fallback header-pt = 30px) */
    --nav-mobile-h: calc(env(safe-area-inset-top, 0px) + var(--header-pt, 30px));

    /* слайдер */
    --prod-slide-ratio: 1 / 1;
    --prod-slide-maxh: 90dvh;

    /* отступы/info */
    --prod-gap: 40px;       /* от слайдера до инфоблока */
    --divider-gap: 40px;    /* от цены/CTA до разделительной линии */
    --info-row-gap: 14px;   /* row-gap в гриде инфы */

    /* RELATED ("Вам также…") */
    --mp-gap-top: 20px;     /* от линии/текста до карусели */
    --mp-title-gap: 20px;   /* заголовок → первая карточка */
    --mp-gap-bottom: 40px;  /* низ карусели до след. блока/футера */

    /* CTA */
    --cta-h: 40px;          /* высота строки CTA */
  }

  /* --- GLOBAL -------------------------------------------------------------- */
  body.body-3 .product-page{ padding-top: var(--nav-mobile-h) !important; }
  html, body { max-width:100%; overflow-x:hidden; }
  .product-page, .product-page * { box-sizing:border-box; overflow-wrap:anywhere; }

  /* убираем внутренние скроллы/фикс-высоты, которые даёт Webflow */
  .product-page,
  .product-page .product-section,
  .product-page .product-photos,
  .product-page .left-side-product-slider,
  .product-page .product-info,
  .product-page .product-info-wrap{
    height:auto !important; min-height:0 !important; max-height:none !important;
    overflow:visible !important; -webkit-overflow-scrolling:auto !important;
  }

  /* --- LAYOUT / SLIDER ----------------------------------------------------- */
  .product-page .product-section { display:block !important; gap:0 !important; margin-bottom:0 !important; }
  .product-page .product-photos  { display:block !important; margin:0 !important; padding:0 !important; line-height:0 !important; overflow-x:hidden !important; }
  .product-page .left-side-product-photos { display:none !important; }

  .product-page .left-side-product-slider,
  .product-page .left-side-product-slider .lsls-wrap-1,
  .product-page .left-side-product-slider .slider.w-slider,
  .product-page .left-side-product-slider .w-slider-mask{
    display:block !important;
    width:100% !important; max-width:100% !important;
    margin:0 !important; padding:0 !important;
    min-width:0 !important; height:auto !important;
    overflow:hidden !important;
  }
  .product-page .left-side-product-slider .w-slide{
    width:100% !important; height:auto !important;
    aspect-ratio: var(--prod-slide-ratio);
    max-height: var(--prod-slide-maxh);
    background-size:cover !important;
    background-position:50% 50% !important;
    background-repeat:no-repeat !important;
    margin-bottom:0 !important; padding-bottom:0 !important;
  }
  .product-page .left-side-product-slider .w-slider-nav{
    margin:8px 0 0 !important; height:auto !important; z-index:2 !important;
  }
  .product-page .left-side-product-slider .w-slider-arrow-left,
  .product-page .left-side-product-slider .w-slider-arrow-right{
    top:50% !important; transform:translateY(-50%) !important; z-index:3 !important;
  }
  /* подчистить нижние внутренние отступы у обёрток слайдера */
  .product-page .product-photos,
  .product-page .left-side-product-slider,
  .product-page .left-side-product-slider .lsls-wrap-1,
  .product-page .left-side-product-slider .slider.w-slider,
  .product-page .left-side-product-slider .w-slider-mask,
  .product-page .left-side-product-slider .w-slide{
    margin-bottom:0 !important; padding-bottom:0 !important;
  }

  /* --- INFO GRID ----------------------------------------------------------- */
  .product-page .product-info      { margin-top: var(--prod-gap) !important; }
  .product-page .product-info-wrap { padding:0 var(--pad) !important; }

  .product-page .product-info-grid{
    display:grid !important; width:100% !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "title title"
      "price size"
      "cta   cta"
      "extra extra";
    column-gap:16px !important; row-gap:var(--info-row-gap) !important;
  }

  /* title / subtitle */
  .product-page .product-info-about-1{ grid-area:title !important; margin-top:0 !important; }
  .product-page .text-block-44{ font-size:24px !important; line-height:1.15 !important; margin:2px 0 8px !important; }
  .product-page .text-block-45{ font-size:14px !important; line-height:1.5 !important; color:#6e6e6e !important; margin:0 0 6px !important; }

  /* price */
  .product-page .product-info-about-3{ grid-area:price !important; align-self:center !important; }
  .product-page .text-block-48{ font-size:20px !important; font-weight:700 !important; letter-spacing:.2px !important; }

  /* size */
  .product-page .product-info-about-2{ grid-area:size !important; text-align:right !important; align-self:center !important; }
  .product-page .text-block-46{ font-size:14px !important; color:#6e6e6e !important; margin-bottom:2px !important; }
  .product-page .text-block-47{ font-size:14px !important; }

  /* --- CTA ROW (STRICT FLEX) ---------------------------------------------- */
  .product-page .product-info-about-4{
    grid-area:cta !important;
    display:flex !important;
    align-items:stretch !important;
    gap:12px !important;
    margin-top:4px !important;
    min-height:0 !important;
  }
  /* левая часть (кнопка) тянется */
  .product-page .product-info-about-4 .info-about-wrap-3{
    flex:1 1 auto !important; min-width:0 !important;
  }
  .product-page .product-info-about-4 .add-product-link-wrap-1{
    display:flex !important; align-items:center !important; justify-content:center !important;
    width:100% !important; height: var(--cta-h) !important;
    padding:0 12px !important; box-sizing:border-box !important;
  }
  .product-page .product-info-about-4 .text-block-49{
    width:100% !important; text-align:center !important;
    font-size: clamp(12px, 3.4vw, 14px) !important;
    line-height:1.1 !important; letter-spacing:.3px !important;
    white-space:nowrap !important; text-wrap:nowrap !important;
    padding-inline:10px !important;
  }
  /* правая часть — счётчик фикс 132px */
  .product-page .product-info-about-4 .info-about-wrap-4{
    flex:0 0 132px !important;
    display:grid !important;
    grid-template-columns: var(--cta-h) 1fr var(--cta-h) !important;
    align-items:center !important;
    height: var(--cta-h) !important; min-height:0 !important;
  }
  .product-page #qty-minus,
  .product-page #qty-plus{
    display:grid !important; place-items:center !important;
    width: var(--cta-h) !important; height: var(--cta-h) !important; min-height:0 !important;
  }
  .product-page #qty-value{
    text-align:center !important; font-size:16px !important; line-height: var(--cta-h) !important; min-height:0 !important;
  }
  .product-page .product-info-about-4 .info-about-wrap-4 img{ width:14px !important; height:14px !important; }

  /* --- EXTRA (линия + текст) ---------------------------------------------- */
  .product-page .product-info-about-5{
    grid-area:extra !important;
    display:grid !important;
    margin-top: calc(var(--divider-gap) - var(--info-row-gap)) !important; /* 40 - row-gap */
    row-gap:20px !important;
    margin-bottom:0 !important; /* чтобы честно считался зазор к карусели */
  }
  .product-page .just-line-1{ height:2px !important; background:#333 !important; opacity:.25 !important; margin:10px 0 0 !important; }
  .product-page .text-block-52{ font-size:14px !important; line-height:1.5 !important; color:#333 !important; margin:0 !important; }

/* RELATED carousel — без удвоения и с «виртуальными» краями */
@media (max-width: 767px){
  :root{ --carousel-edge: 20px; } /* увеличь до 24/28 при желании */
}

@media (max-width: 767px){
  .more-product{
    margin-top: var(--mp-gap-top) !important;
    margin-bottom: 0 !important;
    padding-bottom: 28px !important;
    overflow: visible !important;
    display: block !important;
    gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important;
    grid-template: none !important;
  }

  .more-product .more-product-title-wrap{
    padding: 0 var(--pad) !important;
    margin: 0 0 var(--mp-title-gap) !important;
  }

  .more-product .more-product-grid{
    --gap: 20px; /* держи в синхроне с gap ниже */

    display: flex !important;
    align-items: stretch;
    gap: var(--gap);
    overflow-x: auto;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;

    /* важно: без scroll-padding, чтобы не было «x2» на краях */
    padding: 0 !important;
    margin: 0 !important;
    scroll-padding-left: 0 !important;
    scroll-padding-right: 0 !important;

    height: auto !important; max-height: none !important; min-height: 0 !important;
    touch-action: pan-x; overscroll-behavior-x: contain;
    scrollbar-width: none; -ms-overflow-style: none;
    padding-bottom: 12px !important; /* добиваем до 40px низа секции */
  }
  .more-product .more-product-grid::-webkit-scrollbar{ display: none; }

  /* гасим крайние margin у карточек */
  .more-product .more-product-grid > :first-child{ margin-left: 0 !important; }
  .more-product .more-product-grid > :last-child { margin-right: 0 !important; }
  .more-product .more-product-grid > *{ margin-left: 0 !important; margin-right: 0 !important; }

  /* паддеры у краёв: итоговый визуальный край = --carousel-edge */
  .more-product .more-product-grid::before,
  .more-product .more-product-grid::after{
    content: "";
    flex: 0 0 max(20px, calc(var(--carousel-edge, var(--pad)) - var(--gap)));
    pointer-events: none;
  }
  .more-product .more-product-grid::before{ scroll-snap-align: start; }
  .more-product .more-product-grid::after { scroll-snap-align: end; }

  /* карточки */
  .more-product .product-1{
    display: flex; flex-direction: column;
    flex: 0 0 80vw; max-width: 440px; scroll-snap-align: start;
    background: transparent !important; border-radius: 0 !important; box-shadow: none !important;
    overflow: visible; margin: 0 !important;
  }
  .more-product .img-product-1{ display: block; width: 100%; margin: 0 !important; line-height: 0 !important; font-size: 0 !important; }
  .more-product .img-product-1 img{
    display: block !important; width: 100%; height: auto; aspect-ratio: 4 / 5;
    object-fit: cover; border-radius: 0 !important; background: #ddd; vertical-align: bottom !important;
  }
  .more-product .info-product-1{
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 10px; padding: 10px 0 12px;
  }
  .more-product .cart-product-1{ flex: 0 0 auto; }
  .more-product .cart-product-1 .add-product-link-wrap-1{
    display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px;
    background: transparent !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important;
  }
  .more-product .cart-product-1 img{ width: 18px; height: 18px; display: block; }
}
}

/* == XS TWEAKS (<=360px) ==================================================== */
@media (max-width: 360px){
  :root{ --cta-h: 36px; }                 /* можно 34–36 по вкусу */

  .product-page .product-info-about-4{ gap:8px !important; }
  .product-page .product-info-about-4 .text-block-49{
    font-size: clamp(11px, 3.1vw, 12.5px) !important;
    letter-spacing:.15px !important;
    padding-inline:8px !important;
  }
}

/* == XXS TWEAK (<=340px) ==================================================== */
@media (max-width: 340px){
  :root{ --cta-h: 34px; }
}

/* =============================================================================
   [60] HOME CATEGORIES (STACK + HEIGHT CONTROLS)
   ========================================================================== */
@media (max-width: 767px) {
  .catalog-on-home-page { margin: 0 !important; padding: 0 0 40px 0 !important; }
  .quck-review-catalog {
    display: flex !important; flex-direction: column !important; gap: 0 !important; margin: 0 !important; padding: 0 !important;
  }
  .quck-review-catalog .quick-block-n4,
  .quck-review-catalog .quick-block-n5,
  .quck-review-catalog .quick-block-n6 {
    position: relative !important; display: grid !important; place-items: center !important;
    width: 100% !important; height: 180px !important; margin: 0 !important; padding: 0 !important;
    background-size: cover !important; background-position: center !important; border: none !important; border-radius: 0 !important; overflow: hidden !important;
  }
  /* unify text styles */
  .quck-review-catalog .text-block-14,
  .quck-review-catalog .text-block-15,
  .quck-review-catalog .text-block-16 {
    margin: 0 !important; padding: 0 !important; width: 100% !important; text-align: center !important; color: #fff !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.35) !important; font-size: clamp(18px, 5.2vw, 22px) !important; line-height: 1.15 !important; letter-spacing: .01em !important;
    /* ключевая унификация семейства/веса */
    font-family: var(--pad, inherit) !important; font-weight: inherit !important; font-style: inherit !important; text-transform: inherit !important;
  }
}
@media (max-width: 767px) {
  :root{
    --cat-card-ar: 16/9;
    --cat-card-minh: 260px;
    --catalog-pb: 20px;
  }
  .catalog-on-home-page,
  .quck-review-catalog { display: block !important; height: auto !important; overflow: visible !important; margin: 0 !important; padding: 0 0 var(--catalog-pb) 0 !important; }
  .quck-review-catalog .quick-block-n4,
  .quck-review-catalog .quick-block-n5,
  .quck-review-catalog .quick-block-n6 {
    position: relative !important; margin: 0 !important; padding-top: 0 !important; min-height: 0 !important;
    aspect-ratio: var(--cat-card-ar); height: auto !important; min-height: var(--cat-card-minh) !important;
    background-size: cover !important; background-position: center !important; border: none !important; border-radius: 0 !important; overflow: hidden !important;
    display: grid !important; place-items: center !important; width: 100% !important;
  }
  .quck-review-catalog .quick-block-n4 img,
  .quck-review-catalog .quick-block-n5 img,
  .quck-review-catalog .quick-block-n6 img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
  .quck-review-catalog > *:last-child { margin-bottom: 0 !important; }
  .footer, footer { position: relative; z-index: 10; }
  .new-bestsellers, .new-bestsellers::after { z-index: 1 !important; }
}

@media (max-width: 767px) {
  .quck-review-catalog .quick-block-n4,
  .quck-review-catalog .quick-block-n5,
  .quck-review-catalog .quick-block-n6 {
    aspect-ratio: auto !important;            /* отключаем */
    height: clamp(260px, 56vw, 480px) !important;  /* подбери проценты/макс под макет */
    min-height: 0 !important;                 /* чтобы ничего не наслаивалось */
  }
}


/* =============================================================================
   [70] FOOTER (ORDER + SPACING + IMAGE)
   ========================================================================== */
@media (max-width: 767px) {
  :root{
    --pad: 20px;
    --gap-icons-logo: 20px; --gap-logo-links: 20px; --gap-between-links: 20px; --gap-links-address: 20px;
    --gap-address-name: 8px; --gap-name-copy: 10px; --gap-copy-illustration: 20px;
    --addr-lh: 1.22; --fio-lh: 1.22;
  }

  .footer { display: flex !important; flex-direction: column !important; align-items: center !important; }
  .footer .footer-grid-with-content {
    display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important;
    gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important; padding: 40px var(--pad) 0 !important; margin: 0 !important;
  }
  .footer .footer-grid-with-content * {
    grid-area: auto !important; justify-self: center !important; align-self: auto !important; margin: 0 !important; padding: 0 !important; text-align: center !important;
  }

  .footer .text-wrap-footer-n1,
  .footer .text-wrap-footer-n2,
  .footer .text-wrap-footer-n3,
  .footer .text-block-22 { height: auto !important; min-height: 0 !important; max-height: none !important; }
  .footer .text-wrap-footer-n3 { display: contents !important; }

  /* порядок */
  .footer .footer-links        { order: 1 !important; }
  .footer .img-wrap-n4         { order: 2 !important; }
  .footer .text-wrap-footer-n2 { order: 3 !important; }
  .footer .text-block-22       { order: 4 !important; }
  .footer .text-wrap-footer-n1 { order: 5 !important; }
  .footer .img-wrap-footer     { order: 6 !important; width: 100% !important; margin-top: var(--gap-copy-illustration) !important; }

  /* интервалы */
  .footer .footer-links { display: flex !important; gap: 18px !important; margin-bottom: var(--gap-icons-logo) !important; }
  .footer .img-wrap-n4 { margin-bottom: var(--gap-logo-links) !important; }
  .footer .text-wrap-footer-n2 {
    display: flex !important; justify-content: center !important; align-items: center !important; gap: var(--gap-between-links) !important;
    margin-bottom: var(--gap-links-address) !important;
  }
  .footer .text-wrap-footer-n2 > *, .footer .text-wrap-footer-n2 a { margin: 0 !important; padding: 0 !important; }
  .footer .text-block-22 { max-width: 42ch !important; white-space: normal !important; line-height: var(--addr-lh) !important; margin: 0 !important; }
  .footer .text-block-22 br { display: none !important; }

  .footer .text-wrap-footer-n1 {
    margin-top: var(--gap-address-name) !important; display: flex !important; flex-direction: column !important; gap: var(--gap-name-copy) !important; margin-bottom: 0 !important;
  }
  .footer .text-wrap-footer-n1 .text-block-17 { line-height: var(--fio-lh) !important; white-space: pre-line; }
  .footer .text-wrap-footer-n1 .text-block-18 { margin: 0 !important; margin-bottom: 0 !important; }
}
/* image sizing/centering */
@media (max-width: 767px) {
  .footer .img-wrap-footer { display: block !important; justify-content: initial !important; align-items: initial !important; height: auto !important; }
  .footer .img-wrap-footer picture,
  .footer .img-wrap-footer .footer-art { display: block !important; width: min(560px, 100%) !important; height: auto !important; margin: 0 auto !important; }
}



/* ============================================================================
   CHECKOUT • MOBILE (<=767px)
   Геометрия, выравнивание, единая высота полей и ровные рамки. Никаких фонов/анимаций.
   ========================================================================== */
@media (max-width: 767px){

  /* ===== БАЗОВЫЕ РУЧКИ ===================================================== */
  :root{
    --field-h: 50px;        /* единая высота однострочных контролов */
    --field-pad-x: 13px;    /* горизонтальные отступы внутри инпута */
  }

  /* ===== СЕТКА / КОНТЕЙНЕР ================================================= */
  .checkout-page{ padding: 14px var(--pad) 40px !important; }
  .checkout-page .checkout-grid{ display:block !important; grid-template-columns:1fr !important; }
  .checkout-page .checkout-info, .checkout-page .cart-added{ width:100% !important; }

  /* левая колонка — убрать разделитель/тени/фон */
  .checkout-page .checkout-info{
    border-right:none !important; box-shadow:none !important;
    padding-right:0 !important; margin-right:0 !important; background-image:none !important;
  }
  .checkout-page .checkout-info::before,
  .checkout-page .checkout-info::after,
  .checkout-page .checkout-grid::before,
  .checkout-page .checkout-grid::after{ content:none !important; display:none !important; }

  /* ===== ЗАГОЛОВОК ========================================================= */
  .checkout-page .text-block-93{
    margin:0 0 16px !important; font-size:18px !important; line-height:22px !important; font-weight:600 !important;
  }

  /* ===== ПЕРЕКЛЮЧАТЕЛИ «ДОСТАВКА / САМОВЫВОЗ» ============================== */
  .checkout-page .delivery-methods{
    display:grid !important; grid-template-columns:1fr !important; gap:10px !important; margin:0 0 0px !important;
  }
  .checkout-page .delivery-m, .checkout-page .pickup-m{
    display:flex !important; align-items:center !important; gap:10px !important;
    height:var(--field-h) !important; padding:0 var(--field-pad-x) !important;
    border:1px solid #CFCFCF !important; border-radius:0 !important; box-shadow:none !important;
  }
  .checkout-page .delivery-m.is-active, .checkout-page .pickup-m.is-active{ border-color:#111 !important; }
  .checkout-page .dm-info-wrap, .checkout-page .pm-info-wrap{ display:flex !important; align-items:center !important; gap:10px !important; }
  .checkout-page .text-block-94, .checkout-page .text-block-95{ font-size:14px !important; line-height:20px !important; font-weight:600 !important; }
  .checkout-page .text-block-96{ font-size:12px !important; line-height:16px !important; opacity:.7 !important; }

  /* ===== ПОДПИСИ НАД ПОЛЯМИ =============================================== */
  .checkout-page .text-block-97,
  .checkout-page .text-block-98,
  .checkout-page .text-block-101,
  .checkout-page .text-block-103,
  .checkout-page .text-block-105,
  .checkout-page .text-block-107,
  .checkout-page .text-block-109{
    margin:0 0 6px !important; font-size:12px !important; line-height:16px !important; font-weight:500 !important;
  }

  /* ===== ФОРМЫ: ЕДИНАЯ ГЕОМЕТРИЯ =========================================== */
  /* контейнеры полей */
  .checkout-page .dropdown, .checkout-page .combobox{
    width:100% !important; height:var(--field-h) !important;
    border:1px solid #111 !important; /* внешняя ровная рамка */
    border-radius:0 !important; padding:0 !important;
    overflow:hidden !important; box-sizing:border-box !important;
  }

  /* webflow toggle — рамку снимаем, только контент */
  .checkout-page .w-dropdown-toggle{
    height:var(--field-h) !important;
    border:0 !important; box-shadow:none !important; background:transparent !important;
    display:grid !important; grid-template-columns:1fr 24px !important; align-items:center !important;
    padding:0 var(--field-pad-x) !important;
  }
  .checkout-page .w-icon-dropdown-toggle{ justify-self:end; margin-left:12px; }

  /* внутренняя обёртка без паддингов */
  .checkout-page .dropdown .input-wrap, .checkout-page .combobox .input-wrap{
    height:var(--field-h) !important; padding:0 !important; border:0 !important; box-shadow:none !important;
  }

  /* input’ы (однострочные) — центр по высоте */
  .checkout-page input.dropdown-input{
    height:var(--field-h) !important; line-height:var(--field-h) !important;
    padding:0 var(--field-pad-x) !important; border:0 !important; background:transparent !important; box-shadow:none !important;
  }
  .checkout-page input.dropdown-input::placeholder{ line-height:var(--field-h) !important; }

  /* textarea — выше и с внутренними отступами */
  .checkout-page .order-comment .dropdown{ height:auto !important; }
  .checkout-page .order-comment .dropdown .input-wrap{ height:auto !important; padding:10px var(--field-pad-x) !important; }
  .checkout-page .order-comment .dropdown-input.textarea{
    min-height:94px !important; height:auto !important; border-radius:0 !important; padding:0 !important; /* паддинг уже у обёртки */
  }

  /* убираем случайные внешние маргины секций формы */
  .checkout-page .delivery-method-choose,
  .checkout-page .country-choose,
  .checkout-page .city-choose,
  .checkout-page .pick-up-point-address,
  .checkout-page .first-last-name,
  .checkout-page .email-address,
  .checkout-page .phone-number,
  .checkout-page .contact-method,
  .checkout-page .order-comment{ margin:0 !important; }

  /* ===== КОМПОЗИТ «СВЯЗАТЬСЯ СО МНОЙ…» ==================================== */
  .checkout-page .cm-composite{
    display:grid !important; grid-template-columns:1fr auto auto; align-items:stretch !important;
    height:var(--field-h) !important; border:1px solid #111 !important; border-radius:0 !important;
    overflow:hidden !important; box-sizing:border-box !important;
  }
  .checkout-page .cm-composite .cm-input{
    height:100% !important; padding:0 var(--field-pad-x) !important;
    border:0 !important; outline:0 !important; background:transparent !important; box-shadow:none !important;
    -webkit-appearance:none !important; appearance:none !important;
  }
  .checkout-page .cm-composite .cm-seг{ display:flex !important; height:100% !important; } /* (оригинальная строка сохранена) */
  .checkout-page .cm-composite .cm-seg{ display:flex !important; height:100% !important; }
  .checkout-page .cm-composite .cm-seg-btn{
    display:flex !important; align-items:center !important; justify-content:center !important;
    height:100% !important; padding:0 14px !important; border:0 !important; box-sizing:border-box !important;
  }
  .checkout-page .cm-composite .cm-seg-btn + .cm-seg-btn{ border-left:1px solid #111 !important; }

  /* тач: убираем залипающую подсветку, управляем только .is-active */
  .checkout-page .cm-seg-btn{ -webkit-tap-highlight-color:transparent; outline:none !important; }
  .checkout-page .cm-seg-btn:hover,
  .checkout-page .cm-seг-btn:active,
  .checkout-page .cm-seg-btn:active,
  .checkout-page .cm-seg-btn:focus,
  .checkout-page .cm-seg-btn:focus-visible{
    background:transparent !important; color:inherit !important; box-shadow:none !important;
  }
  .checkout-page .cm-seg-btn.is-active{ background:#111 !important; color:#fff !important; }
  .checkout-page .cm-seg-btn.is-active:hover,
  .checkout-page .cm-seg-btn.is-active:active,
  .checkout-page .cm-seg-btn.is-active:focus{
    background:#111 !important; color:#fff !important; box-shadow:none !important;
  }
  .checkout-page .cm-seг-btn input[type="radio"]{ pointer-events:none; } /* (оригинальная строка сохранена) */
  .checkout-page .cm-seg-btn input[type="radio"]{ pointer-events:none; }

  /* ===== КНОПКА ОТПРАВКИ =================================================== */
  .checkout-page .button-copy{
    width:100% !important; height:48px !important; margin-top:14px !important; border-radius:0 !important;
  }

  /* ===== ДОП. КОРРЕКЦИИ ОТСТУПОВ (из исходника) ============================ */
  /* MOBILE: прибираем лишний воздух над "Оформление заказа" */
  .checkout-page{ padding: 0px var(--pad) 0px !important; }
  .checkout-page .ci-grid{ padding-top: 0 !important; margin-top: 0 !important; }
  .checkout-page .checkout-grid, .checkout-page .checkout-info{ margin-top: 40px !important; }

  /* MOBILE: отступ ПОД "Оформление заказа" */
  .checkout-page .text-block-93{ margin: 0 0 0px !important; /* было 16px; поставил 12px */ }
  .checkout-page .text-block-93 + .delivery-methods{ margin-top: 0 !important; }

  /* CHECKOUT: убираем лишний верхний воздух у сетки и выравниваем gap */
  body.body-3.nav-dark .w-layout-grid.header{ padding-bottom: 0 !important; }
  .checkout-page{ padding-top: 0 !important; margin-top: 0 !important; }
  .checkout-page .ci-grid{
    padding-top: 0 !important;            /* ← убираем тот самый 60px */
    row-gap: 40px !important;             /* единый вертикальный интервал */
    column-gap: 0 !important;             /* горизонтальные зазоры не нужны */
  }
  .checkout-page .ci-grid > *:first-child{ margin-top: 0 !important; }

  /* CHECKOUT: тянем форму на всю ширину контейнера, только по X */
  .checkout-page{ padding-left: var(--pad) !important; padding-right: var(--pad) !important; }
  .checkout-page .checkout-grid, .checkout-page .checkout-info, .checkout-page .ci-grid{
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
    margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box !important;
  }
  .checkout-page .ci-grid{ grid-template-columns: 1fr !important; }
  .checkout-page .ci-grid > *{ max-width: 100% !important; }
  .checkout-page .dropdown, .checkout-page .combobox,
  .checkout-page .dropdown .input-wrap, .checkout-page .combobox .input-wrap,
  .checkout-page .w-dropdown-toggle, .checkout-page input.dropdown-input,
  .checkout-page textarea.dropdown-input{
    width: 100% !important; max-width: 100% !important; box-sizing: border-box !important;
  }
  .checkout-page .w-dropdown-toggle{ display: grid !important; grid-template-columns: 1fr 24px !important; }

  /* CHECKOUT — WIDTH-ONLY PATCH (без высот и без смены display) */
  .checkout-page{ padding-left: var(--pad) !important; padding-right: var(--pad) !important; }
  .checkout-page .checkout-grid, .checkout-page .checkout-info, .checkout-page .ci-grid{
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
    margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box !important;
  }
  .checkout-page .ci-grid{ grid-template-columns: 1fr !important; column-gap: 0 !important; /* row-gap НЕ трогаем */ }
  .checkout-page .contact-info, .checkout-page .contact-info-pick-up{
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
    margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box !important;
    /* никаких display: ... !important; */ /* никаких высот/row-gap изменений */
  }
  .checkout-page .ci-grid > *, .checkout-page .contact-info > *, .checkout-page .contact-info-pick-up > *{
    width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box !important;
  }
  .checkout-page .dropdown, .checkout-page .combobox,
  .checkout-page .dropdown .input-wrap, .checkout-page .combobox .input-wrap,
  .checkout-page .w-dropdown-toggle, .checkout-page input.dropdown-input,
  .checkout-page textarea.dropdown-input{
    width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box !important;
    /* высоты/line-height из твоего основного блока — не трогаем */
  }
  .checkout-page .w-dropdown-toggle{ display: grid !important; grid-template-columns: 1fr 24px !important; /* padding/height уже заданы — не меняем */ }
  .checkout-page .ci-grid img, .checkout-page .ci-grid svg{ max-width: 100% !important; height: auto !important; }

  /* CHECKOUT: одинаковый зазор между подписью и полем */
  .checkout-page .contact-method .text-block-109{
    display:block !important; margin-bottom: 10px !important; /* как у остальных лейблов */
  }

  /* CHECKOUT: убираем зазор между формой и "Ваш заказ" */
  .checkout-page .checkout-info, .checkout-page .ci-grid{
    margin-bottom: 0 !important; padding-bottom: 0 !important; /* на всякий случай */
  }
  .checkout-page .cart-added{ margin-top: 0 !important; padding-top: 0 !important; /* на всякий случай */ }
  .checkout-page .checkout-grid{ gap: 0 !important; row-gap: 0 !important; }
  .checkout-page .ci-grid > *:last-child{ margin-bottom: 0 !important; }

  /* CHECKOUT: убираем остаточный зазор перед "Ваш заказ" */
  .checkout-page .cart-added{ margin-top:0 !important; padding-top:0 !important; }
  .checkout-page .ca-grid{
    margin-top: 40px !important; margin-bottom: 40px !important; padding-top:0 !important;
    row-gap:20px !important; /* оставляем только рабочий вертикальный шаг */
  }
  .checkout-page .ca-grid > *:first-child{ margin-top:0 !important; }

  /* CHECKOUT: "Ваш заказ" — как у форм, на всю ширину */
  .checkout-page .cart-added, .checkout-page .ca-grid{
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
    margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  .checkout-page .ca-grid{
    display: block !important; /* чтобы webflow-grid не резал ширину */
    column-gap: 0 !important; row-gap: 16px !important;
    margin-top: 40px !important; /* ← убрать случайно добавленные 40px */
    padding-top: 0 !important;
  }
  .checkout-page .plp-wrap{
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
    margin: 0 !important; padding: 0 !important; box-sizing: border-box !important;
  }
  .checkout-page .product-line-placing{
    width: 100% !important; max-width: 100% !important;
    padding-left: 0 !important; padding-right: 0 !important;
    margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box !important;
  }
  .checkout-page .text-block-111{ margin: 0 0 40px !important; }
  .checkout-page .just-line-2-copy{ margin: 12px 0 !important; }
  .checkout-page .text-block-91-copy{
    width: 100% !important; text-align: right !important; margin: 0 0 12px !important;
  }
  .checkout-page .order-comment,
  .checkout-page .order-comment .dropdown,
  .checkout-page .order-comment {
    width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important;
    padding-left: 0 !important; padding-right: 0 !important; box-sizing: border-box !important;
    margin-top: 20px !important;
  }
}

/* ===== ФИЧЕ-КВЕРИ ДЛЯ ТАЧА (как в исходнике) ============================== */
@media (max-width: 767px) and (hover:none) and (pointer:coarse){
  .checkout-page .cm-seg-btn:hover,
  .checkout-page .cm-seg-btn:active,
  .checkout-page .cm-seg-btn:focus{
    background:transparent !important; color:inherit !important; box-shadow:none !important;
  }
}

@media (max-width: 767px){
  :root{
    /* берём те же ручки, что и в мини-корзине */
    --co-pad: var(--pad, 20px);
    --co-img: 60px;
    --co-gap: 10px;
    --co-qty-w: 64px;
    --co-qty-h: 26px;
    --co-fz: 13px;
    --co-fz-sm: 12px;
  }

  /* ремни: всё — резина по X */
  .checkout-page .plp-wrap,
  .checkout-page .product-line-placing,
  .checkout-page .product-line-placing *{
    box-sizing: border-box;
  }
  .checkout-page .plp-wrap,
  .checkout-page .product-line-placing{ min-width:0 !important; width:100% !important; max-width:100% !important; }

  /* СТРОКА ТОВАРА — 1в1 как в мини-корзине:
     [ img | title | price | qty ] */
  .checkout-page .product-line-placing{
    display: grid !important;
    grid-template-columns: var(--co-img) 1fr auto minmax(var(--co-qty-w), max-content) !important;
    column-gap: var(--co-gap) !important;
    align-items: center !important;
    padding: 8px 0;
  }

  .checkout-page .product-line-placing .pl-img-wrap{
    width: var(--co-img); height: var(--co-img);
    overflow: hidden; border-radius: 0;
    display:flex; align-items:center; justify-content:center;
  }
  .checkout-page .product-line-placing .pl-img-wrap img{
    width:100%; height:100%; object-fit:cover;
  }

  .checkout-page .product-line-placing .pl-about-info{
    min-width:0;
    font-size: var(--co-fz);
    line-height:1.2;
    justify-content:flex-start;
    white-space:normal;
  }

  .checkout-page .product-line-placing .pl-price{
    grid-column:3;
    white-space:nowrap;
    justify-content:flex-end;
    font-size: var(--co-fz);
    font-weight:600;
    margin-right:6px;
  }

  .checkout-page .product-line-placing .pl-quantity-grid-wrap{
    grid-column:4; justify-self:end;
    width: var(--co-qty-w); height: var(--co-qty-h);
    display:grid; grid-template-columns:1fr 1fr 1fr; place-items:center;
    border-radius:0;
  }
  .checkout-page .product-line-placing .plqg-quantity-info{ font-size:12px; line-height:1; }
  .checkout-page .product-line-placing .pl-quantity-grid-wrap > *{ min-width:16px; border-radius:0 !important; }

  /* в мини-корзине крестик скрыт — повторяем логику */
  .checkout-page .product-line-placing .pl-close-button{ display:none !important; }

  /* разделитель/итог/кнопка — у тебя уже есть стили; ничего не меняем */
}

/* узкие брейкпоинты — 1в1 как мини-корзина */
@media (max-width: 360px){
  :root{ --co-img: 54px; --co-gap: 8px; --co-qty-w: 56px; --co-qty-h: 24px; --co-fz: var(--co-fz-sm); }
}
@media (max-width: 330px){
  :root{ --co-img: 50px; --co-qty-w: 54px; --co-qty-h: 24px; }
  .checkout-page .product-line-placing{
    grid-template-columns: var(--co-img) 1fr minmax(var(--co-qty-w), max-content) !important;
    grid-template-rows: auto auto;
    grid-template-areas:
      "img title qty"
      "img price qty";
  }
  .checkout-page .product-line-placing .pl-img-wrap{ grid-area: img; }
  .checkout-page .product-line-placing .pl-about-info{ grid-area: title; }
  .checkout-page .product-line-placing .pl-price{ grid-area: price; margin-right:0; justify-content:flex-start; }
  .checkout-page .product-line-placing .pl-quantity-grid-wrap{ grid-area: qty; justify-self:end; }
}

/* ================================================================================================================== */

@media (max-width: 767px){

  /* — Контейнер модалки — */
  .successfully-window{
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    height: 100dvh !important;
    overflow: hidden !important;
    backface-visibility: hidden;
    transform: translateZ(0);
    overscroll-behavior: none;
    isolation: isolate;
  }
  /* если показывается инлайном */
  .successfully-window[style*="display: block"]{ display:block !important; }

  /* — Подложка — */
  .successfully-window .shadow-on-sw{
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--background, #efeee9) !important;
    padding:
      calc(env(safe-area-inset-top, 0px) + 20px)
      0
      calc(env(safe-area-inset-bottom, 0px) + 40px) !important;
  }

  /* — Убираем “внутреннее окно” — */
  .successfully-window .sw-block{
    display: contents !important;   /* проглатываем обёртку */
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important; margin: 0 !important; border: 0 !important;
  }

  /* — Единый контент — */
  .successfully-window .sw-section{
    width: min(100%, 520px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 20px !important;      /* 20px слева/справа для всего контента */
  }

  /* — Текст — */
  .successfully-window .text-on-sw-wrap,
  .successfully-window .text-on-sw-wrap .text-block-112{
    width: 100% !important; max-width: 100% !important;
  }
  .successfully-window .text-on-sw-wrap .text-block-112{
    margin: 0 !important;
    color: #333 !important;
    font-size: clamp(14px, 3.8vw, 16px) !important;
    line-height: clamp(1.35, 1.2 + 0.5vw, 1.5) !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    hyphens: auto !important;
  }

  /* — Кнопка — */
  .successfully-window .button-on-sw-wrap{ width:100% !important; }
  .successfully-window .button-on-sw-wrap .button-2{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important; max-width: 520px !important;
    height: 44px !important; padding: 0 16px !important;
    line-height: 1 !important; text-align: center !important;
    background: #2c2c2a !important; color: #fff !important;
    border: none !important; border-radius: 2px !important;
    letter-spacing: .02em !important;
  }
}


/* ================================================================================================================== */
/* ============================================================================
   ABOUT • MOBILE (<=767px) — финальная версия (единый пульт и без дублей)
   ========================================================================== */
@media (max-width: 767px){

  /* ===== ПУЛЬТ УПРАВЛЕНИЯ (меняй значения здесь) ========================= */
  :root{
    /* Типографика */
    --fs-title: clamp(16px, 4vw, 22px);
    --fs-text:  clamp(12.5px, 3.6vw, 15px);
    --lh-text:  1.55;
    --title-tracking: .04em;

    /* Геометрия изображений */
    --ar-top:  1 / 1;   /* верхнее full-bleed фото */
    --ar-pair: 1 / 1;   /* пара фото снизу */
    --img-zoom: 1.00;   /* 1.00…1.25 — «крупнее кадр» */

    /* Границы секции (между контентом и футером/навбаром) */
    --section-pt: 40px;
    --section-pb: 40px;

    /* Боковые поля только у текстов (фото — 100vw) */
    --pad-x: 20px;

    /* Вертикальные интервалы */
    --gap-row: 20px;   /* базовый шаг между строками грида */
    --gap-tight: 12px; /* плотные отступы в текстах */

    /* Точные отступы между ключевыми блоками */
    --mt-title: 0px;
    --mb-title: 0px;
    --mt-intro: 0px;
    --mb-intro: 0px;
    --mb-text2: var(--gap-row);
    --mt-pair: 0px;
    --mb-pair: var(--gap-row);
    --mb-text3: 0px;
  }

  /* ===== СНОС ПАДДИНГОВ/МАРГИНОВ ОТ WEBFLOW ============================== */
  html, body { margin: 0 !important; }
  .body-3 main,
  .body-3 .page-wrapper,
  .about-section,
  .about-section > .w-container,
  .about-section > .w-layout-grid{
    padding-left: 0 !important; padding-right: 0 !important;
    margin-left: 0 !important;  margin-right: 0 !important;
  }

  /* ===== СЕКЦИЯ НА 100vw ================================================== */
  .about-section{
    background: var(--background, #efeee9);
    padding: var(--section-pt) 0 var(--section-pb) !important;
    width: 100vw !important; max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  /* ===== ГРИД: 2 колонки по 50vw, без щели =============================== */
  .about-section .about-sonder-block{
    display: grid !important;
    grid-template-columns: 50vw 50vw !important;
    grid-template-areas:
      "img2 img2"
      "ttl  ttl"
      "t114 t114"
      "t116 t116"
      "img1 img3"
      "t115 t115"
      "t117 t117";
    column-gap: 0 !important;
    row-gap: var(--gap-row) !important;
    width: 100% !important; max-width: none !important;
    margin: 0 !important; padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* уплощаем вложенность для grid-areas */
  .about-section .asb-wrap-1,
  .about-section .asb-wrap-2,
  .about-section .asb-wrap-3,
  .about-section .asb-wrap-4{ display: contents !important; }

  /* ===== ВЕРХНЕЕ FULL-BLEED ФОТО ========================================= */
  .about-section .asb-img-wrap-2{
    grid-area: img2 !important; line-height: 0 !important;
    width: 100vw !important; max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important; margin-bottom: var(--gap-row) !important;
  }
  .about-section .asb-img-wrap-2 img{
    display: block !important; width: 100% !important; height: auto !important;
    object-fit: cover !important; aspect-ratio: var(--ar-top);
    transform: scale(var(--img-zoom)); transform-origin: 50% 50%;
  }

  /* ===== ЗАГОЛОВОК И ТЕКСТЫ ============================================== */
  .about-section .text-block-113{
    grid-area: ttl !important;
    margin: var(--mt-title) 0 var(--mb-title) 0 !important;
    font-size: var(--fs-title) !important;
    line-height: 1.3 !important;
    letter-spacing: var(--title-tracking) !important;
    text-align: center !important;
    padding: 0 var(--pad-x) !important;
    box-sizing: border-box !important;
  }
  .about-section .text-block-114{
    grid-area: t114 !important;
    margin: var(--mt-intro) 0 var(--mb-intro) 0 !important;
    font-size: var(--fs-text) !important;
    line-height: var(--lh-text) !important;
    text-align: center !important;
    padding: 0 var(--pad-x) !important;
    box-sizing: border-box !important;
  }
  .about-section .text-block-116{
    grid-area: t116 !important;
    margin: 0 0 var(--mb-text2) 0 !important;
    font-size: var(--fs-text) !important;
    line-height: var(--lh-text) !important;
    text-align: center !important;
    padding: 0 var(--pad-x) !important;
    box-sizing: border-box !important;
  }

  /* ===== ПАРА ФОТО ОТ КРАЯ ДО КРАЯ ======================================= */
  .about-section .asb-img-wrap-1{ grid-area: img1 !important; }
  .about-section .asb-img-wrap-3{ grid-area: img3 !important; }
  .about-section .asb-img-wrap-1,
  .about-section .asb-img-wrap-3{
    aspect-ratio: var(--ar-pair) !important;
    overflow: hidden !important; border-radius: 0 !important; line-height: 0 !important;
    margin-top: var(--mt-pair) !important; margin-bottom: var(--mb-pair) !important;
  }
  .about-section .asb-img-wrap-1 img,
  .about-section .asb-img-wrap-3 img{
    display: block !important; width: 100% !important; height: 100% !important;
    object-fit: cover !important;
    transform: scale(var(--img-zoom)); transform-origin: 50% 50%;
  }

  /* ===== ТЕКСТЫ ПОД ПАРОЙ ФОТО =========================================== */
  .about-section .text-block-115{
    grid-area: t115 !important;
    margin: 0 0 var(--mb-text3) 0 !important;
    font-size: var(--fs-text) !important;
    line-height: var(--lh-text) !important;
    text-align: center !important;
    padding: 0 var(--pad-x) !important;
    box-sizing: border-box !important;
  }
  .about-section .text-block-117{
    grid-area: t117 !important;
    margin: 0 !important; /* низ до футера управляет --section-pb */
    font-size: var(--fs-text) !important;
    line-height: var(--lh-text) !important;
    text-align: center !important;
    padding: 0 var(--pad-x) !important;
    box-sizing: border-box !important;
  }

  /* Цвет текста (при необходимости) */
  .about-section .text-block-114,
  .about-section .text-block-115,
  .about-section .text-block-116,
  .about-section .text-block-117{
    color: var(--text, #222) !important;
  }
}


/* ================================================================================================================== */


/* ============================================================================
   DELIVERY • MOBILE (<=767px) — full-bleed img → text → full-bleed img
   ========================================================================== */
@media (max-width: 767px){

  /* ===== ПУЛЬТ УПРАВЛЕНИЯ ================================================== */
  :root{
    /* Типографика */
    --del-fs-title: clamp(16px, 4vw, 22px);
    --del-fs-text:  clamp(12.5px, 3.6vw, 15px);
    --del-lh-text:  1.55;
    --del-title-tracking: .04em;

    /* Геометрия изображений */
    --del-ar-top:    1 / 1;   /* верхнее фото */
    --del-ar-bottom: 1 / 1;   /* нижнее фото */
    --del-img-zoom:  1.00;    /* 1.00…1.25 — «крупнее кадр» */

    /* Поля секции и текста */
    --del-section-pt: 40px;
    --del-section-pb: 40px;
    --del-pad-x: 20px;

    /* Вертикальные интервалы */
    --del-gap-row: 20px;
    --del-gap-tight: 12px;
  }

  /* ===== СНОС ПАДДИНГОВ/МАРГИНОВ WEBFLOW ================================== */
  html, body { margin: 0 !important; }
  .body-3 main,
  .body-3 .page-wrapper,
  .delivery-section,
  .delivery-section > .w-container,
  .delivery-section > .w-layout-grid{
    padding-left: 0 !important; padding-right: 0 !important;
    margin-left: 0 !important;  margin-right: 0 !important;
  }

  /* ===== СЕКЦИЯ НА 100vw =================================================== */
  .delivery-section{
    background: var(--background, #efeee9);
    padding: var(--del-section-pt) 0 var(--del-section-pb) !important;
    width: 100vw !important; max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  /* ===== ГРИД: imgTop → title → text → imgBottom ========================== */
  .delivery-section .delivery-about-block{
    display: grid !important;
    grid-template-columns: 50vw 50vw !important;
    grid-template-areas:
      "imgT imgT"
      "ttl  ttl"
      "txt  txt"
      "imgB imgB";
    column-gap: 0 !important;
    row-gap: var(--del-gap-row) !important;
    width: 100% !important; max-width: none !important;
    margin: 0 !important; padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* уплощаем вложенность — внутр. обертки становятся «прозрачными» */
  .delivery-section .da-text-wrap,
  .delivery-section .da-img-wrap{ display: contents !important; }

  /* ===== ВЕРХНЕЕ FULL-BLEED ФОТО ========================================== */
  .delivery-section .da-img-wrap img:nth-child(1){
    grid-area: imgT !important;
    display: block !important;
    width: 100vw !important; max-width: 100vw !important;
    height: auto !important; line-height: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important; margin-bottom: var(--del-gap-row) !important;
    object-fit: cover !important; aspect-ratio: var(--del-ar-top);
    transform: scale(var(--del-img-zoom)); transform-origin: 50% 50%;
  }

  /* ===== ЗАГОЛОВОК И ТЕКСТ ================================================= */
  .delivery-section .text-block-118{
    grid-area: ttl !important;
    margin: 0 !important;
    font-size: var(--del-fs-title) !important;
    line-height: 1.3 !important;
    letter-spacing: var(--del-title-tracking) !important;
    text-align: center !important;
    padding: 0 var(--del-pad-x) !important;
    box-sizing: border-box !important;
  }
  .delivery-section .text-block-119{
    grid-area: txt !important;
    margin: 0 !important;
    font-size: var(--del-fs-text) !important;
    line-height: var(--del-lh-text) !important;
    text-align: center !important;
    padding: 0 var(--del-pad-x) !important;
    box-sizing: border-box !important;
  }
  /* аккуратнее с RTE: ужимаем внешние отступы параграфов */
  .delivery-section .text-block-119.rte p{ margin: 0 0 var(--del-gap-tight) 0 !important; }
  .delivery-section .text-block-119.rte p:last-child{ margin-bottom: 0 !important; }

  /* ===== НИЖНЕЕ FULL-BLEED ФОТО =========================================== */
  .delivery-section .da-img-wrap img:nth-child(2){
    grid-area: imgB !important;
    display: block !important;
    width: 100vw !important; max-width: 100vw !important;
    height: auto !important; line-height: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: var(--del-gap-row) !important; margin-bottom: 0 !important;
    object-fit: cover !important; aspect-ratio: var(--del-ar-bottom);
    transform: scale(var(--del-img-zoom)); transform-origin: 50% 50%;
  }

  /* Цвет текста (если нужен override темы) */
  .delivery-section .text-block-118,
  .delivery-section .text-block-119{ color: var(--text, #222) !important; }
}

/* ================================================================================================================== */

/* ============================================================================
   CONTACTS • MOBILE — карта → заголовок → адрес → ссылки (тотальный контроль)
   ========================================================================== */
@media (max-width: 767px){

  :root{
    /* типографика */
    --ct-fs-title: clamp(16px, 4vw, 22px);
    --ct-title-lh: 1.10;        /* ВНУТРЕННИЙ воздух у КОНТАКТЫ */
    --ct-fs-text:  clamp(12.5px, 3.6vw, 15px);
    --ct-text-lh:  1.45;        /* ВНУТРЕННИЙ воздух у адреса/ссылок */
    --ct-title-tracking: .04em;

    /* карта */
    --ct-ar-top: 1 / 1;
    --ct-map-minh: 300px;
    --ct-map-radius: 0px;

    /* поля секции */
    --ct-section-pt: 40px;
    --ct-section-pb: 40px;
    --ct-pad-x: 0px;

    /* РАЗДЕЛИТЕЛИ (внешние отступы между блоками) */
    --ct-gap-after-map:  40px;  /* карта → заголовок */
    --ct-gap-after-ttl:  0px;   /* заголовок → адрес */
    --ct-gap-after-addr: 0px;   /* адрес → ссылки */

    /* внутрь блоков */
    --ct-gap-tight: 0px;        /* p+p в адресе */
    --ct-links-gap: 10px;       /* между строками ссылок */
    --ct-link-item-gap: 10px;   /* иконка ↔ текст */
    --ct-icon-size: 20px;       /* размер иконок */
  }

  /* зачистка обёрток */
  .body-3 main,
  .body-3 .page-wrapper,
  .contact-section,
  .contact-section > .w-container,
  .contact-section > .w-layout-grid{
    padding-left: 0 !important; padding-right: 0 !important;
    margin-left: 0 !important;  margin-right: 0 !important;
    border: 0 !important;
  }

  .contact-section{
    background: var(--background, #efeee9);
    padding: var(--ct-section-pt) 0 var(--ct-section-pb) !important;
    width: 100vw !important; max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  /* грид без щелей */
  .contact-section .contact-about-block{
    display: grid !important;
    grid-template-columns: 50vw 50vw !important;
    grid-template-areas:
      "map map"
      "ttl ttl"
      "addr addr"
      "links links";
    gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important;
  }

  /* уплощаем ТОЛЬКО текстовые обёртки */
  .contact-section .ca-text-wrap,
  .contact-section .catw-grid{
    display: contents !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important;
  }
  .contact-section .ca-img-wrap{ display: block !important; }

  /* MAP */
  .contact-section #map-container{
    grid-area: map !important;
    width: 100vw !important; max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-bottom: var(--ct-gap-after-map) !important;
    line-height: 0 !important; overflow: hidden !important;
    aspect-ratio: var(--ct-ar-top);
    min-height: var(--ct-map-minh);
    background: #d9d7d0; position: relative !important;
    border-radius: var(--ct-map-radius);
    border: 0 !important; padding: 0 !important;
  }
  .contact-section #map-container > *{
    position: absolute !important; inset: 0 !important;
    width: 100% !important; height: 100% !important;
  }

  /* Жёсткий reset у самих блоков, чтобы не протекали чужие правила */
  .contact-section .text-block-120,
  .contact-section .text-block-121,
  .contact-section .catw-contact-wrap{
    margin: 0 !important; padding: 0 var(--ct-pad-x) !important; border: 0 !important;
  }

  /* TITLE */
  .contact-section .text-block-120{
    grid-area: ttl !important;
    font-size: var(--ct-fs-title) !important;
    line-height: var(--ct-title-lh) !important;  /* ← управляет «внутренним» воздухом */
    letter-spacing: var(--ct-title-tracking) !important;
    text-align: center !important;
    margin-bottom: var(--ct-gap-after-ttl) !important; /* ← внешний зазор */
    box-sizing: border-box !important;
  }

  /* ADDRESS */
  .contact-section .text-block-121{
    grid-area: addr !important;
    font-size: var(--ct-fs-text) !important;
    line-height: var(--ct-text-lh) !important;   /* ← «внутренний» воздух абзацев */
    text-align: center !important;
    box-sizing: border-box !important;
    white-space: pre-wrap !important;
    margin-bottom: var(--ct-gap-after-addr) !important; /* ← внешний зазор */
  }
  .contact-section .text-block-121 p{ margin: 0 0 var(--ct-gap-tight) 0 !important; }
  .contact-section .text-block-121 p:last-child{ margin-bottom: 0 !important; }

  /* LINKS */
  .contact-section .catw-contact-wrap{
    grid-area: links !important;
    display: grid !important;
    gap: var(--ct-links-gap) !important;
    justify-items: center !important;
    box-sizing: border-box !important;
  }
  .contact-section .catw-inst,
  .contact-section .catw-mail{
    display: inline-grid !important;
    grid-auto-flow: column !important;
    align-items: center !important;
    gap: var(--ct-link-item-gap) !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important;
  }
  .contact-section .catw-inst img,
  .contact-section .catw-mail img{
    width: var(--ct-icon-size) !important; height: var(--ct-icon-size) !important;
    display: block !important;
  }

  /* Цвет */
  .contact-section .text-block-120,
  .contact-section .text-block-121,
  .contact-section .text-block-122,
  .contact-section .text-block-123{
    color: var(--text, #222) !important;
  }
}

@media (max-width: 767px){
  .contact-section .text-block-121{
    white-space: pre-line !important;  /* было pre-wrap */
    text-indent: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    height: 100px !important;
  }
}

/* ================================================================================================================== */


/* == SCROLL FIX for horizontal carousels on mobile ======================== */
@media (max-width: 767px) {
  /* домашняя карусель */
  .grid-product-1 {
    /* было: touch-action: pan-x;  */
    touch-action: pan-x pan-y !important;  /* или просто: auto */
    /* мягче снап: */
    scroll-snap-type: x proximity !important;
  }

  /* related на product page */
  .more-product .more-product-grid {
    /* было: touch-action: pan-x;  */
    touch-action: pan-x pan-y !important;  /* или auto */
    scroll-snap-type: x proximity !important;
  }

  /* на всякий случай для прочих горизонтальных лент, если появятся */
  .product-list-1,
  #catalog .grid-product-1,
  .quck-review-catalog .quick-block-n4,
  .quck-review-catalog .quick-block-n5,
  .quck-review-catalog .quick-block-n6 {
    /* не запрещаем вертикальный жест, пусть браузер решает сам */
    touch-action: auto !important;
  }
}

@media (max-width: 767px) {
  .grid-product-1,
  .more-product .more-product-grid {
    overscroll-behavior-x: contain !important;  /* чтобы горизонтальный оверскролл не дёргал страницу */
    -webkit-overflow-scrolling: touch !important; /* плавность на iOS */
  }
}

/* ================================================================================================================== */

