/* Shared statutory navigation; loaded last on every page. */
#navigation > .nav-sveden { flex-basis:100%; padding:11px 0 10px; border-bottom:1px solid var(--line); font-size:12px; letter-spacing:.025em; }
#navigation > .nav-sveden a { display:flex; align-items:center; gap:10px; }
#navigation > .nav-sveden a::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--green); flex-shrink:0; }
.navigation-bar.is-stuck #navigation > .nav-sveden { border-bottom-color:#ffffff38; }
.navigation-bar.is-stuck #navigation > .nav-sveden a::before { background:var(--yellow); }
#navigation > .nav-sveden a[aria-current] { text-decoration:underline; text-underline-offset:4px; }
@media (min-width:1011px) {
  #navigation > .nav-sveden { display:none; }
}

.sveden-main { flex:1; background:#fbfcfb; }
.sveden-layout { display:grid; grid-template-columns:290px minmax(0,1fr); gap:48px; align-items:start; padding:32px 0 64px; }
.sveden-aside { position:sticky; top:142px; }
.sveden-desktop-menu { border:1px solid var(--line); border-radius:12px; max-height:calc(100vh - 160px); overflow:auto; background:white; }
.sveden-menu-title { padding:18px 20px; background:#eaf3ee; font-size:13px; font-weight:750; line-height:1.4; }
.sveden-nav { display:block; padding:8px; font-size:13px; font-weight:500; line-height:1.4; text-transform:none; min-height:0; }
.sveden-nav ul { padding:0; margin:0; list-style:none; }
.sveden-nav li + li { margin-top:2px; }
.sveden-nav a { display:block; padding:9px 12px; border-radius:6px; overflow-wrap:anywhere; }
.sveden-nav a:hover { background:var(--paper); text-decoration:underline; text-underline-offset:3px; }
.sveden-nav a[aria-current="page"] { background:var(--green); color:white; font-weight:650; }
.sveden-mobile-menu { display:none; }
.sveden-article { min-width:0; }
.sveden-page-head { margin:0 0 30px; padding:0 0 26px; border-bottom:3px solid var(--green); }
.sveden-page-head .eyebrow,.sveden-overview-head .eyebrow { font-size:11px; line-height:1.5; color:var(--muted); letter-spacing:.04em; }
.sveden-page-head h1 { font-size:clamp(28px,3vw,40px); line-height:1.15; letter-spacing:-.8px; overflow-wrap:break-word; }
.sveden-content { line-height:1.65; font-size:16px; overflow-wrap:anywhere; }
.sveden-content > * + * { margin-top:18px; }
.sveden-content h2 { font-size:24px; line-height:1.3; margin:36px 0 16px; letter-spacing:-.25px; }
.sveden-content h3 { font-size:19px; line-height:1.35; margin:26px 0 12px; }
.sveden-content h2:first-child,.sveden-content h3:first-child { margin-top:0; }
.sveden-content p + p { margin-top:14px; }
.sveden-content ul,.sveden-content ol { padding-left:24px; }
.sveden-content li { margin:8px 0; }
.sveden-content a { color:var(--green); text-decoration:underline; text-underline-offset:3px; }
.sveden-content a:hover { color:var(--deep); }
.sveden-content a.button { color:#fff; text-decoration:none; }
.sveden-content a.button:hover { color:#fff; }
.sveden-content img { display:block; max-width:100%; height:auto; border-radius:8px; }
.sveden-content dl { margin:0; }
.sveden-content dt { font-weight:700; margin-top:20px; }
.sveden-content dt:first-child { margin-top:0; }
.sveden-content dd { margin:5px 0 0; }
.sveden-content address { font-style:normal; }
.sveden-content .notice,.sveden-content .source-note { padding:16px 20px; background:#eef4f0; border-left:3px solid var(--green); border-radius:0 8px 8px 0; }
.sveden-content .source-note { font-size:13px; color:var(--muted); }
.sveden-content .document-list { list-style:none; padding:0; }
.sveden-content .document-list li { padding:14px 0; margin:0; border-bottom:1px solid var(--line); }
.sveden-content .document-list a { display:inline; }
.sveden-content .document-list small { display:block; color:var(--muted); font-size:12px; margin-top:5px; }
.sveden-content .document-source,.page-content .document-source,.sveden-content .document-cloud-link,.page-content .document-cloud-link { display:block; margin-top:4px; color:var(--muted); font-size:12px; }
.sveden-content .document-source a,.page-content .document-source a,.sveden-content .document-cloud-link a,.page-content .document-cloud-link a { text-decoration:underline; }
.sveden-content .publication-status { margin:8px 0; color:var(--muted); font-size:13px; }
.sveden-content .document-links { margin:16px 0; color:var(--text); }
.sveden-content .document-links a { display:inline; }
.sveden-content .context-note,.page-content .context-note,.sveden-content .archive-note,.page-content .archive-note { padding:0; background:none; border:0; border-radius:0; color:var(--muted); font-size:14px; line-height:1.6; }
.sveden-table-scroll { overflow:auto; max-width:100%; border:1px solid var(--line); border-radius:8px; margin:20px 0; overscroll-behavior-inline:contain; }
.sveden-content .table-scroll,.sveden-content .table-wrap { max-width:100%; margin:20px 0; }
.sveden-content .table-scroll > .sveden-table-scroll,.sveden-content .table-wrap > .sveden-table-scroll { margin:0; }
.sveden-table-scroll:focus-visible { outline:3px solid #bc8800; outline-offset:4px; }
.sveden-content table { border-collapse:collapse; width:100%; font-size:14px; line-height:1.5; min-width:560px; }
.sveden-content th,.sveden-content td { padding:13px 16px; text-align:left; vertical-align:top; border:1px solid var(--line); min-width:160px; overflow-wrap:normal; word-break:normal; }
.sveden-content td a { overflow-wrap:anywhere; }
.sveden-content th { background:#eaf3ee; font-weight:700; }
.sveden-content tr:nth-child(even) td { background:#f7faf8; }
.sveden-content caption { padding:14px 16px; text-align:left; font-weight:700; }
.sveden-content section { scroll-margin-top:150px; }
.sveden-content tr[id^="program-"] { scroll-margin-top:110px; }
.page-content { max-width:980px; padding-top:4px; padding-bottom:64px; }
.page-content-wide { max-width:none; }
.page-content .lead,.page-head .lead { max-width:780px; margin-top:16px; font-size:18px; line-height:1.6; color:var(--muted); }
.resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:0; list-style:none; }
.resource-card { display:flex; flex-direction:column; min-height:100%; padding:20px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.resource-card h2,.resource-card h3 { margin:0 0 8px; font-size:18px; line-height:1.35; }
.resource-card p { color:var(--muted); font-size:14px; }
.resource-card a { margin-top:auto; padding-top:14px; font-weight:700; }
.content-actions { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.content-actions a { display:inline-flex; align-items:center; min-height:42px; padding:10px 16px; border:1px solid var(--green); border-radius:6px; font-weight:700; text-decoration:none; }
.content-actions a:hover { background:var(--green); color:#fff; }
.media-frame { overflow:hidden; max-width:900px; border:1px solid var(--line); border-radius:10px; background:#000; }
.media-frame iframe,.media-frame video { display:block; width:100%; aspect-ratio:16/9; border:0; }
.content-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.content-gallery img { width:100%; aspect-ratio:4/3; object-fit:contain; background:#f5f8f6; }
.content-gallery img[role="button"] { cursor:zoom-in; }
.content-gallery img[role="button"]:focus-visible { outline:3px solid #bc8800; outline-offset:3px; }
.sveden-back { display:inline-block; margin-top:40px; padding-top:18px; border-top:1px solid var(--line); font-size:14px; color:var(--green); }
.sveden-back:hover { text-decoration:underline; }
.sveden-overview-head { max-width:850px; padding:32px 0; }
.sveden-overview-head h1 { font-size:clamp(32px,3.5vw,46px); line-height:1.15; letter-spacing:-1px; }
.sveden-overview-head > p:last-child { margin-top:18px; font-size:18px; color:var(--muted); line-height:1.6; }
.sveden-cards { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding-bottom:64px; }
.sveden-card { display:flex; align-items:flex-start; gap:16px; padding:24px; background:white; border:1px solid var(--line); border-radius:12px; }
.sveden-card:hover { border-color:var(--green); box-shadow:0 4px 18px #073c3210; }
.sveden-card-number { padding-top:2px; color:var(--green); font-size:12px; font-weight:700; }
.sveden-card h2 { font-size:18px; line-height:1.35; font-weight:700; }
.sveden-card p { color:var(--muted); font-size:13px; line-height:1.5; margin-top:8px; }
.sveden-card-arrow { margin-left:auto; padding-left:6px; color:var(--green); }
.sveden-redirect { padding-top:60px; padding-bottom:60px; }
.sveden-redirect h1 { font-size:32px; }
.sveden-redirect p { margin:24px 0; }

.cms-detail-shell[data-detail-collection="items"] .page-content > h1 {
  max-width:820px;
  margin:50px auto 0;
  font-size:42px;
  letter-spacing:-1.2px;
}
.cms-detail-shell[data-detail-collection="items"] .page-content > .eyebrow {
  max-width:820px;
  margin:16px auto 0;
  font-size:14px;
  line-height:1.4;
  color:var(--ink);
}
.cms-detail-shell[data-detail-collection="items"] .page-content > .eyebrow + h1 { margin-top:14px; }
.cms-detail-shell[data-detail-collection="items"] .page-content > h1 + .lead {
  max-width:820px;
  margin-right:auto;
  margin-left:auto;
}
.cms-page-body > .container > .sveden-article { padding-top:20px !important; }
.cms-page-body > .container > .sveden-article > .sveden-page-head {
  max-width:820px;
  margin:0 auto 30px;
  padding:0;
  border:0;
}
.cms-page-body > .container > .sveden-article > .sveden-page-head .eyebrow {
  font-size:14px;
  line-height:1.4;
  color:var(--ink);
}
.cms-page-body > .container > .sveden-article > .sveden-page-head h1 {
  font-size:42px;
  line-height:1.12;
  letter-spacing:-1.2px;
}
.cms-page-body > .container > .sveden-article > .sveden-page-head h1:first-child { margin-top:34px; }
.cms-page-body > .container > .sveden-article > .sveden-page-head .eyebrow + h1 { margin-top:3px; }

.high-contrast .sveden-main,.high-contrast .sveden-content th,.high-contrast .sveden-content tr:nth-child(even) td,.high-contrast .sveden-menu-title,.high-contrast .sveden-content .notice,.high-contrast .sveden-content .source-note,.high-contrast .sveden-content .archive-note,.high-contrast .sveden-content .context-note,.high-contrast .resource-card { background:#fff; color:#000; }
.high-contrast .sveden-nav,.high-contrast .sveden-content,.high-contrast .sveden-content table { font-size:19px; }
.high-contrast .sveden-content a,.high-contrast .sveden-back { text-decoration:underline; }
.high-contrast .content-actions a { border-color:#000; color:#000; }

@media(max-width:1100px) {
  .sveden-layout { grid-template-columns:250px minmax(0,1fr); gap:28px; }
  .sveden-aside { position:static; }
  .sveden-desktop-menu { max-height:none; }
  .sveden-nav { font-size:12px; }
}
@media(max-width:800px) {
  #navigation > .nav-sveden { flex-basis:auto; padding:6px 0 14px; font-size:12px; line-height:1.5; }
  .sveden-layout { grid-template-columns:1fr; gap:26px; padding:20px 0 44px; }
  .sveden-desktop-menu { display:none; }
  .sveden-mobile-menu { display:block; border:1px solid var(--line); border-radius:8px; background:white; }
  .sveden-mobile-menu summary { padding:15px 16px; font-size:14px; font-weight:700; cursor:pointer; }
  .sveden-mobile-menu summary:focus-visible { outline:3px solid #bc8800; outline-offset:3px; }
  .sveden-nav { display:block; font-size:14px; padding:4px 8px 10px; }
  .sveden-nav a { padding:11px 10px; }
  .sveden-page-head { padding-bottom:20px; margin-bottom:24px; }
  .sveden-page-head h1 { font-size:29px; letter-spacing:-.5px; }
  .sveden-page-head .eyebrow { font-size:10px; }
  .sveden-content { font-size:15px; }
  .sveden-content h2 { font-size:22px; }
  .sveden-content h3 { font-size:18px; }
  .sveden-table-scroll::before { content:"Таблицу можно прокрутить →"; display:block; position:sticky; left:0; padding:8px 12px; background:#fff; color:var(--muted); font-size:11px; border-bottom:1px solid var(--line); }
  .sveden-content section { scroll-margin-top:20px; }
  .page-content { padding-bottom:44px; }
  .page-content .lead,.page-head .lead { font-size:16px; }
  .resource-grid { grid-template-columns:1fr; }
  .content-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sveden-overview-head { padding:25px 0; }
  .sveden-overview-head h1 { font-size:32px; }
  .sveden-overview-head > p:last-child { font-size:16px; }
  .sveden-cards { grid-template-columns:1fr; gap:11px; padding-bottom:44px; }
  .sveden-card { padding:19px 16px; gap:12px; }
  .sveden-card h2 { font-size:17px; }
  .sveden-back { line-height:1.5; }
  .cms-detail-shell[data-detail-collection="items"] .page-content > h1 {
    margin-top:46px;
    font-size:30px;
    letter-spacing:-.6px;
  }
  .cms-detail-shell[data-detail-collection="items"] .page-content > .eyebrow { font-size:11px; }
  .cms-page-body > .container > .sveden-article > .sveden-page-head h1 {
    font-size:30px;
    letter-spacing:-.6px;
  }
  .cms-page-body > .container > .sveden-article > .sveden-page-head .eyebrow { font-size:11px; }
  .cms-page-body > .container > .sveden-article > .sveden-page-head h1:first-child { margin-top:30px; }
  .cms-page-body > .container > .sveden-article > .sveden-page-head .eyebrow + h1 { margin-top:2px; }
}
@media(max-width:480px) {
  .content-gallery { grid-template-columns:minmax(0,1fr); }
}
@media print {
  .navigation-bar,body > header,footer,.sveden-aside,.sveden-back,.breadcrumbs,.skip { display:none !important; }
  .sveden-layout { display:block; padding:0; }
  .sveden-main { background:white; }
  .sveden-table-scroll { overflow:visible; border:0; }
  .sveden-content table { width:100% !important; max-width:100% !important; min-width:0; table-layout:fixed !important; font-size:10pt; }
  .sveden-content thead { display:table-header-group; }
  .sveden-content tr { break-inside:avoid; page-break-inside:avoid; }
  .sveden-content th,.sveden-content td { min-width:0; padding:5pt; overflow-wrap:anywhere; word-break:break-word; }
  .sveden-content a { color:black; }
  .sveden-page-head h1 { font-size:24pt; }
}
