/* =========================================================
   DRIVEBAZA.RU CUSTOM CSS
   Полный override поверх bootstrap / ssg.css
   ========================================================= */

:root {
  --db-accent: #ff8a1c;
  --db-accent-dark: #db6d00;
  --db-accent-light: #ffb467;

  --db-blue: #4b8fff;
  --db-blue-dark: #2c6edb;

  --db-bg: #eef2f7;
  --db-bg-2: #e8edf4;
  --db-bg-3: #dde5ef;

  --db-card: #ffffff;
  --db-card-2: #f8fafc;
  --db-card-dark: #16202c;
  --db-card-dark-2: #101924;
  --db-card-dark-3: #0d1520;

  --db-text: #18202b;
  --db-text-2: #536173;
  --db-text-3: #7a8798;

  --db-line: #dbe3ee;
  --db-line-2: #cfd9e6;
  --db-line-3: #bac8d9;

  --db-dark-line: rgba(255,255,255,.08);
  --db-dark-line-2: rgba(255,255,255,.12);

  --db-success: #22b573;
  --db-warning: #ffb020;
  --db-danger: #ef4d5a;

  --db-radius-xs: 10px;
  --db-radius-sm: 14px;
  --db-radius-md: 18px;
  --db-radius-lg: 24px;
  --db-radius-xl: 30px;

  --db-shadow-xs: 0 6px 18px rgba(16, 24, 40, 0.05);
  --db-shadow-sm: 0 10px 26px rgba(16, 24, 40, 0.07);
  --db-shadow: 0 14px 36px rgba(16, 24, 40, 0.09);
  --db-shadow-hover: 0 20px 48px rgba(16, 24, 40, 0.13);

  --db-grad-accent: linear-gradient(135deg, #ffb15f 0%, #ff8a1c 58%, #db6d00 100%);
  --db-grad-blue: linear-gradient(135deg, #6ba7ff 0%, #4b8fff 55%, #2c6edb 100%);
  --db-grad-dark: linear-gradient(135deg, #1e2733 0%, #111822 100%);
  --db-grad-dark-soft: linear-gradient(180deg, #1b2430 0%, #111923 100%);
  --db-grad-body:
    radial-gradient(circle at top left, rgba(255,138,28,.08), transparent 22%),
    radial-gradient(circle at top right, rgba(75,143,255,.08), transparent 18%),
    linear-gradient(180deg, #f4f7fb 0%, #eaf0f7 100%);

  --db-container-max: 1286px;
}

/* =========================================================
   BASE
   ========================================================= */

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Rubik', sans-serif;
  color: var(--db-text);
  background: var(--db-grad-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.container {
  max-width: var(--db-container-max);
}

a {
  color: var(--db-accent-dark);
  text-decoration: none;
  transition: color .2s ease, transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

a:hover,
a:focus {
  color: var(--db-accent);
  text-decoration: none;
}

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

::selection {
  background: var(--db-accent);
  color: #fff;
}

/* =========================================================
   TYPOGRAPHY
   ========================================================= */

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--db-text);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.18;
}

p, li, span, small, div {
  color: inherit;
}

.text-muted,
.text-secondary {
  color: var(--db-text-2) !important;
}

.text-primary {
  color: var(--db-accent-dark) !important;
}

.text-info {
  color: var(--db-blue-dark) !important;
}

/* =========================================================
   HEADER / MENU
   ========================================================= */

.switch-nav,
.navbar,
body > .navbar,
body header.navbar,
body .site-header,
body .topbar,
body .main-header,
body > nav.navbar {
  background: rgba(18, 24, 34, 0.96) !important;
  border-bottom: 1px solid rgba(255,255,255,.07);
  box-shadow: 0 14px 30px rgba(0,0,0,.14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.switch-nav {
  padding-top: 8px;
  padding-bottom: 8px;
}

.switch-nav .container {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}

.switch-brand,
.navbar-brand,
.logo,
.site-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
  padding: 0;
  margin-right: 16px;
  flex: 0 0 auto;
}

.switch-logo {
  position: relative;
  display: flex;
  align-items: center;
  gap: 7px;
  width: 44px;
  height: 32px;
  flex: 0 0 auto;
}

.switch-logo-left,
.switch-logo-right {
  position: relative;
  display: block;
  width: 18px;
  height: 32px;
  border-radius: 11px;
  overflow: hidden;
  transform: skewX(-8deg);
}

.switch-logo-left {
  background: linear-gradient(180deg, #ffb15f 0%, #ff8a1c 100%);
  box-shadow: 0 10px 22px rgba(255,138,28,.26);
}

.switch-logo-right {
  background: linear-gradient(180deg, #ffffff 0%, #b9c4d2 100%);
  box-shadow: 0 10px 22px rgba(255,255,255,.10);
}

.switch-logo-left::before,
.switch-logo-right::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.24);
}

.switch-logo-left::after {
  content: "";
  position: absolute;
  right: 4px;
  top: 7px;
  bottom: 7px;
  width: 3px;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
}

.switch-logo-right::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 7px;
  bottom: 7px;
  width: 3px;
  border-radius: 999px;
  background: rgba(24,32,43,.25);
}

.switch-brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.switch-brand-main {
  font-size: 17px;
  font-weight: 900;
  letter-spacing: -0.05em;
  color: #fff;
  text-transform: lowercase;
}

.switch-brand-sub {
  margin-top: 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--db-accent);
}

.switch-toggler,
.navbar-toggler {
  border: 0;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  box-shadow: none;
  padding: 8px 12px;
}

.switch-toggler:focus,
.navbar-toggler:focus {
  outline: none;
  box-shadow: 0 0 0 .2rem rgba(255,138,28,.12);
}

#navbarResponsive,
.navbar-collapse {
  align-items: center;
  min-width: 0;
}

.switch-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 2px;
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
}

.switch-menu .nav-item {
  margin: 0;
  flex: 0 1 auto;
  min-width: 0;
}

.navbar .nav-link,
.navbar-light .navbar-nav .nav-link,
.nav-link,
.switch-menu .nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 10px !important;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.01em;
  color: rgba(255,255,255,.92) !important;
  white-space: nowrap;
  word-break: normal;
  text-align: center;
  transition: all .22s ease;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
.navbar .active > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.switch-menu .nav-link:hover,
.switch-menu .nav-link:focus,
.switch-menu .nav-item.active .nav-link,
.switch-menu .nav-link.active {
  color: #fff !important;
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
  transform: translateY(-1px);
}

/* =========================================================
   SEARCH IN HEADER
   ========================================================= */

.switch-search-wrap {
  display: flex;
  align-items: center;
  margin-left: 14px !important;
  flex: 0 0 auto;
}

.switch-search-form {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

.switch-search-input {
  width: 190px;
  min-width: 190px;
  height: 40px;
  min-height: 40px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.94);
  color: var(--db-text);
  padding: 0 14px;
  box-shadow: none;
  max-height: none !important;
}

.switch-search-input::placeholder {
  color: #8a95a5;
}

.switch-search-input:focus {
  border-color: rgba(255,138,28,.32);
  background: #fff;
  box-shadow: 0 0 0 .2rem rgba(255,138,28,.10);
}

.switch-search-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 40px;
  min-height: 40px;
  padding: 0 15px;
  border: 0;
  border-radius: 16px;
  font-size: 14px;
  font-weight: 800;
  color: #fff;
  background: var(--db-grad-accent);
  box-shadow: 0 10px 22px rgba(255,138,28,.22);
  white-space: nowrap;
}

.switch-search-btn:hover,
.switch-search-btn:focus {
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(255,138,28,.28);
}

/* =========================================================
   MAIN INTRO / CATEGORY CARD
   ========================================================= */

.main-seo-text {
  padding: 20px 22px;
}

.main-seo-text h1 {
  margin: 0 0 10px;
  font-size: clamp(1.9rem, 3vw, 3.1rem);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: var(--db-text);
}

.main-seo-text p {
  margin: 0;
  font-size: 15px;
  line-height: 1.62;
  color: var(--db-text-2);
}

.card-link[data-toggle="collapse"] .card-body {
  background: linear-gradient(135deg, #ffffff 0%, #f5f8fc 100%);
  border: 1px solid var(--db-line);
  color: var(--db-text);
  box-shadow: var(--db-shadow-sm);
  border-radius: var(--db-radius-lg);
}

/* =========================================================
   CARDS
   ========================================================= */

.card {
  border: 1px solid var(--db-line);
  border-radius: var(--db-radius-lg);
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
  box-shadow: var(--db-shadow);
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.card:hover {
  transform: translateY(-3px);
  box-shadow: var(--db-shadow-hover);
  border-color: #cad6e4;
}

.card-body {
  padding: 1.25rem 1.25rem;
}

.card-title {
  color: var(--db-text);
  font-weight: 800;
}

/* =========================================================
   SHORTSTORY / POSTS
   ========================================================= */

.shortstory,
.story,
.post,
.article,
.entry,
.item,
.news-item,
.news-card,
.content-box,
.post-card,
.product-item,
.customcomments,
.lastcomments_main {
  position: relative;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
  border: 1px solid var(--db-line);
  border-radius: 28px;
  box-shadow: var(--db-shadow);
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.shortstory:hover,
.story:hover,
.post:hover,
.article:hover,
.entry:hover,
.item:hover,
.news-item:hover,
.news-card:hover,
.content-box:hover,
.post-card:hover,
.product-item:hover {
  transform: translateY(-4px);
  box-shadow: var(--db-shadow-hover);
  border-color: #cad6e4;
}

.shortstory .title,
.story .title,
.post .title,
.article .title,
.entry .title,
.item .title,
.shortstory h2,
.story h2,
.post h2,
.article h2,
.entry h2,
.item h2,
.shortstory h3,
.story h3,
.post h3,
.article h3,
.entry h3,
.item h3 {
  color: var(--db-text) !important;
  margin-bottom: .75rem;
  font-weight: 900;
}

.shortstory .title a,
.story .title a,
.post .title a,
.article .title a,
.entry .title a,
.item .title a,
.shortstory h2 a,
.story h2 a,
.post h2 a,
.article h2 a,
.entry h2 a,
.item h2 a,
.shortstory h3 a,
.story h3 a,
.post h3 a,
.article h3 a,
.entry h3 a,
.item h3 a {
  color: var(--db-text) !important;
}

.shortstory .title a:hover,
.story .title a:hover,
.post .title a:hover,
.article .title a:hover,
.entry .title a:hover,
.item .title a:hover,
.shortstory h2 a:hover,
.story h2 a:hover,
.post h2 a:hover,
.article h2 a:hover,
.entry h2 a:hover,
.item h2 a:hover {
  color: var(--db-accent-dark) !important;
}

.shortstory p,
.story p,
.post p,
.article p,
.entry p,
.item p,
.news-item p,
.news-card p,
.content-box p,
.post-card p {
  color: var(--db-text-2) !important;
}

.shortstory img,
.story img,
.post img,
.article img,
.entry img,
.item img,
.card img {
  border-radius: 18px;
}

/* =========================================================
   FIX TEXT READABILITY
   ========================================================= */

.shortstory *,
.story *,
.post *,
.article *,
.entry *,
.item *,
.news-item *,
.news-card *,
.content-box *,
.post-card *,
.card-body *,
.fs-body *,
.fs-content *,
.ai-article * {
  color: inherit;
}

.shortstory,
.story,
.post,
.article,
.entry,
.item,
.news-item,
.news-card,
.content-box,
.post-card,
.fs-article,
.fs-body,
.fs-content,
.ai-article {
  color: var(--db-text) !important;
}

.shortstory .text-muted,
.story .text-muted,
.post .text-muted,
.article .text-muted,
.entry .text-muted,
.item .text-muted,
.news-item .text-muted,
.news-card .text-muted,
.content-box .text-muted,
.post-card .text-muted,
.fs-body .text-muted,
.ai-article .text-muted {
  color: var(--db-text-2) !important;
}

/* =========================================================
   ARTICLE META
   ========================================================= */

.meta,
.post-meta,
.short-meta,
.entry-meta,
.fs-meta {
  color: var(--db-text-2) !important;
}

.meta a,
.post-meta a,
.short-meta a,
.entry-meta a,
.fs-meta a {
  color: var(--db-accent-dark) !important;
  font-weight: 700;
}

/* =========================================================
   BUTTONS
   ========================================================= */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 44px;
  padding: .68rem 1.05rem;
  font-weight: 800;
  line-height: 1.2;
  border-radius: 16px;
  border: 1px solid transparent;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}

.btn:hover,
.btn:focus {
  transform: translateY(-1px);
  text-decoration: none;
}

.btn-primary,
.btn-primary.disabled,
.btn-primary:disabled {
  color: #fff;
  background: var(--db-grad-accent);
  border-color: transparent;
  box-shadow: 0 12px 24px rgba(255,138,28,.22);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active {
  color: #fff;
  background: linear-gradient(135deg, #ffc27f 0%, #ff8a1c 64%, #d56600 100%);
  box-shadow: 0 16px 28px rgba(255,138,28,.28);
}

.btn-secondary {
  color: var(--db-text);
  background: #fff;
  border-color: var(--db-line);
  box-shadow: var(--db-shadow-xs);
}

.btn-secondary:hover,
.btn-secondary:focus {
  color: var(--db-accent-dark);
  background: #fff;
  border-color: #cfd9e6;
}

.btn-outline-primary {
  color: var(--db-accent-dark);
  background: #fff;
  border-color: rgba(255,138,28,.24);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  color: #fff;
  background: var(--db-grad-accent);
  border-color: transparent;
}

.btn-outline-secondary {
  color: var(--db-blue-dark);
  background: #fff;
  border-color: rgba(75,143,255,.20);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
  color: #fff;
  background: var(--db-grad-blue);
  border-color: transparent;
}

.btn-link {
  color: var(--db-accent-dark);
  font-weight: 800;
}

/* =========================================================
   FORMS
   ========================================================= */

.form-control,
input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
textarea,
select {
  width: 100%;
  min-height: 46px;
  padding: .68rem 1rem;
  color: var(--db-text);
  background: #ffffff;
  border: 1px solid var(--db-line-2);
  border-radius: 16px;
  box-shadow: inset 0 1px 1px rgba(15, 23, 42, 0.02);
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

textarea.form-control,
textarea {
  min-height: 120px;
}

.form-control:focus,
input:focus,
textarea:focus,
select:focus {
  color: var(--db-text);
  background: #fff;
  border-color: rgba(255,138,28,.34);
  box-shadow: 0 0 0 .2rem rgba(255,138,28,.10);
  outline: 0;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: #8b97a8;
}

/* =========================================================
   DROPDOWNS
   ========================================================= */

.dropdown-menu {
  padding: .55rem;
  border: 1px solid var(--db-line);
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(16,24,40,.14);
  background: rgba(255,255,255,.98);
}

.dropdown-item {
  border-radius: 12px;
  padding: .72rem .9rem;
  font-weight: 700;
  color: var(--db-text);
}

.dropdown-item:hover,
.dropdown-item:focus {
  color: var(--db-accent-dark);
  background: rgba(255,138,28,.08);
}

/* =========================================================
   TABLES
   ========================================================= */

.table {
  color: var(--db-text);
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--db-shadow);
}

.table th,
.table td {
  padding: .95rem 1rem;
  border-top: 1px solid var(--db-line);
  vertical-align: middle;
}

.table thead th {
  background: #f3f7fb;
  color: var(--db-text);
  font-weight: 800;
  border-bottom: 1px solid var(--db-line);
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255,138,28,.025);
}

.table-hover tbody tr:hover {
  color: var(--db-text);
  background-color: rgba(75,143,255,.05);
}

/* =========================================================
   SIDEBAR / LOGIN PANEL / USER MENU
   ========================================================= */

aside,
.sidebar,
.sidebar-box,
.widget,
.side-block,
.right-sidebar {
  position: relative;
}

.sidebar .card,
.sidebar-box .card,
.widget.card,
.side-block .card,
.col-lg-3 .card {
  border-radius: 28px;
  margin-top: 1.5rem !important;
  overflow: hidden;
}

/* общий тёмный вид сайдбара */
.col-lg-3 .card,
.sidebar .card,
.widget .card {
  background: linear-gradient(180deg, #18212d 0%, #121a24 100%);
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 16px 38px rgba(7,12,18,.18);
}

/* верхняя часть карточек */
.col-lg-3 .card .card-body,
.sidebar .card .card-body,
.widget .card .card-body {
  background: transparent;
  color: rgba(255,255,255,.92);
}

.col-lg-3 .card *,
.sidebar .card *,
.widget .card * {
  color: rgb(255 255 255 / 92%);
}

.col-lg-3 .card .text-muted,
.sidebar .card .text-muted,
.widget .card .text-muted {
  color: rgba(255,255,255,.62) !important;
}

.col-lg-3 .card a,
.sidebar .card a,
.widget .card a {
  color: #fff;
}

.col-lg-3 .card a:hover,
.sidebar .card a:hover,
.widget .card a:hover {
  color: var(--db-accent-light);
}

.col-lg-3 .card-title,
.sidebar .card-title,
.widget .card-title {
  position: relative;
  padding-left: 16px;
  color: #fff;
}

.col-lg-3 .card-title::before,
.sidebar .card-title::before,
.widget .card-title::before {
  content: "";
  position: absolute;
  top: .15em;
  left: 0;
  width: 6px;
  height: 1.1em;
  border-radius: 999px;
  background: var(--db-grad-accent);
}

/* ===== логин / профиль / список ссылок ===== */

.col-lg-3 .card ul,
.col-lg-3 .card ol,
.sidebar .card ul,
.sidebar .card ol,
.widget .card ul,
.widget .card ol {
  list-style: none;
  margin: 0;
  padding: 0;
  background: transparent;
}

.col-lg-3 .card li,
.sidebar .card li,
.widget .card li {
  list-style: none;
  margin: 0;
  padding: 0;
  background: transparent !important;
}

.col-lg-3 .card .list-group,
.sidebar .card .list-group,
.widget .card .list-group {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.col-lg-3 .card .list-group-item,
.sidebar .card .list-group-item,
.widget .card .list-group-item {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.90) !important;
  padding: 14px 20px !important;
  font-weight: 700;
}

.col-lg-3 .card .list-group-item:first-child,
.sidebar .card .list-group-item:first-child,
.widget .card .list-group-item:first-child {
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

.col-lg-3 .card .list-group-item:hover,
.sidebar .card .list-group-item:hover,
.widget .card .list-group-item:hover {
  background: rgba(255,255,255,.05) !important;
  color: #fff !important;
}

.col-lg-3 .card .list-group-item a,
.sidebar .card .list-group-item a,
.widget .card .list-group-item a {
  color: rgba(255,255,255,.90) !important;
  display: block;
}

.col-lg-3 .card .list-group-item a:hover,
.sidebar .card .list-group-item a:hover,
.widget .card .list-group-item a:hover {
  color: var(--db-accent-light) !important;
}

.col-lg-3 .card hr,
.sidebar .card hr,
.widget .card hr {
  margin: 0;
  border-top: 1px solid rgba(255,255,255,.08);
}

/* ссылки профиля вне list-group */
.col-lg-3 .card .nav,
.col-lg-3 .card .menu,
.col-lg-3 .card .user-menu,
.sidebar .card .nav,
.sidebar .card .menu,
.sidebar .card .user-menu,
.widget .card .nav,
.widget .card .menu,
.widget .card .user-menu {
  display: block;
  margin: 0;
  padding: 0;
  background: transparent;
}

.col-lg-3 .card .nav > a,
.col-lg-3 .card .menu > a,
.col-lg-3 .card .user-menu > a,
.sidebar .card .nav > a,
.sidebar .card .menu > a,
.sidebar .card .user-menu > a,
.widget .card .nav > a,
.widget .card .menu > a,
.widget .card .user-menu > a,
.col-lg-3 .card .nav > li > a,
.col-lg-3 .card .menu > li > a,
.col-lg-3 .card .user-menu > li > a,
.sidebar .card .nav > li > a,
.sidebar .card .menu > li > a,
.sidebar .card .user-menu > li > a,
.widget .card .nav > li > a,
.widget .card .menu > li > a,
.widget .card .user-menu > li > a {
  display: block;
  padding: 14px 20px;
  color: rgba(255,255,255,.90) !important;
  border-top: 1px solid rgba(255,255,255,.08);
  background: transparent !important;
  font-weight: 700;
}

.col-lg-3 .card .nav > a:hover,
.col-lg-3 .card .menu > a:hover,
.col-lg-3 .card .user-menu > a:hover,
.sidebar .card .nav > a:hover,
.sidebar .card .menu > a:hover,
.sidebar .card .user-menu > a:hover,
.widget .card .nav > a:hover,
.widget .card .menu > a:hover,
.widget .card .user-menu > a:hover,
.col-lg-3 .card .nav > li > a:hover,
.col-lg-3 .card .menu > li > a:hover,
.col-lg-3 .card .user-menu > li > a:hover,
.sidebar .card .nav > li > a:hover,
.sidebar .card .menu > li > a:hover,
.sidebar .card .user-menu > li > a:hover,
.widget .card .nav > li > a:hover,
.widget .card .menu > li > a:hover,
.widget .card .user-menu > li > a:hover {
  background: rgba(255,255,255,.05) !important;
  color: var(--db-accent-light) !important;
}

/* если шаблон рисует белые плашки внутри карточки */
.col-lg-3 .card .bg-white,
.col-lg-3 .card .bg-light,
.col-lg-3 .card .table,
.col-lg-3 .card .table tr,
.col-lg-3 .card .table td,
.col-lg-3 .card .table th,
.sidebar .card .bg-white,
.sidebar .card .bg-light,
.sidebar .card .table,
.sidebar .card .table tr,
.sidebar .card .table td,
.sidebar .card .table th,
.widget .card .bg-white,
.widget .card .bg-light,
.widget .card .table,
.widget .card .table tr,
.widget .card .table td,
.widget .card .table th {
  background: transparent !important;
  color: rgba(255,255,255,.90) !important;
  border-color: rgba(255,255,255,.08) !important;
}

/* аватар / приветствие */
.col-lg-3 .card img[alt*="avatar"],
.col-lg-3 .card .avatar,
.sidebar .card img[alt*="avatar"],
.sidebar .card .avatar,
.widget .card img[alt*="avatar"],
.widget .card .avatar {
  border-radius: 16px !important;
}

/* кнопка в профиле */
.col-lg-3 .card .btn,
.sidebar .card .btn,
.widget .card .btn {
  border-radius: 14px;
}

.col-lg-3 .card .btn-primary,
.sidebar .card .btn-primary,
.widget .card .btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, #5c88f4 0%, #4f78df 100%) !important;
  border: 0 !important;
  box-shadow: 0 10px 22px rgba(79,120,223,.22) !important;
}

.col-lg-3 .card .btn-primary:hover,
.sidebar .card .btn-primary:hover,
.widget .card .btn-primary:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #6a95ff 0%, #4f78df 100%) !important;
}

/* =========================================================
   PAGINATION
   ========================================================= */

.pagination {
  gap: .45rem;
  flex-wrap: wrap;
}

.page-link {
  min-width: 42px;
  height: 42px;
  padding: 0 .85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--db-line);
  border-radius: 999px !important;
  background: #fff;
  color: var(--db-text);
  font-weight: 800;
  box-shadow: var(--db-shadow-xs);
}

.page-link:hover {
  color: var(--db-accent-dark);
  background: rgba(255,138,28,.05);
  border-color: rgba(255,138,28,.14);
}

.page-item.active .page-link {
  color: #fff;
  background: var(--db-grad-accent);
  border-color: transparent;
  box-shadow: 0 12px 24px rgba(255,138,28,.20);
}

.page-item.disabled .page-link {
  opacity: .5;
  background: #fff;
}

/* =========================================================
   BREADCRUMB
   ========================================================= */

.breadcrumb {
  padding: .8rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,.80);
  border: 1px solid var(--db-line);
  box-shadow: var(--db-shadow-xs);
}

.breadcrumb-item + .breadcrumb-item::before {
  color: #95a1b0;
}

.breadcrumb a {
  color: var(--db-text);
  font-weight: 700;
}

.breadcrumb a:hover {
  color: var(--db-accent-dark);
}

/* =========================================================
   BADGES
   ========================================================= */

.badge,
.label,
.tag,
.meta-badge,
.cat-label {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .45rem .78rem;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
  border: 0;
}

.badge-primary,
.label-primary,
.tag-primary {
  color: var(--db-accent-dark);
  background: rgba(255,138,28,.10);
}

.badge-info,
.label-info,
.tag-info {
  color: var(--db-blue-dark);
  background: rgba(75,143,255,.12);
}

.badge-success,
.label-success,
.tag-success {
  color: #129763;
  background: rgba(34,181,115,.12);
}

.badge-warning,
.label-warning,
.tag-warning {
  color: #a36b00;
  background: rgba(255,176,32,.16);
}

/* =========================================================
   FULLSTORY
   ========================================================= */

.fs-article {
  overflow: visible;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
  border: 1px solid var(--db-line);
  border-radius: 28px;
  box-shadow: var(--db-shadow);
}

.fs-body {
  padding: 1.5rem 1.5rem 1.25rem;
  color: var(--db-text);
}

.fs-title {
  margin: 0 0 .7rem;
  padding-right: 56px;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  line-height: 1.14;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: var(--db-text);
}

.fs-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  font-size: .95rem;
  color: var(--db-text-2);
}

.fs-category {
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,138,28,.10);
  color: var(--db-accent-dark);
  font-weight: 800;
}

.fs-content {
  display: block;
  font-size: 1.02rem;
  line-height: 1.84;
  color: var(--db-text);
}

.fs-poster {
  float: left;
  width: 320px;
  max-width: 42%;
  margin: 4px 26px 18px 0;
  position: relative;
}

.fs-poster-image,
.fs-poster img,
.fs-poster .xfieldimage img,
.fs-poster .xfieldimage {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 30px rgba(16,24,40,.12);
}

.fs-text::after {
  content: "";
  display: block;
  clear: both;
}

.fs-text p {
  color: var(--db-text);
  margin-bottom: 1rem;
}

.fs-text h2,
.fs-text h3,
.fs-text h4 {
  color: var(--db-text);
  margin-top: 1.4rem;
  margin-bottom: .75rem;
}

.fs-text ul,
.fs-text ol {
  padding-left: 1.25rem;
  margin-bottom: 1rem;
}

/* =========================================================
   COMMENTS
   ========================================================= */

.switch-comment {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
  padding: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
  border: 1px solid var(--db-line);
  border-radius: 22px;
  box-shadow: var(--db-shadow-sm);
}

.switch-comment-avatar {
  flex: 0 0 54px;
  max-width: 54px;
}

.switch-comment-avatar-img {
  display: block;
  width: 54px !important;
  height: 54px !important;
  object-fit: cover;
  border-radius: 16px !important;
  border: 1px solid var(--db-line);
  box-shadow: var(--db-shadow-xs);
}

.switch-comment-body {
  width: 100%;
  min-width: 0;
}

.switch-comment-author {
  color: var(--db-accent-dark);
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
}

.switch-comment-author:hover {
  color: var(--db-accent);
}

.switch-comment-date {
  color: var(--db-text-2);
  font-size: 14px;
  font-weight: 700;
}

.switch-comment-content {
  padding: 14px 16px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid var(--db-line);
  color: var(--db-text);
  font-size: 15px;
  line-height: 1.75;
}

.switch-comment-content p:last-child {
  margin-bottom: 0;
}

/* =========================================================
   COMMENT FORM
   ========================================================= */

#dle-comments-form,
.addcomments,
.mass_comments_action,
.comment-form,
#commentform,
.comments-form-wrap {
  margin-top: 22px;
  padding: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
  border: 1px solid var(--db-line);
  border-radius: 24px;
  box-shadow: var(--db-shadow-sm);
}

#dle-comments-form h3,
.addcomments h3,
.comment-form h3,
#commentform h3,
.comments-form-title {
  margin-bottom: 16px;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--db-text);
}

#dle-comments-form .bb-editor,
.addcomments .bb-editor,
#commentform .bb-editor {
  border: 1px solid var(--db-line) !important;
  border-radius: 16px !important;
  overflow: hidden;
  background: #fff;
}

#dle-comments-form .bb-editor textarea,
.addcomments .bb-editor textarea,
#commentform .bb-editor textarea,
#comments textarea,
.addcomments textarea,
form textarea {
  min-height: 210px;
  border: 0 !important;
  border-radius: 0 0 16px 16px !important;
  background: #fff !important;
  color: var(--db-text) !important;
  box-shadow: none !important;
  padding: 14px 16px !important;
  font-size: 15px;
  line-height: 1.7;
}

.bb-editor .editor-panel,
.wseditor .editor-panel,
.xfiler,
#bbeditor,
#bb-pane {
  background: #f6f9fc !important;
  border-bottom: 1px solid var(--db-line) !important;
}

/* =========================================================
   SCROLLBAR
   ========================================================= */

*::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

*::-webkit-scrollbar-track {
  background: #eef2f7;
  border-radius: 999px;
}

*::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #ffb15f 0%, #ff8a1c 100%);
  border-radius: 999px;
  border: 2px solid #eef2f7;
}

*::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #ffc27f 0%, #e37508 100%);
}

/* =========================================================
   XFIELDS NOTE
   ========================================================= */

[xfgiven_poster_one],
[xfnotgiven_poster_one] {
  display: contents;
}

/* =========================================================
   DESKTOP TIGHT HEADER
   ========================================================= */

@media (min-width: 992px) {
  .switch-nav .container {
    min-height: 76px;
  }

  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
    flex-grow: 1;
    min-width: 0;
  }

  .switch-menu {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
  }

  .switch-menu .nav-link {
    font-size: 12.5px;
    padding: 8px 9px !important;
  }

  .switch-search-wrap {
    flex: 0 0 auto;
  }

  .switch-search-input {
    width: 176px;
    min-width: 176px;
  }

  .switch-search-btn {
    padding: 0 14px;
  }
}

@media (min-width: 1200px) {
  .switch-menu .nav-link {
    font-size: 13px;
    padding: 8px 10px !important;
  }

  .switch-search-input {
    width: 188px;
    min-width: 188px;
  }
}

/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 991.98px) {
  .switch-nav {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .switch-nav .container {
    flex-wrap: wrap;
  }

  .switch-brand {
    margin-right: 0;
  }

  .switch-brand-main {
    font-size: 18px;
  }

  .switch-brand-sub {
    font-size: 10px;
  }

  .switch-menu {
    gap: 0;
    margin-top: 14px;
    margin-bottom: 14px;
    width: 100%;
    align-items: stretch;
  }

  .switch-menu .nav-item {
    width: 100%;
  }

  .switch-menu .nav-link {
    justify-content: flex-start;
    width: 100%;
    border-radius: 14px;
    padding: 12px 14px !important;
    font-size: 14px;
    white-space: normal;
    text-align: left;
  }

  .switch-search-wrap {
    width: 100%;
    margin-left: 0 !important;
  }

  .switch-search-form {
    width: 100%;
    flex-wrap: wrap;
  }

  .switch-search-input,
  .switch-search-btn {
    width: 100%;
    min-width: 0;
  }

  .fs-poster {
    width: 270px;
    max-width: 46%;
    margin-right: 20px;
  }
}

@media (max-width: 767.98px) {
  body {
    font-size: .96rem;
  }

  .card-body {
    padding: 1rem;
  }

  .btn {
    min-height: 44px;
    padding: .68rem 1rem;
  }

  .form-control,
  input[type="text"],
  input[type="email"],
  input[type="search"],
  input[type="password"],
  textarea,
  select {
    min-height: 46px;
    border-radius: 14px;
  }

  .breadcrumb {
    border-radius: 18px;
  }

  .page-link {
    min-width: 38px;
    height: 38px;
  }

  .switch-brand {
    gap: 10px;
  }

  .switch-logo {
    width: 40px;
    height: 30px;
  }

  .switch-logo-left,
  .switch-logo-right {
    width: 17px;
    height: 30px;
  }

  .switch-brand-main {
    font-size: 17px;
  }

  .switch-brand-sub {
    font-size: 10px;
  }

  .main-seo-text {
    padding: 16px 16px;
  }

  .main-seo-text h1 {
    font-size: 32px;
    line-height: 1.12;
  }

  .main-seo-text p {
    font-size: 14px;
    line-height: 1.55;
  }

  .fs-body {
    padding: 1rem;
  }

  .fs-title {
    padding-right: 0;
    font-size: 1.55rem;
  }

  .fs-meta {
    gap: 8px 12px;
    font-size: .9rem;
  }

  .fs-poster {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 16px 0;
  }

  .fs-content {
    font-size: 1rem;
    line-height: 1.72;
  }

  .switch-comment {
    padding: 14px;
    border-radius: 16px;
  }

  #dle-comments-form,
  .addcomments,
  .mass_comments_action,
  .comment-form,
  #commentform,
  .comments-form-wrap {
    padding: 16px;
    border-radius: 18px;
  }

  #dle-comments-form h3,
  .addcomments h3,
  .comment-form h3,
  #commentform h3,
  .comments-form-title {
    font-size: 22px;
  }
}
/* =========================================================
   DRIVEBAZA FULLSTORY / AI ARTICLE PRO STYLE
   ВСТАВИТЬ В САМЫЙ КОНЕЦ custom.css
   ========================================================= */

/* ---------- fullstory shell ---------- */

.fs-article {
  position: relative;
  overflow: visible;
  background:
    radial-gradient(circle at top right, rgba(255,138,28,.06), transparent 18%),
    linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
  border: 1px solid var(--db-line);
  border-radius: 30px;
  box-shadow: 0 18px 46px rgba(16,24,40,.10);
}

.fs-body {
  padding: 28px 30px 24px;
  color: var(--db-text);
}

.fs-header {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--db-line);
}

.fs-title {
  margin: 0 0 14px;
  padding-right: 54px;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.05em;
  color: var(--db-text);
}

.fs-title .ffx {
  color: var(--db-accent);
}

.fs-dropdown .btn {
  min-height: 40px;
  height: 40px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--db-line) !important;
  background: #fff !important;
  color: var(--db-text-2) !important;
  box-shadow: var(--db-shadow-xs);
}

.fs-dropdown .btn:hover,
.fs-dropdown .btn:focus {
  color: var(--db-accent-dark) !important;
  background: #fff !important;
  border-color: #cbd7e4 !important;
}

.fs-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  font-size: 14px;
  line-height: 1.35;
  color: var(--db-text-2) !important;
}

.fs-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #f6f9fc;
  border: 1px solid var(--db-line);
  color: var(--db-text-2) !important;
}

.fs-meta-item i {
  color: var(--db-accent-dark);
  opacity: .9;
}

.fs-meta-item a,
.fs-meta-item span,
.fs-meta-item time {
  color: inherit !important;
}

.fs-category {
  background: rgba(255,138,28,.10) !important;
  border-color: rgba(255,138,28,.14) !important;
  color: var(--db-accent-dark) !important;
  font-weight: 800;
}

.fs-meta-rating {
  display: inline-flex;
  align-items: center;
}

.fs-meta-rating .rate {
  margin: 0;
}

.fs-meta-rating .rate_like,
.fs-meta-rating .rate_like-dislike {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #f6f9fc;
  border: 1px solid var(--db-line);
}

.fs-meta-rating .rate-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--db-line);
  font-weight: 900;
  line-height: 1;
}

.fs-meta-rating .rate-btn--plus {
  color: var(--db-success);
}

.fs-meta-rating .rate-btn--minus {
  color: var(--db-danger);
}

.fs-content {
  display: block;
  font-size: 16px;
  line-height: 1.8;
  color: var(--db-text);
}

.fs-poster {
  float: left;
  width: 350px;
  max-width: 44%;
  margin: 6px 28px 20px 0;
  position: relative;
}

.fs-poster-image,
.fs-poster img,
.fs-poster .xfieldimage img,
.fs-poster .xfieldimage {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 22px 40px rgba(16,24,40,.13);
  border: 1px solid rgba(16,24,40,.05);
  background: #fff;
}

.fs-text {
  color: var(--db-text);
}

.fs-text::after {
  content: "";
  display: block;
  clear: both;
}

.fs-text > *:first-child {
  margin-top: 0 !important;
}

.fs-pages,
.fs-poll,
.fs-editnote .card {
  border-radius: 18px;
}

.fs-comments-card {
  border-radius: 28px;
}

.fs-comments-card .card-body {
  padding: 24px 24px 18px;
}

.fs-editnote .card {
  box-shadow: none;
  border-color: var(--db-line);
}

.fs-editnote .alert-warning {
  background: linear-gradient(135deg, #fff8ec 0%, #fff3de 100%);
  border: 1px solid #ffe0b2;
  color: #7d5a12;
}

/* ---------- ai article base ---------- */

.ai-article {
  position: relative;
  color: var(--db-text);
  font-size: 17px;
  line-height: 1.86;
  word-wrap: break-word;
}

.ai-article > *:first-child {
  margin-top: 0 !important;
}

.ai-article p {
  margin: 0 0 1.15rem;
  color: var(--db-text);
}

.ai-article strong {
  color: #0f1720;
  font-weight: 900;
}

.ai-article em {
  color: #5f6f84;
}

.ai-article a {
  color: var(--db-accent-dark);
  font-weight: 800;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255,138,28,.22);
  box-shadow: inset 0 -1px 0 rgba(255,138,28,.08);
  transition: color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.ai-article a:hover,
.ai-article a:focus {
  color: var(--db-accent);
  border-color: rgba(255,138,28,.50);
  box-shadow: inset 0 -2px 0 rgba(255,138,28,.12);
}

.ai-article ul,
.ai-article ol {
  margin: 0 0 1.25rem;
  padding-left: 1.3rem;
}

.ai-article ul li,
.ai-article ol li {
  margin-bottom: .55rem;
  color: var(--db-text);
}

.ai-article ul li::marker {
  color: var(--db-accent);
}

.ai-article h2,
.ai-article h3 {
  position: relative;
  color: var(--db-text);
  letter-spacing: -0.03em;
  font-weight: 900;
}

.ai-article h2 {
  margin: 2.1rem 0 1rem;
  padding: 0 0 .9rem;
  font-size: clamp(1.5rem, 2vw, 2rem);
  line-height: 1.2;
  border-bottom: 1px solid var(--db-line);
}

.ai-article h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 84px;
  height: 4px;
  border-radius: 999px;
  background: var(--db-grad-accent);
}

.ai-article h3 {
  margin: 1.55rem 0 .8rem;
  padding-left: 16px;
  font-size: clamp(1.18rem, 1.5vw, 1.42rem);
  line-height: 1.28;
}

.ai-article h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: .22em;
  width: 6px;
  height: 1em;
  border-radius: 999px;
  background: var(--db-grad-blue);
}

.ai-article blockquote {
  position: relative;
  margin: 1.4rem 0;
  padding: 1.1rem 1.2rem 1rem 1.2rem;
  border: 1px solid #ffdcb1;
  border-left: 4px solid var(--db-accent);
  border-radius: 0 18px 18px 0;
  background: linear-gradient(135deg, #fffaf1 0%, #fff4e2 100%);
  color: #5c4720;
  box-shadow: var(--db-shadow-xs);
}

.ai-article hr {
  margin: 1.5rem 0;
  border: 0;
  border-top: 1px solid var(--db-line);
}

/* ---------- note ---------- */

.ai-article .ai-note {
  position: relative;
  overflow: hidden;
  margin: 0 0 1.5rem;
  padding: 1.15rem 1.15rem 1rem 1.15rem;
  border: 1px solid rgba(255,138,28,.16);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(75,143,255,.10), transparent 28%),
    linear-gradient(135deg, rgba(255,138,28,.08), rgba(255,255,255,.98) 58%);
  box-shadow: 0 12px 28px rgba(16,24,40,.06);
}

.ai-article .ai-note::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  border-radius: 999px;
  background: var(--db-grad-accent);
}

.ai-article .ai-note-title {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: .42rem .84rem;
  margin: 0 0 .8rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(255,138,28,.14);
  color: var(--db-accent-dark);
  font-size: .8rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .05em;
  text-transform: uppercase;
  box-shadow: var(--db-shadow-xs);
}

.ai-article .ai-note p:last-child {
  margin-bottom: 0;
}

/* ---------- toc ---------- */

.ai-article .ai-toc {
  margin: 0 0 1.7rem;
  padding: 1.15rem 1.15rem 1rem;
  border: 1px solid var(--db-line);
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: var(--db-shadow-xs);
}

.ai-article .ai-toc-title {
  display: flex;
  align-items: center;
  margin: 0 0 .9rem;
  color: var(--db-text);
  font-size: .96rem;
  font-weight: 900;
  letter-spacing: -.01em;
}

.ai-article .ai-toc-title::before {
  content: "";
  width: 10px;
  height: 10px;
  margin-right: .7rem;
  border-radius: 50%;
  background: var(--db-grad-accent);
  flex: 0 0 auto;
}

.ai-article .ai-toc ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.ai-article .ai-toc li {
  margin-bottom: .5rem;
}

.ai-article .ai-toc li:last-child {
  margin-bottom: 0;
}

.ai-article .ai-toc a {
  display: inline-block;
  color: var(--db-text);
  font-weight: 700;
  border: 0;
  box-shadow: none;
}

.ai-article .ai-toc a:hover {
  color: var(--db-accent-dark);
}

/* ---------- pros cons ---------- */

.ai-article .ai-proscons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 1.5rem 0;
}

.ai-article .ai-pros,
.ai-article .ai-cons {
  border-radius: 22px;
  padding: 1.15rem 1.15rem 1rem;
  border: 1px solid var(--db-line);
  box-shadow: var(--db-shadow-xs);
}

.ai-article .ai-pros {
  background: linear-gradient(180deg, #f3fff8 0%, #ecfbf3 100%);
  border-color: rgba(34,181,115,.16);
}

.ai-article .ai-cons {
  background: linear-gradient(180deg, #fff7f7 0%, #fff1f1 100%);
  border-color: rgba(239,77,90,.14);
}

.ai-article .ai-pros-title,
.ai-article .ai-cons-title {
  display: inline-flex;
  align-items: center;
  margin: 0 0 .8rem;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: -.01em;
}

.ai-article .ai-pros-title {
  color: #149560;
}

.ai-article .ai-cons-title {
  color: #d14652;
}

.ai-article .ai-pros-title::before,
.ai-article .ai-cons-title::before {
  content: "";
  width: 10px;
  height: 10px;
  margin-right: .65rem;
  border-radius: 50%;
  flex: 0 0 auto;
}

.ai-article .ai-pros-title::before {
  background: #22b573;
}

.ai-article .ai-cons-title::before {
  background: #ef4d5a;
}

.ai-article .ai-pros ul,
.ai-article .ai-cons ul {
  margin-bottom: 0;
}

/* ---------- tables ---------- */

.ai-article table {
  width: 100%;
  margin: 1.4rem 0;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--db-line);
  border-radius: 20px;
  box-shadow: var(--db-shadow-sm);
}

.ai-article table th,
.ai-article table td {
  padding: 13px 14px;
  text-align: left;
  vertical-align: top;
  border-top: 1px solid var(--db-line);
  color: var(--db-text);
}

.ai-article table thead th {
  background: #f3f7fb;
  border-top: 0;
  color: var(--db-text);
  font-weight: 800;
}

.ai-article table tbody tr:nth-child(odd) td {
  background: rgba(255,138,28,.02);
}

/* ---------- faq ---------- */

.ai-article .ai-faq {
  margin: 1.6rem 0;
}

.ai-article .ai-faq-item {
  margin-bottom: 12px;
  padding: 1rem 1.05rem .95rem;
  border-radius: 20px;
  border: 1px solid var(--db-line);
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
  box-shadow: var(--db-shadow-xs);
}

.ai-article .ai-faq-item:last-child {
  margin-bottom: 0;
}

.ai-article .ai-faq-question {
  margin: 0 0 .55rem;
  padding: 0;
  color: var(--db-text);
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1.32;
}

.ai-article .ai-faq-question::before {
  display: none;
}

.ai-article .ai-faq-answer p:last-child {
  margin-bottom: 0;
}

/* ---------- summary ---------- */

.ai-article .ai-summary {
  position: relative;
  margin: 1.8rem 0 0;
  padding: 1.25rem 1.2rem 1.05rem;
  border-radius: 24px;
  border: 1px solid rgba(75,143,255,.14);
  background:
    radial-gradient(circle at top right, rgba(255,138,28,.08), transparent 20%),
    linear-gradient(135deg, #f5faff 0%, #eef6ff 100%);
  box-shadow: 0 12px 28px rgba(16,24,40,.06);
}

.ai-article .ai-summary h2 {
  margin-top: 0;
}

.ai-article .ai-summary p:last-child {
  margin-bottom: 0;
}

/* ---------- images inside article ---------- */

.ai-article img:not(.poster_one):not(.xfieldimage):not(.owl-lazy) {
  max-width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(16,24,40,.10);
}

/* ---------- related / comments ---------- */

[related-news] .col-md-12,
.fs-comments-card {
  margin-top: 4px;
}

.fs-comments-card .text-muted i {
  color: var(--db-danger);
}

/* ---------- mobile ---------- */

@media (max-width: 991.98px) {
  .fs-body {
    padding: 22px 22px 18px;
  }

  .fs-title {
    font-size: clamp(1.7rem, 5vw, 2.3rem);
  }

  .fs-poster {
    width: 300px;
    max-width: 46%;
    margin-right: 20px;
  }

  .ai-article {
    font-size: 16px;
    line-height: 1.8;
  }

  .ai-article .ai-proscons {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .fs-body {
    padding: 16px 16px 14px;
  }

  .fs-header {
    margin-bottom: 16px;
    padding-bottom: 14px;
  }

  .fs-title {
    padding-right: 0;
    font-size: 1.7rem;
    line-height: 1.12;
  }

  .fs-meta {
    gap: 8px 8px;
    font-size: 13px;
  }

  .fs-meta-item {
    min-height: 32px;
    padding: 6px 10px;
  }

  .fs-poster {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 16px 0;
  }

  .fs-content {
    font-size: 15px;
    line-height: 1.75;
  }

  .ai-article {
    font-size: 15px;
    line-height: 1.76;
  }

  .ai-article h2 {
    font-size: 1.35rem;
  }

  .ai-article h3 {
    font-size: 1.12rem;
    padding-left: 14px;
  }

  .ai-article .ai-note,
  .ai-article .ai-toc,
  .ai-article .ai-pros,
  .ai-article .ai-cons,
  .ai-article .ai-faq-item,
  .ai-article .ai-summary {
    border-radius: 18px;
    padding: 1rem .95rem .9rem;
  }

  .ai-article table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .fs-comments-card .card-body {
    padding: 16px 16px 12px;
  }
}
/* ===== AI TOC: 2 columns ===== */
.ai-article .ai-toc ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 8px;
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.ai-article .ai-toc li {
  margin: 0;
  min-width: 0;
}

.ai-article .ai-toc a {
  display: block;
  color: var(--db-text);
  font-weight: 700;
  line-height: 1.4;
  padding: 6px 0;
  border: 0;
  box-shadow: none;
  word-break: break-word;
}

.ai-article .ai-toc a:hover {
  color: var(--db-accent-dark);
}

@media (max-width: 767.98px) {
  .ai-article .ai-toc ul {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 6px;
  }
}
.brands-page{
    max-width:1200px;
    margin:0 auto;
    color:#111827;
}

.brands-hero{
    position:relative;
    overflow:hidden;
    padding:34px 30px;
    margin:0 0 22px;
    border-radius:24px;
    background:linear-gradient(135deg,#0f172a 0%,#1e293b 58%,#334155 100%);
    box-shadow:0 18px 45px rgba(15,23,42,.18);
    color:#fff;
}

.brands-hero:before{
    content:"";
    position:absolute;
    right:-70px;
    top:-70px;
    width:240px;
    height:240px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 72%);
    pointer-events:none;
}

.brands-hero__badge{
    display:inline-block;
    margin:0 0 14px;
    padding:7px 13px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.09);
    color:#fff;
    font-size:12px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.4px;
}

.brands-hero h1{
    margin:0 0 14px;
    font-size:40px;
    line-height:1.12;
    font-weight:900;
    color:#fff;
}

.brands-hero p{
    max-width:920px;
    margin:0;
    font-size:17px;
    line-height:1.8;
    color:rgba(255,255,255,.92);
}

.brands-navbox{
    margin:0 0 26px;
    padding:20px 22px;
    border:1px solid #e5e7eb;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(17,24,39,.05);
}

.brands-navbox__title{
    margin:0 0 12px;
    font-size:22px;
    line-height:1.2;
    font-weight:800;
    color:#111827;
}

.brands-fastnav{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.brands-fastnav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    min-height:38px;
    padding:0 13px;
    border-radius:11px;
    border:1px solid #e5e7eb;
    background:#f8fafc;
    color:#111827;
    text-decoration:none !important;
    font-size:14px;
    font-weight:800;
    transition:.18s ease;
}

.brands-fastnav a:hover{
    background:#111827;
    border-color:#111827;
    color:#fff;
    text-decoration:none !important;
    transform:translateY(-1px);
}

.brands-letter-block{
    margin:0 0 30px;
}

.brands-letter-block h2{
    margin:0 0 14px;
    font-size:30px;
    line-height:1.1;
    font-weight:900;
    color:#111827;
}

.brands-letter-block--ru h2{
    font-size:28px;
}

.brands-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.brand-card{
    display:block;
    position:relative;
    overflow:hidden;
    min-height:100%;
    padding:18px 18px 16px;
    border-radius:18px;
    border:1px solid #e5e7eb;
    background:#fff;
    box-shadow:0 8px 24px rgba(17,24,39,.05);
    color:#111827;
    text-decoration:none !important;
    transition:.2s ease;
}

.brand-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    right:0;
    height:4px;
    background:linear-gradient(90deg,#111827 0%,#475569 100%);
}

.brand-card:hover{
    transform:translateY(-4px);
    border-color:#d1d5db;
    box-shadow:0 16px 34px rgba(17,24,39,.1);
    text-decoration:none !important;
}

.brand-card__letter{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    margin:0 0 14px;
    border-radius:14px;
    background:#111827;
    color:#fff;
    font-size:18px;
    font-weight:900;
    line-height:1;
}

.brand-card__title{
    margin:0 0 8px;
    font-size:20px;
    line-height:1.2;
    font-weight:900;
    color:#111827;
}

.brand-card__text{
    font-size:14px;
    line-height:1.75;
    color:#6b7280;
}

.brands-seo{
    margin:4px 0 8px;
    padding:22px;
    border:1px solid #e5e7eb;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(17,24,39,.05);
}

.brands-seo h2{
    margin:0 0 10px;
    font-size:24px;
    line-height:1.2;
    font-weight:800;
    color:#111827;
}

.brands-seo p{
    margin:0;
    font-size:15px;
    line-height:1.85;
    color:#4b5563;
}

@media (max-width: 1199px){
    .brands-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 991px){
    .brands-hero{
        padding:28px 24px;
        border-radius:20px;
    }

    .brands-hero h1{
        font-size:34px;
    }

    .brands-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 575px){
    .brands-hero{
        padding:24px 18px;
        border-radius:18px;
    }

    .brands-hero h1{
        font-size:27px;
    }

    .brands-hero p{
        font-size:15px;
        line-height:1.75;
    }

    .brands-navbox{
        padding:16px;
        border-radius:16px;
    }

    .brands-navbox__title{
        font-size:20px;
    }

    .brands-fastnav{
        gap:8px;
    }

    .brands-fastnav a{
        min-width:36px;
        min-height:34px;
        padding:0 10px;
        border-radius:10px;
        font-size:13px;
    }

    .brands-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .brands-letter-block h2{
        font-size:24px;
    }

    .brand-card,
    .brands-seo{
        border-radius:16px;
    }

    .brands-seo{
        padding:18px 16px;
    }

    .brands-seo h2{
        font-size:21px;
    }
}
/* Главный SEO-блок на главной */
.main-seo-text {
  padding: 18px 20px;
}

.main-seo-text h1 {
  margin: 0 0 8px;
  font-size: clamp(1.45rem, 2.2vw, 2.1rem);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.03em;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.main-seo-text p {
  margin: 0 auto;
  max-width: 820px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--db-text-2);
}

@media (max-width: 767.98px) {
  .main-seo-text {
    padding: 16px 14px;
  }

  .main-seo-text h1 {
    font-size: 1.35rem;
    line-height: 1.18;
    max-width: 100%;
  }

  .main-seo-text p {
    font-size: 13.5px;
    line-height: 1.5;
    max-width: 100%;
  }
}
/* =========================================================
   DRIVEBAZA COMMENTS
   ========================================================= */

.db-comment {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
  padding: 18px;
  background:
    radial-gradient(circle at top right, rgba(255,138,28,.05), transparent 20%),
    linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
  border: 1px solid var(--db-line);
  border-radius: 24px;
  box-shadow: var(--db-shadow-sm);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.db-comment:hover {
  transform: translateY(-2px);
  box-shadow: var(--db-shadow);
  border-color: #cfd9e6;
}

.db-comment-avatar {
  flex: 0 0 54px;
  max-width: 54px;
}

.db-comment-avatar-link {
  display: block;
}

.db-comment-avatar-img {
  display: block;
  width: 54px !important;
  height: 54px !important;
  object-fit: cover;
  border-radius: 16px !important;
  border: 1px solid var(--db-line);
  box-shadow: var(--db-shadow-xs);
  background: #fff;
}

.db-comment-body {
  width: 100%;
  min-width: 0;
}

.db-comment-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.db-comment-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  min-width: 0;
}

.db-comment-author {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,138,28,.10);
  color: var(--db-accent-dark) !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

.db-comment-author:hover {
  color: var(--db-accent) !important;
  background: rgba(255,138,28,.14);
}

.db-comment-date,
.db-comment-parent {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #f6f9fc;
  border: 1px solid var(--db-line);
  color: var(--db-text-2);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.db-comment-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.db-comment-like {
  display: flex;
  align-items: center;
}

.db-comment-like-btn,
.db-comment-iconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  border-radius: 12px !important;
  border: 1px solid var(--db-line) !important;
  background: #fff !important;
  color: var(--db-text-2) !important;
  box-shadow: none !important;
}

.db-comment-like-btn:hover,
.db-comment-iconbtn:hover,
.db-comment-like-btn:focus,
.db-comment-iconbtn:focus {
  color: var(--db-accent-dark) !important;
  border-color: rgba(255,138,28,.22) !important;
  background: rgba(255,138,28,.05) !important;
}

.db-comment-like-btn i,
.db-comment-iconbtn i {
  font-size: 14px;
}

.db-comment-content {
  padding: 14px 16px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid var(--db-line);
  color: var(--db-text);
  font-size: 15px;
  line-height: 1.75;
  overflow-wrap: break-word;
}

.db-comment-content p:last-child {
  margin-bottom: 0;
}

.db-comment-divider {
  height: 1px;
  margin: 14px 0;
  background: var(--db-line);
}

.db-comment-images {
  margin-top: 4px;
}

.db-comment-images img {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
  border: 1px solid var(--db-line);
  box-shadow: var(--db-shadow-xs);
}

.db-comment-signature {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed var(--db-line-2);
  color: var(--db-text-3);
  font-size: 13px;
  line-height: 1.6;
}

.db-comment-dropdown .dropdown-menu {
  min-width: 190px;
}

.db-comment-dropdown .dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

@media (max-width: 767.98px) {
  .db-comment {
    gap: 12px;
    padding: 14px;
    border-radius: 18px;
  }

  .db-comment-avatar {
    flex: 0 0 44px;
    max-width: 44px;
  }

  .db-comment-avatar-img {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
  }

  .db-comment-head {
    flex-direction: column;
    align-items: stretch;
  }

  .db-comment-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .db-comment-author,
  .db-comment-date,
  .db-comment-parent {
    font-size: 12.5px;
    min-height: 32px;
    padding: 6px 10px;
  }

  .db-comment-content {
    padding: 12px 13px;
    font-size: 14px;
    line-height: 1.68;
    border-radius: 14px;
  }

  .db-comment-like-btn,
  .db-comment-iconbtn {
    height: 36px;
    min-width: 36px;
    border-radius: 10px !important;
  }
}
/* =========================================================
   DRIVEBAZA SIDEBAR LOGIN FIX
   В САМЫЙ КОНЕЦ custom.css
   ========================================================= */

/* поля логина */
.col-lg-3 .card form .form-control,
.sidebar .card form .form-control,
.widget .card form .form-control,
.col-lg-3 .card form input[type="text"],
.col-lg-3 .card form input[type="password"],
.sidebar .card form input[type="text"],
.sidebar .card form input[type="password"],
.widget .card form input[type="text"],
.widget .card form input[type="password"] {
  color: #18202b !important;
  background: #ffffff !important;
  border: 1px solid var(--db-line-2) !important;
  -webkit-text-fill-color: #18202b !important;
  caret-color: #18202b !important;
}

/* текст placeholder */
.col-lg-3 .card form .form-control::placeholder,
.sidebar .card form .form-control::placeholder,
.widget .card form .form-control::placeholder,
.col-lg-3 .card form input::placeholder,
.sidebar .card form input::placeholder,
.widget .card form input::placeholder {
  color: #8b97a8 !important;
  opacity: 1 !important;
}

/* focus у полей */
.col-lg-3 .card form .form-control:focus,
.sidebar .card form .form-control:focus,
.widget .card form .form-control:focus,
.col-lg-3 .card form input:focus,
.sidebar .card form input:focus,
.widget .card form input:focus {
  color: #18202b !important;
  background: #fff !important;
  border-color: rgba(255,138,28,.34) !important;
  -webkit-text-fill-color: #18202b !important;
  caret-color: #18202b !important;
  box-shadow: 0 0 0 .2rem rgba(255,138,28,.10) !important;
}

/* label чекбокса */
.col-lg-3 .card .custom-control-label,
.sidebar .card .custom-control-label,
.widget .card .custom-control-label {
  color: rgba(255,255,255,.86) !important;
}

/* кнопки логина/реги/восстановления */
.col-lg-3 .card .btn-outline-primary,
.col-lg-3 .card .btn-outline-success,
.col-lg-3 .card .btn-outline-danger,
.sidebar .card .btn-outline-primary,
.sidebar .card .btn-outline-success,
.sidebar .card .btn-outline-danger,
.widget .card .btn-outline-primary,
.widget .card .btn-outline-success,
.widget .card .btn-outline-danger {
  color: #fff !important;
  border-width: 1px !important;
}

/* отдельный вид кнопок в окне логина */
.col-lg-3 .card .btn-outline-primary,
.sidebar .card .btn-outline-primary,
.widget .card .btn-outline-primary {
  background: var(--db-grad-accent) !important;
  border-color: transparent !important;
  box-shadow: 0 10px 22px rgba(255,138,28,.22) !important;
}

.col-lg-3 .card .btn-outline-primary:hover,
.sidebar .card .btn-outline-primary:hover,
.widget .card .btn-outline-primary:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #ffc27f 0%, #ff8a1c 64%, #d56600 100%) !important;
  border-color: transparent !important;
}

.col-lg-3 .card .btn-outline-success,
.sidebar .card .btn-outline-success,
.widget .card .btn-outline-success {
  background: linear-gradient(135deg, #35c985 0%, #1ea765 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 10px 22px rgba(34,181,115,.20) !important;
}

.col-lg-3 .card .btn-outline-success:hover,
.sidebar .card .btn-outline-success:hover,
.widget .card .btn-outline-success:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #49d895 0%, #179659 100%) !important;
  border-color: transparent !important;
}

.col-lg-3 .card .btn-outline-danger,
.sidebar .card .btn-outline-danger,
.widget .card .btn-outline-danger {
  background: linear-gradient(135deg, #ff7d87 0%, #ef4d5a 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 10px 22px rgba(239,77,90,.20) !important;
}

.col-lg-3 .card .btn-outline-danger:hover,
.sidebar .card .btn-outline-danger:hover,
.widget .card .btn-outline-danger:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #ff9098 0%, #df3f4d 100%) !important;
  border-color: transparent !important;
}

/* соц-кнопки тоже нормально читаемыми */
.col-lg-3 .card .social-btns .btn,
.sidebar .card .social-btns .btn,
.widget .card .social-btns .btn {
  color: #fff !important;
}

/* на случай автозаливки браузером */
.col-lg-3 .card input:-webkit-autofill,
.col-lg-3 .card input:-webkit-autofill:hover,
.col-lg-3 .card input:-webkit-autofill:focus,
.sidebar .card input:-webkit-autofill,
.sidebar .card input:-webkit-autofill:hover,
.sidebar .card input:-webkit-autofill:focus,
.widget .card input:-webkit-autofill,
.widget .card input:-webkit-autofill:hover,
.widget .card input:-webkit-autofill:focus {
  -webkit-text-fill-color: #18202b !important;
  box-shadow: 0 0 0px 1000px #ffffff inset !important;
  transition: background-color 9999s ease-in-out 0s;
}
/* =========================================================
   DRIVEBAZA SIDEBAR TOP NEWS
   ВСТАВИТЬ В САМЫЙ КОНЕЦ custom.css
   ========================================================= */

.top-news-item + .top-news-item {
  margin-top: 12px;
}

.top-news-link {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px;
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  text-decoration: none !important;
  transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.top-news-link:hover,
.top-news-link:focus {
  text-decoration: none !important;
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.10);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}

.top-news-thumb-wrap {
  flex: 0 0 92px;
  width: 92px;
}

.top-news-thumb {
  display: block;
  width: 92px;
  height: 66px;
  object-fit: cover;
  object-position: center;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.06);
}

.top-news-body {
  flex: 1 1 auto;
  min-width: 0;
}

.top-news-title {
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
  line-height: 1.34;
  font-weight: 800;
  letter-spacing: -.015em;
  transition: color .2s ease;
}

.top-news-link:hover .top-news-title,
.top-news-link:focus .top-news-title {
  color: var(--db-accent-light);
}

.top-news-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  align-items: center;
}

.top-news-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.06);
  color: rgba(255,255,255,.72) !important;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.top-news-meta-item i {
  color: var(--db-accent-light);
  opacity: .95;
  font-size: 11px;
}

@media (max-width: 767.98px) {
  .top-news-link {
    gap: 10px;
    padding: 9px;
    border-radius: 16px;
  }

  .top-news-thumb-wrap {
    flex: 0 0 82px;
    width: 82px;
  }

  .top-news-thumb {
    width: 82px;
    height: 60px;
    border-radius: 12px;
  }

  .top-news-title {
    font-size: 13px;
    line-height: 1.3;
    margin-bottom: 7px;
  }

  .top-news-meta {
    gap: 5px 6px;
  }

  .top-news-meta-item {
    font-size: 10px;
    padding: 3px 7px;
  }
}
/* =========================
   PROFILE PAGE REDESIGN
   ========================= */

.db-profile-card {
  margin-bottom: 24px;
}

.db-profile-head {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--db-line);
  border-radius: 30px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafd 100%);
  box-shadow: var(--db-shadow);
}

.db-profile-cover {
  height: 110px;
  background:
    radial-gradient(circle at top left, rgba(255,138,28,.18), transparent 28%),
    radial-gradient(circle at top right, rgba(75,143,255,.16), transparent 24%),
    linear-gradient(135deg, #edf3fb 0%, #e5edf7 100%);
  border-bottom: 1px solid var(--db-line);
}

.db-profile-top {
  display: flex;
  gap: 24px;
  padding: 0 28px 28px;
  margin-top: -46px;
  align-items: flex-end;
}

.db-profile-avatar-wrap {
  position: relative;
  flex: 0 0 132px;
}

.db-profile-avatar-link {
  display: block;
  text-decoration: none;
}

.db-profile-avatar {
  width: 132px;
  height: 132px;
  object-fit: cover;
  border-radius: 28px;
  border: 6px solid #fff;
  background: #dfe6ef;
  box-shadow: 0 18px 34px rgba(16,24,40,.14);
}

.db-profile-status {
  position: absolute;
  left: 10px;
  top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(34,181,115,.12);
  color: #129763;
  font-size: 12px;
  font-weight: 800;
  border: 1px solid rgba(34,181,115,.18);
  backdrop-filter: blur(8px);
}

.db-profile-main {
  flex: 1 1 auto;
  min-width: 0;
}

.db-profile-main-top {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.db-profile-login {
  margin: 0;
  font-size: clamp(1.5rem, 2vw, 2.15rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--db-text);
}

.db-profile-name {
  margin-top: 8px;
  font-size: 1rem;
  font-weight: 700;
  color: var(--db-accent-dark);
}

.db-profile-name--empty {
  color: #d97706;
}

.db-profile-actions-top {
  flex: 0 0 auto;
}

.db-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--db-line);
  color: var(--db-text-2);
  box-shadow: var(--db-shadow-xs);
}

.db-icon-btn:hover {
  color: var(--db-accent-dark);
  transform: translateY(-1px);
}

.db-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.db-profile-btn {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 16px;
  font-weight: 800;
}

.db-profile-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 18px 0;
}

.db-stat-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 18px;
  border-radius: 24px;
  border: 1px solid var(--db-line);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
  box-shadow: var(--db-shadow-xs);
}

.db-stat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: rgba(75,143,255,.08);
  color: var(--db-blue-dark);
  font-size: 20px;
  flex: 0 0 52px;
}

.db-stat-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.db-stat-label {
  font-size: 13px;
  color: var(--db-text-2);
  font-weight: 700;
}

.db-stat-text strong {
  font-size: 1.3rem;
  line-height: 1.1;
  color: var(--db-text);
  font-weight: 900;
}

.db-profile-info {
  border-radius: 28px;
  overflow: hidden;
}

.db-info-row {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 20px;
  align-items: center;
  padding: 18px 24px;
  border-top: 1px solid var(--db-line);
}

.db-info-row:first-child {
  border-top: 0;
}

.db-info-label {
  color: var(--db-text-2);
  font-weight: 700;
}

.db-info-value {
  color: var(--db-text);
  font-weight: 700;
}

.db-role-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(239,77,90,.10);
  color: #dc2626;
  border: 1px solid rgba(239,77,90,.16);
  font-weight: 800;
}

/* ===== mobile ===== */

@media (max-width: 991.98px) {
  .db-profile-top {
    align-items: flex-start;
  }

  .db-profile-stats {
    grid-template-columns: 1fr;
  }

  .db-info-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

@media (max-width: 767.98px) {
  .db-profile-top {
    flex-direction: column;
    margin-top: -38px;
    padding: 0 16px 18px;
    gap: 16px;
  }

  .db-profile-avatar-wrap {
    flex-basis: auto;
  }

  .db-profile-avatar {
    width: 108px;
    height: 108px;
    border-radius: 24px;
  }

  .db-profile-main {
    width: 100%;
  }

  .db-profile-main-top {
    flex-direction: column;
    align-items: flex-start;
  }

  .db-profile-login {
    font-size: 1.45rem;
  }

  .db-profile-actions {
    width: 100%;
  }

  .db-profile-btn {
    width: 100%;
    justify-content: center;
  }

  .db-stat-card {
    padding: 15px 16px;
    border-radius: 20px;
  }
}
/* =========================================
   USER PROFILE TPL REDESIGN
   ========================================= */

.db-user-profile .card {
  border-radius: 28px;
  border: 1px solid var(--db-line);
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
  box-shadow: var(--db-shadow);
  overflow: hidden;
}

.db-user-hero .card-body {
  padding: 28px;
  background:
    radial-gradient(circle at top left, rgba(255,138,28,.10), transparent 24%),
    radial-gradient(circle at top right, rgba(75,143,255,.08), transparent 22%),
    linear-gradient(180deg, #f5f8fc 0%, #ffffff 100%);
}

.db-user-hero-inner {
  display: flex;
  align-items: center;
  gap: 24px;
}

.db-user-avatar-col {
  flex: 0 0 150px;
}

.db-user-avatar-link {
  display: block;
  position: relative;
}

.db-user-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
}

.db-user-badge .badge {
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 8px 20px rgba(16,24,40,.10);
}

.db-user-avatar {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border-radius: 26px !important;
  border: 5px solid #fff;
  background: #dde5ef;
  box-shadow: 0 18px 36px rgba(16,24,40,.14);
}

.db-user-main-col {
  flex: 1 1 auto;
  position: relative;
  min-width: 0;
}

.db-user-settings {
  position: absolute;
  top: 0;
  right: 0;
}

.db-user-settings a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--db-line);
  color: var(--db-text-2);
  box-shadow: var(--db-shadow-xs);
}

.db-user-settings a:hover {
  color: var(--db-accent-dark);
}

.db-user-title {
  margin: 0 50px 10px 0;
  font-size: clamp(1.7rem, 3vw, 2.25rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--db-text);
}

.db-user-title span {
  color: var(--db-text-2);
  font-weight: 700;
}

.db-user-name {
  margin-bottom: 14px;
  color: var(--db-accent-dark);
  font-size: 1.1rem;
  font-weight: 800;
}

.db-user-about {
  margin-top: 10px;
  padding: 14px 16px;
  border-radius: 18px;
  background: #f7fafd;
  border: 1px solid var(--db-line);
  color: var(--db-text-2);
  line-height: 1.7;
}

.db-user-signature {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--db-line);
  color: var(--db-text);
}

.db-user-signature span {
  color: var(--db-text-2);
  font-weight: 700;
}

.db-user-actions-grid,
.db-user-stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 18px;
}

.db-user-actions-grid .card-body,
.db-user-stats-grid .card-body {
  padding: 14px;
}

.db-user-action-btn,
.db-user-stat-btn {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 0 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--db-line);
  color: var(--db-text);
  font-weight: 800;
  text-decoration: none !important;
  box-shadow: var(--db-shadow-xs);
  transition: .2s ease;
}

.db-user-action-btn:hover,
.db-user-stat-btn:hover {
  color: var(--db-accent-dark);
  border-color: #cfd9e6;
  transform: translateY(-1px);
  box-shadow: var(--db-shadow-sm);
}

.db-user-table-card {
  margin-top: 18px;
}

.db-user-table {
  margin: 0;
  background: transparent;
  box-shadow: none;
}

.db-user-table tr:first-child td {
  border-top: 0;
}

.db-user-table td {
  padding: 18px 24px !important;
  vertical-align: middle;
  border-top: 1px solid var(--db-line);
  color: var(--db-text);
  font-weight: 600;
}

.db-user-table td:first-child {
  width: 32%;
  color: var(--db-text-2);
  font-weight: 700;
}

.db-user-role {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(239,77,90,.10);
  border: 1px solid rgba(239,77,90,.16);
  color: #dc2626;
  font-weight: 800;
}

@media (max-width: 991.98px) {
  .db-user-hero-inner {
    align-items: flex-start;
  }

  .db-user-actions-grid,
  .db-user-stats-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .db-user-hero .card-body {
    padding: 18px;
  }

  .db-user-hero-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .db-user-avatar-col {
    flex: 0 0 auto;
  }

  .db-user-avatar {
    width: 118px;
    height: 118px;
    border-radius: 22px !important;
  }

  .db-user-main-col {
    width: 100%;
  }

  .db-user-settings {
    top: -2px;
    right: 0;
  }

  .db-user-title {
    margin-right: 46px;
    font-size: 1.5rem;
  }

  .db-user-table td {
    padding: 14px 16px !important;
  }

  .db-user-table td:first-child {
    width: 42%;
  }
  /* =========================================
   MODAL FIX
   ========================================= */

.modal {
  z-index: 99999 !important;
}

.modal-backdrop {
  z-index: 99990 !important;
}

.modal-dialog {
  pointer-events: none;
}

.modal-content {
  pointer-events: auto;
  position: relative;
  z-index: 100000 !important;
}

/* если какой-то родитель создает кривой слой */
.db-user-profile,
.db-user-profile * {
  transform-style: flat;
}

.db-user-profile .modal,
.db-user-profile .modal-dialog,
.db-user-profile .modal-content {
  transform: none !important;
}

/* на всякий случай для кликов */
.modal.show {
  display: block;
}

.modal.show .modal-dialog {
  pointer-events: none;
}

.modal.show .modal-content,
.modal.show input,
.modal.show textarea,
.modal.show select,
.modal.show button,
.modal.show label,
.modal.show a {
  pointer-events: auto;
}