/*
 * Dagens Nysvenskarna - design tokens, fonts and night mode (spec section 3-4, 18 Oct 2026).
 * Loaded last in <head>. Colour only marks story type; everything else is ink on white.
 */
:root{
  --ns-bg:#FFFFFF; --ns-surface:#F4F5F7; --ns-text:#14161A; --ns-muted:#5B616E; --ns-ink:#14213D;
  --ns-link:#1A56A8; --ns-news:#B83A26; --ns-voices:#1F6F63; --ns-satire:#E8A93A; --ns-on-satire:#2A1A00; --ns-border:#E3E5E9;
  --heading-font:'Inter Tight','Inter','Noto Sans Devanagari','Noto Naskh Arabic',system-ui,-apple-system,'Segoe UI',sans-serif;
  --body-font:'Inter','Noto Sans Devanagari','Noto Naskh Arabic',system-ui,-apple-system,'Segoe UI',sans-serif;
  --text:var(--ns-text); --text-muted:var(--ns-muted); --text-light:var(--ns-muted); --bg:var(--ns-bg); --bg-alt:var(--ns-surface); --border:var(--ns-border);
  color-scheme:light;
}
/* night: the inline script in <head> turns Auto into data-theme="light|dark" before the first paint */
:root[data-theme="dark"]{
  --ns-bg:#0F1115; --ns-surface:#1A1D23; --ns-text:#ECEDEF; --ns-muted:#A9AFBB; --ns-link:#8AB4F8; --ns-news:#F07A63; --ns-voices:#5FC2B0; --ns-border:#2A2E36; color-scheme:dark; }

/* fonts: one sans-serif family, like SVT. Arabic, Dari, Urdu and Hindi keep their own rules (custom CSS). */
body{font-family:var(--body-font)}
h1,h2,h3,h4,h5,h6,.article-headline,.home-section-title,.card-title,.np-card-title{font-family:var(--heading-font)}
html:not([lang="ar"]):not([lang="fa"]):not([lang="ur"]):not([lang="hi"]) .article-headline,
html:not([lang="ar"]):not([lang="fa"]):not([lang="ur"]):not([lang="hi"]) h1{font-family:var(--heading-font)!important;font-weight:800;letter-spacing:-.01em}
.article-content{font-size:1.125rem;line-height:1.6}
.article-content a{color:var(--ns-link)}
:focus-visible{outline:2px solid var(--ns-link)!important;outline-offset:2px}

/* the toggle (moves into the "Visning" panel in a later step) */
.ns-theme-toggle{background:none;border:0;color:inherit;cursor:pointer;padding:0 4px;font:inherit;line-height:1;opacity:.9}
.ns-theme-toggle:hover{opacity:1}

/* ---------- night mode: surfaces ---------- */
:root[data-theme="dark"] body, :root[data-theme="dark"] main,
:root[data-theme="dark"] .bg-white, :root[data-theme="dark"] .bg-light, :root[data-theme="dark"] .card,
:root[data-theme="dark"] .list-group-item, :root[data-theme="dark"] .modal-content, :root[data-theme="dark"] .dropdown-menu,
:root[data-theme="dark"] .form-control, :root[data-theme="dark"] .form-select, :root[data-theme="dark"] .sidebar-widget,
:root[data-theme="dark"] .jk-toc, :root[data-theme="dark"] .kt-header, :root[data-theme="dark"] .np-masthead{
  background-color:var(--ns-bg)!important; color:var(--ns-text)!important; border-color:var(--ns-border)!important; }
:root[data-theme="dark"] [style*="background:#fff"], :root[data-theme="dark"] [style*="background: #fff"],
:root[data-theme="dark"] [style*="background:#ffffff"], :root[data-theme="dark"] [style*="background: #ffffff"],
:root[data-theme="dark"] [style*="background:white"], :root[data-theme="dark"] [style*="background: white"],
:root[data-theme="dark"] [style*="background-color:#fff"], :root[data-theme="dark"] [style*="background-color: #fff"],
:root[data-theme="dark"] [style*="background:#f8"], :root[data-theme="dark"] [style*="background: #f8"],
:root[data-theme="dark"] [style*="background:#f9"], :root[data-theme="dark"] [style*="background: #f9"],
:root[data-theme="dark"] [style*="background:#f5"], :root[data-theme="dark"] [style*="background: #f5"],
:root[data-theme="dark"] [style*="background:var(--bg-alt"], :root[data-theme="dark"] [style*="background: var(--bg-alt"]{
  background:var(--ns-surface)!important; color:var(--ns-text)!important; }
:root[data-theme="dark"] h1, :root[data-theme="dark"] h2, :root[data-theme="dark"] h3, :root[data-theme="dark"] h4,
:root[data-theme="dark"] h5, :root[data-theme="dark"] h6, :root[data-theme="dark"] p, :root[data-theme="dark"] li,
:root[data-theme="dark"] .article-content, :root[data-theme="dark"] .text-dark, :root[data-theme="dark"] main a:not(.btn):not(.section-badge){ color:var(--ns-text)!important; }
:root[data-theme="dark"] .text-muted, :root[data-theme="dark"] .card-meta, :root[data-theme="dark"] small,
:root[data-theme="dark"] [style*="color:#64748b"], :root[data-theme="dark"] [style*="color:#94a3b8"], :root[data-theme="dark"] [style*="color:#666"], :root[data-theme="dark"] [style*="color:#999"]{ color:var(--ns-muted)!important; }
:root[data-theme="dark"] .article-content a, :root[data-theme="dark"] main p a{ color:var(--ns-link)!important; }
:root[data-theme="dark"] hr{ border-color:var(--ns-border)!important; }
:root[data-theme="dark"] img:not([src$=".svg"]){ filter:brightness(.9); }

/* logo: white version on dark (the colour version has a white box) */
.ns-logo-night{display:none!important}
:root[data-theme="dark"] .ns-logo-day{display:none!important}
:root[data-theme="dark"] .ns-logo-night{display:block!important;filter:none!important}
/* night: pieces with their own hard-coded colours */
:root[data-theme="dark"] .kt-search-bar{background:var(--ns-bg)!important}
:root[data-theme="dark"] .kt-search-form{background:var(--ns-surface)!important;border-color:var(--ns-border)!important}
:root[data-theme="dark"] .kt-search-form input{color:var(--ns-text)!important;background:transparent!important}
:root[data-theme="dark"] .kt-search-form input::placeholder{color:var(--ns-muted)!important}
:root[data-theme="dark"] .kt-header-actions a:not(.hdr-subscribe){color:var(--ns-text)!important}
:root[data-theme="dark"] .kt-nav-cta, :root[data-theme="dark"] .btn-accent{color:#14161A!important}
:root[data-theme="dark"] .jk-toc *, :root[data-theme="dark"] .jk-toc-title, :root[data-theme="dark"] .jk-toc-sum{color:var(--ns-text)!important}
:root[data-theme="dark"] .ns-source{background:var(--ns-surface)!important;color:var(--ns-text)!important}
:root[data-theme="dark"] .ns-source *{color:var(--ns-text)!important}
:root[data-theme="dark"] .ns-source a{color:var(--ns-link)!important}
:root[data-theme="dark"] .jk-ticker a, :root[data-theme="dark"] .jk-ticker-track a{color:var(--ns-text)!important}
.kt-header-actions{font-family:'Inter Tight','Noto Sans Devanagari','Noto Naskh Arabic',system-ui,sans-serif!important}

/* ================= 3b: header, section row, language globe (spec section 5) ================= */
/* hidden above the page, never sideways: a far-left offset breaks right-to-left pages */
.ns-skip{position:absolute;inset-inline-start:8px;top:-200px;z-index:3000;background:#fff;color:#14161A!important;padding:10px 16px;font-weight:700;border:2px solid var(--ns-link)}
.ns-skip:focus{top:8px}
#main{display:block;height:0;outline:none}
.ns-hdr{position:sticky;top:0;z-index:1050;background:var(--ns-ink);color:#fff;transition:box-shadow .2s}
.ns-hdr-in{max-width:1200px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:height .2s}
.ns-hdr-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;color:#fff}
.ns-hdr-logo img{height:46px;width:auto;display:block;transition:height .2s}
.ns-hdr.is-small{box-shadow:0 2px 8px rgba(0,0,0,.25)}
.ns-hdr.is-small .ns-hdr-in{height:56px}
.ns-hdr.is-small .ns-hdr-logo img{height:34px}
.ns-hdr-act{display:flex;align-items:center;gap:4px;font-family:'Inter Tight','Inter','Noto Sans Devanagari','Noto Naskh Arabic',system-ui,sans-serif}
.ns-ic{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;height:44px;padding:0 8px;background:none;border:0;border-radius:4px;color:#fff!important;font-size:1rem;cursor:pointer;text-decoration:none;list-style:none}
.ns-ic::-webkit-details-marker{display:none}
.ns-ic:hover{background:rgba(255,255,255,.1)}
.ns-ic:focus-visible,.ns-sub:focus-visible,.ns-signin:focus-visible,.ns-nav a:focus-visible{outline:2px solid #fff!important;outline-offset:2px}
.ns-globe-cur{font-size:.72rem;font-weight:700;letter-spacing:.04em}
.ns-signin{color:#fff!important;text-decoration:none;font-size:.85rem;font-weight:600;padding:0 10px;height:44px;display:inline-flex;align-items:center}
.ns-signin:hover{text-decoration:underline}
.ns-sub{display:inline-flex;align-items:center;height:36px;padding:0 14px;margin-inline-start:6px;border:1.5px solid #fff;border-radius:4px;color:#fff!important;text-decoration:none;font-size:.85rem;font-weight:700;white-space:nowrap}
.ns-sub:hover{background:#fff;color:var(--ns-ink)!important}
.ns-globe{position:relative}
.ns-globe summary{list-style:none}
.ns-globe-menu{position:absolute;top:100%;inset-inline-end:0;margin:6px 0 0;padding:6px 0;list-style:none;min-width:170px;background:var(--ns-bg);border:1px solid var(--ns-border);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:1100}
.ns-globe-menu a{display:block;padding:10px 16px;color:var(--ns-text)!important;text-decoration:none;font-size:.95rem}
.ns-globe-menu a:hover{background:var(--ns-surface)}
.ns-globe-menu a.is-on{font-weight:700;border-inline-start:3px solid var(--ns-news);padding-inline-start:13px}
.ns-nav{background:var(--ns-bg);border-bottom:1px solid var(--ns-border)}
.ns-nav-in{max-width:1200px;margin:0 auto;padding:0 12px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ns-nav-in::-webkit-scrollbar{display:none}
.ns-nav ul{display:flex;margin:0;padding:0;list-style:none;white-space:nowrap}
.ns-nav a{display:flex;align-items:center;height:48px;padding:0 12px;color:var(--ns-text)!important;text-decoration:none;font-family:var(--heading-font);font-weight:600;font-size:.95rem;border-bottom:3px solid transparent}
.ns-nav a:hover{border-bottom-color:var(--ns-border)}
.ns-nav a.is-on{border-bottom-color:var(--ns-news)}
.ns-nav-signin{display:none}
@media (max-width:768px){
  .ns-hdr-in{height:56px;padding:0 8px 0 16px;gap:4px}
  .ns-hdr-logo img,.ns-hdr.is-small .ns-hdr-logo img{height:30px}
  .ns-hdr.is-small .ns-hdr-in{height:52px}
  .ns-ic{min-width:40px;padding:0 6px}
  .ns-globe-cur{display:none}
  .ns-signin{display:none}
  .ns-sub{height:32px;padding:0 10px;font-size:.78rem;margin-inline-start:2px}
  .ns-nav-in{padding:0 4px}
  .ns-nav a{height:44px;padding:0 10px;font-size:.9rem}
  .ns-nav-signin{display:list-item}
  .ns-nav-signin a{color:var(--ns-muted)!important;font-weight:500}
}
@media (max-width:360px){ .ns-hdr-logo img,.ns-hdr.is-small .ns-hdr-logo img{height:26px} .ns-ic{min-width:36px;padding:0 4px} }
/* the header stays ink in night mode; only the section row follows the theme */
:root[data-theme="dark"] .ns-hdr{background:var(--ns-ink)!important}
:root[data-theme="dark"] .ns-hdr-logo img{filter:none!important}

/* front page: lead story + static "Senaste nytt" rail (replaces the marquee, WCAG 2.2.2) */
.ns-lead{position:relative;overflow:hidden;border-radius:4px;background:var(--ns-ink)}
.ns-lead-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.ns-noimg{aspect-ratio:16/9;background:var(--ns-surface)}
.ns-lead-txt{position:absolute;left:0;right:0;bottom:0;padding:28px 24px 20px;background:linear-gradient(transparent,rgba(10,14,25,.88) 38%)}
.ns-lead-h{font-family:var(--heading-font);font-weight:800;font-size:1.85rem;line-height:1.15;letter-spacing:-.01em;margin:8px 0 6px}
.ns-lead-h a{color:#fff!important;text-decoration:none}
.ns-lead-h a:hover{text-decoration:underline}
.ns-lead-deck{color:rgba(255,255,255,.88)!important;font-size:.95rem;line-height:1.45;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ns-lead-meta{color:rgba(255,255,255,.75)!important;font-size:.8rem}
.ns-lead-more{margin-top:4px}
.ns-mini img,.ns-mini .ns-noimg{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:3px;margin-bottom:8px}
.ns-mini h3{font-family:var(--heading-font);font-size:.95rem;font-weight:700;line-height:1.3;margin:4px 0}
.ns-mini h3 a{color:var(--ns-text)!important;text-decoration:none}
.ns-mini h3 a:hover{text-decoration:underline}
.ns-mini .card-meta{font-size:.75rem;color:var(--ns-muted)}
.ns-latest{border-top:3px solid var(--ns-text);padding-top:10px}
.ns-latest-h{font-family:var(--heading-font);font-size:.85rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ns-news)!important;margin:0 0 4px!important;padding:0!important;border:0!important}
html[dir="rtl"] .ns-latest-h{letter-spacing:0;text-transform:none;font-size:1rem!important}
.ns-latest-list{list-style:none;margin:0;padding:0}
.ns-latest-list li{border-bottom:1px solid var(--ns-border)}
.ns-latest-list a{display:block;padding:12px 0;text-decoration:none;color:var(--ns-text)!important;min-height:44px}
.ns-latest-list a:hover span{text-decoration:underline}
.ns-latest-list time{display:block;font-size:.75rem;font-weight:700;color:var(--ns-news);margin-bottom:2px}
.ns-latest-list span{display:block;font-family:var(--heading-font);font-weight:700;font-size:.98rem;line-height:1.3}
@media (max-width:991px){ .ns-latest{margin-top:8px} }
@media (max-width:768px){ .ns-lead-h{font-size:1.35rem} .ns-lead-txt{padding:24px 16px 14px} .ns-lead-deck{display:none} .ns-lead-img{aspect-ratio:4/3} }
:root[data-theme="dark"] .ns-lead-h a,:root[data-theme="dark"] .ns-lead-deck,:root[data-theme="dark"] .ns-lead-meta{color:#fff!important}
:root[data-theme="dark"] .ns-latest-list time{color:var(--ns-news)!important}
:root[data-theme="dark"] .ns-latest-h{color:var(--ns-news)!important}
/* the old theme forces every .col-6 to full width on phones; the four small Dagens fem cards stay two by two */
@media (max-width:767px){ .ns-lead-more > .col-6{flex:0 0 50%!important;max-width:50%!important} .ns-mini h3{font-size:.9rem} }

/* ================= 3c: story-type labels, cards, section blocks (spec section 5) ================= */
/* labels: small uppercase text; Nyhet = section name in --news, Röster/Analys = --voices, Satir = saffron pill */
body.ns-v2 .section-badge{background:transparent!important;color:var(--ns-news)!important;padding:0!important;border-radius:0!important;font-family:var(--body-font);font-size:12px!important;font-weight:700!important;letter-spacing:.05em!important;text-transform:uppercase;line-height:1.2;display:inline-block!important;box-shadow:none!important;border:0!important}
body.ns-v2 .section-badge[data-sec="roster"],body.ns-v2 .section-badge[data-sec="analys"]{color:var(--ns-voices)!important}
body.ns-v2 .section-badge[data-sec="satir"]{background:var(--ns-satire)!important;color:var(--ns-on-satire)!important;padding:3px 8px!important;border-radius:999px!important}
body.ns-v2 .section-badge[data-sec="faktakoll"]{color:var(--ns-link)!important}
body.ns-v2 .section-badge[data-sec="faktakoll"]::before{content:"\2713\00a0"}
html[dir="rtl"] body.ns-v2 .section-badge,html[lang="hi"] body.ns-v2 .section-badge{letter-spacing:0!important;text-transform:none;font-size:13px!important}
/* on the dark lead picture the kicker uses the light red so it can be read */
body.ns-v2 .ns-lead .section-badge:not([data-sec="satir"]){background:var(--ns-news)!important;color:#fff!important;padding:3px 8px!important;border-radius:2px!important}
body.ns-v2 .ns-lead .section-badge[data-sec="roster"]{background:var(--ns-voices)!important}
:root[data-theme="dark"] body.ns-v2 .ns-lead .section-badge:not([data-sec="satir"]){background:#B83A26!important}
:root[data-theme="dark"] body.ns-v2 .ns-lead .section-badge[data-sec="roster"]{background:#1F6F63!important}
/* section blocks: no tinted bands, a 3 px rule above an uppercase heading, "Visa fler" on the right */
body.ns-v2 .home-section{background:transparent!important}
.ns-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-top:3px solid var(--ns-text);padding-top:10px;margin:8px 0 18px}
.ns-block-title{font-family:var(--heading-font)!important;font-size:1.05rem!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.05em;margin:0!important;padding:0!important;border:0!important;color:var(--ns-text)!important}
html[dir="rtl"] .ns-block-title,html[lang="hi"] .ns-block-title{letter-spacing:0;text-transform:none;font-size:1.25rem!important}
.ns-block-title::after{display:none!important}
.ns-more{font-size:.85rem;font-weight:600;color:var(--ns-link)!important;text-decoration:none;white-space:nowrap;padding:10px 0}
.ns-more:hover{text-decoration:underline}
html[dir="rtl"] .ns-more i{transform:scaleX(-1)}
/* cards: 16:9 picture, kicker, headline, two-line deck, byline; separated by 1 px rules, no borders */
.ns-card{position:relative}
.ns-card-img{display:block}
.ns-card-img img,.ns-card-img .ns-noimg{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px}
.ns-card-h{font-family:var(--heading-font)!important;font-weight:800!important;line-height:1.2!important;margin:4px 0 6px!important}
.ns-card-h a{color:var(--ns-text)!important;text-decoration:none}
.ns-card-h a:hover{text-decoration:underline}
.ns-card-lead .ns-card-img{margin-bottom:10px}
.ns-card-lead .ns-card-h{font-size:1.45rem!important;letter-spacing:-.01em}
.ns-deck{font-size:.95rem;line-height:1.45;color:var(--ns-text)!important;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ns-byline{font-size:.78rem;color:var(--ns-muted)!important}
.ns-card-row{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--ns-border)}
.ns-card-row:first-child{padding-top:0}
.ns-card-row:last-child{border-bottom:0}
.ns-card-row .ns-card-img{flex:0 0 42%;max-width:200px}
.ns-card-row .ns-card-body{flex:1;min-width:0}
.ns-card-row .ns-card-h{font-size:1rem!important}
html[dir="rtl"] .ns-card-h{line-height:1.5!important}
@media (max-width:767px){
  .ns-block .col-md-6{flex:0 0 100%!important;max-width:100%!important}
  .ns-card-lead{padding-bottom:14px;border-bottom:1px solid var(--ns-border)}
  .ns-card-lead .ns-card-h{font-size:1.25rem!important}
  .ns-card-row:first-child{padding-top:0}
  .ns-card-row .ns-card-img{flex-basis:38%}
  .ns-card-row .ns-card-h{font-size:.95rem!important}
}
body.ns-v2 .home-section{padding-top:18px!important;padding-bottom:18px!important}
body.ns-v2 .home-section-more{display:none!important} /* "Visa fler" sits in the block heading now */
.ns-card-lead.is-text{border-inline-start:3px solid var(--ns-border);padding-inline-start:16px}.ns-card-lead.is-text .ns-card-h{font-size:1.7rem!important}.ns-card-lead.is-text .ns-deck{-webkit-line-clamp:4}
:root body.ns-v2 section.home-section.home-section{background:transparent!important} /* beats the night-mode band rule */

/* ================= 3d: article page and footer (spec section 5) ================= */
/* one 680 px reading column; the picture may use the full column */
body.ns-v2 .article-page .article-section-label, body.ns-v2 .article-page .article-headline, body.ns-v2 .article-page .article-subheadline,
body.ns-v2 .article-page .article-author-bar, body.ns-v2 .article-page .article-content, body.ns-v2 .article-page .ns-sources,
body.ns-v2 .article-page .ns-share, body.ns-v2 .article-page .ns-related, body.ns-v2 .article-page .article-tags,
body.ns-v2 .article-page .comments-section, body.ns-v2 .article-page .translated-content, body.ns-v2 .article-page .article-hero-caption{max-width:680px}
body.ns-v2 .article-page .article-headline, body.ns-v2 .ns-art-tr .translated-headline{font-family:var(--heading-font)!important;font-weight:800!important;font-size:2.5rem!important;line-height:1.1!important;letter-spacing:-.015em;color:var(--ns-text)!important;margin:6px 0 12px!important}
html[dir="rtl"] body.ns-v2 .ns-art-tr .translated-headline{letter-spacing:0;line-height:1.7!important;font-size:2rem!important}
html[lang="hi"] body.ns-v2 .article-page .article-headline,html[lang="hi"] body.ns-v2 .ns-art-tr .translated-headline{letter-spacing:0;line-height:1.35!important}
body.ns-v2 .article-page .article-subheadline{font-family:var(--body-font)!important;font-style:normal!important;font-size:1.2rem!important;line-height:1.5!important;font-weight:500;color:var(--ns-text)!important;margin-bottom:16px}
body.ns-v2 .article-page .article-author-bar{border-top:1px solid var(--ns-border);border-bottom:1px solid var(--ns-border);padding:12px 0;margin:8px 0 18px}
body.ns-v2 .article-page .article-author-name{font-weight:700;color:var(--ns-text)!important}
body.ns-v2 .article-page .article-date,body.ns-v2 .article-page .article-read-time,body.ns-v2 .article-page .article-updated{font-size:.85rem;color:var(--ns-muted)!important}
/* share icons move to the end of the article; the read-aloud button stays up here */
body.ns-v2 .article-page .article-share-inline > a, body.ns-v2 .article-page .article-share-inline > span[style*="margin:0 2px"]{display:none!important}
body.ns-v2 .article-page .article-hero-img{width:100%;border-radius:3px}
body.ns-v2 .article-page .article-hero-caption{font-size:.85rem;color:var(--ns-muted)!important;margin:6px 0 22px}
body.ns-v2 .article-page .article-content{font-size:1.125rem;line-height:1.65}
body.ns-v2 .article-page .article-content h2{font-family:var(--heading-font)!important;font-weight:800;font-size:1.45rem;margin:1.6em 0 .5em}
/* sources box */
.ns-sources{background:var(--ns-surface);border-radius:4px;padding:16px 20px;margin:28px 0 20px}
.ns-sources-h{font-family:var(--body-font)!important;font-size:.8rem!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.06em;color:var(--ns-muted)!important;margin:0 0 8px!important;border:0!important;padding:0!important}
html[dir="rtl"] .ns-sources-h{letter-spacing:0;font-size:.95rem!important}
.ns-sources ul{list-style:none;margin:0;padding:0}
.ns-sources li{padding:6px 0;font-size:1rem}
.ns-sources li+li{border-top:1px solid var(--ns-border)}
.ns-sources a{color:var(--ns-link)!important;font-weight:600}
.ns-src-host{color:var(--ns-muted);font-size:.85rem;margin-inline-start:6px}
/* share row */
.ns-share{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:22px 0;padding:12px 0;border-top:1px solid var(--ns-border);border-bottom:1px solid var(--ns-border)}
.ns-share-h{font-weight:700;font-size:.9rem;margin-inline-end:6px}
.ns-share a,.ns-copy{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:44px;padding:0 12px;border-radius:22px;background:var(--ns-surface);color:var(--ns-text)!important;border:1px solid var(--ns-border);text-decoration:none;font-size:1rem;cursor:pointer}
.ns-share a:hover,.ns-copy:hover{border-color:var(--ns-text)}
.ns-copy span{font-size:.85rem;font-weight:600}
/* related */
.ns-related{margin:28px 0 8px;border-top:3px solid var(--ns-text);padding-top:10px}
.ns-related .ns-block-title{margin-bottom:12px!important}
/* tags */
body.ns-v2 .article-tags .badge{background:var(--ns-surface)!important;color:var(--ns-text)!important;border:1px solid var(--ns-border)!important;font-family:var(--body-font)!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;font-size:.85rem!important;padding:6px 10px!important;border-radius:3px!important}
@media (max-width:768px){
  body.ns-v2 .article-page .article-headline, body.ns-v2 .ns-art-tr .translated-headline{font-size:1.85rem!important}
  html[dir="rtl"] body.ns-v2 .ns-art-tr .translated-headline{font-size:1.6rem!important}
  body.ns-v2 .article-page .article-subheadline{font-size:1.08rem!important}
  .ns-copy span{display:none}
}
/* footer: ink, white logo, the imprint lines (utgivare, utgivningsbevis, org.nr, e-post) */
body.ns-v2 footer.site-footer{background:var(--ns-ink)!important;color:#C9CFDA!important;border-top:0!important}
body.ns-v2 footer.site-footer p, body.ns-v2 footer.site-footer .text-muted{color:#C9CFDA!important}
body.ns-v2 footer.site-footer a, body.ns-v2 footer.site-footer .footer-links a{color:#FFFFFF!important}
body.ns-v2 footer.site-footer .footer-links a:hover{text-decoration:underline}
body.ns-v2 footer.site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.15)!important}
.ns-imprint{border-top:1px solid rgba(255,255,255,.15);margin-top:8px;padding:16px 0 4px;font-size:.88rem;text-align:center}
.ns-imprint p{margin:0 0 6px}
.ns-imprint span+span::before{content:" · "}
body.ns-v2 .newsletter-section{background:var(--ns-surface)!important;color:var(--ns-text)!important;border-top:1px solid var(--ns-border)!important}
body.ns-v2 .newsletter-section h4{color:var(--ns-text)!important;font-family:var(--heading-font)!important;font-weight:800}
body.ns-v2 .newsletter-section p{color:var(--ns-muted)!important}
body.ns-v2 .newsletter-section .btn-accent{background:var(--ns-ink)!important;color:#fff!important;border:0!important}
:root[data-theme="dark"] body.ns-v2 .newsletter-section .btn-accent{background:#2A3A63!important}
/* "Läs också" sits in the reading flow now, so the same list is not repeated in the sidebar */
body.ns-v2 .sidebar-widget-recommended{display:none!important}
/* summary box: calm grey with the black rule, not the old yellow */
body.ns-v2 .article-content .jk-toc{background:var(--ns-surface)!important;border:0!important;border-top:3px solid var(--ns-text)!important;border-radius:0 0 4px 4px!important}
body.ns-v2 .article-content .jk-toc-title{color:var(--ns-muted)!important}
body.ns-v2 .newsletter-section input[type="email"]{border:1px solid var(--ns-border)!important;background:var(--ns-bg)!important;color:var(--ns-text)!important}
:root[data-theme="dark"] main .ns-sources a, :root[data-theme="dark"] .ns-sources a{color:var(--ns-link)!important}
:root[data-theme="dark"] .comments-section form{background:var(--ns-surface)!important;border-color:var(--ns-border)!important} :root[data-theme="dark"] .comments-section form h5{color:var(--ns-text)!important}

/* ================= 3e: "Visning" panel (spec section 6) ================= */
.ns-view-btn .ns-view-l{font-size:.85rem;font-weight:600;margin-inline-start:2px}
@media (max-width:991px){ .ns-view-btn .ns-view-l{display:none} }
.ns-view{border:0;padding:0;border-radius:10px;max-width:420px;width:calc(100% - 24px);background:var(--ns-bg);color:var(--ns-text);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.ns-view::backdrop{background:rgba(10,14,25,.55)}
.ns-view-in{padding:18px 20px 16px;max-height:calc(100vh - 40px);overflow:auto}
.ns-view-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.ns-view-top h2{font-family:var(--heading-font)!important;font-size:1.25rem!important;font-weight:800!important;margin:0!important;color:var(--ns-text)!important;border:0!important;padding:0!important}
.ns-view-x{width:44px;height:44px;border:0;background:none;color:var(--ns-text);font-size:1.2rem;border-radius:6px;cursor:pointer}
.ns-view-x:hover{background:var(--ns-surface)}
.ns-view-grp{border:0;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--ns-border)}
.ns-view-grp legend{float:none;width:auto;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ns-muted);margin:0 0 8px;padding:0}
html[dir="rtl"] .ns-view-grp legend{letter-spacing:0;font-size:.95rem}
.ns-seg{display:flex;gap:6px}
.ns-seg label{flex:1;margin:0;cursor:pointer}
.ns-seg input{position:absolute;opacity:0;width:1px;height:1px}
.ns-seg span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:6px 4px;border:1.5px solid var(--ns-border);border-radius:8px;font-size:.85rem;font-weight:600;text-align:center;color:var(--ns-text)}
.ns-seg input:checked+span{border-color:var(--ns-text);background:var(--ns-surface);box-shadow:inset 0 0 0 1px var(--ns-text)}
.ns-seg input:focus-visible+span{outline:2px solid var(--ns-link);outline-offset:2px}
.ns-seg-size small{font-size:.7rem;color:var(--ns-muted);font-weight:500}
.ns-seg-size b{line-height:1}
.ns-switches{display:flex;flex-direction:column;gap:2px}
.ns-sw{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;margin:0;cursor:pointer;font-weight:600;font-size:.95rem}
.ns-sw input{position:absolute;opacity:0;width:1px;height:1px}
.ns-sw-k{flex:0 0 44px;height:26px;border-radius:13px;background:var(--ns-border);position:relative;transition:background .15s}
.ns-sw-k::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:inset-inline-start .15s}
.ns-sw input:checked~.ns-sw-k{background:var(--ns-voices)}
.ns-sw input:checked~.ns-sw-k::after{inset-inline-start:21px}
.ns-sw input:focus-visible~.ns-sw-k{outline:2px solid var(--ns-link);outline-offset:2px}
.ns-view-tts{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin-top:12px;border:1.5px solid var(--ns-border);border-radius:8px;background:var(--ns-surface);color:var(--ns-text);font-weight:600;cursor:pointer}
.ns-view-tts[hidden]{display:none}
.ns-view-foot{display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--ns-border)}
.ns-view-foot button{min-height:44px;padding:0 16px;border-radius:6px;font-weight:700;cursor:pointer}
.ns-view-reset{background:none;border:1.5px solid var(--ns-border);color:var(--ns-text)}
.ns-view-done{background:var(--ns-ink);border:0;color:#fff}

/* text size: everything is in rem, so the whole layout follows */
html[data-size="2"]{font-size:112.5%}
html[data-size="3"]{font-size:125%}
html[data-size="4"]{font-size:150%}

/* high contrast: pure black on white (white on black at night), no grey text, every link underlined, 2 px rules */
:root[data-contrast="high"]{--ns-text:#000;--ns-muted:#000;--ns-border:#000;--ns-link:#0030B0;--ns-news:#8A1A0A;--ns-voices:#0B4A40;--ns-surface:#FFFFFF}
:root[data-contrast="high"][data-theme="dark"]{--ns-bg:#000;--ns-text:#FFF;--ns-muted:#FFF;--ns-border:#FFF;--ns-link:#A8D1FF;--ns-news:#FF9C8A;--ns-voices:#8FF0DC;--ns-surface:#000}
:root[data-contrast="high"] body{background:var(--ns-bg)!important;color:var(--ns-text)!important}
:root[data-contrast="high"] main a, :root[data-contrast="high"] article a, :root[data-contrast="high"] .ns-latest a, :root[data-contrast="high"] footer a{text-decoration:underline!important}
:root[data-contrast="high"] .text-muted, :root[data-contrast="high"] .card-meta, :root[data-contrast="high"] .ns-byline, :root[data-contrast="high"] small,
:root[data-contrast="high"] .article-date, :root[data-contrast="high"] .article-hero-caption, :root[data-contrast="high"] .ns-src-host,
:root[data-contrast="high"] [style*="color:#64748b"], :root[data-contrast="high"] [style*="color:#999"], :root[data-contrast="high"] [style*="color:#666"]{color:var(--ns-text)!important}
:root[data-contrast="high"] .ns-card-row, :root[data-contrast="high"] .ns-latest-list li, :root[data-contrast="high"] .ns-nav, :root[data-contrast="high"] .ns-share,
:root[data-contrast="high"] .article-author-bar, :root[data-contrast="high"] .ns-sources li+li{border-width:2px!important;border-color:var(--ns-border)!important}
:root[data-contrast="high"] .ns-sources{border:2px solid var(--ns-border)}
:root[data-contrast="high"] img{filter:none!important}
:root[data-contrast="high"] .ns-lead-txt{background:rgba(0,0,0,.9)!important}

/* easy-reading layout: Atkinson Hyperlegible (Latin pages), more line and word spacing, 60-character column, never justified */
html[data-reading="easy"]:not([dir="rtl"]):not([lang="hi"]) body, html[data-reading="easy"]:not([dir="rtl"]):not([lang="hi"]) .article-content,
html[data-reading="easy"]:not([dir="rtl"]):not([lang="hi"]) h1, html[data-reading="easy"]:not([dir="rtl"]):not([lang="hi"]) h2,
html[data-reading="easy"]:not([dir="rtl"]):not([lang="hi"]) h3, html[data-reading="easy"]:not([dir="rtl"]):not([lang="hi"]) .article-headline{font-family:'Atkinson Hyperlegible',var(--body-font)!important;letter-spacing:.02em!important}
html[data-reading="easy"] .article-content, html[data-reading="easy"] .translated-body, html[data-reading="easy"] .ns-deck, html[data-reading="easy"] p, html[data-reading="easy"] li{line-height:1.8!important;word-spacing:.12em;text-align:start!important}
html[data-reading="easy"][dir="rtl"] .translated-body, html[data-reading="easy"][dir="rtl"] p{line-height:2.2!important}
html[data-reading="easy"] .article-content, html[data-reading="easy"] .translated-body{max-width:60ch!important}
html[data-reading="easy"] .ns-deck, html[data-reading="easy"] .ns-lead-deck{-webkit-line-clamp:unset!important;display:block!important}

/* less motion: no animation, no smooth scrolling */
html[data-motion="reduce"]{scroll-behavior:auto!important}
html[data-motion="reduce"] *, html[data-motion="reduce"] *::before, html[data-motion="reduce"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* underlined links */
html[data-links="underline"] a:not(.ns-ic):not(.ns-sub):not(.ns-hdr-logo):not(.ns-card-img){text-decoration:underline!important}
/* the header keeps its size when the reader picks a bigger text size (it would not fit a phone at 150 %) */
.ns-hdr .ns-ic{font-size:16px}
.ns-hdr .ns-sub{font-size:13.5px}
.ns-hdr .ns-signin,.ns-view-btn .ns-view-l{font-size:13.5px}
.ns-hdr .ns-globe-cur{font-size:11.5px}
.ns-globe-menu a{font-size:15px}
@media (max-width:768px){ .ns-hdr .ns-sub{font-size:12.5px} }
/* long Swedish compounds ("migrationstalesperson") must wrap at large text sizes */
.ns-card-h,.ns-lead-h,.ns-latest-list span,.article-headline,.translated-headline,.ns-block-title,.section-page-title{overflow-wrap:anywhere;hyphens:auto}
.ns-mini h3,.ns-lead-h a{overflow-wrap:anywhere;hyphens:auto}
/* 320 px phones */
@media (max-width:360px){
  .ns-hdr-in{padding:0 4px 0 10px}
  .ns-hdr-logo img,.ns-hdr.is-small .ns-hdr-logo img{height:22px}
  .ns-hdr .ns-ic{min-width:36px;padding:0 3px}
  .ns-hdr .ns-sub{padding:0 8px;font-size:12px;margin-inline-start:0}
}
.ns-view{margin:auto!important;inset:0} /* the site resets margins; a modal dialog needs margin:auto to sit in the middle */

/* ================= 3f: WCAG 2.2 AA fixes ================= */
/* 1.4.1: links inside running text must not rely on colour alone */
body.ns-v2 .article-content a, body.ns-v2 .translated-body a, body.ns-v2 .page-content a, body.ns-v2 .ns-sources a{text-decoration:underline;text-underline-offset:2px}
body.ns-v2 .article-content .jk-toc a{text-decoration:none}
body.ns-v2 .article-content a{color:var(--ns-link)!important}
/* 1.4.3: the "updated" date was dimmed below 4.5:1 */
body.ns-v2 .article-updated{opacity:1!important;color:var(--ns-muted)!important}
body.ns-v2 .btn-accent{background:var(--ns-ink)!important;color:#fff!important;border:0!important}
:root[data-theme="dark"] body.ns-v2 .btn-accent{background:#2A3A63!important;color:#fff!important}
:root[data-theme="dark"] [style*="color:var(--accent)"], :root[data-theme="dark"] [style*="color: var(--accent)"]{color:var(--ns-link)!important}

/* ================= Phase 5: Mest läst ================= */
.ns-mostread{margin-top:26px;height:auto}
.ns-mostread-list a{display:flex!important;gap:12px;align-items:flex-start}
.ns-mr-n{flex:0 0 auto;font-family:var(--heading-font);font-size:1.6rem;font-weight:800;line-height:1;color:var(--ns-news);min-width:1.1em}
.sidebar .ns-mostread{margin:0 0 24px}

/* ================= Phase 5: Myt vs fakta ================= */
body.ns-v2 .section-badge[data-sec="myt-vs-fakta"]{color:var(--ns-link)!important}
body.ns-v2 .section-badge[data-sec="myt-vs-fakta"]::before{content:"\2713\00a0"}
body.ns-v2 .ns-lead .section-badge[data-sec="myt-vs-fakta"]{background:var(--ns-link)!important;color:#fff!important}
.article-content blockquote.ns-myth{position:relative;margin:8px 0 10px;padding:30px 18px 14px;background:var(--ns-surface);border:0;border-inline-start:4px solid var(--ns-news);font-size:1.15rem;font-style:normal;text-decoration:none}
.article-content blockquote.ns-myth p{margin:0}
.ns-myth-l{position:absolute;top:8px;inset-inline-start:18px;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ns-news)}
.article-content .ns-fact-l{margin:18px 0 6px;font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ns-voices)}
html[dir="rtl"] .ns-myth-l,html[dir="rtl"] .article-content .ns-fact-l{letter-spacing:0;font-size:.95rem}
body.ns-v2 .article-content p.ns-fact-l{color:var(--ns-voices)!important} body.ns-v2 .article-content .ns-myth-l{color:var(--ns-news)!important}

/* ================= Phase 5: Lätt svenska ================= */
.ns-easy-p{margin:0 0 14px}
.ns-easy-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:22px;border:1.5px solid var(--ns-voices);color:var(--ns-voices)!important;font-weight:700;text-decoration:none!important}
.ns-easy-link:hover{background:var(--ns-voices);color:#fff!important}
.ns-easy-banner{max-width:680px;background:var(--ns-surface);border-inline-start:4px solid var(--ns-voices);padding:12px 16px;margin:0 0 18px;border-radius:0 4px 4px 0}
.ns-easy-banner a{color:var(--ns-link)!important;font-weight:700}
a.ns-view-tts{text-decoration:none!important}
a.ns-view-tts[hidden]{display:none}

/* ================= 19 Oct: Arabic, Dari and Urdu need air between the lines =================
   Urdu now uses Noto Naskh (his choice) instead of Nastaliq; icons keep Font Awesome. */
html[lang="ur"] body, html[lang="ur"] body *:not(i):not([class*="fa-"]):not(.fa):not(.fas):not(.fab):not(.far){font-family:'Noto Naskh Arabic','Segoe UI',Tahoma,sans-serif!important}
html[dir="rtl"] .translated-body, html[dir="rtl"] .translated-body p, html[dir="rtl"] .translated-body li,
html[dir="rtl"] .article-content, html[dir="rtl"] .article-content p, html[dir="rtl"] .article-content li,
html[dir="rtl"] .translated-sub, html[dir="rtl"] .article-subheadline, html[dir="rtl"] .ns-deck, html[dir="rtl"] .ns-lead-deck,
html[dir="rtl"] .section-page-title + p, html[dir="rtl"] .ns-sources li{line-height:2.1!important}
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3, html[dir="rtl"] h4, html[dir="rtl"] .article-headline, html[dir="rtl"] .translated-headline,
html[dir="rtl"] .ns-card-h, html[dir="rtl"] .ns-lead-h, html[dir="rtl"] .ns-mini h3, html[dir="rtl"] .ns-block-title{line-height:1.75!important}
html[dir="rtl"] .ns-latest-list span, html[dir="rtl"] .ns-byline, html[dir="rtl"] .card-meta, html[dir="rtl"] .ns-lead-meta,
html[dir="rtl"] .ns-nav a, html[dir="rtl"] .footer-links a, html[dir="rtl"] .ns-easy-banner{line-height:1.9!important}
html[dir="rtl"] .translated-body p, html[dir="rtl"] .article-content p{margin-bottom:1.1em}
