/* Shared RU/EN guide layout; deliberately isolated from news and catalog pages. */
.explainer-detail .guide-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin:0 0 14px; font:13px/1.5 var(--sans,Arial,sans-serif); color:var(--ink-soft,#66736c); }
.explainer-detail .guide-views { display:inline-flex; gap:6px; align-items:center; }
.explainer-detail .guide-views svg { flex:none; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explainer-detail {
  max-width:1240px; width:100%; padding:28px 32px 56px;
}
.explainer-detail .guide-back { display:inline-block; color:var(--ink-soft); font-size:14px; padding:8px 0; margin-bottom:12px; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explainer-detail .explains-hero {
  display:block; padding:18px 0 26px; margin:0 0 32px; border-bottom:1px solid var(--line);
}
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explains-hero h1 { font-size:clamp(32px,4vw,52px); max-width:1000px; line-height:1.12; margin:14px 0 20px; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explains-hero .section-label { font-size:12px; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explains-hero .muted { max-width:920px; font-size:19px; line-height:1.6; margin:14px 0 0; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explains-hero .guide-version { font-size:13px; line-height:1.5; color:var(--ink-soft); }
.explainer-detail .explain-tags { margin-top:18px; gap:6px; }
.explainer-detail .explain-tags span { background:var(--bg-alt); border:0; padding:6px 10px; font-size:12px; }
.guide-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:44px; align-items:start; }
.guide-sidebar { position:sticky; top:100px; min-width:0; }
.guide-toc { border-left:2px solid var(--gold); padding:4px 0 8px 18px; max-height:calc(100dvh - 130px); overflow-y:auto; }
.guide-toc>strong { display:block; margin:0 0 16px; font-size:15px; }
.guide-toc ol { list-style:none; margin:0; padding:0; display:grid; gap:5px; }
.guide-toc li a { display:flex; gap:10px; padding:8px 0; color:var(--ink-soft); font-size:14px; line-height:1.45; }
.guide-toc li a span { color:var(--gold); font:12px/1.8 var(--mono); }
.guide-toc a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.guide-toc-extra { display:block; font-size:14px; padding-top:12px; margin-top:10px; border-top:1px solid var(--line); }
.guide-reading { min-width:0; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explainer-body { max-width:none; width:100%; margin:0; gap:0; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explain-detail-block {
  position:relative; border:0; border-bottom:1px solid var(--line); border-radius:0;
  background:transparent; padding:26px 0 30px; scroll-margin-top:100px;
}
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explain-detail-block:first-child {
  background:var(--bg-alt); border:1px solid var(--line); border-radius:8px; padding:24px; margin-bottom:4px;
}
.guide-number { display:block; color:var(--gold); font:13px/1.4 var(--mono); margin-bottom:10px; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explain-detail-block h2 { font-family:var(--display); font-size:clamp(24px,2.3vw,30px); line-height:1.2; margin:0 0 14px; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explain-detail-block p { font-family:var(--sans,Arial,sans-serif); font-size:18px; line-height:1.75; color:var(--ink); margin:0; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) :is(.explainer-faq,.explainer-sources) { display:block; width:100%; max-width:none; margin:28px 0 0; padding:24px; border-radius:8px; scroll-margin-top:100px; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) :is(.explainer-faq,.explainer-sources) h2 { font-size:26px; line-height:1.2; margin:10px 0 18px; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explainer-sources { background:var(--bg-alt); }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explainer-sources p { font-size:15px; line-height:1.6; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explainer-sources ul { margin:16px 0 0; padding-left:20px; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explainer-sources li { padding:6px 0; font-size:16px; overflow-wrap:anywhere; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .faq-list summary { font-size:17px; line-height:1.5; padding-block:14px; }
body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .faq-list p { font-size:17px; line-height:1.7; }
.guide-reading .explain-back-link { margin:24px 0 0; font-size:15px; }
.guide-layout a:focus-visible,.guide-back:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
@media(max-width:900px) {
  .guide-layout { grid-template-columns:190px minmax(0,1fr); gap:28px; }
}
@media(max-width:700px) {
  body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explainer-detail { padding:18px 20px 36px; }
  body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explainer-detail .explains-hero { padding:8px 0 22px; margin-bottom:22px; }
  body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explains-hero .muted { font-size:17px; }
  body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explains-hero .guide-version { font-size:13px; }
  .guide-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  .guide-sidebar { position:static; }
  .guide-toc { max-height:none; padding-left:14px; }
  .guide-toc ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 16px; }
  .guide-toc li a { font-size:14px; }
  body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explain-detail-block p { font-size:17px; line-height:1.7; }
  body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) .explain-detail-block:first-child,body:not(.ff-editorial-home):not(.ff-editorial-story):has(.guide-layout) :is(.explainer-faq,.explainer-sources) { padding:20px; }
}
@media(max-width:380px) { .guide-toc ol { grid-template-columns:1fr; } }
@media print { .guide-sidebar,.guide-back,.explain-back-link { display:none; } .guide-layout { display:block; } }
/* Optional comparisons and crosslinks. Existing text-only guides are unchanged. */
.guide-reading .guide-table-wrap { margin-top:22px; max-width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:8px; background:var(--bg,#fafbf8); }
.guide-reading .guide-table { width:100%; border-collapse:collapse; font:15px/1.5 var(--sans,Arial,sans-serif); table-layout:fixed; }
.guide-reading .guide-table caption { padding:14px 16px; text-align:left; color:var(--ink); font-weight:700; }
.guide-reading .guide-table :is(th,td) { padding:12px 14px; text-align:left; vertical-align:top; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.guide-reading .guide-table thead th { background:#eaf2ed; color:#285e49; font-weight:700; }
.guide-reading .guide-table tbody th { font-weight:600; }
.guide-reading .guide-table thead th:first-child { width:34%; }
.guide-reading .guide-table tbody tr:last-child { border-bottom:2px solid #bbd0c2; }
.guide-reading .guide-related { margin-top:28px; padding:22px 0; border-top:1px solid var(--line); }
.guide-reading .guide-related h2 { margin:0 0 14px; font-size:25px; }
.guide-reading .guide-related ul { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.guide-reading .guide-related a { position:relative; display:block; padding:12px 36px 12px 14px; border:1px solid var(--line); border-radius:7px; font:16px/1.45 var(--sans,Arial,sans-serif); color:#285e49; background:#f3f6f2; overflow-wrap:anywhere; }
.guide-reading .guide-related a:hover { background:#eaf2ed; border-color:#aac6b7; }
.guide-reading .guide-related a span { display:block; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:3px; }
.guide-reading .guide-related a b { position:absolute; right:14px; top:18px; }
@media(max-width:700px) {
  .guide-reading .guide-table { font-size:14px; }
  .guide-reading .guide-table :is(th,td) { padding:10px 9px; }
  .guide-reading .guide-table caption { padding:12px 10px; font-size:14px; }
  .guide-reading .guide-related a { font-size:15px; }
}
