/**
 * Canonical typography — same as index.html `.dm-seo`
 * Apply on every content page via class `dm-seo` (and aliases below).
 */
:root {
  --dm-bg: #0d0d14;
  --dm-text: #e8eaf0;
  --dm-muted: rgba(232, 234, 240, 0.88);
  --dm-heading: #fff;
  --dm-h3: #f3f4f6;
  --dm-link: #ff7a93;
  --dm-accent: #e11d48;
  --dm-border: rgba(255, 255, 255, 0.12);
  --dm-card: rgba(255, 255, 255, 0.04);
  --dm-font: Montserrat, system-ui, -apple-system, "Segoe UI", sans-serif;
}

html {
  font-family: var(--dm-font);
}

body,
body.dm-inner,
body.page-site,
body.page-info,
body.page-login {
  font-family: var(--dm-font) !important;
  color: var(--dm-text);
  background-color: var(--dm-bg);
}

/* Content shell = homepage .dm-seo */
.dm-seo-wrap {
  display: block !important;
  position: relative !important;
  z-index: 40 !important;
  background: var(--dm-bg);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin: 0;
  padding: 0;
}

.dm-seo,
.dm-info-article,
.article-content,
.content-wrapper.dm-seo,
main.wrap,
.wrap.dm-seo,
section.dm-seo,
#seo-obzor.dm-seo,
.seo-panel.dm-seo {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding: 24px 16px 32px;
  color: var(--dm-text) !important;
  font: 16px/1.55 var(--dm-font) !important;
}

/* Inner clone pages: main container */
body.dm-inner main.main,
body.dm-inner #main-content,
body.dm-inner .main .container {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: var(--dm-text) !important;
  font: 16px/1.55 var(--dm-font) !important;
  background: var(--dm-bg) !important;
}

body.dm-inner main.main,
body.dm-inner #main-content {
  padding: 72px 16px 48px !important;
}

/* Kill clone template text styles inside content */
.dm-seo *,
.dm-info-article *,
.article-content *,
main.wrap *,
.wrap.dm-seo * {
  font-family: inherit;
}

.dm-seo .dm-meta,
.dm-seo .dm-byline,
.dm-info-article .dm-byline,
.seo-byline,
.meta {
  font-size: 13px !important;
  opacity: 0.75;
  margin: 0 0 18px !important;
  line-height: 1.45;
  color: var(--dm-text) !important;
}

.dm-seo .dm-aeo,
.dm-aeo {
  background: var(--dm-card);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 18px;
  margin: 0 0 24px;
}

.dm-seo h1,
.dm-info-article h1,
.main-title,
.content-header .main-title,
main.wrap h1,
.wrap h1 {
  font-family: var(--dm-font) !important;
  font-size: clamp(1.45rem, 3vw, 1.85rem) !important;
  line-height: 1.25 !important;
  margin: 0 0 12px !important;
  color: var(--dm-heading) !important;
  font-weight: 700 !important;
  background: none !important;
  -webkit-text-fill-color: unset !important;
}

.dm-seo h2,
.dm-info-article h2,
.dm-sec h2,
.article-content h2,
main.wrap h2,
.wrap h2,
.card h2 {
  font-family: var(--dm-font) !important;
  font-size: 1.35rem !important;
  line-height: 1.3 !important;
  margin: 24px 0 10px !important;
  color: var(--dm-heading) !important;
  font-weight: 700 !important;
}

.dm-seo h3,
.dm-info-article h3,
.dm-sec h3,
.article-content h3,
main.wrap h3,
.wrap h3 {
  font-family: var(--dm-font) !important;
  font-size: 1.05rem !important;
  margin: 16px 0 8px !important;
  color: var(--dm-h3) !important;
  font-weight: 600 !important;
}

.dm-seo p,
.dm-info-article p,
.dm-sec p,
.article-content p,
main.wrap p,
.wrap p,
.card p {
  display: block;
  margin: 0 0 12px !important;
  line-height: 1.55 !important;
  color: var(--dm-muted) !important;
  font-size: 16px !important;
  font-family: var(--dm-font) !important;
}

.dm-seo ul,
.dm-info-article ul,
.dm-sec ul,
.article-content ul,
main.wrap ul,
.wrap ul {
  margin: 0 0 14px !important;
  padding-left: 1.2em !important;
}

.dm-seo li,
.dm-info-article li,
.dm-sec li,
.article-content li,
main.wrap li,
.wrap li {
  margin: 0 0 6px !important;
  line-height: 1.55 !important;
  color: var(--dm-muted) !important;
  font-size: 16px !important;
}

.dm-seo a:not(.dm-cta):not(.dm-nav-link),
.dm-info-article a:not(.dm-cta),
.article-content a:not(.dm-cta),
main.wrap a:not(.dm-cta):not(.dm-nav-link),
.wrap a:not(.dm-cta):not(.dm-nav-link) {
  color: var(--dm-link) !important;
}

.dm-seo table,
.dm-info-article table,
.dm-facts,
.dm-compare {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0 18px;
  font-size: 14px !important;
}

.dm-seo th,
.dm-seo td,
.dm-info-article th,
.dm-info-article td,
.dm-facts th,
.dm-facts td,
.dm-compare th,
.dm-compare td {
  border: 1px solid var(--dm-border);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  color: var(--dm-text) !important;
  font-family: var(--dm-font) !important;
}

.dm-seo th,
.dm-facts th,
.dm-compare th {
  background: rgba(255, 255, 255, 0.06);
  color: #fff !important;
  font-weight: 600;
}

.dm-seo .dm-note,
.dm-note {
  font-size: 13px !important;
  opacity: 0.7;
  margin: 4px 0 0 !important;
}

a.dm-cta,
.dm-seo a.dm-cta,
.dm-inline-cta a.dm-cta {
  display: inline-block !important;
  margin: 8px 10px 6px 0;
  padding: 12px 18px !important;
  border-radius: 10px !important;
  background: var(--dm-accent) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-family: var(--dm-font) !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

p:has(> a.dm-cta),
p.dm-inline-cta,
.dm-inline-cta {
  text-align: center !important;
}

section.dm-sec {
  margin: 0 0 8px;
}

/* FAQ / details like homepage seo-obzor */
.dm-seo details,
#seo-obzor details {
  margin: 0 0 10px;
  padding: 10px 12px;
  background: var(--dm-card);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
}

.dm-seo summary,
#seo-obzor summary {
  cursor: pointer;
  font-weight: 600;
  color: #fff !important;
  font-family: var(--dm-font) !important;
}

/* Legal card = soft AEO block */
.card {
  background: var(--dm-card);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 18px;
}

/* Author page: no gradient title */
.role {
  color: rgba(232, 234, 240, 0.75);
  margin: 0 0 18px;
}

@media (max-width: 768px) {
  .dm-seo,
  .dm-info-article,
  main.wrap,
  .wrap.dm-seo {
    padding: 20px 14px 28px;
  }
  body.dm-inner main.main,
  body.dm-inner #main-content {
    padding: 64px 14px 40px !important;
  }
}

/* Footer typography — same as vhod.html everywhere */
footer.dm-footer,
#dm-footer,
.dm-footer {
  font: 14px/1.5 Montserrat, system-ui, sans-serif !important;
  color: rgba(255, 255, 255, 0.78) !important;
}
.dm-footer *,
.dm-footer p,
.dm-footer li,
.dm-footer a,
.dm-footer span {
  font-family: Montserrat, system-ui, sans-serif !important;
}
.dm-footer p,
.dm-footer li,
.dm-footer a {
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}
.dm-footer h4 {
  font-family: Montserrat, system-ui, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.45) !important;
}
.dm-footer p {
  color: rgba(255, 255, 255, 0.65) !important;
  margin: 0 !important;
}
.dm-footer a {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
  font-weight: 400 !important;
}
.dm-footer-warn {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.55) !important;
  font-weight: 400 !important;
}
.dm-footer-copy {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.4) !important;
  font-weight: 400 !important;
}
