/* ===== Онлайн-школа обществознания — ИП Махов М.О. =====
   Палитра: чернильный синий + бумага + сигнальный янтарь */
:root{
  --ink:#1b2a4a;        /* основной тёмно-синий */
  --ink-2:#2e4370;
  --paper:#f7f8fb;      /* фон */
  --white:#ffffff;
  --line:#d9deea;
  --amber:#e0a100;      /* акцент */
  --amber-soft:#fff3d1;
  --text:#22293a;
  --muted:#5b6478;
  --ok:#1e7a4c;
  --fs:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:var(--fs);scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--text);background:var(--paper);line-height:1.65;
}
h1,h2,h3,h4,.nav,.btn,.eyebrow,th,.badge,.a11y-panel,.crumbs{
  font-family:'PT Sans','Segoe UI',Verdana,Arial,sans-serif;
}
a{color:var(--ink-2)}
a:focus-visible,button:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
img{max-width:100%}
.container{max-width:1080px;margin:0 auto;padding:0 20px}

/* ---- Шапка ---- */
.topbar{background:var(--ink);color:#fff;font-size:.85rem}
.topbar .container{display:flex;justify-content:space-between;gap:16px;padding:6px 20px;flex-wrap:wrap}
.topbar a{color:#ffd; text-decoration:none}
header.site{background:var(--white);border-bottom:3px solid var(--ink);position:sticky;top:0;z-index:50}
header.site .container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.logo{padding:2px 0}
.logo b{font-size:1.05rem;line-height:1.2;display:block}
.logo span{font-size:.78rem;color:var(--muted);display:block}
nav.nav{display:flex;gap:4px;flex-wrap:wrap}
nav.nav a{padding:8px 12px;text-decoration:none;color:var(--ink);border-radius:6px;font-size:.92rem}
nav.nav a:hover{background:var(--paper)}
nav.nav a.active{background:var(--ink);color:#fff}

/* ---- Панель доступности ---- */
.a11y-toggle{background:var(--amber-soft);border:1.5px solid var(--amber);color:var(--ink);
  padding:7px 12px;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:700}
.a11y-panel{display:none;background:var(--ink);color:#fff;padding:10px 0}
.a11y-panel.open{display:block}
.a11y-panel .container{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.a11y-panel button{background:#fff;color:var(--ink);border:0;padding:6px 12px;border-radius:5px;cursor:pointer;font-weight:700}
body.a11y{--fs:20px}
body.a11y-xl{--fs:24px}
body.a11y-contrast{background:#000;color:#fff}
body.a11y-contrast .card,body.a11y-contrast header.site,body.a11y-contrast section,
body.a11y-contrast table,body.a11y-contrast .hero,body.a11y-contrast footer.site{
  background:#000!important;color:#fff!important;border-color:#fff!important}
body.a11y-contrast a,body.a11y-contrast h1,body.a11y-contrast h2,body.a11y-contrast h3{color:#ffec80!important}
body.a11y-gray{filter:grayscale(1)}
body.a11y-noimg img{visibility:hidden}

/* ---- Герой ---- */
.hero{background:linear-gradient(135deg,var(--ink) 0%,var(--ink-2) 100%);color:#fff;padding:64px 0 56px}
.hero .eyebrow{color:var(--amber);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:700}
.hero h1{font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.2;margin:10px 0 16px;font-weight:800}
.hero p{max-width:640px;color:#dbe2f2}
.hero .btn{margin-top:24px}
.btn{display:inline-block;background:var(--amber);color:#231a00;font-weight:800;text-decoration:none;
  padding:12px 24px;border-radius:8px;border:0;cursor:pointer}
.btn.ghost{background:transparent;color:#fff;border:2px solid #fff;margin-left:10px}

/* ---- Секции ---- */
section{padding:48px 0}
section.alt{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
h2.sec{font-size:1.55rem;color:var(--ink);margin-bottom:6px}
.sec-sub{color:var(--muted);margin-bottom:26px;max-width:680px}
.grid{display:grid;gap:18px}
.grid.c3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--ink);
  border-radius:8px;padding:20px}
.card h3{color:var(--ink);margin-bottom:8px;font-size:1.05rem}
.card p{font-size:.95rem;color:var(--text)}

/* ---- Сведения: таблицы и списки ---- */
main.sved{padding:36px 0 56px}
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--muted)}
h1.page{font-size:1.7rem;color:var(--ink);margin-bottom:8px}
.page-note{color:var(--muted);font-size:.92rem;margin-bottom:24px}
.sved h2{font-size:1.15rem;color:var(--ink);margin:28px 0 10px}
.sved p, .sved li{margin-bottom:8px}
.sved ul{padding-left:22px}
table{width:100%;border-collapse:collapse;background:var(--white);margin:12px 0 20px;font-size:.95rem}
th,td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
th{background:var(--ink);color:#fff;font-weight:700}
tr:nth-child(even) td{background:var(--paper)}
.doc-list li{list-style:none;margin:0 0 10px;padding:12px 14px;background:var(--white);
  border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:6px}
.doc-list{padding-left:0}
.doc-list a{font-weight:700}
.doc-meta{display:block;font-size:.82rem;color:var(--muted)}

/* ---- Плейсхолдеры (удалить после наполнения) ---- */
.todo{background:var(--amber-soft);border:1.5px dashed var(--amber);border-radius:4px;
  padding:1px 7px;color:#6b4e00;font-family:'PT Sans',sans-serif;font-size:.92em;font-weight:700}

/* ---- Меню сведений ---- */
.sved-nav{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:28px}
.sved-nav b{display:block;color:var(--ink);margin-bottom:8px;font-family:'PT Sans',sans-serif}
.sved-nav ol{padding-left:22px;columns:2;column-gap:32px;font-size:.92rem}
.sved-nav li{margin-bottom:6px;break-inside:avoid}
@media (max-width:640px){.sved-nav ol{columns:1}}

/* ---- Футер ---- */
footer.site{background:var(--ink);color:#c9d2e6;padding:36px 0;font-size:.9rem}
footer.site a{color:#fff}
footer.site .container{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
footer.site b{color:#fff;display:block;margin-bottom:8px;font-family:'PT Sans',sans-serif}
.badge{display:inline-block;background:var(--amber-soft);color:#6b4e00;border-radius:20px;
  padding:2px 12px;font-size:.78rem;font-weight:700}

/* ---- Инфо-блоки в стиле карточек ---- */
.fieldlabel{font-family:'PT Sans','Segoe UI',Verdana,Arial,sans-serif;font-size:.86rem;
  font-weight:700;color:var(--ink);margin:22px 0 6px}
.infocard{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--amber);
  border-radius:8px;padding:14px 16px;margin-bottom:12px}
.infocard b{display:block;color:var(--ink);font-family:'PT Sans',sans-serif;margin-bottom:4px}
.infocard p{margin:0;font-size:.94rem}
.sved .fieldlabel + p{margin-top:0}

/* ---- Поля-строки с разделителями (как в образце) ---- */
.field{border-bottom:1px solid var(--line);padding:14px 0}
.field:first-of-type{padding-top:0}
.field .fieldlabel{margin:0 0 6px}
.field p{margin:0}
.field .empty{min-height:1.2em}
