/**
 * Retro Склад — мобильная адаптивность (UX, без смены визуальной концепции).
 * Desktop не затрагивается: правила только в max-width media queries.
 */

/* ─── Базовая защита от горизонтального скролла ─── */
html {
  /* clip ломает IntersectionObserver на Safari iOS; hidden — безопаснее */
  overflow-x: hidden;
  /* smooth на touch даёт рывки при обратном скролле в iOS Safari */
  scroll-behavior: auto;
}

html:has(body.category-page) {
  overflow-x: clip;
}

/* ─── Общие секции ─── */
@media (max-width: 767px) {
  :root {
    --layout-gutter-x: clamp(1.125rem, 4.5vw, 1.5rem);
  }

  .section {
    padding-block: clamp(3.5rem, 12vw, 5.5rem);
    padding-inline: var(--layout-gutter-x);
  }

  .section-intro--editorial {
    gap: 1.25rem;
  }

  .section-title {
    font-size: clamp(1.85rem, 8vw, 2.5rem);
  }

  .section-lead {
    font-size: clamp(1rem, 4.2vw, 1.125rem);
  }
}

/* ─── Шапка — лёгкая, Loft-style (только ≤1023px) ─── */
@media (max-width: 1023px) {
  :root {
    --header-h: 4rem; /* 64px */
    --header-icon-size: 1.1875rem;
    --mobile-nav-padding-x: 1.5rem; /* 24px */
  }

  .site-header {
    height: var(--header-h);
    overflow: hidden;
    background: rgba(250, 247, 242, 0.36);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid transparent;
    box-shadow: none;
    /* styles.css анимирует backdrop-filter — на mobile это даёт jank при scroll */
    transition: none;
  }

  .site-header.is-scrolled {
    background: rgba(250, 247, 242, 0.52);
    border-bottom-color: rgba(28, 24, 20, 0.04);
  }

  .site-header.is-solid {
    background: rgba(250, 247, 242, 0.6);
    border-bottom-color: rgba(28, 24, 20, 0.05);
  }

  .home-page .site-header:not(.is-scrolled) {
    background: rgba(250, 247, 242, 0.14);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-bottom-color: transparent;
  }

  .home-page .site-header.is-scrolled:not(.is-solid) {
    background: rgba(250, 247, 242, 0.44);
  }

  /*
   * iOS Safari: fixed + backdrop-filter при momentum scroll = дрожание экрана.
   * Заменяем blur на подобранный solid rgba (визуально близко, без compositor jank).
   */
  @supports (-webkit-touch-callout: none) {
    .site-header {
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      background: rgba(250, 247, 242, 0.9);
    }

    .site-header.is-scrolled {
      background: rgba(250, 247, 242, 0.93);
    }

    .site-header.is-solid {
      background: rgba(250, 247, 242, 0.96);
    }

    .home-page .site-header:not(.is-scrolled) {
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      background: rgba(250, 247, 242, 0.52);
    }

    .home-page .site-header.is-scrolled:not(.is-solid) {
      background: rgba(250, 247, 242, 0.91);
    }
  }

  body.is-mobile-nav-open .site-header {
    pointer-events: none;
  }

  body:not(.is-mobile-nav-open) .site-header {
    z-index: 120;
  }

  body.is-mobile-nav-open .site-header__inner {
    visibility: hidden;
  }

  .site-header__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    grid-template-columns: unset;
    height: 100%;
    padding: 0 var(--mobile-nav-padding-x);
    gap: 0;
  }

  .site-header__brand {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    justify-self: center;
    min-width: 0;
    z-index: 3;
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    min-width: 2.75rem;
    text-decoration: none;
    color: inherit;
  }

  .site-header__brand .logo__img {
    height: 1.5rem;
    max-width: min(6.75rem, 28vw);
    object-position: center;
  }

  .site-header__nav {
    display: none;
  }

  .site-header__tools {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    margin: 0;
    pointer-events: none;
  }

  .site-header__tools > * {
    pointer-events: auto;
  }

  .site-header__tools .header-icon-btn[data-site-telegram],
  .site-header__tools .header-icon-btn[data-site-max],
  .site-header__tools .header-icon-btn[data-site-phone] {
    display: none;
  }

  .site-header__tools .nav-toggle {
    order: -1;
    flex-shrink: 0;
  }

  .site-header__tools [data-header-search] {
    order: 1;
    flex-shrink: 0;
  }

  .site-header__tools [data-header-cart] {
    order: 2;
    flex-shrink: 0;
  }

  .site-header__tools [data-header-favorites] {
    order: 3;
    flex-shrink: 0;
  }

  .favorite-btn {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
  }

  .header-icon-btn {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    background: transparent;
  }

  .header-icon-btn:hover,
  .header-icon-btn:focus-visible {
    background: rgba(28, 24, 20, 0.05);
    opacity: 1;
  }

  .header-icon,
  .header-icon-btn__svg,
  .header-icon-btn__img {
    opacity: 0.9;
  }

  .nav-toggle {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    gap: 5px;
    margin: 0;
    border-radius: 0;
    background: transparent;
  }

  .nav-toggle:hover,
  .nav-toggle:focus-visible {
    background: rgba(28, 24, 20, 0.05);
  }

  .nav-toggle__line {
    width: 17px;
    height: 1px;
  }

  .nav-toggle[aria-expanded="true"] .nav-toggle__line:first-child {
    transform: translateY(3px) rotate(45deg);
  }

  .nav-toggle[aria-expanded="true"] .nav-toggle__line:last-child {
    transform: translateY(-3px) rotate(-45deg);
  }

  /* ─── Мобильное меню — полноэкранный overlay ─── */
  .mobile-nav {
    position: fixed;
    inset: 0;
    z-index: 110;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    padding: 0;
    background: rgba(250, 247, 242, 0.9);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: none;
    overflow: hidden;
  }

  .mobile-nav[hidden] {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden;
  }

  body.is-mobile-nav-open .mobile-nav:not([hidden]) {
    pointer-events: auto;
  }

  .mobile-nav__header {
    flex-shrink: 0;
    display: grid;
    grid-template-columns: 2.5rem 1fr 2.5rem;
    align-items: center;
    height: var(--header-h);
    padding: 0 var(--mobile-nav-padding-x);
    border-bottom: 1px solid rgba(28, 24, 20, 0.06);
  }

  .mobile-nav__close {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0;
    padding: 0;
    color: var(--color-ink);
    background: transparent;
    justify-self: start;
  }

  .mobile-nav__close:hover,
  .mobile-nav__close:focus-visible {
    background: rgba(28, 24, 20, 0.05);
  }

  .mobile-nav__logo {
    justify-self: center;
    display: flex;
    align-items: center;
    pointer-events: auto;
  }

  .mobile-nav__logo .logo__img {
    height: 1.5rem;
    max-width: min(6.75rem, 28vw);
    object-position: center;
  }

  .mobile-nav__search {
    justify-self: end;
  }

  .mobile-nav__scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 0.5rem var(--mobile-nav-padding-x) 1.25rem;
  }

  .mobile-nav__primary {
    display: flex;
    flex-direction: column;
  }

  .mobile-nav__primary a {
    display: block;
    width: 100%;
    padding: 0.6875rem 0; /* 11px */
    font-family: var(--font-heading);
    font-size: clamp(1.375rem, 5.4vw, 1.625rem); /* 22–26px */
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: 0.01em;
    text-transform: none;
    color: var(--color-ink);
    border-bottom: 1px solid rgba(28, 24, 20, 0.06);
    transition: color 0.25s var(--ease-soft);
  }

  .mobile-nav__primary a:last-child {
    border-bottom: none;
  }

  .mobile-nav__primary a:hover,
  .mobile-nav__primary a:focus-visible {
    color: var(--color-accent);
  }

  .mobile-nav__categories {
    display: flex;
    flex-direction: column;
    margin-top: 0.875rem;
    padding-top: 0.875rem;
    border-top: 1px solid rgba(28, 24, 20, 0.08);
  }

  .mobile-nav__category {
    display: block;
    width: 100%;
    padding: 0.4375rem 0; /* 7px */
    font-family: var(--font-body);
    font-size: clamp(0.9375rem, 3.8vw, 1.0625rem); /* 15–17px */
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0.01em;
    color: var(--color-ink-soft);
    transition: color 0.25s var(--ease-soft);
  }

  .mobile-nav__category:hover,
  .mobile-nav__category:focus-visible {
    color: var(--color-ink);
  }

  .mobile-nav__socials {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(28, 24, 20, 0.06);
  }

  .mobile-nav__social {
    font-family: var(--font-body);
    font-size: 0.8125rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-ink-muted);
    transition: color 0.25s var(--ease-soft);
  }

  .mobile-nav__social:hover,
  .mobile-nav__social:focus-visible {
    color: var(--color-ink);
  }
}

@media (max-width: 767px) {
  .mobile-nav__primary a {
    padding: 0.625rem 0; /* 10px */
    font-size: clamp(1.3125rem, 5.8vw, 1.5rem);
  }

  .mobile-nav__category {
    padding: 0.375rem 0;
  }
}

/* ─── Hero — mobile fullscreen (отдельная композиция, ≤767px) ─── */
@media (max-width: 767px) {
  .hero.hero--desktop {
    display: none;
  }

  .hero-mobile {
    display: block;
    color: var(--color-surface);
  }

  .hero-mobile__viewport {
    position: relative;
    min-height: 100svh;
    overflow: hidden;
  }

  .hero-mobile__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
  }

  .hero-mobile__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Интерьерный кадр: буфет в контексте пространства, не предметное фото */
    object-position: 50% 44%;
  }

  .hero-mobile__scrim {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(
        90deg,
        rgba(16, 12, 8, 0.58) 0%,
        rgba(16, 12, 8, 0.28) 40%,
        rgba(16, 12, 8, 0.05) 66%,
        rgba(16, 12, 8, 0) 100%
      ),
      linear-gradient(
        180deg,
        rgba(16, 12, 8, 0.05) 0%,
        rgba(16, 12, 8, 0) 36%,
        rgba(16, 12, 8, 0.1) 58%,
        rgba(16, 12, 8, 0.34) 100%
      );
  }

  .hero-mobile__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 100svh;
    padding: calc(var(--header-h) + 1rem) var(--layout-gutter-x)
      clamp(4.25rem, 19vh, 6.25rem);
  }

  .hero-mobile__title {
    margin: 0 0 clamp(1rem, 3.5vw, 1.35rem);
    max-width: 10.5em;
    font-family: var(--font-heading);
    font-size: clamp(1.875rem, 8.4vw, 2.375rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: 0.012em;
    color: var(--color-surface);
    text-shadow: 0 1px 20px rgba(8, 6, 4, 0.24);
    animation: heroMobileIn 0.75s cubic-bezier(0.2, 0.8, 0.2, 1) both;
  }

  .hero-mobile__actions {
    animation: heroMobileIn 0.75s cubic-bezier(0.2, 0.8, 0.2, 1) 0.08s both;
  }

  .hero-mobile__cta.btn--primary {
    width: auto;
    min-width: 0;
    max-width: min(100%, 14.5rem);
    min-height: 2.5rem;
    padding: 0.5625rem 1.25rem;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: 999px;
    color: rgba(250, 247, 242, 0.94);
    background: rgba(250, 247, 242, 0.07);
    border: 1px solid rgba(250, 247, 242, 0.38);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }

  .hero-mobile__cta.btn--primary:hover,
  .hero-mobile__cta.btn--primary:focus-visible {
    color: #fff;
    background: rgba(250, 247, 242, 0.13);
    border-color: rgba(250, 247, 242, 0.52);
  }

  .hero-mobile__lead {
    display: none;
  }

  @keyframes heroMobileIn {
    from {
      opacity: 0;
      transform: translateY(0.625rem);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .hero-mobile__title,
  .hero-mobile__actions {
    animation: none;
  }
}

/* ─── Категории — горизонтальная лента сохранена ─── */
@media (max-width: 959px) {
  .categories-pin {
    padding-top: clamp(1rem, 3vh, 1.65rem);
  }

  .categories-pin--pass {
    padding-bottom: 0.65rem;
  }

  .categories-pin__sticky {
    min-height: auto;
    padding-bottom: 0.5rem;
  }

  .categories-pin--scrub .categories-pin__sticky {
    position: relative;
    height: auto;
    min-height: 0;
  }

  .categories-gallery__track {
    scroll-padding-inline: var(--layout-gutter-x);
  }

  .categories-gallery {
    cursor: auto;
    flex: 0 1 auto;
    min-height: 0;
    align-items: flex-start;
  }

  .categories-gallery .category-spread__link {
    touch-action: manipulation;
  }

  .categories-pin--pass .categories-gallery {
    max-height: none;
  }

  .categories-pin__hint-desktop {
    display: none;
  }

  .categories-pin__hint-mobile {
    display: inline;
  }

  .categories-pin__hint {
    margin-top: 0.875rem;
    margin-bottom: 0.125rem;
    padding-inline: var(--layout-gutter-x);
    font-size: 0.6875rem;
    font-weight: 400;
    letter-spacing: 0.045em;
    color: var(--color-ink-muted);
    opacity: 0.62;
  }
}

/* ─── Манифест ─── */
@media (max-width: 767px) {
  .manifesto.section {
    padding-block: clamp(2.75rem, 9vw, 3.75rem);
    padding-inline: 0;
  }

  .categories-pin + .manifesto.section {
    padding-top: clamp(1.35rem, 4.5vw, 1.85rem);
    padding-bottom: clamp(2.75rem, 9vw, 3.75rem);
  }

  .manifesto__inner {
    gap: clamp(1.15rem, 4.5vw, 1.5rem);
    padding-inline: var(--layout-gutter-x);
  }

  .manifesto__headline {
    font-size: clamp(1.85rem, 8.2vw, 2.5rem);
    line-height: 1.08;
    max-width: none;
  }

  .manifesto__text {
    max-width: none;
  }

  .manifesto__text p {
    font-size: clamp(1rem, 4.2vw, 1.0625rem);
    line-height: 1.62;
  }

  .manifesto__text p:last-child {
    margin-top: 0.5rem;
  }
}

@media (max-width: 767px) {
  .manifest-orb {
    width: 7px;
    height: 7px;
    margin: -3.5px 0 0 -3.5px;
    box-shadow:
      0 0 10px rgba(201, 173, 130, 0.36),
      0 1px 3px rgba(28, 24, 20, 0.12);
  }

  .manifest-bridge.is-animating::before {
    left: var(--layout-gutter-x);
    right: var(--layout-gutter-x);
  }
}

/* ─── Исследование коллекции — mobile refinement ─── */
@media (max-width: 767px) {
  .manifesto + .collection-research.section,
  .collection-research.section {
    padding: 0;
  }

  .collection-research__inner {
    max-width: none;
    padding: clamp(2rem, 6.5vw, 2.75rem) var(--layout-gutter-x)
      clamp(2.25rem, 7vw, 3rem);
  }

  .collection-research__header {
    max-width: none;
    margin-bottom: clamp(1.15rem, 4vw, 1.5rem);
  }

  .collection-research__title {
    margin-bottom: 0.55rem;
    font-size: clamp(1.65rem, 7.6vw, 2.15rem);
    line-height: 1.12;
  }

  .collection-research__lead {
    max-width: none;
    font-size: clamp(0.9375rem, 4.1vw, 1.0625rem);
    line-height: 1.55;
    color: rgba(244, 239, 230, 0.78);
  }

  .collection-research__search {
    margin-bottom: 0.85rem;
  }

  .collection-research__search-icon {
    left: 0.95rem;
  }

  .collection-research__input {
    min-height: 2.75rem;
    padding: 0.65rem 1rem 0.65rem 2.65rem;
    font-size: 1rem;
    border-radius: 999px;
  }

  .collection-research__input::placeholder {
    font-size: 0.9375rem;
  }

  .collection-research__examples {
    margin-bottom: 1rem;
  }

  .collection-research__example {
    min-height: 2.125rem;
    padding: 0.4rem 0.85rem;
  }

  .collection-research__filters-toggle {
    border-bottom: 1px solid rgba(244, 239, 230, 0.1);
  }

  .collection-research__filters-toggle.is-open {
    border-bottom-color: transparent;
  }

  .collection-research__filters {
    border-radius: 14px;
  }

  .collection-research__status {
    margin-top: 1rem;
  }

  .collection-research__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem;
    margin-top: 1.15rem;
  }

  .collection-research__catalog-link {
    width: 100%;
    min-height: 2.75rem;
    padding: 0.7rem 1.25rem;
    border-radius: 999px;
    white-space: normal;
  }

  .collection-research__reset {
    align-self: center;
    min-height: 2.25rem;
    padding: 0.25rem 0.5rem;
  }

  .research-chip {
    min-height: 2.375rem;
    padding: 0.5rem 0.95rem;
    font-size: 0.8125rem;
  }
}

@media (min-width: 768px) and (max-width: 959px) {
  .collection-research__inner {
    max-width: min(56rem, calc(100% - 2.5rem));
  }

  .collection-research__catalog-link {
    width: 100%;
  }

  .collection-research__actions {
    width: 100%;
  }
}

/* ─── Новые поступления — галерея, не сетка (только mobile) ─── */
@media (max-width: 899px) {
  @-webkit-keyframes mobile-block-rise {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, 2.75rem, 0);
      transform: translate3d(0, 2.75rem, 0);
    }

    to {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }

  @keyframes mobile-block-rise {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, 2.75rem, 0);
      transform: translate3d(0, 2.75rem, 0);
    }

    to {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }

  #new-arrivals .showcase__grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-inline: var(--layout-gutter-x);
  }

  #new-arrivals .showcase-item {
    width: 100%;
    max-width: 100%;
    margin-bottom: 0;
  }

  #new-arrivals .showcase-item:not(.is-visible),
  #catalog .showroom-card:not(.is-visible),
  .collections__grid .curated-card:not(.is-visible),
  [data-reveal]:not(.is-visible) {
    opacity: 0;
    -webkit-transform: translate3d(0, 2.75rem, 0);
    transform: translate3d(0, 2.75rem, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: none;
  }

  #new-arrivals .showcase-item.is-visible,
  #catalog .showroom-card.is-visible,
  .collections__grid .curated-card.is-visible,
  [data-reveal].is-visible {
    -webkit-animation: mobile-block-rise 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation: mobile-block-rise 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    transition: none;
  }

  #new-arrivals .showcase-item__media,
  .showcase-item__media {
    opacity: 1;
    transform: none;
    will-change: auto;
  }

  #new-arrivals .showcase-item--hero {
    margin-bottom: clamp(2.75rem, 9vw, 4.25rem);
  }

  #new-arrivals .showcase-item--hero .showcase-item__media {
    aspect-ratio: 4 / 5;
  }

  #new-arrivals .showcase-item--tall {
    padding-left: clamp(1.25rem, 11vw, 3.5rem);
    margin-bottom: clamp(2.5rem, 8vw, 4rem);
  }

  #new-arrivals .showcase-item--tall .showcase-item__media {
    aspect-ratio: 3 / 4;
  }

  #new-arrivals .showcase-item--wide {
    padding-right: clamp(0.75rem, 7vw, 2.5rem);
    margin-bottom: clamp(3rem, 10vw, 5rem);
  }

  #new-arrivals .showcase-item--wide .showcase-item__media {
    aspect-ratio: 16 / 11;
  }

  #new-arrivals .showcase-item--overlap {
    padding-left: clamp(1.5rem, 14vw, 4.5rem);
    margin-bottom: clamp(2.75rem, 8.5vw, 4.5rem);
  }

  #new-arrivals .showcase-item--overlap .showcase-item__media {
    aspect-ratio: 4 / 5;
  }

  #new-arrivals .showcase-item--mirror {
    padding-right: clamp(1rem, 9vw, 3rem);
    margin-bottom: clamp(3.25rem, 10vw, 5.25rem);
  }

  #new-arrivals .showcase-item--mirror .showcase-item__media {
    aspect-ratio: 5 / 6;
  }

  #new-arrivals .showcase-item--console {
    padding-left: clamp(0.5rem, 5vw, 2rem);
    margin-bottom: clamp(2.25rem, 7vw, 3.5rem);
  }

  #new-arrivals .showcase-item--console .showcase-item__media {
    aspect-ratio: 5 / 4;
  }

  /* Слот без layout-класса */
  #new-arrivals .showcase-item:not(
      .showcase-item--hero,
      .showcase-item--tall,
      .showcase-item--wide,
      .showcase-item--overlap,
      .showcase-item--mirror,
      .showcase-item--console
    ) {
    padding-right: clamp(0.75rem, 6vw, 2rem);
    margin-bottom: clamp(2.5rem, 8vw, 4rem);
  }

  #new-arrivals .showcase-item:not(
      .showcase-item--hero,
      .showcase-item--tall,
      .showcase-item--wide,
      .showcase-item--overlap,
      .showcase-item--mirror,
      .showcase-item--console
    )
    .showcase-item__media {
    aspect-ratio: 3 / 4;
  }

  #new-arrivals .showcase-item__name {
    font-size: clamp(1.25rem, 5vw, 1.5rem);
  }
}

@media (max-width: 899px) and (prefers-reduced-motion: reduce) {
  #new-arrivals .showcase-item,
  #catalog .showroom-card,
  .collections__grid .curated-card,
  [data-reveal] {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* ─── Сейчас в зале — 2 колонки на mobile (showroom-cards.css) ─── */
@media (max-width: 767px) {
  #catalog .catalog__grid {
    padding-inline: var(--layout-gutter-x);
  }

  #catalog .showroom-card__body {
    gap: clamp(0.45rem, 2vw, 0.65rem);
  }

  #catalog .showroom-card__price-row .favorite-btn--showroom {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
  }
}

/* ─── Подборки ─── */
@media (max-width: 767px) {
  .collections__grid {
    padding-inline: var(--layout-gutter-x);
  }

  .curated-card__title {
    font-size: clamp(1.25rem, 5vw, 1.5rem);
  }
}

/* ─── Для дизайнеров / О проекте / Футер ─── */
@media (max-width: 767px) {
  .designers__inner {
    padding-inline: var(--layout-gutter-x);
  }

  .about__scene {
    align-items: center;
    justify-content: center;
    min-height: clamp(480px, 68vh, 580px);
    padding:
      clamp(1.25rem, 4vw, 1.75rem)
      var(--layout-gutter-x)
      clamp(1rem, 3vw, 1.5rem);
  }

  .brand-story .reviews__inner {
    padding-inline: var(--layout-gutter-x);
    padding-bottom: clamp(2.5rem, 8vw, 3.5rem);
  }

  .brand-story .reviews__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
  }

  .brand-story .reviews__nav {
    display: none;
  }

  .brand-story .reviews__platforms-links {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .brand-story .reviews__platforms-sep {
    display: none;
  }

  .about__card {
    width: 100%;
    max-width: none;
    padding: clamp(1.75rem, 5vw, 2.25rem) clamp(1.35rem, 4.5vw, 1.75rem);
    margin: 0;
  }

  .about__card-inner {
    grid-template-columns: 1fr;
    min-height: auto;
    gap: 0;
  }

  .about__decor {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }

  .about__card[data-reveal] {
    opacity: 0.92;
    transform: scale(0.98);
    transition-duration: 0.55s;
  }

  .about__mark {
    left: -0.12em;
    font-size: clamp(8rem, 38vw, 11rem);
    opacity: 0.045;
  }

  .about__card-body {
    max-width: none;
  }

  .about__title {
    font-size: clamp(1.75rem, 7.5vw, 2.15rem);
    margin-bottom: 1rem;
  }

  .about__scene.is-expanded {
    min-height: auto;
    padding-block: clamp(1.5rem, 5vw, 2rem);
  }

  .about__card.is-expanded {
    width: 100%;
  }

  .about__lead {
    margin-bottom: 0;
    font-size: clamp(0.9875rem, 4.1vw, 1.0625rem);
    line-height: 1.65;
  }

  .about__details {
    transition-duration: 0.55s;
  }

  .about__card.is-expanded .about__details {
    margin-top: 1.15rem;
  }

  .about__details-inner p {
    font-size: clamp(0.9875rem, 4.1vw, 1.0625rem);
    line-height: 1.65;
  }

  .about__closing {
    font-size: clamp(1.0625rem, 4.8vw, 1.2rem);
    padding-top: 1.15rem;
  }

  .about__cta {
    margin-top: 1.5rem;
    width: 100%;
  }

  .about__card.is-expanded .about__cta {
    margin-top: 1.35rem;
  }

  .designers__title {
    font-size: clamp(1.85rem, 8vw, 2.5rem);
  }

  .site-footer {
    padding-inline: var(--layout-gutter-x);
  }

  .site-footer__nav {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .site-footer__legal {
    flex-direction: column;
    gap: 0.65rem;
  }

  .legal-article {
    padding-inline: var(--layout-gutter-x);
  }
}

/* ─── Страница категории ─── */
@media (max-width: 959px) {
  .category-view {
    padding-inline: var(--layout-gutter-x);
    padding-top: calc(var(--header-h) + 1.25rem);
  }

  .category-view__title {
    font-size: clamp(1.85rem, 8vw, 2.5rem);
  }

  .category-view__lead {
    font-size: clamp(1rem, 4vw, 1.0625rem);
  }

  .category-view__controls {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 1rem;
  }

  .category-view__sticky-bar {
    margin-bottom: 1rem;
    padding-block: 0.5rem;
  }

  .category-view__sticky-bar-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
  }

  .category-view__sticky-meta {
    text-align: left;
    font-size: 0.8125rem;
  }

  .category-view__filters-toggle {
    min-height: 2.75rem;
    padding: 0.45rem 0;
  }

  .category-view__filters-reset {
    min-height: 2.75rem;
    padding: 0.45rem 0;
  }

  .category-filters.is-open {
    margin-bottom: 1.25rem;
  }

  .category-filters__chips {
    gap: 0.55rem;
  }

  .category-filters .research-chip,
  .category-filters .category-filter-chip {
    min-height: 2.5rem;
    padding: 0.55rem 1rem;
  }

  .category-view .catalog__grid--product-cards {
    row-gap: clamp(2.25rem, 7vw, 3rem);
    column-gap: clamp(0.75rem, 3vw, 1rem);
  }

  .category-view .product-card--grid .product-card__media {
    aspect-ratio: 3 / 4;
  }

  .category-view .product-card--grid .product-card__title {
    font-size: clamp(1.125rem, 4.8vw, 1.3rem);
  }

  .category-view .product-card--grid .product-card__price {
    font-size: 0.875rem;
  }

  .category-view .product-card--grid .product-card__price-row .favorite-btn--card,
  .favorites-view .product-card--grid .product-card__price-row .favorite-btn--card {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
  }
}

/* ─── Карточка товара ─── */
@media (max-width: 899px) {
  .product-hero {
    padding-inline: var(--layout-gutter-x);
  }

  .product-hero__panel {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 3.5vw, 1.35rem);
  }

  /* Дети .product-hero__info участвуют в flex-порядке панели */
  .product-hero__info {
    display: contents;
  }

  .product-hero__gallery {
    order: 1;
  }

  .product-variants {
    order: 2;
    margin: 0;
  }

  .product-hero__actions {
    order: 3;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.5rem;
    margin: 0;
    width: 100%;
  }

  .product-delivery {
    order: 4;
    width: 100%;
    max-width: none;
  }

  .product-hero__cart-note {
    order: 5;
    margin-top: -0.35rem;
  }

  .product-hero__reserved-note {
    order: 6;
    margin-top: -0.35rem;
  }

  .product-hero__title {
    order: 7;
    margin-top: 0.15rem;
    font-size: clamp(1.85rem, 8vw, 2.5rem);
    max-width: 20ch;
  }

  .product-hero__price {
    order: 8;
    margin-top: 0;
  }

  .product-hero__lead {
    order: 9;
    font-size: clamp(0.9375rem, 4vw, 1rem);
  }

  .product-hero__more {
    order: 10;
  }

  .product-hero__specs {
    order: 11;
  }

  .product-hero__main.image-portrait {
    max-height: clamp(420px, 68vh, 640px);
  }

  .product-hero__main.image-portrait img {
    max-height: clamp(420px, 68vh, 640px);
  }

  .product-hero__main.image-landscape,
  .product-hero__main.image-square,
  .product-hero__main:not(.image-landscape):not(.image-portrait):not(.image-square) {
    max-height: min(68svh, 640px);
  }

  .product-hero__thumb {
    flex: 0 0 auto;
    width: 3.75rem;
    height: 3.75rem;
  }

  .product-hero__desc,
  .product-hero__lead {
    font-size: clamp(0.9375rem, 4vw, 1rem);
  }

  /* CTA в один ряд: [В корзину] [Оплатить] [♡] */
  .product-hero__actions .btn {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    min-height: 2.75rem;
    padding: 0.5rem 0.625rem;
    font-size: clamp(0.75rem, 3.2vw, 0.8125rem);
    letter-spacing: 0.05em;
    white-space: nowrap;
  }

  .product-hero__actions .favorite-btn--product {
    flex: 0 0 2.75rem;
    width: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    height: 2.75rem;
    align-self: auto;
    border-radius: 12px;
  }

  .product-hero__actions .favorite-btn--product .favorite-btn__svg {
    width: 1.125rem;
    height: 1.125rem;
  }

  .product-variant-card {
    padding: 1.05rem 1rem 1.1rem;
    min-height: 4.5rem;
  }

  .product-variant-card__title {
    font-size: 1rem;
  }

  .product-variant-card__price {
    font-size: 0.9375rem;
  }

  .cart-line {
    grid-template-columns: 5.5rem minmax(0, 1fr);
  }

  .cart-line__actions {
    grid-column: 1 / -1;
  }

  .product-delivery__link {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
  }

  .product-inquiry {
    padding-inline: var(--layout-gutter-x);
  }

  .product-inquiry__field input,
  .product-inquiry__field textarea {
    font-size: 1rem;
    min-height: 2.75rem;
  }

  .form-consent {
    font-size: 0.8125rem;
    gap: 0.55rem;
  }

  .form-consent__input {
    width: 1.25rem;
    height: 1.25rem;
  }

  .product-lightbox__dialog {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .product-inquiry__form {
    grid-template-columns: 1fr;
  }
}

/* Reviews — mobile peek-лента + подсказки (только ≤1023px) */
@media (max-width: 1023px) {
  .brand-story .reviews__nav {
    display: none;
  }

  .brand-story .reviews__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
  }

  .brand-story .reviews__peek-arrow {
    display: inline;
    flex-shrink: 0;
    margin-top: 0.15rem;
    font-family: var(--font-body);
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1;
    color: rgba(244, 239, 230, 0.48);
    pointer-events: none;
    user-select: none;
    transition:
      opacity 0.45s ease,
      visibility 0.45s ease;
  }

  .brand-story .reviews__peek-arrow[hidden] {
    display: none;
  }

  .brand-story .reviews__carousel.is-scroll-hint-dismissed .reviews__peek-arrow {
    opacity: 0;
    visibility: hidden;
  }

  .brand-story .reviews__carousel {
    --reviews-visible: 1;
    overflow-x: clip;
    max-width: 100%;
  }

  .brand-story .reviews__viewport {
    --reviews-slide-size: min(86%, calc(100% - 2.75rem));
    touch-action: pan-y pinch-zoom;
  }

  .brand-story .reviews__scroll-hint {
    text-align: center;
    margin: 0.875rem 0 0.125rem;
    padding-inline: var(--layout-gutter-x);
    font-family: var(--font-body);
    font-size: 0.6875rem;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0.045em;
    color: var(--color-ink-muted);
    opacity: 0.62;
    pointer-events: none;
    flex-shrink: 0;
    transition:
      opacity 0.45s ease,
      visibility 0.45s ease;
  }

  .brand-story .reviews__scroll-hint[hidden] {
    display: none;
  }

  .brand-story .reviews__carousel.is-scroll-hint-dismissed .reviews__scroll-hint {
    opacity: 0;
    visibility: hidden;
  }

  @media (prefers-reduced-motion: reduce) {
    .brand-story .reviews__scroll-hint {
      transition: none;
    }
  }
}

/* ─── Подборка для комнаты — мобильная версия ─── */
@media (max-width: 767px) {
  body[data-curation-template="room_collection"] .curation-article {
    padding-inline: var(--layout-gutter-x);
  }

  .curation-room-mvp__stream {
    gap: clamp(4rem, 12vw, 5rem);
  }

  .curation-room-mvp__split {
    gap: clamp(2.5rem, 8vw, 3rem);
  }

  .curation-room-mvp__palette {
    gap: clamp(2.5rem, 8vw, 3.5rem);
    padding-block: clamp(3.5rem, 10vw, 4.5rem);
  }

  .curation-room-mvp__palette-media {
    order: -1;
  }

  .curation-room-mvp__conclusion {
    padding-top: clamp(3.5rem, 10vw, 4.5rem);
    gap: clamp(2.5rem, 8vw, 3.5rem);
  }

  .curation-room-mvp__picks {
    margin-top: clamp(4rem, 12vw, 5rem);
  }

  .curation-room-mvp__hero,
  .curation-room-mvp__split,
  .curation-room-mvp__split--main {
    grid-template-columns: 1fr;
  }

  .curation-room-mvp__conclusion .curation-room-mvp__media--conclusion {
    max-width: min(34rem, 100%);
    margin-inline: auto;
  }

  .curation-room-mvp__media--conclusion img {
    max-height: min(52vh, 440px);
  }

  .curation-room-mvp__hero .curation-room-mvp__media,
  .curation-room-mvp__split .curation-room-mvp__media {
    order: -1;
  }

  .curation-room-mvp__split--main .curation-room-mvp__media,
  .curation-room-mvp__split--main .curation-room-mvp__gallery-shell {
    order: -1;
  }

  .curation-room-mvp__media img,
  .curation-room-mvp__hero .curation-room-mvp__media img,
  .curation-room-mvp__split .curation-room-mvp__media img {
    max-height: min(58vh, 480px);
  }

  .curation-room-mvp__picks-shell {
    grid-template-columns: 1fr;
  }

  .curation-room-mvp__picks-nav {
    display: none;
  }

  .curation-room-mvp__gallery-shell {
    grid-template-columns: 1fr;
  }

  .curation-room-mvp__gallery-nav {
    display: none;
  }

  body[data-curation-template="one_item_scenarios"] .curation-article {
    padding-inline: var(--layout-gutter-x);
  }

  .curation-scenario-mvp__stream {
    gap: clamp(4rem, 12vw, 5rem);
  }

  .curation-scenario-mvp__hero,
  .curation-scenario-mvp__split {
    grid-template-columns: 1fr;
  }

  .curation-scenario-mvp__hero .curation-scenario-mvp__media--hero,
  .curation-scenario-mvp__split .curation-scenario-mvp__media--scenario {
    order: -1;
  }

  .curation-scenario-mvp__split {
    gap: clamp(2.5rem, 8vw, 3rem);
  }

  .curation-scenario-mvp__conclusion,
  .curation-scenario-mvp__product {
    padding-top: clamp(3.5rem, 10vw, 4.5rem);
  }

  body[data-curation-template="designer_advice"] .curation-article {
    padding-inline: var(--layout-gutter-x);
  }

  .curation-advice-mvp__stream {
    gap: clamp(4rem, 12vw, 5rem);
  }

  .curation-advice-mvp__picks {
    margin-top: clamp(4rem, 12vw, 5rem);
  }

  .curation-advice-mvp__picks-shell {
    grid-template-columns: 1fr;
  }

  .curation-advice-mvp__picks-nav {
    display: none;
  }

  .curation-advice-mvp__tip-row {
    grid-template-columns: 1fr;
  }

  .curation-advice-mvp__tip-row--copy-right .curation-advice-mvp__tip-copy,
  .curation-advice-mvp__tip-row--copy-right .curation-advice-mvp__tip-photos {
    order: initial;
  }

  .curation-advice-mvp__tip-photos--count-2,
  .curation-advice-mvp__tip-photos--count-3,
  .curation-advice-mvp__tip-photos--count-many {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .curation-advice-mvp__tip-photos--count-3 .curation-advice-mvp__photo-cell:first-child,
  .curation-advice-mvp__tip-photos--count-many .curation-advice-mvp__photo-cell:first-child {
    grid-row: auto;
    grid-column: auto;
    max-width: none;
  }

  .curation-advice-mvp__tip-photos--count-many {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 0.85rem;
    padding-bottom: 0.25rem;
  }

  .curation-advice-mvp__tip-photos--count-many .curation-advice-mvp__photo-cell {
    flex: 0 0 min(88vw, 420px);
    scroll-snap-align: center;
  }
}

/* Cookie consent — mobile */
@media (max-width: 640px) {
  .cookie-consent__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem;
    padding: 0.9rem 1rem;
  }

  .cookie-consent__text {
    font-size: 0.8125rem;
  }

  .cookie-consent__actions {
    justify-content: space-between;
    width: 100%;
  }

  .cookie-consent__accept {
    flex: 1;
    max-width: 10rem;
  }

  body.has-cookie-consent {
    padding-bottom: calc(7.5rem + env(safe-area-inset-bottom, 0px));
  }
}
