/* D7 SEO Autopilot — минимальная семантическая верстка статьи. Акцент #FF3D1F. */
.seo-article { max-width: 820px; margin: 0 auto; line-height: 1.7; }
.seo-article header h1 { margin-bottom: .4em; }
.seo-article .seo-lead { font-size: 1.15em; color: #333; font-weight: 500; }
.seo-article .seo-meta-line { color: #888; font-size: .9em; margin: 0 0 .8em; }

/* TL;DR — блок «коротко» (ответ для людей и AI) */
.seo-tldr { background: #fff5f3; border-left: 4px solid #FF3D1F; border-radius: 8px;
  padding: 14px 18px; margin: 0 0 1.2em; font-size: 1.05em; }
.seo-tldr strong { color: #FF3D1F; }

/* Ключевые тезисы */
.seo-takeaways { background: #f7f7f8; border-radius: 8px; padding: 14px 18px 14px; margin: 1.2em 0; }
.seo-takeaways > strong { display: block; margin-bottom: .4em; }
.seo-takeaways ul { margin: 0; padding-left: 1.2em; }
.seo-takeaways li { margin: .3em 0; }

/* Списки внутри разделов */
.seo-article section ul, .seo-article ul { padding-left: 1.3em; }
.seo-article li { margin: .25em 0; }

/* Нумерованные этапы (H3 «Этап N») */
.seo-article h3 { margin-top: 1.4em; padding-left: .6em; border-left: 3px solid #FF3D1F; }

/* Оглавление */
.seo-toc { background: #f7f7f8; border-left: 3px solid #FF3D1F; border-radius: 8px; padding: 16px 20px; margin: 1.4em 0; }
.seo-toc__title { font-weight: 700; margin: 0 0 .5em; }
.seo-toc ol { margin: 0; padding-left: 1.2em; }
.seo-toc li { margin: .3em 0; }
.seo-toc a { color: #222; text-decoration: none; }
.seo-toc a:hover { color: #FF3D1F; text-decoration: underline; }

/* CTA-блок */
.seo-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  background: #fff5f3; border: 1px solid #ffd9d1; border-radius: 12px; padding: 20px 24px; margin: 1.8em 0; }
.seo-cta__title { display: block; font-size: 1.1em; }
.seo-cta__text { color: #555; }
.seo-cta__btn { display: inline-block; background: #FF3D1F; color: #fff; text-decoration: none;
  padding: 12px 22px; border-radius: 8px; font-weight: 600; white-space: nowrap; }
.seo-cta__btn:hover { background: #e0330f; color: #fff; }

/* Блок автора */
.seo-author { display: flex; gap: 14px; align-items: center; background: #fafafa; border-radius: 12px; padding: 16px 20px; margin: 2em 0; }
.seo-author img { border-radius: 50%; }
.seo-author__name { display: block; font-weight: 700; }
.seo-author__bio { color: #666; font-size: .92em; }

/* Похожие статьи */
.seo-related { margin: 2em 0; }
.seo-related ul { list-style: none; padding: 0; display: grid; gap: 10px; }
.seo-related a { color: #222; text-decoration: none; border-bottom: 1px solid #eee; padding-bottom: 8px; display: block; }
.seo-related a:hover { color: #FF3D1F; }
.seo-article .seo-figure { margin: 1.2em 0; }
.seo-article .seo-figure img { max-width: 100%; height: auto; border-radius: 8px; }
.seo-article .seo-figure figcaption { font-size: .85em; color: #777; margin-top: .4em; }
.seo-article section { margin: 1.6em 0; }
.seo-article section h2 { margin-bottom: .4em; }
.seo-article .seo-comparison table { width: 100%; border-collapse: collapse; }
.seo-article .seo-comparison th,
.seo-article .seo-comparison td { border: 1px solid #e0e0e0; padding: 10px 12px; text-align: left; }
.seo-article .seo-comparison th { background: #f6f7f9; font-weight: 600; }
.seo-article .seo-faq details { border-bottom: 1px solid #ececec; padding: .7em 0; }
.seo-article .seo-faq summary { cursor: pointer; list-style: none; }
.seo-article .seo-faq summary h3 { display: inline; margin: 0; font-size: 1.05em; }
.seo-article .seo-faq summary::-webkit-details-marker { display: none; }
.seo-article .seo-faq summary::before { content: "+"; margin-right: .5em; color: #999; }
.seo-article .seo-faq details[open] summary::before { content: "–"; }
