/* Главная v2: иконки платформ и обложки игр — наши картинки вместо фоновых assets/icons вёрстки. */
.ps-ico { flex: 0 0 auto; width: 26px; height: 26px; object-fit: contain; }
.ps-game-img { display: block; width: 100%; height: 100%; object-fit: cover; }
html.ps-v2 [data-m="games"][data-kind="game"] [data-m="gimg"] { max-width: 50%; padding-left: 0 !important; }

/* Каталог главной: строки списков приходят из /ajax_data старой разметкой (контракт app.js: .filter-item > button.filter-btn, .active,
   .filter-button__head) — оформлены значениями классов v2: платформа ps-app__306/308/304, группа ps-app__410, надкатегория ps-app__413/415/411. */
html.ps-v2 .home-v2-cat .filter-item { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
html.ps-v2 .home-v2-cat .filter-item > button.filter-btn { display: flex !important; align-items: center !important; gap: 11px !important; width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 5px 10px !important; border: 0 !important; border-radius: 10px !important; box-shadow: none !important; background: transparent !important; color: var(--ink2) !important; font-family: inherit !important; font-size: 15px !important; font-weight: 500 !important; line-height: 1.4 !important; text-align: left !important; justify-content: flex-start !important; cursor: pointer; transition: background 0.15s; }
html.ps-v2 .home-v2-cat .filter-item:nth-child(2n+1) > button.filter-btn { background: var(--zebra) !important; } /* прототип: фон у 3-й, 5-й… строки (1-я обычно выбрана) */
html.ps-v2 .home-v2-cat .filter-item > button.filter-btn:hover { background: var(--hover) !important; }
html.ps-v2 .home-v2-cat .filter-item > button.filter-btn.active { background: var(--sel) !important; color: var(--accent) !important; font-weight: 600 !important; }
html.ps-v2 .home-v2-cat .filter-item > button.filter-btn > img { flex: 0 0 auto !important; width: 18px !important; height: 18px !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; object-fit: contain; }
html.ps-v2 .home-v2-cat #main_nadcategories_list .filter-item > button.filter-btn > img { width: 20px !important; height: 20px !important; }
html.ps-v2 .home-v2-cat .filter-item > button.filter-btn > span { flex: 1 1 0% !important; min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
html.ps-v2 .home-v2-cat #main_nadcategories_list .filter-button__group, html.ps-v2 .home-v2-cat .filter-button-group__in { display: flex; flex-direction: column; gap: 1px; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
html.ps-v2 .home-v2-cat .filter-button__head { display: flex !important; justify-content: center !important; margin: 0 !important; padding: 8px 10px 3px !important; border: 0 !important; background: none !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; color: var(--muted2) !important; text-align: center !important; }
html.ps-v2 .home-v2-cat .filter-button__head span { font: inherit !important; color: inherit !important; }
/* на компьютере вложенные мобильные блоки (раскрытие платформы/надкатегории внутри списка) не показываются — для этого колонки */
@media (min-width: 761px) {
 html.ps-v2 .home-v2-cat .social-media-mobile__item, html.ps-v2 .home-v2-cat .cheating-mobile__item { display: none !important; }
}
/* панель «Фильтр направлений» под кнопкой колонки платформ — прежняя (home.css), позиция от рамки v2 */
html.ps-v2 .home-v2-cat .home-new__dir { position: relative; }
/* колонка платформ: список — рамка v2 ps-app__303 (поля 8 2 4 8, свой скролл); старые стили .filter-button__group её не перебивают */
html.ps-v2 .home-v2-cat #main_platforms_list { display: flex !important; flex-direction: column !important; gap: 1px !important; flex: 1 1 0px !important; min-height: 0 !important; overflow-y: auto !important; margin: 0 6px 14px 0 !important; padding: 8px 2px 4px 8px !important; border: 0 !important; background: none !important; }
/* поиск платформы: поле — рамка v2 ps-app__301, внутренние поле/иконка/крестик без старых рамок */
html.ps-v2 .home-v2-cat .platform-search { margin: 0 !important; width: auto !important; }
html.ps-v2 .home-v2-cat .platform-search input { flex: 1 1 0% !important; min-width: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important; font-family: inherit !important; font-size: 14px !important; color: var(--ink) !important; }
html.ps-v2 .home-v2-cat .platform-search > svg { position: static !important; flex: 0 0 auto !important; width: 14px !important; height: 14px !important; color: var(--muted2) !important; transform: none !important; }
html.ps-v2 .home-v2-cat .platform-search > button { position: static !important; transform: none !important; }
/* телефон (v2 data-m="mob"): фильтр и поиск в строку (ps-app__177/181), платформы — одной карточкой строк (ps-app__185/187/189),
   раскрытие платформы и надкатегории — вложенные блоки из ответа сервера; вторая и третья колонки не показываются */
@media (max-width: 760px) {
 html.ps-v2 .home-v2-cat { display: block !important; }
 html.ps-v2 .home-v2-cat > .ps-app__406 { display: none !important; }
 html.ps-v2 .home-v2-cat [data-m="platcol"] { height: auto !important; min-height: 0 !important; display: grid !important; grid-template-columns: auto minmax(0, 1fr); gap: 8px 8px; background: none !important; box-shadow: none !important; border-radius: 0 !important; }
 html.ps-v2 .home-v2-cat .home-new__dir { padding: 0 !important; border: 0 !important; align-items: stretch !important; }
 html.ps-v2 .home-v2-cat .home-new__dir-toggle { height: 44px !important; padding: 0 14px !important; border-radius: 14px !important; background: var(--card) !important; box-shadow: inset 0 0 0 1px var(--line2) !important; font-size: 14px !important; font-weight: 600 !important; }
 html.ps-v2 .home-v2-cat .ps-app__300 { padding: 0 !important; }
 html.ps-v2 .home-v2-cat .platform-search { height: 44px !important; padding: 0 12px !important; border-radius: 14px !important; background: var(--card) !important; box-shadow: inset 0 0 0 1px var(--line2) !important; }
 html.ps-v2 .home-v2-cat .platform-search input { font-size: 16px !important; }
 html.ps-v2 .home-v2-cat #main_platforms_list { grid-column: 1 / -1; overflow: visible !important; margin: 0 !important; padding: 0 !important; gap: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
 html.ps-v2 .home-v2-cat #main_platforms_list > .filter-item > button.filter-btn { min-height: 38px !important; padding: 0 14px 0 15px !important; gap: 10px !important; border-radius: 0 !important; font-size: 14px !important; color: var(--ink) !important; }
 html.ps-v2 .home-v2-cat #main_platforms_list > .filter-item > button.filter-btn::after { content: ''; flex: 0 0 auto; width: 6px; height: 6px; margin-right: 3px; border: solid var(--muted2); border-width: 2px 2px 0 0; transform: rotate(45deg); }
 html.ps-v2 .home-v2-cat #main_platforms_list > .filter-item > button.filter-btn.active { background: var(--sel) !important; color: var(--accent) !important; font-weight: 700 !important; font-size: 15px !important; }
 html.ps-v2 .home-v2-cat #main_platforms_list > .filter-item > button.filter-btn.active::after { transform: rotate(-45deg); }
 html.ps-v2 .home-v2-cat #main_platforms_list > .filter-item > button.filter-btn > img { width: 20px !important; height: 20px !important; }
}
/* телефон: раскрытая платформа → надкатегории, раскрытая надкатегория → кнопки и типы (разметка из ответа сервера);
   значения — мобильная карточка категории прототипа (кнопки 46px, акцентная и серая, типы строками) */
@media (max-width: 760px) {
 /* видимость вложенных блоков: блок платформы скрипт показывает/прячет сам (.show()/.hide()), список внутри — всегда; информация надкатегории — по классу show */
 html.ps-v2 .home-v2-cat .mobile_nadcategory_list { display: block !important; padding: 0 !important; background: var(--card) !important; }
 html.ps-v2 .home-v2-cat .mobile_category_info { display: none !important; }
 html.ps-v2 .home-v2-cat .mobile_category_info.show { display: block !important; }
 html.ps-v2 .home-v2-cat .mobile_nadcategory_list .filter-item > button.filter-btn { min-height: 37px !important; padding: 0 14px 0 15px !important; gap: 10px !important; border-radius: 0 !important; font-size: 14px !important; color: var(--ink) !important; }
 html.ps-v2 .home-v2-cat .cheating-mobile__item .filter-menu, html.ps-v2 .home-v2-cat .cheating-mobile__item .tab-content-item__in { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
 html.ps-v2 .home-v2-cat .cheating-mobile__item .filter-menu__body { display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 14px 14px 16px !important; }
 html.ps-v2 .home-v2-cat .cheating-mobile__item .goto-service__btn { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 10px !important; width: 100% !important; min-height: 46px !important; margin: 0 !important; padding: 0 16px !important; border: 0 !important; border-radius: 14px !important; box-shadow: none !important; font-size: 14.5px !important; font-weight: 700 !important; text-decoration: none !important; }
 html.ps-v2 .home-v2-cat .cheating-mobile__item .goto-service-start .goto-service__btn { background: var(--accent) !important; color: #fff !important; }
 html.ps-v2 .home-v2-cat .cheating-mobile__item .goto-service-end .goto-service__btn { background: var(--chip) !important; color: var(--ink) !important; }
 html.ps-v2 .home-v2-cat .cheating-mobile__item .goto-service-line { display: none !important; }
 html.ps-v2 .home-v2-cat .cheating-mobile__item .sweet-service { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
 html.ps-v2 .home-v2-cat .cheating-mobile__item .sweet-service__title { margin: 0 0 12px !important; padding-top: 6px !important; font-size: 13px !important; font-weight: 600 !important; color: var(--muted) !important; text-align: center !important; }
 html.ps-v2 .home-v2-cat .cheating-mobile__item .premium-amount { margin: 0 !important; padding: 4px 2px !important; font-size: 13.5px !important; line-height: 1.35 !important; color: var(--ink2) !important; }
 html.ps-v2 .home-v2-cat .cheating-mobile__item .filter-menu__description-block { margin: 0 14px 16px !important; padding: 12px 14px !important; border: 0 !important; border-radius: 14px !important; background: var(--zebra) !important; box-shadow: none !important; }
 html.ps-v2 .home-v2-cat .cheating-mobile__item .filter-menu__description { font-size: 14px !important; line-height: 1.5 !important; color: var(--ink2) !important; }
}
/* гость: в static/ «Зарегистрироваться/Войти» — button (текст по центру сам), у нас ссылки на /signup и /login */
html.ps-v2 a.ps-app__458, html.ps-v2 a.ps-app__459 { display: inline-flex !important; align-items: center !important; justify-content: center !important; text-decoration: none !important; }

/* Мобильные группы из того же загруженного списка: открытая платформа, CTA, остаток. */
html.ps-v2 .home-catalog-cta, html.ps-v2 .home-catalog-rest, html.ps-v2 .home-catalog-empty { display: none; }
@media (max-width: 760px) {
 html.ps-v2 .home-v2-cat #main_platforms_list > .filter-item { background: var(--card) !important; box-shadow: inset 1px 0 var(--line2), inset -1px 0 var(--line2); }
 html.ps-v2 .home-v2-cat #main_platforms_list > .home-catalog-first { border-radius: 16px 16px 0 0 !important; box-shadow: inset 1px 1px var(--line2), inset -1px 0 var(--line2); overflow: clip; }
 html.ps-v2 .home-v2-cat #main_platforms_list > .home-catalog-last { border-radius: 0 0 16px 16px !important; box-shadow: inset 1px 0 var(--line2), inset -1px -1px var(--line2); overflow: clip; }
 html.ps-v2 .home-v2-cat #main_platforms_list > .home-catalog-first.home-catalog-last { border-radius: 16px !important; box-shadow: inset 0 0 0 1px var(--line2); }
 html.ps-v2 .home-v2-cat #main_platforms_list > .home-catalog-open { margin-top: 10px !important; box-shadow: inset 0 0 0 1px var(--line2), 0 16px 36px -30px rgba(40,30,20,.4) !important; }
 html.ps-v2 .home-v2-cat #main_platforms_list > .home-catalog-open:first-child { margin-top: 0 !important; }
 html.ps-v2 .home-v2-cat #main_platforms_list > .filter-item > button.filter-btn { background: transparent !important; }
 html.ps-v2 .home-v2-cat #main_platforms_list > .home-catalog-zebra > button.filter-btn { background: var(--zebra) !important; }
 html.ps-v2 .home-v2-cat #main_platforms_list > .home-catalog-open > button.filter-btn { min-height: 44px !important; background: var(--sel) !important; box-shadow: 0 1px 0 var(--line3); }
 html.ps-v2 .home-v2-cat .mobile_nadcategory_list .filter-button__group, html.ps-v2 .home-v2-cat .mobile_nadcategory_list .filter-button-group__in { display: flex; flex-direction: column; gap: 0; padding: 0; margin: 0; }
 html.ps-v2 .home-v2-cat .mobile_nadcategory_list .filter-button__head { padding: 11px 10px 5px !important; font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .08em !important; }
 html.ps-v2 .home-v2-cat .mobile_nadcategory_list .filter-item > button.filter-btn.active { background: var(--sel) !important; color: var(--accent) !important; font-weight: 600 !important; }
 html.ps-v2 .home-v2-cat .mobile_nadcategory_list button.filter-btn::after { content: ''; flex: none; width: 6px; height: 6px; border: solid var(--muted); border-width: 0 2px 2px 0; transform: rotate(45deg); margin: 0 3px 3px; }
 html.ps-v2 .home-v2-cat .mobile_nadcategory_list button.filter-btn.active::after { transform: rotate(225deg); margin-top: 5px; }
 html.ps-v2 .home-v2-cat .mobile_category_info.show { border-bottom: 1px solid var(--line3); }
 html.ps-v2 .home-v2-cat .goto-service__btn > span { flex: 1; text-align: left; line-height: 1.3; padding: 10px 0; }
 html.ps-v2 .home-v2-cat .goto-service__btn > svg { flex: none; }
 html.ps-v2 .home-v2-cat .home-catalog-min { text-align: center; font-size: 13px; color: var(--muted); }
 html.ps-v2 .home-v2-cat .home-catalog-min .ps-header__74 { font-size: 13px !important; }
 html.ps-v2 .home-v2-cat .home-catalog-min b { font-size: 18px !important; font-weight: 800; color: var(--ink); letter-spacing: -.02em; }
 html.ps-v2 .home-v2-cat .home-catalog-type { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-height: 34px; box-sizing: border-box; padding: 6px 12px; border-radius: 10px; font-size: 13.5px; line-height: 1.35; color: var(--ink2); }
 html.ps-v2 .home-v2-cat .home-catalog-type:nth-of-type(even) { background: var(--zebra); }
 html.ps-v2 .home-v2-cat .home-catalog-type > span:first-child { min-width: 0; }
 html.ps-v2 .home-v2-cat .home-catalog-price { flex: none; font-weight: 600; color: var(--ink); white-space: nowrap; }
 html.ps-v2 .home-v2-cat .home-catalog-about { font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted2); margin-bottom: 6px; }
 html.ps-v2 .home-v2-cat #main_platforms_list { font-size: 14px; line-height: 1.4; }
 html.ps-v2 .home-v2-cat #main_platforms_list .mobile_nadcategory_list .filter-item > button.filter-btn { background: transparent !important; }
 html.ps-v2 .home-v2-cat #main_platforms_list .mobile_nadcategory_list .home-catalog-section-zebra > button.filter-btn { background: var(--zebra) !important; }
 html.ps-v2 .home-v2-cat #main_platforms_list .mobile_nadcategory_list .filter-item > button.filter-btn.active { background: var(--sel) !important; }
 html.ps-v2 .home-v2-cat .filter-menu__description { text-wrap: pretty; }
 html.ps-v2 .home-v2-cat .home-catalog-cta { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 46px; padding: 0 16px; margin-top: 10px; text-align: center; font-size: 14px; color: var(--ink2); border-radius: 16px; background: var(--card); box-shadow: inset 0 0 0 1px var(--line2); }
 html.ps-v2 .home-v2-cat .home-catalog-cta a { font-weight: 600; color: var(--accent); }
 html.ps-v2 .home-v2-cat .home-catalog-rest { display: flex; align-items: center; gap: 10px; padding: 10px 6px 0; margin: 10px 0; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted2); }
 html.ps-v2 .home-v2-cat .home-catalog-rest::before, html.ps-v2 .home-v2-cat .home-catalog-rest::after { content: ''; flex: 1; height: 1px; background: var(--line2); }
 html.ps-v2 .home-v2-cat .home-catalog-empty { display: block; padding: 28px 16px; text-align: center; font-size: 14px; color: var(--muted); border-radius: 16px; background: var(--card); box-shadow: inset 0 0 0 1px var(--line2); }
}

/* Компактный топ сохраняет размеры исходника и на телефоне; полные названия остаются в title ссылки. */
@media (max-width: 760px) {
 html.ps-v2 [data-m="games"][data-kind="top"] > a { padding-top: 0 !important; padding-bottom: 0 !important; }
 html.ps-v2 [data-m="games"][data-kind="top"] [data-m="gname"] { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
}
