/* socgramota — общие стили сайта образовательной организации */
:root{
  --bg:#ffffff; --fg:#1a1f2b; --muted:#5b6472; --line:#e3e7ee;
  --accent:#2f5bd0; --accent-dark:#23459e; --soft:#f5f7fb;
  --maxw:1080px; --radius:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.6; font-size:17px;
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--maxw); margin:0 auto; padding:0 20px}

/* Header */
.site-header{border-bottom:1px solid var(--line); background:var(--bg); position:sticky; top:0; z-index:20}
.site-header .container{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; flex-wrap:wrap}
.brand{font-weight:700; font-size:18px; color:var(--fg)}
.brand small{display:block; font-weight:400; font-size:13px; color:var(--muted)}
.nav a{margin-left:18px; color:var(--fg); font-size:15px}
.a11y-btn{
  border:1px solid var(--line); background:var(--soft); color:var(--fg);
  padding:7px 12px; border-radius:8px; cursor:pointer; font-size:14px;
}
.a11y-btn:hover{background:#eaeef6}

/* Hero / page head */
.page-head{background:var(--soft); border-bottom:1px solid var(--line); padding:34px 0}
.page-head h1{margin:0 0 6px; font-size:28px; line-height:1.25}
.breadcrumbs{font-size:14px; color:var(--muted); margin-bottom:14px}
.breadcrumbs a{color:var(--muted)}

/* Content */
main{padding:32px 0 56px}
h2{font-size:22px; margin:30px 0 12px}
p{margin:0 0 14px}
.note{background:var(--soft); border-left:3px solid var(--accent); padding:12px 16px; border-radius:8px; color:var(--muted); font-size:15px}

/* Tables (сведения) */
table.sv{border-collapse:collapse; width:100%; margin:14px 0; font-size:16px}
table.sv th,table.sv td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top}
table.sv th{background:var(--soft); width:38%; font-weight:600}

/* Sveden hub menu */
.sv-menu{list-style:none; padding:0; margin:18px 0; display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px}
.sv-menu a{display:block; border:1px solid var(--line); border-radius:var(--radius); padding:16px; color:var(--fg); background:var(--bg)}
.sv-menu a:hover{border-color:var(--accent); text-decoration:none; box-shadow:0 2px 10px rgba(47,91,208,.08)}
.sv-menu .num{color:var(--accent); font-weight:700; font-size:14px}
.sv-menu .ttl{display:block; margin-top:4px; font-weight:600}

/* Buttons */
.btn{display:inline-block; background:var(--accent); color:#fff; padding:12px 22px; border-radius:10px; font-weight:600}
.btn:hover{background:var(--accent-dark); text-decoration:none}

/* Footer */
.site-footer{border-top:1px solid var(--line); background:var(--soft); padding:28px 0; font-size:15px; color:var(--muted)}
.site-footer a{color:var(--muted)}
.site-footer .links{margin-bottom:14px; display:flex; flex-wrap:wrap; gap:8px 18px}

/* Версия для слабовидящих */
body.a11y{font-size:20px; background:#000; color:#ffe600}
body.a11y .site-header,body.a11y .page-head,body.a11y .site-footer,body.a11y .note,body.a11y table.sv th,body.a11y .sv-menu a{background:#000}
body.a11y a,body.a11y .brand,body.a11y .brand small,body.a11y .breadcrumbs,body.a11y .breadcrumbs a,body.a11y .muted{color:#ffe600}
body.a11y table.sv th,body.a11y table.sv td,body.a11y .note,body.a11y .sv-menu a,body.a11y .site-header,body.a11y .page-head,body.a11y .site-footer{border-color:#ffe600}
body.a11y .a11y-btn{background:#000; color:#ffe600; border-color:#ffe600}
body.a11y .btn{background:#ffe600; color:#000}

@media(max-width:640px){
  .page-head h1{font-size:23px}
  table.sv th{width:auto}
}
