/* =======================================================
   custom-mobile.css
   ��� @media-�����, ��������������� �� breakpoint � ����������.
   ������������ ����� custom.css.
   ======================================================= */



/* ======================================================
   min-width: 992px  �  Hide mobile-only elements
   ====================================================== */

@media (min-width: 992px) {
    .drawer-header,
    .navbar-overlay {
        display: none !important;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {

  /* hosting-features-section: restore 4 columns (domainregister.css forces 2 below 1200px) */
  .hosting-features-section .benefits-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }

  .hosting-features-section .benefit-card {
    width: 100% !important;
  }
    #main-menu .navbar-collapse {
        height: auto !important;
        display: block !important;
        overflow: visible !important;
        transform: none !important;
        position: static !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        width: auto !important;
        visibility: visible !important;
    }

    #main-menu .navbar-nav,
    #main-menu .navbar-nav.navbar-right {
        float: left !important;
        display: block !important;
        width: auto !important;
        margin: 0 !important;
    }

    #main-menu .navbar-nav > li {
        float: left !important;
        display: block !important;
        width: auto !important;
    }
}

/* ======================================================
   max-width: 991px  �  Drawer menu + slim header
   ====================================================== */

@media (max-width: 991px) {

  /* -- section border fix -- */
  #main-menu {
    border-top: none !important;
  }

  /* -- navbar bar -- */
  #main-menu .navbar {
    min-height: 0 !important;
    padding: 0 12px !important;
    border: none !important;
    background: transparent !important;
    margin-bottom: 0 !important;
  }

  #main-menu .navbar .container {
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  #main-menu .navbar-header {
    margin: 0 !important;
    float: none !important;
  }

  /* -- burger -- */
  #main-menu .navbar-toggle {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 8px 0 !important;
    border: none !important;
    background: none !important;
    gap: 5px !important;
    border-radius: 8px !important;
    float: none !important;
  }

  #main-menu .navbar-toggle:hover,
  #main-menu .navbar-toggle:active {
    background: var(--ui-bg-soft, #f3f4f6) !important;
  }

  .navbar-toggle .icon-bar {
    width: 22px !important;
    height: 2.5px !important;
    background: var(--ui-text, #2b2f33) !important;
    border-radius: 2px !important;
    display: block !important;
  }

  /* -- drawer panel -- */
  #main-menu .navbar-collapse {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 300px !important;
    max-width: 85vw !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background: var(--ui-bg, #ffffff) !important;
    padding: 20px !important;
    border: none !important;
    border-radius: 0 16px 16px 0 !important;
    box-shadow: 4px 0 30px rgba(0,0,0,.12) !important;
    z-index: 1050 !important;
    transform: translateX(-105%) !important;
    transition: transform .3s cubic-bezier(.22,1,.36,1) !important;
    will-change: transform !important;
    display: block !important;
    visibility: visible !important;
  }

  #main-menu .navbar-collapse.in {
    transform: translateX(0) !important;
  }

  /* -- overlay -- */
  .navbar-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.35) !important;
    z-index: 1040 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .3s ease !important;
  }

  .navbar-overlay.in {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* -- drawer header -- */
  .drawer-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--ui-border, #d1d5db) !important;
  }

  .drawer-logo {
    height: 28px !important;
    display: block !important;
  }

  .drawer-logo-text {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--ui-text, #2b2f33) !important;
  }

  .drawer-close {
    width: 36px !important;
    height: 36px !important;
    background: var(--ui-bg-soft, #f3f4f6) !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--ui-text-muted, #6b7280) !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    transition: background .2s !important;
  }

  .drawer-close:hover,
  .drawer-close:active {
    background: var(--ui-border, #d1d5db) !important;
  }

  /* -- nav lists -- */
  #main-menu .navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  #main-menu .navbar-nav > li {
    /* flex-column: a + dropdown-menu гарантированно стекаются вертикально */
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    float: none !important;
    width: 100% !important;
    position: relative !important;
  }

  /* -- nav links -- */
  #main-menu .navbar-nav > li > a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--ui-text, #2b2f33) !important;
    border-radius: 10px !important;
    -webkit-tap-highlight-color: transparent !important;
    background: transparent !important;
    border: none !important;
  }

  #main-menu .navbar-nav > li > a:hover,
  #main-menu .navbar-nav > li > a:active {
    background: var(--ui-bg-soft, #f3f4f6) !important;
    color: var(--ui-text, #2b2f33) !important;
  }

  #main-menu .navbar-nav > li > a::after {
    display: none !important;
  }

  #main-menu .navbar-nav > li > a .caret {
    margin-left: auto !important;
    transition: transform .2s !important;
  }

  #main-menu .navbar-nav > li.open > a .caret {
    transform: rotate(180deg) !important;
  }

  /* -- store / services button -- */
  #Primary_Navbar-Store,
  #Primary_Navbar-Services {
    display: block !important;
  }

  /* Кнопка "Услуги":
     custom.css имеет специфичность [3,1,2] с background:transparent !important.
     Используем ul.navbar-nav > li#ID чтобы получить [3,1,3] и победить. */
  #main-menu #primary-nav ul.navbar-nav > li#Primary_Navbar-Store > a,
  #main-menu #primary-nav ul.navbar-nav > li#Primary_Navbar-Services > a,
  #main-menu #primary-nav ul.navbar-nav > li[id*="Store"] > a,
  #main-menu #primary-nav ul.navbar-nav > li[id*="Service"] > a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 10px 14px !important;
    background-color: #0d87ef !important;
    background-image: none !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    border: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    line-height: 1.3 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
  }

  #main-menu #primary-nav ul.navbar-nav > li#Primary_Navbar-Store > a::before,
  #main-menu #primary-nav ul.navbar-nav > li[id*="Store"] > a::before {
    content: "" !important;
    width: 22px !important;
    height: 22px !important;
    background-image: url("/templates/six/img/open-catalog.png") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-color: transparent !important;
    flex-shrink: 0 !important;
    display: block !important;
  }

  #main-menu #primary-nav ul.navbar-nav > li#Primary_Navbar-Services > a::before,
  #main-menu #primary-nav ul.navbar-nav > li[id*="Service"] > a::before {
    content: "" !important;
    width: 22px !important;
    height: 22px !important;
    background-image: url("/templates/six/img/open-catalog.png") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-color: transparent !important;
    flex-shrink: 0 !important;
    display: block !important;
  }

  #main-menu #primary-nav ul.navbar-nav > li#Primary_Navbar-Store > a::after,
  #main-menu #primary-nav ul.navbar-nav > li#Primary_Navbar-Services > a::after,
  #main-menu #primary-nav ul.navbar-nav > li[id*="Store"] > a::after,
  #main-menu #primary-nav ul.navbar-nav > li[id*="Service"] > a::after {
    display: none !important;
  }

  /* -- dropdown (CSS сброс + JS довершает через inline-стили) -- */
  #main-menu .navbar-nav > li > .dropdown-menu {
    position: static !important;
    float: none !important;
    display: none !important;
    width: 100% !important;
    margin: 4px 0 4px 12px !important;
    padding: 4px !important;
    background: #f3f4f6 !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    min-width: 0 !important;
    transform: none !important;
    animation: none !important;
    box-sizing: border-box !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: auto !important;
    flex-shrink: 0 !important;
    align-self: stretch !important;
  }

  /* Показываем через класс — JS также ставит inline display:block */
  #main-menu .navbar-nav > li.open > .dropdown-menu {
    display: block !important;
  }

  #main-menu .dropdown-menu > li > a {
    display: block !important;
    min-height: 40px !important;
    padding: 9px 12px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    border-radius: 8px !important;
    color: #2b2f33 !important;
    background: transparent !important;
    text-decoration: none !important;
  }

  #main-menu .dropdown-menu > li > a:hover,
  #main-menu .dropdown-menu > li > a:active {
    background: #e5e7eb !important;
    color: #2b2f33 !important;
  }

  /* -- account -- */
  #Secondary_Navbar-Account {
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid #d1d5db !important;
  }

  #main-menu #primary-nav #Secondary_Navbar-Account > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    height: auto !important;
    width: 100% !important;
    max-width: none !important;
    padding: 10px 14px !important;
    background-color: #0d87ef !important;
    background-image: none !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border: none !important;
    box-shadow: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    line-height: 1.3 !important;
    box-sizing: border-box !important;
  }

  /* -- slim header -- */
  #header {
    padding: 8px 0 !important;
  }

  #header .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  #header .logo {
    flex: 0 0 auto !important;
  }

  #header .logo img {
    height: 36px !important;
  }

  .top-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .top-nav > li {
    display: flex !important;
    align-items: center !important;
  }

  .top-nav > li > a {
    font-size: 13px !important;
    padding: 6px 8px !important;
  }

  .top-nav .btn,
  .primary-action .btn {
    height: 32px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
  }

  .top-nav > li.primary-action {
    display: flex !important;
  }
}

/* ======================================================
   min-width: 768px and max-width: 1024px  —  Tablet
   ====================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

  .panel-body form[action="domainchecker.php"] .input-group {
    display: flex !important;
    flex-direction: column !important;
    width: auto !important;
  }

  .panel-body form[action="domainchecker.php"] input[name="domain"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .panel-body form[action="domainchecker.php"] .input-group-btn {
    display: flex !important;
    width: 100% !important;
    gap: 12px;
    margin-top: 14px;
  }

  .panel-body form[action="domainchecker.php"] .input-group-btn .btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: 42px !important;
    font-size: 14px !important;
    border-radius: 12px !important;
    white-space: nowrap;
  }

  .panel-body,
  .panel-body form[action="domainchecker.php"],
  .panel-body form[action="domainchecker.php"] .input-group {
    width: auto !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .panel-body form[action="domainchecker.php"] .input-group-btn {
    width: 100% !important;
    max-width: 100% !important;
  }

  .panel-body form[action="domainchecker.php"] .input-group-btn .btn {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}


/* ======================================================
   min-width: 768px and max-width: 991px  —  Tablet (2 колонки продуктов)
   ====================================================== */

@media (min-width: 768px) and (max-width: 991px) {

  #order-standard_cart .products .col-md-6 {
    width: 50% !important;
    float: left !important;
  }

  /* client-home-panels: 2 columns — Bootstrap col-sm-6 (float+50%) handles this natively */
  .client-home-panels .col-sm-6 {
    width: 50% !important;
    float: left !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
  }

  /* Sidebar panel-body: always visible on tablet */
  #main-body .sidebar .panel-sidebar .panel-body,
  #main-body .sidebar-secondary .panel-sidebar .panel-body {
    display: block !important;
  }

  #main-body .sidebar .panel-sidebar .panel-minimise,
  #main-body .sidebar-secondary .panel-sidebar .panel-minimise {
    display: none !important;
  }

  /* ---- hosting-features-section: 2 columns on tablet ---- */
  .hosting-features-section {
    padding: 40px 0 !important;
  }

  .hosting-features-section .benefits-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .hosting-features-section .benefit-card {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 20px !important;
    border-radius: 16px !important;
  }

  .hosting-features-section .benefit-title {
    font-size: 15px !important;
  }

  .hosting-features-section .benefit-desc {
    font-size: 13px !important;
  }

  /* ---- transfer-wrapper: keep row layout on tablet ---- */
  .transfer-wrapper {
    flex-direction: row !important;
    padding: 28px !important;
    gap: 28px !important;
    align-items: flex-start !important;
  }

  .transfer-left h2 {
    font-size: 22px !important;
    line-height: 30px !important;
  }

  .transfer-desc {
    font-size: 14px !important;
  }

  .t-point {
    font-size: 13px !important;
  }

  .transfer-steps-box {
    padding: 20px !important;
    gap: 12px !important;
  }

  .transfer-step {
    padding: 14px 16px !important;
    gap: 12px !important;
  }

  .ts-text {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

}

/* ======================================================
   max-width: 768px  —  Mobile (основной breakpoint)
   ====================================================== */

@media (max-width: 767px) {

  /* --- Язык --- */
  .lang-menu {
    right: auto;
    left: 0;
    min-width: 220px;
  }

  .lang-item {
    padding: 12px 14px;
    font-size: 14px;
  }

  /* --- Хедер --- */
  #header .container {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
  }

  #header .logo {
    flex: 0 0 auto;
    order: 1;
  }

  #header .logo img {
    height: 34px;
  }

  .top-nav {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: nowrap;
    white-space: nowrap;
    order: 2;
  }

  .top-nav > li {
    display: none;
  }

  .top-nav > li.lang-switch,
  .top-nav > li.nav-notifications,
  .top-nav > li.primary-action {
    display: flex;
    align-items: center;
  }

  .lang-toggle,
  .top-nav .btn,
  .primary-action .btn {
    height: 30px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    border-radius: 12px !important;
  }

  .primary-action .btn {
    padding: 0 10px !important;
    font-weight: 600;
  }

  .nav-notifications > a {
    padding: 0 8px !important;
    font-size: 12px !important;
  }

  .top-nav > li.primary-action {
    display: none !important;
  }

  /* --- Main body --- */
  section#main-body {
    padding: 24px 0;
  }

  /* --- Home shortcuts --- */
  .home-shortcuts {
    padding: 24px 0;
    margin-bottom: 24px;
  }

  .home-shortcuts ul {
    gap: 12px;
  }

  .home-shortcuts a {
    padding: 14px;
  }

  .home-shortcuts .lead {
    font-size: 34px !important;
    margin-bottom: 50px !important;
  }

  .home-shortcuts ul {
    max-width: 400px !important;
  }

  .home-shortcuts ul li a {
    height: 200px !important;
    padding-top: 100px !important;
  }
  /* -- Home shortcuts refined -- */
  html body .home-shortcuts {
    padding: 40px 16px 20px !important;
  }
  html body .home-shortcuts .lead {
    font-size: 22px !important;
    margin-bottom: 24px !important;
  }
  html body .home-shortcuts ul {
    gap: 12px !important;
    max-width: 900px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body .home-shortcuts li {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body .home-shortcuts ul li a {
    flex: 1 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    height: 170px !important;
    padding: 80px 12px 0 !important;
    background-size: 50px auto !important;
    background-position: center 32px !important;
  }
  html body .home-shortcuts ul li a p {
    font-size: 13px !important;
    line-height: 1.2 !important;
    margin-top: 6px !important;
    margin-bottom: 0 !important;
    padding: 0 2px !important;
  }
  html body .home-shortcuts ul li a p span {
    white-space: nowrap !important;
  }


  /* --- Новости / объявления --- */
  .announcement-single {
    padding: 20px !important;
    border-radius: 16px !important;
    margin-bottom: 24px !important;
  }

  .announcement-single h3 a {
    font-size: 18px !important;
  }

  .announcement-single blockquote {
    font-size: 14px !important;
  }

  .main-content h2 {
    font-size: 26px !important;
    margin-bottom: 24px !important;
  }

  /* --- Корзина / заказ --- */
  .order-summary {
    margin-top: 20px !important;
  }

  .view-cart-items-header {
    font-size: 14px !important;
    padding: 12px !important;
  }

  .promo .field.form-control {
    font-size: 14px !important;
    padding-left: 38px !important;
  }

  #checkout {
    width: 100% !important;
    font-size: 16px !important;
  }

  /* --- Сайдбар --- */

  .panel-sidebar .list-group-item {
    font-size: 14px !important;
    padding: 10px 16px !important;
  }

  .panel-sidebar .panel-footer {
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
  }

  /* --- Форма / редактор --- */
  .header-lined h1 {
    font-size: 20px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .controls.checkbox label {
    white-space: normal !important;
    display: inline-block !important;
    width: 100% !important;
    position: relative !important;
    padding-left: 25px !important;
    margin-bottom: 12px !important;
    line-height: 1.5 !important;
  }

  .controls.checkbox input[type="checkbox"] {
    position: absolute !important;
    left: 0 !important;
    top: 3px !important;
  }

  .form-group {
    margin-bottom: 14px !important;
  }

  .md-editor textarea {
    font-size: 14px !important;
  }

  /* --- TLD pricing --- */
  .tld-pricing-header {
    padding: 12px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
  }

  .tld-pricing-header .col-md-4 {
    font-size: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #e2e8f0 !important;
  }

  .tld-pricing-header .col-md-8 .col-4 {
    font-size: 13px !important;
    padding: 10px 0 !important;
  }

  /* --- Domain checker --- */
  .domain-checker-bg {
    padding: 22px 18px !important;
    border-radius: 14px !important;
  }

  #frmDomainChecker input.form-control {
    font-size: 16px !important;
  }

  #btnCheckAvailability {
    font-size: 16px !important;
  }

  #domainSuggestions .domain-suggestion {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  /* --- Sidebar collapsed --- */
  .sidebar-collapsed select.form-control {
    height: 48px !important;
    font-size: 15px !important;
  }

  .sidebar-collapsed .panel-title {
    font-size: 16px !important;
  }

  /* ==========================================================================
     ЗАДАЧА 1: МАГАЗИН (КОРЗИНА) — Принудительный скролл вместо селектов
     ========================================================================== */

  /* 1. Прячем нативные мобильные выпадающие списки и формы WHMCS в корзине */
  #order-standard_cart .cart-sidebar .panel-sidebar select,
  #order-standard_cart .cart-sidebar .panel-sidebar form,
  #order-standard_cart .cart-sidebar .choose-category-form {
      display: none !important;
  }

  /* 2. Скрываем все панели сайдбара в магазине, кроме первой (Категории) */
  #order-standard_cart .cart-sidebar .panel-sidebar {
      display: none !important;
  }
  #order-standard_cart .cart-sidebar .panel-sidebar:first-child {
      display: block !important;
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      padding: 0 !important;
      margin: 0 0 15px 0 !important;
  }

  /* 3. Убираем заголовок "Категории" в корзине для экономии места */
  #order-standard_cart .cart-sidebar .panel-sidebar:first-child .panel-heading {
      display: none !important;
  }

  /* 4. Форсируем отображение списка через высокую специфичность, перебивая hidden-xs,
     и превращаем его в горизонтальную ленту */
  #order-standard_cart .cart-sidebar .panel-sidebar:first-child .list-group {
      display: flex !important;
      flex-direction: row !important;
      overflow-x: auto !important;
      white-space: nowrap !important;
      gap: 8px !important;
      padding: 8px 0 !important;
      margin: 0 !important;
      border: none !important;
      background: transparent !important;

      /* Скрываем системные скроллбары */
      scrollbar-width: none !important; /* Firefox */
      -ms-overflow-style: none !important;  /* IE/Edge */
  }

  #order-standard_cart .cart-sidebar .panel-sidebar:first-child .list-group::-webkit-scrollbar {
      display: none !important; /* Chrome, Safari, Opera */
  }

  /* 5. Стилизуем элементы списка под овальные кнопки-плитки */
  #order-standard_cart .cart-sidebar .panel-sidebar:first-child .list-group-item {
      display: inline-flex !important;
      align-items: center !important;
      flex: 0 0 auto !important;
      padding: 8px 16px !important;
      border-radius: 20px !important;
      background: #ffffff !important;
      border: 1px solid #e2e8f0 !important;
      color: #374151 !important;
      font-size: 13px !important;
      white-space: nowrap !important;
      margin: 0 !important;
  }

  /* Активное состояние категории в магазине */
  #order-standard_cart .cart-sidebar .panel-sidebar:first-child .list-group-item.active,
  #order-standard_cart .cart-sidebar .panel-sidebar:first-child .list-group-item.active:hover {
      background: #007bff !important;
      color: #ffffff !important;
      border-color: #007bff !important;
  }

  /* ==========================================================================
     ЗАДАЧА 2: ЛИЧНЫЙ КАБИНЕТ И БИЛЛИНГ — Рокировка блоков + Полная защита списков
     ========================================================================== */

  /* 6. Порядок колонок на мобилке: sidebar → content → sidebar-secondary */
  #main-body > .container > .row,
  #main-body > .container-fluid > .row {
      display: flex !important;
      flex-direction: column !important;
  }

  /* Tiles grid: Bootstrap col-xs-6 = 2x2, restore row direction */
  .tiles .row {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: wrap !important;
  }
  #main-body .sidebar {
      order: 1 !important;
      margin-top: 0 !important;
  }
  #main-body .main-content {
      order: 2 !important;
  }
  #main-body .sidebar-secondary {
      order: 3 !important;
      margin-top: 20px !important;
  }

  /* 7. ХАРД-РЕСЕТ ЗАЩИТА: Гарантируем, что списки в ЛК останутся стандартными 
     вертикальными блоками и не переймут поведение корзины */
  #main-body .sidebar .list-group,
  #main-body .sidebar-secondary .list-group {
      display: block !important;
      flex-direction: unset !important;
      overflow-x: unset !important;
      white-space: unset !important;
  }

  #main-body .sidebar .list-group-item,
  #main-body .sidebar-secondary .list-group-item {
      display: block !important;
      padding: 12px 16px !important;
      border-radius: 0 !important;
      background: transparent !important;
      border: none !important;
      border-bottom: 1px solid #f1f5f9 !important;
      color: #374151 !important;
      font-size: 14px !important;
  }
  #main-body .sidebar .list-group-item:last-child,
  #main-body .sidebar-secondary .list-group-item:last-child {
      border-bottom: none !important;
  }

  /* 8. Отменяем скрытие панелей на мобайле (hidden-xs из sidebar.tpl) */
  #main-body .sidebar .panel-sidebar.hidden-xs,
  #main-body .sidebar-secondary .panel-sidebar.hidden-xs {
      display: block !important;
  }

  /* Скрываем дублирующие дропдаун-панели (mobileSelect) */
  #main-body .sidebar .hidden-lg.hidden-md,
  #main-body .sidebar-secondary .hidden-lg.hidden-md {
      display: none !important;
  }

  /* --- Client home panels --- */
  .client-home-panels .row {
    display: block !important;
  }

  .client-home-panels .col-sm-6 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
  }

  .client-home-panels .panel {
    border-radius: 14px !important;
    margin-bottom: 12px !important;
    min-height: 0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
  }

  /* Heading: title left, button right — both in one row */
  .client-home-panels .panel-heading {
    display: flex !important;
    align-items: center !important;
    padding: 12px 14px !important;
    gap: 8px !important;
  }

  .client-home-panels .panel-title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    white-space: normal !important;
    float: none !important;
  }

  .client-home-panels .panel-heading .pull-right {
    flex-shrink: 0 !important;
    float: none !important;
    margin: 0 !important;
  }

  .client-home-panels .panel-heading .pull-right .btn {
    height: 30px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
  }

  .client-home-panels .panel-body {
    padding: 10px 14px 14px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  .client-home-panels .list-group {
    margin: 0 !important;
  }

  .client-home-panels .list-group-item {
    padding: 10px 14px !important;
    font-size: 13px !important;
  }

  .client-home-panels .panel-footer {
    padding: 10px 14px !important;
  }

  .client-home-panels .panel-footer .btn {
    width: 100% !important;
    height: 38px !important;
    font-size: 13px !important;
    border-radius: 10px !important;
  }

  /* Domain search form */
  .client-home-panels .input-group {
    display: flex !important;
  }

  .client-home-panels .input-group .form-control {
    flex: 1 !important;
    height: 40px !important;
    font-size: 13px !important;
    border-radius: 8px 0 0 8px !important;
  }

  .client-home-panels .input-group-btn {
    display: flex !important;
  }

  .client-home-panels .input-group-btn .btn {
    height: 40px !important;
    font-size: 12px !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
  }

  /* --- Home banner --- */
  #home-banner {
    padding: 26px 16px !important;
  }

  html body section#home-banner h2 {
    font-size: clamp(18px, 5.5vw, 24px) !important;
    line-height: 1.3 !important;
    margin-bottom: 16px !important;
    text-align: center !important;
  }

  #home-banner .input-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  #home-banner .input-group .form-control {
    width: 100% !important;
    height: 48px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
  }

  #home-banner .input-group-btn {
    display: flex !important;
    gap: 10px !important;
    width: 100% !important;
  }

  #home-banner .input-group-btn .btn {
    flex: 1 !important;
    height: 46px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    white-space: nowrap !important;
  }

  /* -- Home banner refined -- */
  section#home-banner {
    height: auto !important;
    padding-bottom: 32px !important;
  }

  /* == Domain search mobile (≤768px) == */

  /* Скрыть табы (высокая специфичность) */
  section#home-banner .domain-tabs-wrapper,
  #home-banner .domain-tabs-wrapper {
    display: none !important;
  }

  /* Кастомный дропдаун-обёртка */
  .domain-type-dropdown {
    position: relative !important;
    width: 100% !important;
    margin-bottom: 10px !important;
    font-family: "Inter", sans-serif !important;
  }

  .domain-type-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 52px !important;
    padding: 0 16px !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #1a1d21 !important;
    cursor: pointer !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
    text-align: left !important;
  }

  .domain-type-btn svg {
    flex-shrink: 0 !important;
    color: #6b7280 !important;
    transition: transform .2s !important;
  }

  .domain-type-dropdown.is-open .domain-type-btn {
    border-color: #0d87ef !important;
    box-shadow: 0 0 0 3px rgba(13,135,239,.15) !important;
  }

  .domain-type-dropdown.is-open .domain-type-btn svg {
    transform: rotate(180deg) !important;
  }

  /* Список опций */
  .domain-type-options {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    right: 0 !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
    padding: 6px !important;
    margin: 0 !important;
    list-style: none !important;
    z-index: 200 !important;
    overflow: hidden !important;
  }

  .domain-type-dropdown.is-open .domain-type-options {
    display: block !important;
  }

  .domain-type-option {
    padding: 12px 14px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #1a1d21 !important;
    cursor: pointer !important;
    list-style: none !important;
  }

  .domain-type-option:active,
  .domain-type-option:hover {
    background: #f3f4f6 !important;
  }

  .domain-type-option.is-active {
    color: #0d87ef !important;
    font-weight: 600 !important;
  }

  /* Строка поиска — контейнер */
  .domain-search-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    height: 52px !important;
    padding: 4px !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
    gap: 0 !important;
    overflow: hidden !important;
  }

  /* Скрыть select и разделитель внутри контейнера */
  .domain-search-container .domain-type-select,
  .domain-search-container .search-divider {
    display: none !important;
  }

  .domain-input {
    flex: 1 !important;
    width: auto !important;
    height: 44px !important;
    font-size: 15px !important;
    padding: 0 12px !important;
    min-width: 0 !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #1a1d21 !important;
  }

  .search-right-group {
    width: auto !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    padding-right: 4px !important;
  }

  /* Круглая кнопка поиска */
  .btn-search-main {
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: none !important;
    background: #0d87ef !important;
    color: #ffffff !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
  }

  .btn-search-main:active {
    background: #0076da !important;
  }

  /* Скрытые кнопки остаются скрытыми */
  .btn-search-main[style*="display: none"],
  .btn-search-main[style*="display:none"] {
    display: none !important;
  }

  .btn-search-main .search-text {
    display: none !important;
  }

  /* SVG иконка лупы */
  .btn-search-main .search-icon {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    color: #ffffff !important;
    flex-shrink: 0 !important;
  }


/* ======================================================
   max-width: 767px  —  Login, domain checker overflow
   ====================================================== */

@media (max-width: 767px) {

  /* --- Login --- */
  .logincontainer .login-form [align="center"] {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .logincontainer .login-form [type="submit"],
  .logincontainer .login-form a.btn {
    width: 100% !important;
  }

  /* --- Domain checker --- */
  .panel-body form[action="domainchecker.php"] .input-group {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: auto;
  }

  .panel-body form[action="domainchecker.php"] input[name="domain"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  .panel-body form[action="domainchecker.php"] .input-group-btn {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px;
    margin-top: 14px;
    width: 100% !important;
  }

  .panel-body form[action="domainchecker.php"] .input-group-btn .btn {
    width: 100% !important;
    height: 44px !important;
    font-size: 15px !important;
    font-weight: 600;
    border-radius: 12px !important;
  }

  .panel-body form[action="domainchecker.php"] .input-group {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .panel-accent-green,
  .panel-accent-green .panel,
  .panel-accent-green .panel-body {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .client-home-panels .panel-body {
    overflow: visible !important;
  }
}


/* ======================================================
   max-width: 650px  —  Chat widget
   ====================================================== */

@media (max-width: 650px) {

  #chat-widget {
    right: 16px;
    bottom: 16px;
  }

  #chat-toggle {
    width: 56px;
    height: 56px;
    box-shadow: 0 8px 20px rgba(0,0,0,.25);
  }

  #chat-panel {
    position: fixed;
    right: 12px;
    left: 12px;
    bottom: 84px;
    width: auto;
    max-width: none;
    padding: 16px;
    border-radius: 16px;
  }

  #chat-panel h4 {
    font-size: 15px;
  }

  #chat-panel p {
    font-size: 13px;
    margin-bottom: 12px;
  }

  .chat-links {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .chat-item {
    min-height: 88px;
    font-size: 13px;
    padding: 12px 8px;
  }

  .chat-item img {
    width: 28px;
    height: 28px;
    margin-bottom: 6px;
  }

  .chat-item span {
    font-size: 13px;
  }

  .chat-item--phone .chat-hint {
    font-size: 11px;
  }

  .faq-link {
    padding: 12px 10px;
    font-size: 13px;
  }
}


/* ======================================================
   max-width: 390px  —  Маленькие телефоны
   ====================================================== */

@media (max-width: 390px) {

  /* --- Header --- */
  .nav-notifications span {
    display: none !important;
  }

  .lang-toggle {
    padding: 0 6px !important;
    font-size: 11px !important;
  }

  /* --- Domain checker --- */
  .panel-body form[action="domainchecker.php"] .input-group-btn .btn {
    height: 42px !important;
    font-size: 14px !important;
    padding: 0 12px !important;
  }

  /* --- Client home panels --- */
  .client-home-panels .panel {
    min-height: 300px !important;
  }

  .client-home-panels .panel-title {
    font-size: 14px !important;
  }

  .client-home-panels .panel-heading .pull-right .btn {
    font-size: 12px !important;
    padding: 0 10px !important;
  }

  .panel-title::before {
    width: 32px !important;
    height: 32px !important;
    background-size: 18px 18px !important;
  }
}


/* ======================================================
   max-width: 360px  —  Очень маленькие экраны
   ====================================================== */

@media (max-width: 360px) {

  /* --- Header --- */
  #header .logo img {
    height: 30px;
  }

  .lang-toggle,
  .top-nav .btn {
    height: 28px !important;
    padding: 0 6px !important;
    font-size: 11px !important;
  }

  /* --- Chat --- */
  .chat-links {
    grid-template-columns: 1fr;
  }

  .chat-item {
    min-height: 72px;
    flex-direction: row;
    gap: 10px;
    text-align: left;
    justify-content: flex-start;
    padding: 12px;
  }

  .chat-item img {
    margin-bottom: 0;
  }

  .chat-item span,
  .chat-item--phone .chat-title {
    text-align: left;
  }

}}

/* --- Ultra-small screens: fit "С возвращением," on first line --- */
@media (max-width: 380px) {
  .header-lined h1 {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }
}

/* Desktop: domains table — hide wrench button, keep only dropdown */
#tableDomainsList .btn-group > .btn:first-child {
  display: none !important;
}
#tableDomainsList .btn-group > .btn.dropdown-toggle {
  border-radius: 4px !important;
}


/* ======================================================
   TABLES MOBILE — Card View  (max-width: 767px)
   ====================================================== */

@media (max-width: 767px) {

  /* --- Sidebar panels: always show body, hide chevron --- */
  #main-body .sidebar .panel-sidebar,
  #main-body .sidebar-secondary .panel-sidebar {
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03) !important;
    border: 1px solid #f1f5f9 !important;
    margin-bottom: 16px !important;
  }

  #main-body .sidebar .panel-sidebar .panel-heading,
  #main-body .sidebar-secondary .panel-sidebar .panel-heading {
    padding: 14px 16px !important;
    border-bottom: 1px solid #f1f5f9 !important;
  }

  #main-body .sidebar .panel-sidebar .panel-title,
  #main-body .sidebar-secondary .panel-sidebar .panel-title {
    font-size: 15px !important;
  }

  #main-body .sidebar .panel-sidebar .panel-body,
  #main-body .sidebar-secondary .panel-sidebar .panel-body {
    display: block !important;
    padding: 4px 0 !important;
  }

  #main-body .sidebar .panel-sidebar .panel-minimise,
  #main-body .sidebar-secondary .panel-sidebar .panel-minimise {
    display: none !important;
  }

  #main-body .sidebar .panel-sidebar .panel-body table,
  #main-body .sidebar-secondary .panel-sidebar .panel-body table {
    width: 100% !important;
    border-collapse: collapse !important;
  }

  #main-body .sidebar .panel-sidebar .panel-body table td,
  #main-body .sidebar-secondary .panel-sidebar .panel-body table td {
    padding: 8px 16px !important;
    border: none !important;
    border-bottom: 1px solid #f8fafc !important;
    font-size: 14px !important;
  }

  #main-body .sidebar .panel-sidebar .panel-body table td:last-child,
  #main-body .sidebar-secondary .panel-sidebar .panel-body table td:last-child {
    text-align: right !important;
    font-weight: 600 !important;
  }

  /* ---- DataTables controls ---- */
  .dataTables_wrapper { font-size: 13px !important; }

  .dataTables_length label,
  .dataTables_filter label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
  }

  .dataTables_length select {
    height: 32px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
    padding: 0 6px !important;
  }

  .dataTables_filter input {
    height: 34px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
    padding: 0 10px !important;
  }

  .dataTables_info { font-size: 12px !important; }

  .dataTables_paginate .paginate_button {
    padding: 4px 8px !important;
    font-size: 13px !important;
  }

  /* ---- Card view base: ALL .table-list DataTables ---- */

  .table.table-list thead { display: none !important; }

  .table.table-list,
  .table.table-list tbody,
  .table.table-list tbody tr {
    display: block !important;
    width: 100% !important;
  }

  .table.table-list tbody tr {
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    margin-bottom: 8px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
  }

  .table.table-list tbody tr:hover,
  .table.table-list tbody tr.odd:hover,
  .table.table-list tbody tr.even:hover {
    background: #f8fafc !important;
  }

  .table.table-list tbody tr.odd,
  .table.table-list tbody tr.even {
    background: #ffffff !important;
  }

  .table.table-list tbody td {
    display: block !important;
    border: none !important;
    padding: 3px 0 !important;
    text-align: left !important;
    font-size: 13px !important;
    color: #374151 !important;
    min-height: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
  }

  /* ---- Shared heading cell (main identifier per row) ---- */
  #tableServicesList tbody td:nth-child(2),
  #tableInvoicesList tbody td:nth-child(1),
  #tableDomainsList tbody td:nth-child(3),
  #tableEmailsList tbody td:nth-child(2),
  #tableQuotesList tbody td:nth-child(2),
  #tableAffiliatesList tbody td:nth-child(2),
  #tableDomainPricing tbody td:nth-child(1),
  #tableSslList tbody td:nth-child(1) {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #111827 !important;
    padding-bottom: 6px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    margin-bottom: 4px !important;
  }

  #tableTicketsList tbody td:nth-child(2) {
    font-weight: 500 !important;
    font-size: 14px !important;
    color: #111827 !important;
    padding-bottom: 6px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    margin-bottom: 4px !important;
  }

  /* ---- Shared ::before label visual style ---- */
  #tableServicesList tbody td:nth-child(3)::before,
  #tableServicesList tbody td:nth-child(4)::before,
  #tableInvoicesList tbody td:nth-child(2)::before,
  #tableInvoicesList tbody td:nth-child(3)::before,
  #tableInvoicesList tbody td:nth-child(4)::before,
  #tableDomainsList tbody td:nth-child(4)::before,
  #tableDomainsList tbody td:nth-child(5)::before,
  #tableDomainsList tbody td:nth-child(6)::before,
  #tableTicketsList tbody td:nth-child(1)::before,
  #tableTicketsList tbody td:nth-child(4)::before,
  #tableEmailsList tbody td:nth-child(1)::before,
  #tableQuotesList tbody td:nth-child(1)::before,
  #tableQuotesList tbody td:nth-child(3)::before,
  #tableQuotesList tbody td:nth-child(4)::before,
  #tableAffiliatesList tbody td:nth-child(1)::before,
  #tableAffiliatesList tbody td:nth-child(3)::before,
  #tableAffiliatesList tbody td:nth-child(4)::before,
  #tableDomainPricing tbody td:nth-child(2)::before,
  #tableDomainPricing tbody td:nth-child(3)::before,
  #tableDomainPricing tbody td:nth-child(4)::before,
  #tableDomainPricing tbody td:nth-child(5)::before,
  #tableDomainPricing tbody td:nth-child(6)::before,
  #tableDomainPricing tbody td:nth-child(7)::before,
  #tableSslList tbody td:nth-child(2)::before,
  #tableSslList tbody td:nth-child(3)::before,
  #tableSslList tbody td:nth-child(4)::before {
    display: block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 1px !important;
  }

  /* ---- Label text per column ---- */

  /* tableServicesList: [1]icon [2]product [3]price [4]due [5]status [6]edit-btn */
  #tableServicesList tbody td:nth-child(3)::before { content: "Цена" !important; }
  #tableServicesList tbody td:nth-child(4)::before { content: "Дата оплаты" !important; }

  /* tableInvoicesList: [1]invoice# [2]created [3]due [4]total [5]status [6]view-btn */
  #tableInvoicesList tbody td:nth-child(2)::before { content: "Создан" !important; }
  #tableInvoicesList tbody td:nth-child(3)::before { content: "Срок оплаты" !important; }
  #tableInvoicesList tbody td:nth-child(4)::before { content: "Сумма" !important; }
  #tableInvoicesList tbody td:nth-child(4) { font-weight: 600 !important; color: #111827 !important; }

  /* tableDomainsList: [1]check [2]icon [3]domain [4]regdate [5]due [6]autorenew [7]status [8]actions */
  #tableDomainsList tbody td:nth-child(4)::before { content: "Дата регистрации" !important; }
  #tableDomainsList tbody td:nth-child(5)::before { content: "Дата оплаты" !important; }
  #tableDomainsList tbody td:nth-child(6)::before { content: "Авто-продление" !important; }

  /* tableTicketsList: [1]dept [2]subject [3]status [4]lastupdated */
  #tableTicketsList tbody td:nth-child(1)::before { content: "Отдел" !important; }
  #tableTicketsList tbody td:nth-child(4)::before { content: "Обновлён" !important; }

  /* tableEmailsList: [1]date [2]subject [3]view-btn */
  #tableEmailsList tbody td:nth-child(1)::before { content: "Дата" !important; }

  /* tableQuotesList: [1]quote# [2]subject [3]created [4]validuntil [5]stage [6]download [7]edit-btn */
  #tableQuotesList tbody td:nth-child(1)::before { content: "Предложение #" !important; }
  #tableQuotesList tbody td:nth-child(3)::before { content: "Создано" !important; }
  #tableQuotesList tbody td:nth-child(4)::before { content: "Действителен до" !important; }

  /* tableAffiliatesList: [1]date [2]product [3]amount [4]commission [5]status */
  #tableAffiliatesList tbody td:nth-child(1)::before { content: "Дата" !important; }
  #tableAffiliatesList tbody td:nth-child(3)::before { content: "Сумма" !important; }
  #tableAffiliatesList tbody td:nth-child(4)::before { content: "Комиссия" !important; }

  /* tableDomainPricing: [1]tld [2]category [3]register [4]transfer [5]renewal [6]grace [7]redemption */
  #tableDomainPricing tbody td:nth-child(1) { font-weight: 700 !important; font-size: 16px !important; }
  #tableDomainPricing tbody td:nth-child(2)::before { content: "Категория" !important; }
  #tableDomainPricing tbody td:nth-child(3)::before { content: "Регистрация" !important; }
  #tableDomainPricing tbody td:nth-child(4)::before { content: "Трансфер" !important; }
  #tableDomainPricing tbody td:nth-child(5)::before { content: "Продление" !important; }
  #tableDomainPricing tbody td:nth-child(6)::before { content: "Grace period" !important; }
  #tableDomainPricing tbody td:nth-child(7)::before { content: "Redemption" !important; }

  /* tableSslList: [1]domain [2]product [3]orderdate [4]renewal [5]actions */
  #tableSslList tbody td:nth-child(2)::before { content: "Продукт" !important; }
  #tableSslList tbody td:nth-child(3)::before { content: "Дата заказа" !important; }
  #tableSslList tbody td:nth-child(4)::before { content: "Продление" !important; }

  /* ---- Columns hidden on mobile ---- */
  #tableServicesList tbody td:nth-child(1) { display: none !important; }
  #tableDomainsList tbody td:nth-child(1),
  #tableDomainsList tbody td:nth-child(2) { display: none !important; }

  /* ---- Department label style (tickets) ---- */
  #tableTicketsList tbody td:nth-child(1) {
    font-size: 12px !important;
    color: #6b7280 !important;
  }

  /* ---- Responsive edit button: override inline display:none ---- */
  .table.table-list tbody td.responsive-edit-button {
    display: block !important;
    padding-top: 8px !important;
    border-top: 1px solid #f1f5f9 !important;
    margin-top: 4px !important;
  }
  .table.table-list tbody td.responsive-edit-button .btn {
    width: 100% !important;
    height: 38px !important;
    font-size: 13px !important;
    border-radius: 10px !important;
  }

  /* ---- Action areas (divider + bottom of card) ---- */
  #tableDomainsList tbody td:nth-child(8),
  #tableSslList tbody td:nth-child(5) {
    padding-top: 8px !important;
    border-top: 1px solid #f1f5f9 !important;
    margin-top: 4px !important;
  }

  /* Domains: action btn-group full width — hide wrench, keep only dropdown */
  #tableDomainsList tbody td:nth-child(8) .btn-group {
    width: 100% !important;
    display: flex !important;
  }
  /* Hide the wrench shortcut button (same page as dropdown first item) */
  #tableDomainsList tbody td:nth-child(8) .btn-group > .btn:first-child {
    display: none !important;
  }
  /* Dropdown toggle: full-width with "Действия" label */
  #tableDomainsList tbody td:nth-child(8) .btn-group > .btn.dropdown-toggle {
    flex: 1 !important;
    width: 100% !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
  }

  /* SSL: action buttons stacked */
  #tableSslList tbody td:nth-child(5) .btn {
    display: block !important;
    width: 100% !important;
    font-size: 13px !important;
    border-radius: 10px !important;
    margin-bottom: 4px !important;
  }

  /* Emails: view button */
  #tableEmailsList tbody td:nth-child(3) { padding-top: 8px !important; }
  #tableEmailsList tbody td:nth-child(3) input.btn {
    width: 100% !important;
    height: 38px !important;
    font-size: 13px !important;
    border-radius: 10px !important;
  }

  /* Quotes: download button */
  #tableQuotesList tbody td:nth-child(6) { padding-top: 8px !important; }
  #tableQuotesList tbody td:nth-child(6) .btn { width: 100% !important; }

  /* ============================================================
     tableLinkedAccounts (AJAX DataTable, class="table display data-driven")
     Cols: [1]provider [2]name [3]email [4]actions
     ============================================================ */
  #tableLinkedAccounts thead { display: none !important; }

  #tableLinkedAccounts,
  #tableLinkedAccounts tbody,
  #tableLinkedAccounts tbody tr {
    display: block !important;
    width: 100% !important;
  }

  #tableLinkedAccounts tbody tr {
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    margin-bottom: 8px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }

  #tableLinkedAccounts tbody td {
    display: block !important;
    border: none !important;
    padding: 3px 0 !important;
    font-size: 13px !important;
    color: #374151 !important;
  }

  #tableLinkedAccounts tbody td::before {
    display: block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
  }

  #tableLinkedAccounts tbody td:nth-child(1)::before { content: "Провайдер" !important; }
  #tableLinkedAccounts tbody td:nth-child(2) {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #111827 !important;
    padding-bottom: 6px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    margin-bottom: 4px !important;
  }
  #tableLinkedAccounts tbody td:nth-child(3)::before { content: "Email" !important; }
  #tableLinkedAccounts tbody td:nth-child(4) {
    padding-top: 8px !important;
    border-top: 1px solid #f1f5f9 !important;
    margin-top: 4px !important;
  }
  #tableLinkedAccounts tbody td:nth-child(4) .btn {
    width: 100% !important;
    height: 36px !important;
    font-size: 13px !important;
    border-radius: 10px !important;
  }

  /* ============================================================
     payMethodList (regular .table-striped, no explicit thead/tbody)
     Cols: [1]icon [2]name [3]description [4]status [5]actions
     ============================================================ */
  #payMethodList {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  #payMethodList tr:first-child { display: none !important; }

  #payMethodList tr {
    display: block !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    margin-bottom: 8px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  #payMethodList td {
    display: block !important;
    border: none !important;
    padding: 3px 0 !important;
    font-size: 13px !important;
    color: #374151 !important;
    text-align: left !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  #payMethodList td::before {
    display: block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
  }

  #payMethodList td:nth-child(1) {
    font-size: 20px !important;
    padding-bottom: 4px !important;
  }

  #payMethodList td:nth-child(2) {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #111827 !important;
    padding-bottom: 6px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    margin-bottom: 4px !important;
  }

  #payMethodList td:nth-child(3)::before { content: "Описание" !important; }
  #payMethodList td:nth-child(4)::before { content: "Статус" !important; }

  #payMethodList td:nth-child(5) {
    padding-top: 8px !important;
    border-top: 1px solid #f1f5f9 !important;
    margin-top: 4px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  #payMethodList td:nth-child(5) .btn {
    flex: 1 1 auto !important;
    min-width: 80px !important;
    height: 36px !important;
    font-size: 12px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
  }
}


/* ======================================================
   TABLES MOBILE — Polish Fixes
   ====================================================== */

@media (max-width: 767px) {

  /* ---- DataTables filter: look like a real search field ---- */
  .dataTables_filter {
    margin-bottom: 8px !important;
  }

  .dataTables_filter label {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .dataTables_filter input {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    height: 42px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 0 12px 0 38px !important;
    font-size: 14px !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 12px center !important;
    background-size: 16px 16px !important;
    box-shadow: none !important;
  }

  .dataTables_filter input:focus {
    border-color: #0d87ef !important;
    box-shadow: 0 0 0 3px rgba(13,135,239,.12) !important;
    outline: none !important;
  }

  /* ---- DataTables info ---- */
  .dataTables_info {
    font-size: 13px !important;
    color: #9ca3af !important;
    padding: 4px 2px 8px !important;
  }

  /* ---- DataTables length select ---- */
  .dataTables_length {
    margin-top: 6px !important;
  }

  .dataTables_length label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    color: #6b7280 !important;
  }

  .dataTables_length select {
    height: 34px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
    border: 1.5px solid #e2e8f0 !important;
    padding: 0 8px !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
  }

  /* ---- DataTables pagination ---- */
  .dataTables_paginate {
    margin-top: 8px !important;
  }

  .dataTables_paginate .paginate_button {
    border-radius: 8px !important;
    font-size: 13px !important;
    padding: 5px 10px !important;
  }

  /* ---- Empty state row: no labels, centred text ---- */
  .table.table-list tbody td.dataTables_empty {
    text-align: center !important;
    padding: 24px 0 !important;
    color: #9ca3af !important;
    font-size: 14px !important;
    font-style: italic !important;
    border-bottom: none !important;
  }

  .table.table-list tbody td.dataTables_empty::before {
    content: none !important;
    display: none !important;
  }

  /* ---- DataTables Responsive: hide child rows (our card replaces them) ---- */
  .table.table-list tbody tr.child {
    display: none !important;
  }

  .table.table-list tbody td.dtr-control,
  .table.table-list tbody td.dtr-control::before {
    display: none !important;
  }

  /* ---- Domains: "With selected" bulk action dropdown ---- */
  #domainForm ~ .btn-group {
    display: block !important;
    width: 100% !important;
    margin-top: 12px !important;
  }

  #domainForm ~ .btn-group > .btn.dropdown-toggle {
    width: 100% !important;
    border-radius: 10px !important;
    height: 40px !important;
    font-size: 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  #domainForm ~ .btn-group > .btn.dropdown-toggle .caret {
    margin-left: auto !important;
  }

  /* ---- .listtable: info (left) + search (right) via CSS Grid ----
     html body prefix raises specificity above dataTables.bootstrap.css
     which loads later (in <body> via tablelist.tpl).                  */
  html body .listtable {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 148px !important;
    align-items: stretch !important;
  }

  /* info: left cell — text wraps naturally as a block */
  html body .listtable > .dataTables_info {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: block !important;
    padding: 8px 14px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    font-size: 13px !important;
    color: #9ca3af !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    overflow: hidden !important;
    min-width: 0 !important;
  }

  /* filter: right cell, vertically centred, static (not absolute) */
  html body .listtable > .dataTables_filter {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: static !important;
    width: auto !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 6px 12px 6px 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  html body .listtable > .dataTables_filter label {
    display: block !important;
    width: 136px !important;
    margin: 0 !important;
  }

  html body .listtable > .dataTables_filter input {
    display: block !important;
    width: 136px !important;
    box-sizing: border-box !important;
    height: 34px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 0 10px 0 30px !important;
    font-size: 13px !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 9px center !important;
    background-size: 13px 13px !important;
    box-shadow: none !important;
  }

  html body .listtable > .dataTables_filter input:focus {
    border-color: #0d87ef !important;
    outline: none !important;
  }

  /* table: second grid row, spans both columns */
  html body .listtable > table {
    grid-column: 1 / 3 !important;
    grid-row: 2 !important;
    width: 100% !important;
  }

  /* ---- "С отмеченным" bulk action: compact, not full-width ---- */
  #domainForm ~ .btn-group {
    display: inline-block !important;
    width: auto !important;
    margin-top: 12px !important;
  }

  #domainForm ~ .btn-group > .btn.dropdown-toggle {
    width: auto !important;
    min-width: 160px !important;
    border-radius: 10px !important;
    height: 38px !important;
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 14px !important;
  }

  #domainForm ~ .btn-group > .btn.dropdown-toggle .caret {
    margin-left: 6px !important;
  }

  /* ---- Homepage: benefits-grid 2 columns on mobile ---- */
  .hosting-features-section {
    padding: 30px 0 !important;
  }

  .hosting-features-section .benefits-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }

  .hosting-features-section .benefit-card {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 14px !important;
    border-radius: 14px !important;
    gap: 6px !important;
  }

  .hosting-features-section .benefit-icon {
    width: 28px !important;
    height: 28px !important;
  }

  .hosting-features-section .benefit-icon svg {
    width: 22px !important;
    height: 22px !important;
  }

  .hosting-features-section .benefit-title {
    font-size: 13px !important;
    line-height: 18px !important;
    margin: 2px 0 !important;
  }

  .hosting-features-section .benefit-desc {
    font-size: 12px !important;
    line-height: 17px !important;
  }

  /* ---- Homepage: transfer-wrapper — keep row layout (like desktop) ---- */
  .transfer-wrapper {
    flex-direction: row !important;
    padding: 16px !important;
    gap: 12px !important;
    align-items: flex-start !important;
    border-radius: 16px !important;
  }

  .transfer-left h2 {
    font-size: 16px !important;
    line-height: 22px !important;
    margin-bottom: 8px !important;
  }

  .transfer-desc {
    font-size: 12px !important;
    line-height: 18px !important;
    margin-bottom: 12px !important;
  }

  .transfer-points {
    gap: 8px !important;
    margin-bottom: 14px !important;
  }

  .t-point {
    font-size: 12px !important;
    line-height: 18px !important;
    gap: 6px !important;
  }

  .t-point svg {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
  }

  .btn-cta-blue {
    height: 36px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
    border-radius: 8px !important;
  }

  .transfer-steps-box {
    padding: 12px !important;
    gap: 8px !important;
    border-radius: 14px !important;
  }

  .transfer-step {
    padding: 10px 12px !important;
    gap: 8px !important;
    border-radius: 10px !important;
  }

  .ts-num {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    font-size: 12px !important;
  }

  .ts-text {
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
}
