/* ═══════════════════════════════════════════════════════════════════
   CityBoard Mobile 2026 — native-first mobile design system
   Breakpoint: phones only (≤767px). Desktop untouched.
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 767px) {

  /* ── Design tokens ─────────────────────────────────────────────── */
  :root {
    --cb-m-font: Inter, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
    --cb-m-bg: #f2f2f7;
    --cb-m-surface: #ffffff;
    --cb-m-surface-elevated: #ffffff;
    --cb-m-text: #0a0a0a;
    --cb-m-text-secondary: #3c3c43;
    --cb-m-muted: rgba(60, 60, 67, 0.6);
    --cb-m-line: rgba(60, 60, 67, 0.12);
    --cb-m-accent: #007aff;
    --cb-m-accent-soft: rgba(0, 122, 255, 0.1);
    --cb-m-danger: #ff3b30;
    --cb-m-success: #34c759;
    --cb-m-radius: 20px;
    --cb-m-radius-sm: 14px;
    --cb-m-radius-xs: 10px;
    --cb-m-gap: 20px;
    --cb-m-gap-sm: 16px;
    --cb-m-pad: 20px;
    --cb-m-pad-sm: 16px;
    --cb-m-touch: 44px;
    --cb-m-header-h: 52px;
    --cb-m-tabbar-h: 56px;
    --cb-m-fab-size: 56px;
    --cb-m-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
    --cb-m-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
    --cb-m-transition: 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    --cb-m-h1: clamp(30px, 8vw, 34px);
    --cb-m-h2: clamp(24px, 6vw, 28px);
    --cb-m-h3: clamp(18px, 4.5vw, 20px);
    --cb-m-text-size: 17px;
    --cb-m-caption: 13px;
    --cb-m-safe-bottom: env(safe-area-inset-bottom, 0px);
    --cb-m-safe-top: env(safe-area-inset-top, 0px);
  }

  /* ── Base reset ────────────────────────────────────────────────── */
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  html,
  body {
    overflow-x: clip;
    font-family: var(--cb-m-font);
    background: var(--cb-m-bg);
    color: var(--cb-m-text);
  }

  .cb-page {
    overflow-x: clip;
    max-width: 100%;
    min-height: 100dvh;
    padding-top: calc(var(--cb-m-header-h) + var(--cb-m-safe-top)) !important;
    padding-bottom: calc(var(--cb-m-tabbar-h) + var(--cb-m-safe-bottom) + 8px);
  }

  .cb-page.cb-page--no-tabbar {
    padding-bottom: calc(var(--cb-m-safe-bottom) + 8px);
  }

  /* Hide desktop header — use native mobile header */
  .cb-top {
    display: none !important;
  }

  /* ── Mobile fixed header ──────────────────────────────────────── */
  .cb-m-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1200;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 0.5px solid var(--cb-m-line);
    padding-top: var(--cb-m-safe-top);
  }

  .cb-m-header__inner {
    display: grid;
    grid-template-columns: var(--cb-m-touch) 1fr auto;
    align-items: center;
    min-height: var(--cb-m-header-h);
    padding: 0 4px;
    gap: 4px;
  }

  .cb-m-header__left,
  .cb-m-header__right {
    display: flex;
    align-items: center;
    gap: 2px;
  }

  .cb-m-header__right {
    justify-content: flex-end;
  }

  .cb-m-header__center {
    min-width: 0;
    text-align: center;
  }

  .cb-m-header__title {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--cb-m-text);
  }

  .cb-m-header__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--cb-m-touch);
    height: var(--cb-m-touch);
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--cb-m-accent);
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: background var(--cb-m-transition);
  }

  .cb-m-header__btn svg {
    width: 22px;
    height: 22px;
  }

  .cb-m-header__btn:active {
    background: var(--cb-m-accent-soft);
  }

  .cb-m-header__spacer {
    width: var(--cb-m-touch);
    height: var(--cb-m-touch);
  }

  /* ── Bottom tab bar ────────────────────────────────────────────── */
  .cb-m-tabbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1100;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-top: 0.5px solid var(--cb-m-line);
    padding-bottom: var(--cb-m-safe-bottom);
  }

  .cb-m-tabbar__inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-around;
    min-height: var(--cb-m-tabbar-h);
    padding: 0 8px;
    position: relative;
  }

  .cb-m-tabbar__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-height: var(--cb-m-tabbar-h);
    padding: 6px 4px;
    text-decoration: none;
    color: var(--cb-m-muted);
    -webkit-tap-highlight-color: transparent;
    transition: color var(--cb-m-transition);
  }

  .cb-m-tabbar__item.is-active {
    color: var(--cb-m-accent);
  }

  .cb-m-tabbar__label {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.1;
  }

  .cb-m-tabbar__icon {
    width: 24px;
    height: 24px;
    background: currentColor;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }

  .cb-m-tabbar__icon--home {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 9.5L12 3l9 6.5V20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.5z'/%3E%3Cpath d='M9 21V12h6v9'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 9.5L12 3l9 6.5V20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.5z'/%3E%3Cpath d='M9 21V12h6v9'/%3E%3C/svg%3E");
  }

  .cb-m-tabbar__icon--catalog {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E");
  }

  .cb-m-tabbar__icon--messages {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
  }

  .cb-m-tabbar__icon--profile {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E");
  }

  .cb-m-tabbar__fab {
    position: relative;
    top: -14px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--cb-m-fab-size);
    height: var(--cb-m-fab-size);
    border-radius: 50%;
    background: var(--cb-m-accent);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(0, 122, 255, 0.45);
    flex-shrink: 0;
    margin: 0 4px;
    -webkit-tap-highlight-color: transparent;
    transition: transform var(--cb-m-transition), box-shadow var(--cb-m-transition);
  }

  .cb-m-tabbar__fab svg {
    width: 26px;
    height: 26px;
  }

  .cb-m-tabbar__fab:active {
    transform: scale(0.94);
  }

  /* ── Typography ────────────────────────────────────────────────── */
  h1, .cb-m-h1 {
    font-size: var(--cb-m-h1);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
  }

  h2, .cb-m-h2 {
    font-size: var(--cb-m-h2);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
  }

  h3, .cb-m-h3 {
    font-size: var(--cb-m-h3);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.25;
  }

  p, .cb-m-text {
    font-size: var(--cb-m-text-size);
    line-height: 1.45;
  }

  .cb-m-caption,
  small,
  .cb-muted {
    font-size: var(--cb-m-caption);
    color: var(--cb-m-muted);
  }

  /* ── Main content area ─────────────────────────────────────────── */
  .cb-wrap,
  .cb-wrap--wide,
  .cb-main {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-left: var(--cb-m-pad-sm) !important;
    padding-right: var(--cb-m-pad-sm) !important;
    box-sizing: border-box !important;
    overflow-x: clip;
  }

  .cb-main {
    padding-top: var(--cb-m-gap-sm) !important;
    padding-bottom: var(--cb-m-gap) !important;
  }

  .cb-main.cb-main--home {
    padding: 0 !important;
  }

  .cb-main.cb-main--cabinet {
    padding: 0 !important;
  }

  /* ── Cards ─────────────────────────────────────────────────────── */
  .cb-card,
  .cb-m-card {
    background: var(--cb-m-surface);
    border-radius: var(--cb-m-radius);
    border: none;
    box-shadow: var(--cb-m-shadow);
    padding: var(--cb-m-pad);
    margin-bottom: var(--cb-m-gap-sm);
  }

  .cb-m-card--flat {
    box-shadow: none;
    border: 0.5px solid var(--cb-m-line);
  }

  /* ── Buttons ───────────────────────────────────────────────────── */
  .cb-btn,
  button[type="submit"]:not(.cb-m-header__btn):not(.cb-m-tabbar__item) {
    min-height: var(--cb-m-touch) !important;
    padding: 0 20px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    border-radius: var(--cb-m-radius-sm) !important;
    -webkit-tap-highlight-color: transparent;
  }

  .cb-btn--sm {
    min-height: var(--cb-m-touch) !important;
    font-size: 16px !important;
    padding: 0 16px !important;
  }

  .cb-btn--block,
  .cb-btn--full {
    width: 100% !important;
    justify-content: center !important;
  }

  /* ── Form fields ───────────────────────────────────────────────── */
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,
  textarea,
  .cb-input,
  .cb-select {
    min-height: var(--cb-m-touch) !important;
    font-size: 17px !important;
    border-radius: var(--cb-m-radius-sm) !important;
    padding: 12px 16px !important;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }

  label {
    font-size: var(--cb-m-caption);
    font-weight: 500;
    color: var(--cb-m-text-secondary);
  }

  /* ── Accordion ─────────────────────────────────────────────────── */
  .cb-m-accordion,
  details.cb-m-details {
    background: var(--cb-m-surface);
    border-radius: var(--cb-m-radius);
    box-shadow: var(--cb-m-shadow);
    overflow: hidden;
    margin-bottom: var(--cb-m-gap-sm);
  }

  .cb-m-accordion__trigger,
  details.cb-m-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: var(--cb-m-touch);
    padding: 16px var(--cb-m-pad);
    font-size: var(--cb-m-h3);
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    -webkit-tap-highlight-color: transparent;
  }

  details.cb-m-details > summary::-webkit-details-marker {
    display: none;
  }

  .cb-m-accordion__body,
  details.cb-m-details > .cb-m-accordion__body {
    padding: 0 var(--cb-m-pad) var(--cb-m-pad);
    font-size: var(--cb-m-text-size);
    line-height: 1.45;
  }

  /* ── Bottom sheet ──────────────────────────────────────────────── */
  .cb-m-sheet-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity var(--cb-m-transition);
  }

  .cb-m-sheet-backdrop.is-open {
    opacity: 1;
  }

  .cb-m-sheet,
  .cb-modal:not([hidden]),
  .cb-listings-geo-modal__dialog,
  [role="dialog"].cb-m-sheet {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    max-height: 92dvh !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: var(--cb-m-radius) var(--cb-m-radius) 0 0 !important;
    padding: 12px var(--cb-m-pad) calc(var(--cb-m-pad) + var(--cb-m-safe-bottom)) !important;
    background: var(--cb-m-surface) !important;
    box-shadow: var(--cb-m-shadow-lg) !important;
    transform: translateY(100%);
    transition: transform var(--cb-m-transition);
    z-index: 2100 !important;
    overflow-y: auto;
    box-sizing: border-box;
  }

  .cb-m-sheet.is-open,
  .cb-modal.is-open .cb-modal__dialog,
  .cb-listings-geo-modal.is-open .cb-listings-geo-modal__dialog {
    transform: translateY(0) !important;
  }

  .cb-m-sheet__handle {
    width: 36px;
    height: 5px;
    border-radius: 3px;
    background: var(--cb-m-line);
    margin: 0 auto 16px;
  }

  /* ── Sticky bottom actions ─────────────────────────────────────── */
  .cb-m-sticky-actions,
  .real-estate-show-mobile-bar,
  .cb-listing-mobile-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: calc(var(--cb-m-tabbar-h) + var(--cb-m-safe-bottom));
    z-index: 1050;
    display: flex;
    gap: var(--cb-m-gap-sm);
    padding: 12px var(--cb-m-pad-sm);
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: saturate(180%) blur(20px);
    border-top: 0.5px solid var(--cb-m-line);
    box-sizing: border-box;
  }

  .cb-page.cb-page--no-tabbar .cb-m-sticky-actions,
  .cb-page.cb-page--no-tabbar .real-estate-show-mobile-bar {
    bottom: var(--cb-m-safe-bottom);
  }

  /* ── Tables → cards ────────────────────────────────────────────── */
  table,
  .cb-table,
  .cb-admin-table {
    display: block !important;
    width: 100% !important;
    overflow-x: visible !important;
  }

  thead {
    display: none !important;
  }

  tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
  }

  tr {
    display: flex !important;
    flex-direction: column !important;
    background: var(--cb-m-surface) !important;
    border-radius: var(--cb-m-radius) !important;
    padding: var(--cb-m-pad) !important;
    box-shadow: var(--cb-m-shadow) !important;
    gap: 8px !important;
    border: none !important;
  }

  td,
  th {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border: none !important;
    text-align: left !important;
    font-size: var(--cb-m-text-size) !important;
  }

  td::before {
    content: attr(data-label);
    display: block;
    font-size: var(--cb-m-caption);
    color: var(--cb-m-muted);
    font-weight: 500;
    margin-bottom: 2px;
  }

  /* ── Footer — minimal ──────────────────────────────────────────── */
  .cb-site-footer {
    background: transparent;
    border: none;
    padding: var(--cb-m-gap) var(--cb-m-pad-sm) calc(var(--cb-m-tabbar-h) + var(--cb-m-gap) + var(--cb-m-safe-bottom));
  }

  .cb-site-footer__inner {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap) !important;
  }

  .cb-site-footer__col {
    background: var(--cb-m-surface);
    border-radius: var(--cb-m-radius);
    padding: var(--cb-m-pad);
    box-shadow: var(--cb-m-shadow);
  }

  .cb-site-footer__col ul {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .cb-site-footer__col a,
  .cb-site-footer__col button {
    min-height: var(--cb-m-touch);
    display: flex;
    align-items: center;
    font-size: var(--cb-m-text-size);
  }

  .cb-site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    font-size: var(--cb-m-caption);
    color: var(--cb-m-muted);
  }

  .cb-site-footer__legal {
    flex-wrap: wrap;
    gap: 12px;
  }

  /* ══════════════════════════════════════════════════════════════════
     CATALOG SHELL — single column native app
     ══════════════════════════════════════════════════════════════════ */
  .cb-catalog-app {
    display: block !important;
    grid-template-columns: none !important;
  }

  .cb-catalog-sidebar {
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(88vw, 320px) !important;
    z-index: 1500;
    transform: translateX(-105%);
    transition: transform var(--cb-m-transition);
    border-radius: 0 var(--cb-m-radius) var(--cb-m-radius) 0;
    box-shadow: var(--cb-m-shadow-lg);
    min-height: 100dvh !important;
    padding-top: calc(var(--cb-m-safe-top) + 8px);
  }

  .cb-catalog-app.is-sidebar-open .cb-catalog-sidebar,
  .cb-page--catalog-shell.is-sidebar-open .cb-catalog-sidebar {
    transform: translateX(0);
  }

  .cb-catalog-app__main {
    display: block !important;
    min-width: 0;
  }

  .cb-page--catalog-shell .cb-main.cb-main--catalog {
    padding: var(--cb-m-gap-sm) !important;
  }

  /* Catalog filters drawer → bottom sheet style */
  .cb-catalog-filter-panel,
  .cb-listings-filter-drawer {
    position: fixed !important;
    inset: auto 0 0 0 !important;
    top: auto !important;
    max-height: 88dvh !important;
    width: 100% !important;
    border-radius: var(--cb-m-radius) var(--cb-m-radius) 0 0 !important;
    transform: translateY(100%);
    transition: transform var(--cb-m-transition);
    z-index: 1600 !important;
    padding-bottom: calc(var(--cb-m-pad) + var(--cb-m-safe-bottom)) !important;
  }

  .cb-catalog-app.is-filter-open .cb-catalog-filter-panel,
  .cb-page--catalog-shell.is-filter-open .cb-catalog-filter-panel {
    transform: translateY(0);
  }

  /* Listing cards — full-width single column */
  .cb-listing-items,
  .cb-listing-grid,
  .cb-offers,
  .cb-catalog-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
    grid-template-columns: none !important;
  }

  .cb-listing-card,
  .cb-offer-wrap,
  .cb-offer {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: var(--cb-m-radius) !important;
    overflow: hidden;
    box-shadow: var(--cb-m-shadow) !important;
    background: var(--cb-m-surface) !important;
  }

  .cb-listing-items:not(.is-grid) .cb-listing-card,
  .cb-page--catalog-shell .cb-listing-items:not(.is-grid) .cb-listing-card {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
  }

  .cb-listing-card__photo,
  .cb-offer__photo {
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    height: auto !important;
    max-height: none !important;
  }

  .cb-listing-card__photo img,
  .cb-offer__photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .cb-listing-card__body,
  .cb-offer__body {
    padding: var(--cb-m-pad-sm) !important;
  }

  .cb-listing-card__title,
  .cb-offer__body h3 {
    font-size: var(--cb-m-h3) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
  }

  .cb-listing-card__price,
  .cb-offer__body strong {
    font-size: var(--cb-m-h2) !important;
    font-weight: 700 !important;
  }

  .cb-listing-card__side {
    padding: 0 var(--cb-m-pad-sm) var(--cb-m-pad-sm) !important;
    border-top: 0.5px solid var(--cb-m-line);
  }

  /* Search & toolbar */
  .cb-listings-search-bar,
  .cb-catalog-search {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
    background: var(--cb-m-surface);
    border-radius: var(--cb-m-radius);
    padding: var(--cb-m-pad-sm);
    box-shadow: var(--cb-m-shadow);
    margin-bottom: var(--cb-m-gap-sm);
  }

  .cb-listings-catalog-toolbar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .cb-listings-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  .cb-listings-chips .cb-chip,
  .cb-filter-chip {
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    font-size: var(--cb-m-caption);
    font-weight: 500;
  }

  .cb-catalog-stat-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
  }

  .cb-catalog-stat-card {
    border-radius: var(--cb-m-radius) !important;
    min-height: 80px !important;
    padding: var(--cb-m-pad-sm) !important;
  }

  /* ══════════════════════════════════════════════════════════════════
     HOME PAGE — content-first native composition
     ══════════════════════════════════════════════════════════════════ */
  .cb-home {
    display: flex;
    flex-direction: column;
    gap: var(--cb-m-gap);
    padding: var(--cb-m-gap-sm);
    padding-bottom: var(--cb-m-gap);
  }

  .cb-home-hero {
    border-radius: var(--cb-m-radius) !important;
    padding: var(--cb-m-pad) !important;
    min-height: 0 !important;
    overflow: hidden;
  }

  .cb-home-hero__title {
    font-size: var(--cb-m-h1) !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.12 !important;
  }

  .cb-home-hero__lead {
    font-size: var(--cb-m-text-size) !important;
    line-height: 1.45 !important;
    opacity: 0.85;
  }

  .cb-home-hero__eyebrow {
    font-size: var(--cb-m-caption) !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
  }

  .cb-home-hero__content {
    gap: var(--cb-m-gap) !important;
  }

  .cb-home-hero__search-bar {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
  }

  .cb-home-hero__search-btn {
    width: 100% !important;
    min-height: var(--cb-m-touch) !important;
    border-radius: var(--cb-m-radius-sm) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
  }

  .cb-home-hero__geo-tabs,
  .cb-home-hero__scenarios {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
  }

  .cb-home-hero__geo-tab,
  .cb-home-hero__scenario {
    width: 100% !important;
    min-height: var(--cb-m-touch) !important;
    justify-content: flex-start !important;
    padding: 0 var(--cb-m-pad-sm) !important;
    border-radius: var(--cb-m-radius-sm) !important;
    font-size: var(--cb-m-text-size) !important;
    text-align: left !important;
  }

  .cb-home-section {
    display: flex;
    flex-direction: column;
    gap: var(--cb-m-gap-sm);
  }

  .cb-home-section-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding: 0 4px;
  }

  .cb-home-section-head h2 {
    font-size: var(--cb-m-h2) !important;
  }

  .cb-home-trending--cards {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
  }

  .cb-home-trending__card {
    width: 100% !important;
    border-radius: var(--cb-m-radius) !important;
    padding: var(--cb-m-pad-sm) !important;
    min-height: var(--cb-m-touch) !important;
    box-shadow: var(--cb-m-shadow);
    background: var(--cb-m-surface);
  }

  .cb-home-categories {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
    grid-template-columns: none !important;
  }

  .cb-home-category {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: var(--cb-m-pad-sm) !important;
    min-height: 72px !important;
    padding: var(--cb-m-pad-sm) !important;
    border-radius: var(--cb-m-radius) !important;
    background: var(--cb-m-surface);
    box-shadow: var(--cb-m-shadow);
    text-align: left !important;
  }

  .cb-home-category__icon {
    flex-shrink: 0;
    width: 48px !important;
    height: 48px !important;
  }

  .cb-home-category__title {
    font-size: var(--cb-m-h3) !important;
  }

  .cb-home-category__subs {
    font-size: var(--cb-m-caption) !important;
    color: var(--cb-m-muted);
  }

  /* Fresh listings on home */
  .cb-home-listings {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
  }

  /* ══════════════════════════════════════════════════════════════════
     DETAIL PAGES — listing, shop, master, real estate
     ══════════════════════════════════════════════════════════════════ */
  .cb-listing-page,
  .cb-owner-listing,
  .real-estate-show-container,
  .cb-master-show,
  .cb-shop-show {
    padding: 0 !important;
    max-width: 100% !important;
  }

  .cb-listing-page__grid,
  .real-estate-show-grid,
  .cb-owner-listing__grid,
  .cb-master-show__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
    grid-template-columns: none !important;
  }

  .cb-listing-page__gallery,
  .real-estate-show-gallery,
  .cb-owner-listing__gallery {
    border-radius: 0 !important;
    margin: 0 calc(-1 * var(--cb-m-pad-sm));
    width: calc(100% + 2 * var(--cb-m-pad-sm));
  }

  .real-estate-show-section,
  .cb-owner-listing__section,
  .cb-listing-page__section {
    border-radius: var(--cb-m-radius) !important;
    padding: var(--cb-m-pad) !important;
    margin-bottom: var(--cb-m-gap-sm) !important;
    background: var(--cb-m-surface);
    box-shadow: var(--cb-m-shadow);
  }

  .real-estate-show-section h2,
  .cb-owner-listing__section h2 {
    font-size: var(--cb-m-h2) !important;
    margin-bottom: 12px;
  }

  .real-estate-show__top h1,
  .cb-owner-listing__title {
    font-size: var(--cb-m-h1) !important;
  }

  .real-estate-show-mobile-bar {
    bottom: calc(var(--cb-m-tabbar-h) + var(--cb-m-safe-bottom)) !important;
  }

  .real-estate-show-mobile-bar .cb-btn {
    min-height: var(--cb-m-touch) !important;
    flex: 1;
    justify-content: center;
  }

  /* Comparison — card stack, no horizontal scroll */
  .cb-comparison__scroll {
    overflow-x: visible !important;
  }

  .cb-comparison__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
    min-width: 0 !important;
    grid-template-columns: none !important;
  }

  .cb-comparison__grid > * {
    background: var(--cb-m-surface);
    border-radius: var(--cb-m-radius);
    padding: var(--cb-m-pad);
    box-shadow: var(--cb-m-shadow);
  }

  /* Demand cards */
  .cb-demand-card {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
    padding: var(--cb-m-pad) !important;
    border-radius: var(--cb-m-radius) !important;
    background: var(--cb-m-surface);
    box-shadow: var(--cb-m-shadow);
  }

  .cb-demand-card__icon {
    display: none !important;
  }

  .cb-demand-card__respond {
    width: 100% !important;
    min-height: var(--cb-m-touch) !important;
    justify-content: center !important;
  }

  /* Master / shop cards */
  .cb-master-card,
  .cb-shop-card,
  .real-estate-list-card,
  .cb-product-card {
    width: 100% !important;
    border-radius: var(--cb-m-radius) !important;
    box-shadow: var(--cb-m-shadow) !important;
    margin-bottom: var(--cb-m-gap-sm);
  }

  /* ══════════════════════════════════════════════════════════════════
     AUTH PAGES
     ══════════════════════════════════════════════════════════════════ */
  .cb-auth-login,
  .cb-auth-register {
    min-height: calc(100dvh - var(--cb-m-header-h) - var(--cb-m-tabbar-h));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--cb-m-pad);
  }

  .cb-auth-login__card,
  .cb-auth-register__card {
    width: 100%;
    border-radius: var(--cb-m-radius) !important;
    padding: var(--cb-m-pad) !important;
    box-shadow: var(--cb-m-shadow) !important;
  }

  .cb-auth-login__card h1,
  .cb-auth-register__card h1 {
    font-size: var(--cb-m-h1) !important;
  }

  .cb-auth-login__field input,
  .cb-auth-register__field input {
    min-height: var(--cb-m-touch) !important;
    font-size: 17px !important;
  }

  .cb-auth-login__submit,
  .cb-auth-register__submit {
    width: 100% !important;
    min-height: var(--cb-m-touch) !important;
    border-radius: var(--cb-m-radius-sm) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
  }

  /* ══════════════════════════════════════════════════════════════════
     CABINET — native profile app
     ══════════════════════════════════════════════════════════════════ */
  .cb-ds-app {
    display: block !important;
    grid-template-columns: none !important;
    min-height: auto !important;
  }

  .cb-ds-mobile-nav-toggle {
    display: none !important;
  }

  .cb-ds-sidebar {
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(88vw, 320px) !important;
    z-index: 1500;
    transform: translateX(-105%);
    transition: transform var(--cb-m-transition);
    border-radius: 0 var(--cb-m-radius) var(--cb-m-radius) 0;
    box-shadow: var(--cb-m-shadow-lg);
    min-height: 100dvh !important;
    padding-top: calc(var(--cb-m-safe-top) + 8px);
  }

  html.cb-ds-drawer-open .cb-ds-sidebar {
    transform: translateX(0);
  }

  .cb-ds-main {
    padding: var(--cb-m-gap-sm) !important;
    padding-bottom: calc(var(--cb-m-tabbar-h) + var(--cb-m-gap) + var(--cb-m-safe-bottom)) !important;
  }

  .cb-ds-stat-grid,
  .cb-ds-grid,
  .cb-ds-cards {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
    grid-template-columns: none !important;
  }

  .cb-ds-card,
  .cb-ds-stat-card,
  .cb-ds-form-card {
    border-radius: var(--cb-m-radius) !important;
    padding: var(--cb-m-pad) !important;
    box-shadow: var(--cb-m-shadow) !important;
  }

  .cb-ds-page-head {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: var(--cb-m-gap-sm) !important;
    margin-bottom: var(--cb-m-gap) !important;
  }

  .cb-ds-page-head h1 {
    font-size: var(--cb-m-h1) !important;
  }

  .cb-ds-page-head .cb-btn {
    width: 100%;
    justify-content: center;
  }

  .cb-ds-filter-bar {
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
  }

  .cb-ds-tabs {
    overflow-x: visible !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .cb-ds-tabs a,
  .cb-ds-tabs button {
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    font-size: var(--cb-m-caption);
  }

  /* Messages */
  .cb-messages-layout,
  .cb-messenger-layout {
    display: flex !important;
    flex-direction: column !important;
    height: calc(100dvh - var(--cb-m-header-h) - var(--cb-m-tabbar-h) - var(--cb-m-safe-bottom)) !important;
  }

  .cb-messages-sidebar {
    display: none !important;
  }

  .cb-messages-sidebar.is-mobile-visible {
    display: flex !important;
    position: fixed;
    inset: calc(var(--cb-m-header-h) + var(--cb-m-safe-top)) 0 calc(var(--cb-m-tabbar-h) + var(--cb-m-safe-bottom)) 0;
    z-index: 1000;
    background: var(--cb-m-bg);
  }

  .cb-messages-composer textarea,
  .cb-messenger-composer textarea {
    min-height: var(--cb-m-touch) !important;
    font-size: 17px !important;
    border-radius: var(--cb-m-radius-sm) !important;
  }

  /* ══════════════════════════════════════════════════════════════════
     MAP PAGES
     ══════════════════════════════════════════════════════════════════ */
  .cb-map-page {
    height: calc(100dvh - var(--cb-m-header-h) - var(--cb-m-tabbar-h) - var(--cb-m-safe-bottom)) !important;
  }

  .cb-map-mobile-bar {
    bottom: calc(var(--cb-m-tabbar-h) + var(--cb-m-safe-bottom)) !important;
  }

  /* ══════════════════════════════════════════════════════════════════
     UTILITIES
     ══════════════════════════════════════════════════════════════════ */
  .cb-m-hide-mobile {
    display: none !important;
  }

  .cb-m-stack {
    display: flex;
    flex-direction: column;
    gap: var(--cb-m-gap-sm);
  }

  .cb-m-section {
    margin-bottom: var(--cb-m-gap);
  }

  .cb-flash {
    border-radius: var(--cb-m-radius-sm) !important;
    padding: var(--cb-m-pad-sm) !important;
    font-size: var(--cb-m-text-size) !important;
    margin-bottom: var(--cb-m-gap-sm);
  }

  img, video, iframe {
    max-width: 100%;
    height: auto;
  }

  /* Hide desktop-only elements */
  .cb-nav,
  .cb-nav-more,
  .cb-header-auth,
  .cb-actions__post,
  .cb-user-menu-desktop {
    display: none !important;
  }

  /* Product reviews hub */
  .cb-pr-hub-grid,
  .cb-pr-categories-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
  }

  .cb-pr-card {
    border-radius: var(--cb-m-radius) !important;
    padding: var(--cb-m-pad) !important;
  }

  /* News */
  .cb-news-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
  }

  .cb-news-card {
    border-radius: var(--cb-m-radius) !important;
  }

  /* Forms / wizards */
  .cb-form-wizard,
  .cb-listing-wizard {
    padding: var(--cb-m-pad-sm) !important;
  }

  .cb-form-wizard__steps {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  .cb-form-wizard__grid,
  .cb-listing-wizard__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
  }

  /* Geo modal full-screen sheet */
  .cb-listings-geo-modal {
    padding: 0 !important;
  }

  .cb-listings-geo-modal__dialog {
    max-height: 95dvh !important;
    border-radius: var(--cb-m-radius) var(--cb-m-radius) 0 0 !important;
  }

  .cb-listings-geo-modal__layout {
    grid-template-columns: 1fr !important;
  }

  .cb-listings-geo-modal__nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  .cb-listings-geo-modal__nav-item {
    min-height: var(--cb-m-touch) !important;
    border-radius: var(--cb-m-radius-sm) !important;
    font-size: var(--cb-m-text-size) !important;
  }

  .cb-listings-geo-modal__foot {
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
  }

  .cb-listings-geo-modal__actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .cb-listings-geo-modal__actions .cb-btn {
    width: 100% !important;
  }

  /* Listing show — native product page */
  .cb-product-page.cb-owner-aware-listing {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
    margin: 0 !important;
    padding: 0 var(--cb-m-pad-sm) calc(var(--cb-m-tabbar-h) + 80px + var(--cb-m-safe-bottom)) !important;
    max-width: 100% !important;
  }

  .cb-product-page.cb-owner-aware-listing > section,
  .cb-product-page.cb-owner-aware-listing > aside {
    display: contents !important;
  }

  .cb-owner-aware-listing .cb-listing-gallery {
    order: 1;
    border-radius: var(--cb-m-radius) !important;
    margin: 0 calc(-1 * var(--cb-m-pad-sm));
    width: calc(100% + 2 * var(--cb-m-pad-sm));
  }

  .cb-owner-aware-listing .cb-product-thumbs,
  .cb-owner-aware-listing .cb-listing-thumbs {
    order: 2;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .cb-owner-aware-listing .cb-product-thumbs img,
  .cb-owner-aware-listing .cb-listing-thumbs img {
    width: 100% !important;
    aspect-ratio: 1 !important;
    height: auto !important;
    border-radius: var(--cb-m-radius-xs) !important;
    object-fit: cover !important;
  }

  .cb-owner-aware-listing .cb-listing-side-card,
  .cb-owner-aware-listing .cb-product-info {
    order: 3;
    border-radius: var(--cb-m-radius) !important;
    padding: var(--cb-m-pad) !important;
    box-shadow: var(--cb-m-shadow) !important;
    background: var(--cb-m-surface) !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .cb-owner-aware-listing .cb-product-section,
  .cb-owner-aware-listing .cb-card.cb-product-section {
    order: 4;
    border-radius: var(--cb-m-radius) !important;
    padding: var(--cb-m-pad) !important;
    box-shadow: var(--cb-m-shadow) !important;
    background: var(--cb-m-surface) !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .cb-owner-aware-listing .cb-listing-side-card h1,
  .cb-owner-aware-listing .cb-product-info h1 {
    font-size: var(--cb-m-h1) !important;
  }

  .cb-owner-aware-listing .cb-product-price {
    font-size: var(--cb-m-h2) !important;
    font-weight: 700 !important;
  }

  .cb-owner-aware-listing .cb-attr-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  .cb-owner-aware-listing .cb-attr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    min-height: var(--cb-m-touch) !important;
    padding: 8px 0 !important;
    border-bottom: 0.5px solid var(--cb-m-line) !important;
    font-size: var(--cb-m-text-size) !important;
  }

  .cb-owner-aware-listing .cb-btn,
  .cb-owner-aware-listing .cb-owner-panel .cb-btn {
    width: 100% !important;
    min-height: var(--cb-m-touch) !important;
    justify-content: center !important;
  }

  .cb-owner-aware-listing .cb-owner-panel {
    border-radius: var(--cb-m-radius-sm) !important;
    padding: var(--cb-m-pad-sm) !important;
  }

  .cb-owner-aware-listing .cb-owner-panel__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cb-m-gap-sm) !important;
  }

  .cb-owner-aware-listing .cb-product-section h2 {
    font-size: var(--cb-m-h2) !important;
    margin-bottom: 12px !important;
  }

  /* Catalog filter sidebar → bottom sheet */
  .cb-listings-catalog-sidebar,
  .cb-listing-sidebar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-height: 88dvh !important;
    transform: translateY(105%) !important;
    transition: transform var(--cb-m-transition) !important;
    border-radius: var(--cb-m-radius) var(--cb-m-radius) 0 0 !important;
    box-shadow: var(--cb-m-shadow-lg) !important;
    z-index: 1600 !important;
    padding-bottom: calc(var(--cb-m-pad) + var(--cb-m-safe-bottom)) !important;
    overflow-y: auto !important;
  }

  .cb-listings-catalog-layout.is-filters-open .cb-listings-catalog-sidebar,
  .cb-listing-shell.is-filters-open .cb-listing-sidebar {
    transform: translateY(0) !important;
  }

  .cb-listing-filter-open {
    display: none !important;
  }

  .cb-listings-catalog-layout {
    display: flex !important;
    flex-direction: column !important;
  }

  .cb-listings-catalog-results {
    width: 100% !important;
  }

} /* end @media max-width 767px */

/* ── Desktop: полностью скрыть mobile shell ─────────────────────── */
@media (min-width: 768px) {
  .cb-m-header,
  .cb-m-tabbar,
  .cb-m-sheet-backdrop,
  .cb-m-catalog-bar {
    display: none !important;
  }
}
