/**
 * mobile-public.css — мобильная адаптация публичных страниц (<=768px)
 * Админка (hz-db) этот файл не подключает.
 * Только CSS, без JS-перестройки DOM.
 */

@media (max-width: 768px) {
  /* ========== 1. GLOBAL ========== */
  html {
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    max-width: 100%;
    overflow-x: hidden !important;
    width: 100%;
  }

  img,
  video,
  iframe,
  canvas {
    max-width: 100%;
    height: auto;
  }

  /* Иконки / лайки / сердечки — жёсткий лимит под Mobile-Friendly */
  .tab-indicator svg,
  .tab-status-icons-group svg,
  .mk-vote-heart svg,
  .mk-chip svg,
  .indicator-war svg,
  .clan-card svg,
  .streamer-card svg,
  .srv-btn svg,
  .btn svg,
  a svg,
  button svg,
  .like-icon,
  .heart-icon,
  .vote-heart svg {
    max-width: 24px !important;
    max-height: 24px !important;
    width: auto !important;
    height: auto !important;
    flex-shrink: 0;
  }

  /* Tap targets: основные CTA (не трогаем компактные контролы шапки / view-toggle) */
  main .btn,
  main .srv-btn,
  main .mk-btn-play,
  main .mk-btn-details,
  main .clan-btn-info,
  main .clan-tab,
  main .filter-chip,
  main .srv-page-btn,
  .srv-modal .btn,
  .srv-modal .srv-btn,
  .srv-modal button[type="submit"],
  .modal .btn {
    min-height: 44px;
    min-width: 44px;
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
  }

  main .tab-indicator:not(.indicator-platform):not(.indicator-offline):not(.indicator-live):not(.indicator-country):not(.indicator-concept):not(.indicator-giveaways):not(.indicator-voice):not(.indicator-media):not(.indicator-epics):not(.indicator-globe):not(.indicator-war):not(.indicator-bigwar):not(.indicator-midwar):not(.indicator-lowwar):not(.indicator-bonus):not(.indicator-reg):not(.indicator-inter):not(.indicator-obt):not(.indicator-pts),
  main .mk-vote-heart {
    min-width: 40px;
    min-height: 40px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px;
    box-sizing: border-box;
  }

  .container,
  main.container,
  .servers-page-title,
  .srv-toolbar,
  .srv-form,
  .clans-grid,
  .clans-table-layout,
  .ann-two-columns-layout,
  .streamers-cards-layout {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }

  /* CLS: резерв высоты тулбара/сеток до шрифтов и JS */
  .srv-toolbar {
    min-height: 76px !important;
    contain: layout paint !important;
  }
  .srv-toolbar:has(.srv-toolbar-bottom),
  .srv-toolbar:has(.srv-toolbar-partner-row),
  .srv-toolbar:has(.featured-top-widget) {
    min-height: 168px !important;
    align-items: stretch !important;
    contain: layout !important;
  }
  .srv-all-section,
  .news-all-section,
  .news-pinned-section,
  .clans-grid,
  .streamers-cards-layout,
  #annList,
  #clanList,
  #streamerList {
    contain: layout;
    min-height: 240px;
  }

  /* Убрать absolute у текстовых блоков / бейджей в листингах */
  .mk-row .mk-status,
  .mk-row .mk-row-name,
  .mk-row .mk-chips,
  .ann-tab-row .tab-server-name,
  .ann-tab-row .tab-col-left,
  .ann-tab-row .tab-col-center,
  .ann-tab-row .tab-col-right,
  .clan-tab-row .clan-tab-name,
  .clan-tab-row .clan-tab-badge,
  .clan-tab-row .clan-tab-specs,
  .streamer-tab-row .strm-tab-name,
  .streamer-tab-row .strm-col-badges,
  .streamer-tab-row .strm-col-center {
    position: static !important;
  }

  /* ========== 2. TABLES / LISTS — 2 строки ========== */

  /* --- Servers (mk-row) --- */
  .mk-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 12px !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .mk-row-main {
    width: 100% !important;
    min-width: 0 !important;
  }

  .mk-row-banner {
    height: auto !important;
    min-height: 44px !important;
    max-height: none !important;
    padding: 8px 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  .mk-row-banner-left {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .mk-row-name {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.25 !important;
  }

  .mk-row-rank {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    font-size: 0.7rem !important;
    flex-shrink: 0 !important;
  }

  .mk-row-banner-right {
    flex-shrink: 0 !important;
    margin-left: auto !important;
  }

  .mk-row-info {
    width: 100% !important;
    margin-top: 0 !important;
  }

  .mk-row-info .mk-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100% !important;
  }

  /* Гигантское одиночное сердце снизу — скрыть (лайк уже есть в чипах) */
  .mk-row-heart {
    display: none !important;
  }

  .mk-row-actions {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    justify-content: flex-start !important;
  }

  .mk-row-actions .mk-btn-play,
  .mk-row-actions .mk-btn-details {
    flex: 1 1 0 !important;
    min-height: 44px !important;
  }

  /* --- Announcements (ann-tab-row) --- */
  .ann-tab-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 10px 12px !important;
    gap: 6px 8px !important;
    overflow: visible !important;
  }

  .ann-tab-row::after {
    content: "";
    flex-basis: 100%;
    width: 100%;
    height: 0;
    order: 5;
  }

  .ann-tab-row .tab-col-left {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: calc(100% - 96px) !important;
    order: 1;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .ann-tab-row .tab-col-right {
    flex: 0 0 auto !important;
    order: 2;
    margin-left: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 2px !important;
  }

  .ann-tab-row .tab-col-center {
    flex: 1 1 100% !important;
    order: 10;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 10px !important;
    width: 100% !important;
    justify-content: flex-start !important;
  }

  /* Мелкие ярлыки (OBT/PTS/видео и т.д.) — скрыть, место под полное имя */
  .ann-tab-row .tab-status-icons-group,
  #annList .srv-card-item .tab-status-icons-group,
  #annList .srv-title-row .tab-status-icons-group {
    display: none !important;
  }

  .ann-tab-row .tab-name-block {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .ann-tab-row .tab-server-name,
  #annList .srv-title-row h3 {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    word-break: break-word !important;
  }

  #annList .srv-title-row {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }

  /* Серая точка-маркер слева — скрыть, VIP-иконку оставить */
  .ann-tab-row .tab-row-marker .tab-reg-badge {
    display: none !important;
  }
  .ann-tab-row .tab-row-marker:not(:has(.animated-vip-box)) {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ann-tab-logo,
  .ann-tab-logo-slot {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    flex-shrink: 0 !important;
  }

  .ann-tab-row .tab-col-center,
  .ann-tab-row .tab-col-right {
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .ann-tab-row .tab-server-chr,
  .ann-tab-row .tab-server-rates,
  .ann-tab-row .tab-server-date,
  .ann-tab-row .tab-obt-date {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  /* --- Clans (clan-tab-row) --- */
  .clan-tab-header {
    display: none !important;
  }

  .clan-tab-row:not(.clan-tab-header) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 10px 12px !important;
    gap: 6px 8px !important;
    transform: none !important;
    grid-template-columns: none !important;
  }

  .clan-tab-row:not(.clan-tab-header)::after {
    content: "";
    flex-basis: 100%;
    width: 100%;
    height: 0;
    order: 5;
  }

  .clan-tab-community {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    order: 1;
    transform: none !important;
  }

  .clan-tab-name {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }

  .clan-tab-logo {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }

  /* Статус набора («• Открыт» / «Закрыт») — только в модалке */
  .clan-tab-row .clan-tab-recruiting-cell {
    display: none !important;
  }

  .clan-tab-specs,
  .clan-tab-server,
  .clan-tab-chronicle,
  .clan-tab-style,
  .clan-tab-members,
  .clan-tab-votes {
    order: 10;
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    text-align: left !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .clan-tab-specs {
    flex: 0 0 auto !important;
    justify-content: flex-start !important;
    max-width: none !important;
  }

  .clan-tab-specs .tab-status-icons-group,
  .clan-tab-row .tab-status-icons-group {
    display: inline-flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: auto !important;
    max-width: max-content !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
  }

  /* Единая высота ярлыков как у стримеров (20px) */
  .clan-tab-row .tab-status-icons-group .tab-indicator,
  .clan-tab-row .tab-status-icons-group .indicator-war,
  .clan-tab-row .indicator-war,
  .clan-tab-row .indicator-bigwar,
  .clan-tab-row .indicator-midwar,
  .clan-tab-row .indicator-lowwar,
  .clan-tab-row .indicator-country,
  .clan-tab-row .indicator-voice,
  .clan-tab-row .indicator-media,
  .clan-tab-row .indicator-epics,
  .clan-tab-row .indicator-globe {
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    min-width: 0 !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    padding: 0 6px !important;
    border-radius: 4px !important;
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
  }

  .clan-tab-row .indicator-voice,
  .clan-tab-row .indicator-media,
  .clan-tab-row .indicator-epics,
  .clan-tab-row .indicator-globe {
    width: 20px !important;
    min-width: 20px !important;
    padding: 0 !important;
  }

  .clan-tab-row .tab-indicator svg,
  .clan-tab-row .indicator-voice svg,
  .clan-tab-row .indicator-media svg,
  .clan-tab-row .indicator-epics svg,
  .clan-tab-row .indicator-globe svg {
    width: 12px !important;
    height: 12px !important;
    display: block !important;
  }

  .clan-tab-server {
    flex: 0 1 auto !important;
  }

  /* --- Streamers (streamer-tab-row + cards) --- */
  .streamer-table-header {
    display: none !important;
  }

  .streamer-tab-row,
  .streamer-tab-row .strm-col-name,
  .streamer-tab-row .strm-col-badges,
  .streamer-tab-row .strm-col-center,
  .streamer-tab-row .strm-tab-name,
  .streamer-tab-row .tab-status-icons-group,
  .streamer-tab-row .tab-indicator,
  .streamer-tab-row .indicator-platform,
  .streamer-tab-row .indicator-offline,
  .streamer-tab-row .indicator-live,
  .streamer-card .clan-card-info,
  .streamer-card .tab-status-icons-group,
  .streamer-card .tab-indicator,
  .streamer-card .indicator-platform,
  .streamer-card .indicator-offline,
  .streamer-card .indicator-live {
    position: static !important;
  }

  .streamer-tab-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    height: auto !important;
    padding: 10px 12px !important;
    gap: 8px !important;
    transform: none !important;
    overflow: hidden !important;
  }

  .streamer-tab-row::after {
    display: none !important;
    content: none !important;
  }

  .streamer-tab-row .strm-col-name {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    order: 1 !important;
  }

  .streamer-tab-row .strm-tab-name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }

  .streamer-tab-row .strm-avatar-mini {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }

  .streamer-tab-row .strm-col-badges {
    display: flex !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    order: 2 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    justify-content: flex-start !important;
  }

  .streamer-tab-row .strm-col-badges .tab-status-icons-group {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .streamer-tab-row .indicator-platform,
  .streamer-tab-row .indicator-offline,
  .streamer-tab-row .indicator-live,
  .streamer-tab-row .indicator-country,
  .streamer-tab-row .indicator-concept,
  .streamer-card .indicator-platform,
  .streamer-card .indicator-offline,
  .streamer-card .indicator-live,
  .streamer-card .indicator-country,
  .streamer-card .indicator-concept {
    position: static !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 20px !important;
    padding: 0 6px !important;
    flex-shrink: 0 !important;
  }

  .streamer-tab-row .strm-col-center {
    display: flex !important;
    flex-wrap: wrap !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    order: 3 !important;
    gap: 6px 12px !important;
    justify-content: flex-start !important;
    padding-right: 0 !important;
  }

  .streamer-tab-row .strm-tab-server,
  .streamer-tab-row .strm-col-stats {
    width: auto !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Карточки стримеров: имя сверху, бейджи отдельным рядом */
  .streamer-card .clan-card-info > div:first-of-type {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
  }

  .streamer-card .clan-card-info h3 {
    margin: 0 !important;
    width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  .streamer-card .tab-status-icons-group {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* --- Clans: даты/бейджи не вылезают --- */
  .clan-tab-row .clan-tab-chronicle,
  .clan-tab-row .clan-tab-server,
  .clan-tab-row .clan-tab-style,
  .clan-tab-row .clan-tab-members,
  .clan-tab-row .clan-tab-votes,
  .clan-card .clan-badge {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .clan-card .clan-badges {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* ========== 3. FILTERS / CARDS / MODALS ========== */

  /* Серверы: переключатель «Карточки / Таблица» как у кланов и анонсов */
  .srv-section-head .srv-toolbar-right,
  .srv-toolbar-right {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .srv-section-head .srv-view-toggle,
  .srv-toolbar-right .srv-view-toggle,
  .srv-toolbar-partner-row .srv-view-toggle {
    display: flex !important;
    gap: 4px !important;
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border) !important;
    padding: 4px !important;
    border-radius: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    flex: 1 1 auto !important;
    box-sizing: border-box !important;
  }

  .srv-view-toggle .srv-view-btn,
  .srv-view-toggle .view-btn,
  #setViewCards,
  #setViewTable {
    background: none !important;
    border: 1px solid transparent !important;
    padding: 8px 12px !important;
    border-radius: 7px !important;
    color: var(--text-muted) !important;
    cursor: pointer;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 8px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    flex: 1 1 0 !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
  }

  .srv-view-toggle .srv-view-btn svg,
  .srv-view-toggle .view-btn svg,
  #setViewCards svg,
  #setViewTable svg {
    width: 16px !important;
    height: 16px !important;
  }

  .srv-view-toggle .srv-view-btn:hover,
  .srv-view-toggle .view-btn:hover {
    color: var(--text-primary) !important;
  }

  .srv-view-toggle .srv-view-btn.active,
  .srv-view-toggle .srv-view-btn.is-active,
  .srv-view-toggle .view-btn.active,
  .srv-view-toggle .view-btn.is-active {
    background: #d4af37 !important;
    color: #000 !important;
    font-weight: 700 !important;
    border: 1px solid transparent !important;
  }

  .srv-toolbar-bottom,
  .srv-toolbar-partner-row {
    justify-content: space-between !important;
    align-items: center !important;
  }

  .srv-toolbar,
  .srv-toolbar-bottom,
  .srv-toolbar-partner-row,
  .srv-filters,
  .filters-row,
  .clan-tabs,
  .srv-form,
  .srv-form .srv-field,
  .news-filters,
  .db-search-bar,
  .catalog-filters {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  main .srv-sort-select,
  main .srv-form select,
  main .srv-form input[type="search"],
  main .srv-form input[type="text"],
  main .srv-form input[type="number"],
  main .srv-form input[type="email"],
  main .srv-form input[type="password"],
  main .srv-form textarea,
  .srv-modal select,
  .srv-modal input,
  .srv-modal textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .srv-form {
    display: flex !important;
    flex-direction: column !important;
  }

  .srv-form .srv-field,
  .srv-form .srv-full {
    width: 100% !important;
    flex: 1 1 100% !important;
  }

  .clans-grid,
  .streamers-cards-layout,
  .srv-cards-grid,
  .news-grid,
  .features-grid,
  .services-grid,
  .advantages-grid {
    grid-template-columns: 1fr !important;
  }

  .ann-two-columns-layout {
    grid-template-columns: 1fr !important;
  }

  /* Модалки — влезают в 320–390px */
  .srv-modal-bg,
  .modal-bg,
  .modal-overlay,
  [class*="modal-bg"] {
    padding: 12px 8px !important;
    align-items: flex-start !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .srv-modal,
  .modal,
  .modal-content,
  #clanModalContent,
  #addClanModalContent,
  #buyVotesModal .srv-modal,
  [id$="ModalContent"] {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin: 8px auto !important;
    max-height: calc(100vh - 24px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }

  .mdl-dashboard-layout,
  .news-read-dashboard {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .mdl-description-block {
    padding: 14px 12px !important;
  }

  .clan-attachments-row {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Горизонтальный скролл только внутри списков чипов — не у body */
  .mk-chips,
  .clan-tabs,
  .guides-tabs {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .srv-table-list,
  #tableView {
    overflow-x: hidden !important;
    width: 100% !important;
  }

  /* ========== 4. GLOBAL: header above modals ========== */
  .header,
  .header .container,
  .header .nav,
  #nav {
    overflow: visible !important;
    contain: none !important;
  }
  .header {
    z-index: 10005 !important;
  }
  .menu-toggle {
    z-index: 10006 !important;
  }
  .header .nav,
  .header .nav.active {
    z-index: 10005 !important;
  }
  /* Логотип в шапке всегда виден (в т.ч. «О нас» / index) */
  .header .logo {
    position: relative !important;
    z-index: 10007 !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    min-width: 63px !important;
    max-width: calc(100% - 56px) !important;
  }
  .header .logo-img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: auto !important;
    height: 44px !important;
    max-height: 44px !important;
    max-width: 160px !important;
    min-width: 63px !important;
    object-fit: contain !important;
  }
  .header.scrolled {
    background-color: rgba(10, 10, 15, 0.92) !important;
  }
  .srv-modal-bg,
  .modal-overlay,
  .modal-bg,
  [class*="modal-bg"] {
    z-index: 10000 !important;
  }

  /* Логотипы/эмблемы в модалках — без цветного фона (сохраняем background-image) */
  .srv-modal .mdl-profile-banner,
  .srv-modal .mdl-profile-banner-clan,
  .srv-modal .mdl-profile-avatar-box,
  .srv-modal .news-modal-side-image,
  .srv-modal .clan-emblem,
  #clanModalContent .mdl-profile-banner-clan,
  #clanModalContent .clan-emblem,
  #detailsAnnModal .mdl-profile-banner,
  #modal .mdl-profile-banner,
  #readNewsModalContent .news-modal-side-image {
    background-color: transparent !important;
    box-shadow: none !important;
  }
  #clanModalContent .mdl-profile-banner-clan,
  #clanModalContent .clan-emblem,
  .srv-modal .mdl-profile-banner-clan,
  .srv-modal .clan-emblem {
    border: none !important;
  }

  /* Верхний большой баннер (hero) не трогаем — только инлайн-слоты 555×70 */
  .featured-top-widget:not(.has-spot-creative),
  .pv-featured-top-widget:not(.has-spot-creative) {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: unset !important;
    height: auto !important;
    aspect-ratio: 555 / 70 !important;
    overflow: hidden !important;
    contain: layout paint !important;
    display: block !important;
    box-sizing: border-box !important;
    opacity: 0;
    pointer-events: none;
  }
  .featured-top-widget.has-spot-creative,
  .pv-featured-top-widget.has-spot-creative,
  .l2hub-inline-spot.has-spot-creative,
  .srv-toolbar .featured-top-widget.has-spot-creative {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    position: relative !important;
    width: 555px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 70px !important;
    max-height: 70px !important;
    min-height: 70px !important;
    aspect-ratio: 555 / 70 !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    contain: layout !important;
    box-sizing: border-box !important;
    opacity: 1;
    pointer-events: auto;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    flex: 0 0 auto !important;
  }
  .featured-top-widget.has-spot-creative .l2hub-inline-spot-image,
  .pv-featured-top-widget.has-spot-creative .l2hub-inline-spot-image,
  .l2hub-inline-spot-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: fill !important;
    object-position: center !important;
    display: block !important;
  }
  .featured-top-widget-inner,
  .pv-featured-top-widget-inner {
    padding: 0 8px !important;
  }
  .srv-toolbar-bottom,
  .srv-toolbar-partner-row,
  .news-tabs-container {
    gap: 12px !important;
    margin-top: 8px !important;
    margin-bottom: 10px !important;
    min-height: unset;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    contain: layout;
  }

  .srv-toolbar,
  .clan-tabs,
  #streamerTabs,
  .srv-seg {
    min-height: 76px;
    line-height: 1.25;
    align-items: center;
    gap: 12px;
    contain: layout paint;
  }
  .clan-tabs .clan-tab,
  #streamerTabs .clan-tab {
    min-height: 40px;
    line-height: 1.2;
  }

  /* ========== 5. ANNOUNCEMENTS ========== */
  #annSort.srv-seg,
  #clanSort.srv-seg,
  #streamerSort.srv-seg {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
  }
  #annSort.srv-seg button,
  #clanSort.srv-seg button,
  #streamerSort.srv-seg button {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 6px 4px !important;
    font-size: 0.68rem !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }

  #annList .srv-title-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
  }
  #annList .srv-title-row h3 {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }
  #annList .srv-title-row .srv-badge {
    flex-shrink: 0 !important;
    margin-left: auto !important;
  }
  /* Повторный ярлык «открыт» в строке хроник/рейтов */
  #annList .srv-tags .srv-open-in {
    display: none !important;
  }

  /* ========== 6. CLANS ========== */
  /* Карточки: ярлыки как в табличном виде (единая высота 20px) */
  .clan-card .clan-card-info > div:first-child {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px 6px !important;
  }
  .clan-card .clan-card-info > div:first-child .tab-status-icons-group {
    flex: 0 1 auto !important;
    flex-basis: 100% !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 6px !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
  }

  .clan-card .tab-status-icons-group .tab-indicator,
  .clan-card .tab-status-icons-group .indicator-war,
  .clan-card .indicator-war,
  .clan-card .indicator-bigwar,
  .clan-card .indicator-midwar,
  .clan-card .indicator-lowwar,
  .clan-card .indicator-country,
  .clan-card .indicator-voice,
  .clan-card .indicator-media,
  .clan-card .indicator-epics,
  .clan-card .indicator-globe,
  .clan-card .clan-badge {
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    min-width: 0 !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    padding: 0 6px !important;
    border-radius: 4px !important;
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    text-transform: uppercase !important;
  }

  .clan-card .indicator-voice,
  .clan-card .indicator-media,
  .clan-card .indicator-epics,
  .clan-card .indicator-globe {
    width: 20px !important;
    min-width: 20px !important;
    padding: 0 !important;
  }

  .clan-card .tab-indicator svg,
  .clan-card .indicator-voice svg,
  .clan-card .indicator-media svg,
  .clan-card .indicator-epics svg,
  .clan-card .indicator-globe svg {
    width: 12px !important;
    height: 12px !important;
    display: block !important;
  }

  .clan-card .clan-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-top: 6px !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .clan-tab-specs .tab-status-icons-group,
  .clan-tab-row .tab-status-icons-group {
    gap: 6px !important;
  }

  /* Модалка сервера: без рамки у эмблемы */
  #modal .mdl-profile-banner,
  .srv-modal .mdl-profile-banner {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
  }

  /* ========== 7. NEWS ========== */
  .news-pinned-footer {
    margin-top: 10px !important;
    padding-top: 10px !important;
  }
  .news-pinned-footer .srv-btn-gold,
  .news-pinned-body .srv-btn.srv-btn-gold {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    min-height: 0 !important;
    line-height: 1.2 !important;
  }

  .servers-page-title.news-page-title + .srv-toolbar,
  main.container > .srv-toolbar:has(#newsQ) {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    align-items: stretch !important;
  }
  main.container > .srv-toolbar:has(#newsQ) > input,
  main.container > .srv-toolbar:has(#newsQ) > select,
  .servers-page-title.news-page-title + .srv-toolbar > input,
  .servers-page-title.news-page-title + .srv-toolbar > select {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .news-tabs-container .news-tabs,
  .news-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  .news-tabs .news-tab {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 6px 4px !important;
    font-size: 0.68rem !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  /* ========== 8. STREAMERS ========== */
  #streamerTabs.clan-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  #streamerTabs .clan-tab {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 8px 6px !important;
    font-size: 0.7rem !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  /* ========== 9. База знаний / catalog SEO ========== */
  body.catalog-seo-page,
  body.db-page {
    overflow-x: hidden !important;
  }
  .catalog-seo-table-wrap,
  .db-table-wrap,
  .db-skills-table,
  .db-inline-drop-table-wrapper,
  #classSkillsSection > div {
    max-width: 100%;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .db-l2-table th,
  .db-l2-table td {
    padding: 6px 8px !important;
    font-size: 0.8rem !important;
  }
  .db-item {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  /* Кланы: табличный вид без горизонтального скролла */
  .clans-table-host,
  .clans-table-layout,
  .clans-list-stage,
  #clansGrid.clans-table-host,
  #clansGrid {
    overflow-x: hidden !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .clan-tab-row:not(.clan-tab-header) {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}
