/* DEV1-MOB-CATMOB-V3-ALIBABA (2026-07-02): категории моб, Alibaba-стиль. ТОЛЬКО ≤760. Системные шрифты, БЕЗ backdrop-filter.
   Слева непрерывная лента (заголовки миров + ветки текстом), справа полки-круги 2 колонки. Фиксация/ширина/лок — из V2. */
.catmob{position:fixed;top:0;left:0;right:0;height:100vh;height:100dvh;width:100%;z-index:9500;background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.32,.72,0,1);visibility:hidden;pointer-events:none}
.catmob.on{transform:translateX(0);visibility:visible;pointer-events:auto}
.catmob *{box-sizing:border-box}
.catmob,.catmob *:not(svg):not(svg *):not(path){font-family:-apple-system,"Roboto",system-ui,"Segoe UI",sans-serif !important}

/* шапка */
.catmob__hdr{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 14px 8px}
.catmob__ttl{font-size:19px;font-weight:500;color:#15141a}
.catmob__x{width:34px;height:34px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:0;background:#f4f4f6;border-radius:10px;color:#1c1a22;padding:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.catmob__x:active{background:#e8e8ec}
.catmob__x svg{width:18px;height:18px}

/* поиск */
.catmob__search{flex:0 0 auto;display:flex;align-items:center;gap:6px;margin:2px 14px 10px;background:#f4f4f6;border-radius:12px;padding:0 12px}
.catmob__qic{width:18px;height:18px;flex:0 0 auto;color:#8a8690}
.catmob__qinp{flex:1 1 auto;min-width:0;border:0;background:none;outline:0;font-size:16px;color:#15141a;padding:11px 4px;-webkit-appearance:none}
.catmob__qinp::placeholder{color:#9a969f}
.catmob__qinp::-webkit-search-cancel-button,.catmob__qinp::-webkit-search-decoration{display:none;-webkit-appearance:none}
.catmob__qx{width:24px;height:24px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:0;background:#dcdce1;border-radius:50%;color:#54505a;padding:0;-webkit-tap-highlight-color:transparent}
.catmob__qx svg{width:12px;height:12px}

/* тело: лента | полки */
.catmob__body{flex:1 1 auto;min-height:0;display:flex}

/* СЛЕВА: непрерывная лента — заголовки миров + ветки (только текст) */
.catmob__rail{flex:0 0 40%;max-width:40%;min-width:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fafafb;border-right:1px solid #eceaef;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.catmob__wh{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a8a4b0;padding:18px 12px 6px}
.catmob__wh:first-child{padding-top:10px}
/* DEV1-MOB-CATMOB-V3-POLISH: перенос ТОЛЬКО по словам (normal+manual) — iPhone WebKit больше не рвёт посреди слова; одиночные длинные слова ломаются по ручному ­ (shyName). Воздух строк +25% (10→13px). */
.catmob__br{display:block;width:100%;border:0;background:none;text-align:left;font-size:13px;line-height:1.28;color:#33313a;padding:13px 12px;border-left:3px solid transparent;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal;word-break:normal;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.catmob__br.on{color:#e87b00;font-weight:600;background:#fff;border-left-color:#e87b00}

/* СПРАВА: полки Alibaba */
.catmob__shelf{flex:1 1 auto;min-width:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 12px calc(16px + env(safe-area-inset-bottom))}
/* «Все товары раздела» первой карточкой */
.catmob__all{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff7ef;border:1.5px solid #e87b00;border-radius:12px;text-decoration:none;margin:0 0 14px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.catmob__all:active{background:#ffefd9}
.catmob__allmid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.catmob__allt{font-size:13px;font-weight:600;line-height:1.15;color:#a35f00}
.catmob__allc{font-size:10.5px;font-weight:500;color:#bd7a34;font-variant-numeric:tabular-nums}
.catmob__all svg{width:18px;height:18px;flex:0 0 auto;color:#e87b00}
/* сетка кругов 2 колонки */
.catmob__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 8px;align-items:start}
.catmob__cell{display:flex;flex-direction:column;align-items:center;gap:8px;padding:2px 2px;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.catmob__circle{width:62px;height:62px;flex:0 0 auto;border-radius:50%;background:#f6f6f8;display:flex;align-items:center;justify-content:center;color:#e87b00}
.catmob__cell:active .catmob__circle{background:#efeef2}
.catmob__circle svg{width:26px;height:26px;display:block}
.catmob__cnm{font-size:12px;line-height:1.22;color:#33313a;text-align:center;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}

/* результаты поиска (как V2) */
.catmob__results{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:2px 12px calc(16px + env(safe-area-inset-bottom))}
.catmob__res{display:flex;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid #f2f1f4;text-decoration:none;-webkit-tap-highlight-color:transparent}
.catmob__res:active{background:#faf9fb}
.catmob__resic{flex:0 0 auto;color:#e87b00;display:flex}.catmob__resic svg{width:18px;height:18px;display:block}
.catmob__resmid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.catmob__resnm{font-size:13px;color:#1c1a22;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catmob__respath{font-size:11px;color:#a29eaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catmob__resc{flex:0 0 auto;font-size:11px;color:#a29eaa;font-variant-numeric:tabular-nums}
.catmob__empty{padding:36px 16px 24px;text-align:center}
.catmob__emptyt{font-size:14px;color:#6a6670;margin-bottom:16px}
.catmob__emptyb{display:inline-block;font-size:13.5px;font-weight:600;color:#c96f04;text-decoration:none;background:#fff7ef;border:1.5px solid #e87b00;border-radius:12px;padding:10px 16px;-webkit-tap-highlight-color:transparent}

@media(prefers-reduced-motion:reduce){.catmob{transition:none}}
@media(min-width:761px){.catmob{display:none !important}}
