/* ===========================================================================
   iptv-nordic.cloud — sv-SE and nb-NO
   Design system NORDIC-information-desk · research/design-systems-b.md § SITE 6
   Naming: lowercase single-hyphen under nd-. Unique to this site.
   A Nordic public-information desk: calm, dated, evidence-first, and honest
   about which languages it does not yet speak.
   =========================================================================== */
:root{
  --nd-bg:#F4F7F8; --nd-surface:#FFFFFF; --nd-ink:#0E2A33; --nd-ink-muted:#43606B;
  --nd-line:#D3DEE2; --nd-border-strong:#6E858C;
  --nd-primary:#0B5B62; --nd-primary-hover:#084A50; --nd-on-primary:#FFFFFF; --nd-link:#0B5B62;
  --nd-planned-bg:#FBF0D5; --nd-planned-ink:#5A4A16;
  --nd-success:#14653F; --nd-warn:#8A4B00; --nd-danger:#A32218;
  --nd-focus:#0B5B62;
  --nd-font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --nd-font-num:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
  --nd-fs-base:1.0625rem;
  --nd-fs-sm:0.885rem; --nd-fs-md:1.0625rem; --nd-fs-lg:1.275rem;
  --nd-fs-xl:1.53rem; --nd-fs-2xl:1.836rem; --nd-fs-3xl:2.203rem; --nd-fs-4xl:2.644rem;
  --nd-lh-body:1.65; --nd-lh-head:1.2;
  --nd-space-1:4px; --nd-space-2:8px; --nd-space-3:16px; --nd-space-4:24px;
  --nd-space-5:40px; --nd-space-6:64px; --nd-space-7:96px;
  --nd-radius-1:2px; --nd-radius-2:4px; --nd-radius-dot:999px;
  --nd-maxw:1120px; --nd-prose:72ch; --nd-gutter:24px;
  --nd-control-border-w:1.5px;
  --nd-focus-ring:0 0 0 3px rgba(11,91,98,.35);
}
:root[data-theme="dark"]{
  --nd-bg:#0C1A1F; --nd-surface:#12242A; --nd-ink:#E6F0F2; --nd-ink-muted:#A6BCC2;
  --nd-line:#274049; --nd-border-strong:#7A939C;
  --nd-primary:#6FC5CB; --nd-primary-hover:#8AD6DB; --nd-on-primary:#04252A; --nd-link:#6FC5CB;
  --nd-planned-bg:#2B2413; --nd-planned-ink:#E7C97A;
  --nd-success:#69C79B; --nd-warn:#E0A863; --nd-danger:#F08A80;
  --nd-focus:#6FC5CB; --nd-focus-ring:0 0 0 3px rgba(111,197,203,.35);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --nd-bg:#0C1A1F; --nd-surface:#12242A; --nd-ink:#E6F0F2; --nd-ink-muted:#A6BCC2;
  --nd-line:#274049; --nd-border-strong:#7A939C;
  --nd-primary:#6FC5CB; --nd-primary-hover:#8AD6DB; --nd-on-primary:#04252A; --nd-link:#6FC5CB;
  --nd-planned-bg:#2B2413; --nd-planned-ink:#E7C97A;
  --nd-success:#69C79B; --nd-warn:#E0A863; --nd-danger:#F08A80;
  --nd-focus:#6FC5CB; --nd-focus-ring:0 0 0 3px rgba(111,197,203,.35);
}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;touch-action:manipulation;-webkit-tap-highlight-color:rgba(11,91,98,.18)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{
  animation-duration:.01ms!important;transition-duration:.01ms!important}}
[id]{scroll-margin-top:84px}
body{margin:0;background:var(--nd-bg);color:var(--nd-ink);
  font:400 var(--nd-fs-base)/var(--nd-lh-body) var(--nd-font-ui);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--nd-link)}
h1,h2,h3{line-height:var(--nd-lh-head);margin:0 0 var(--nd-space-3);font-weight:600}
h1{font-size:var(--nd-fs-4xl)} h2{font-size:var(--nd-fs-2xl)} h3{font-size:var(--nd-fs-lg)}
p{margin:0 0 var(--nd-space-3);max-width:var(--nd-prose)}
ul,ol{max-width:var(--nd-prose)}
.nd-num{font-family:var(--nd-font-num);font-variant-numeric:tabular-nums}
.nd-wrap{max-width:var(--nd-maxw);margin-inline:auto;padding-inline:var(--nd-gutter)}
.nd-block{padding-block:var(--nd-space-6)}
.nd-block-tight{padding-block:var(--nd-space-5)}
.nd-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.nd-grid{display:grid;gap:var(--nd-space-3);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.nd-grid>*{min-width:0}
.nd-lede{font-size:var(--nd-fs-lg);color:var(--nd-ink-muted);max-width:var(--nd-prose)}
.nd-dated{font-size:var(--nd-fs-sm);color:var(--nd-ink-muted);font-family:var(--nd-font-num)}
.nd-kartavak{padding-top:var(--nd-space-4)}
.nd-karta{margin:0;border:1px solid var(--nd-line);border-top:3px solid var(--nd-primary);background:var(--nd-surface);border-radius:var(--nd-radius-2)}
.nd-karta figcaption{display:grid;grid-template-columns:auto 1fr auto;gap:var(--nd-space-4);padding:var(--nd-space-3) var(--nd-space-4);
  border-bottom:1px solid var(--nd-line);align-items:center}.nd-karta figcaption strong{font-size:var(--nd-fs-xl)}
.nd-karta figcaption span,.nd-karta time{font-family:var(--nd-font-num);font-size:var(--nd-fs-sm);color:var(--nd-ink-muted)}
.nd-karta svg{display:block;width:100%;height:auto}.nd-karta-nat{fill:none;stroke:var(--nd-line);stroke-width:1}
.nd-karta-linje{fill:none;stroke:var(--nd-primary);stroke-width:5;stroke-linejoin:round}.nd-karta-punkt{fill:var(--nd-surface);stroke:var(--nd-primary);stroke-width:4}
.nd-karta-text{fill:var(--nd-ink);font:600 14px var(--nd-font-num)}.nd-karta>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--nd-line)}
.nd-karta>div span{padding:var(--nd-space-3);text-align:center;font-size:var(--nd-fs-sm)}.nd-karta>div span+span{border-left:1px solid var(--nd-line)}
:focus-visible{outline:2px solid var(--nd-focus);outline-offset:2px;box-shadow:var(--nd-focus-ring);
  border-radius:var(--nd-radius-2)}
.nd-main:focus,.nd-main:focus-visible{outline:none;box-shadow:none}
.nd-skip{position:absolute;left:-9999px;top:0;z-index:120;background:var(--nd-ink);
  color:var(--nd-bg);padding:var(--nd-space-2) var(--nd-space-3);font-weight:600}
.nd-skip:focus{left:0;top:0}
.nd-head{position:sticky;top:0;z-index:60;background:var(--nd-surface);
  border-bottom:1px solid var(--nd-line)}
.nd-head-in{display:flex;align-items:center;gap:var(--nd-space-4);flex-wrap:wrap;
  min-height:64px;max-width:var(--nd-maxw);margin-inline:auto;padding-inline:var(--nd-gutter)}
.nd-mark{font-weight:600;font-size:var(--nd-fs-lg);text-decoration:none;color:var(--nd-ink)}
.nd-nav{display:flex;gap:var(--nd-space-4);flex-wrap:wrap;font-size:var(--nd-fs-sm)}
.nd-nav a{color:var(--nd-ink);text-decoration:none;padding-block:var(--nd-space-2)}
.nd-nav a[aria-current="page"]{border-bottom:2px solid var(--nd-primary)}
/* Persistent locale control. Segmented, always visible, and it marks the two
   locales that are not launched rather than hiding them. */
.nd-locale{margin-left:auto;display:flex;border:var(--nd-control-border-w) solid var(--nd-border-strong);
  border-radius:var(--nd-radius-2);overflow:hidden}
.nd-locale a,.nd-locale span{display:flex;align-items:center;justify-content:center;
  min-width:44px;min-height:36px;padding-inline:var(--nd-space-3);font-size:var(--nd-fs-sm);
  text-decoration:none;color:var(--nd-ink);font-family:var(--nd-font-num)}
.nd-locale a+a,.nd-locale a+span,.nd-locale span+span,.nd-locale span+a{
  border-left:1px solid var(--nd-line)}
.nd-locale a[aria-current="true"]{background:var(--nd-primary);color:var(--nd-on-primary)}
.nd-locale span{background:var(--nd-planned-bg);color:var(--nd-planned-ink);cursor:not-allowed}
.nd-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  padding-inline:var(--nd-space-4);border-radius:var(--nd-radius-2);
  border:var(--nd-control-border-w) solid var(--nd-primary);background:var(--nd-primary);
  color:var(--nd-on-primary);font:600 var(--nd-fs-md)/1 var(--nd-font-ui);
  text-decoration:none;cursor:pointer}
.nd-btn:hover{background:var(--nd-primary-hover)}
.nd-btn-quiet{background:transparent;color:var(--nd-primary)}
.nd-row{display:flex;flex-wrap:wrap;gap:var(--nd-space-3);align-items:center}
.nd-card{background:var(--nd-surface);border:1px solid var(--nd-line);
  border-radius:var(--nd-radius-2);padding:var(--nd-space-4)}
.nd-card h3{margin-top:0}
.nd-card p:last-child{margin-bottom:0}
.nd-planned{background:var(--nd-planned-bg);color:var(--nd-planned-ink);
  border:1px solid currentColor;border-radius:var(--nd-radius-2);padding:var(--nd-space-3) var(--nd-space-4)}
.nd-planned p:last-child{margin-bottom:0}
.nd-panel{background:var(--nd-surface);border:1px solid var(--nd-line);border-top:4px solid var(--nd-primary);
  border-radius:var(--nd-radius-2);padding:var(--nd-space-4);display:grid;gap:var(--nd-space-3)}
.nd-panel label{display:block;font-size:var(--nd-fs-sm);font-weight:600;color:var(--nd-ink-muted);
  margin-bottom:var(--nd-space-1)}
.nd-panel select{min-height:44px;width:100%;border:var(--nd-control-border-w) solid var(--nd-border-strong);
  border-radius:var(--nd-radius-2);background:var(--nd-surface);color:var(--nd-ink);
  font:inherit;padding-inline:var(--nd-space-2)}
.nd-out{font-family:var(--nd-font-num);font-size:var(--nd-fs-3xl);font-weight:600;
  line-height:1.15;display:block}
.nd-out-sub{font-family:var(--nd-font-num);color:var(--nd-ink-muted);display:block}
.nd-cap{background:var(--nd-planned-bg);color:var(--nd-planned-ink);border:1px solid currentColor;
  border-radius:var(--nd-radius-2);padding:var(--nd-space-3);display:grid;gap:var(--nd-space-3);
  justify-items:start}
.nd-cap[hidden]{display:none}
.nd-cap p{margin:0}
.nd-tablewrap{overflow-x:auto;background:var(--nd-surface);padding:var(--nd-space-3);border:1px solid var(--nd-line);border-radius:var(--nd-radius-2)}
.nd-table{width:100%;border-collapse:collapse;font-size:var(--nd-fs-sm)}
.nd-table caption{text-align:left;color:var(--nd-ink-muted);font-size:var(--nd-fs-sm);
  margin-bottom:var(--nd-space-2);font-family:var(--nd-font-num)}
.nd-table th,.nd-table td{border-bottom:1px solid var(--nd-line);
  padding:var(--nd-space-2) var(--nd-space-3);text-align:right}
.nd-table th:first-child,.nd-table td:first-child{text-align:left}
.nd-table thead th{border-bottom:2px solid var(--nd-border-strong);font-weight:600}
.nd-table td.nd-n{font-family:var(--nd-font-num);font-variant-numeric:tabular-nums}
.nd-faq details{background:var(--nd-surface);border:1px solid var(--nd-line);
  border-radius:var(--nd-radius-2);padding:var(--nd-space-3) var(--nd-space-4);margin-bottom:var(--nd-space-2)}
.nd-faq summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.nd-faq details p:last-child{margin-bottom:0}
.nd-foot{background:var(--nd-surface);border-top:1px solid var(--nd-line);
  padding-block:var(--nd-space-5);margin-top:var(--nd-space-7)}
.nd-foot h2{font-size:var(--nd-fs-sm);text-transform:uppercase;letter-spacing:.06em}
.nd-foot ul{list-style:none;padding:0;margin:0}
.nd-foot li{margin-bottom:var(--nd-space-2)}
.nd-foot a{color:var(--nd-ink)}
.nd-foot-note{color:var(--nd-ink-muted);font-size:var(--nd-fs-sm);margin-top:var(--nd-space-4)}
.nd-theme{background:transparent;border:var(--nd-control-border-w) solid var(--nd-border-strong);
  border-radius:var(--nd-radius-2);color:var(--nd-ink);font:inherit;font-size:var(--nd-fs-sm);
  min-height:44px;padding-inline:var(--nd-space-3);cursor:pointer}

/* The selectable price matrix. Cells are real buttons so the grid is keyboard
   walkable; the selected one is the published figure, not a computed one. */
.nd-plangroup{text-align:left;background:var(--nd-bg);font-weight:600;
  padding-top:var(--nd-space-3)}
.nd-cell{width:100%;min-height:44px;border:1px solid transparent;border-radius:var(--nd-radius-1);
  background:transparent;color:var(--nd-ink);font:inherit;font-family:var(--nd-font-num);
  font-variant-numeric:tabular-nums;cursor:pointer;padding:var(--nd-space-2)}
.nd-cell:hover{border-color:var(--nd-border-strong)}
.nd-cell[aria-pressed="true"]{background:var(--nd-primary);color:var(--nd-on-primary);
  border-color:var(--nd-primary)}
.nd-table td:has(.nd-cell){padding:2px}
@media(min-width:900px){.nd-block-tight:has([data-matrix]){display:grid;grid-template-columns:minmax(0,3fr) minmax(290px,1fr);gap:var(--nd-space-4);align-items:start}
  .nd-block-tight:has([data-matrix]) .nd-panel{position:sticky;top:88px}}
@media(max-width:720px){:root{--nd-gutter:16px;--nd-fs-4xl:2.15rem}.nd-head-in{gap:var(--nd-space-2);padding-block:var(--nd-space-2)}
  .nd-mark{width:100%}.nd-nav{order:3;width:100%;gap:var(--nd-space-3)}.nd-locale{margin-left:0;width:100%}.nd-locale a,.nd-locale span{flex:1;padding:0}
  .nd-karta figcaption{grid-template-columns:1fr auto}.nd-karta figcaption span{grid-column:1/-1;grid-row:2}.nd-karta>div span{padding:var(--nd-space-2);font-size:.72rem}
  .nd-block{padding-block:var(--nd-space-5)}.nd-row{display:grid}.nd-row .nd-btn{width:100%}}

/* Refreshed palette isolation: legacy components stay in their authored default theme. */
body{--nd-bg:#F4F7F8; --nd-surface:#FFFFFF; --nd-ink:#0E2A33; --nd-ink-muted:#43606B;
  --nd-line:#D3DEE2; --nd-border-strong:#6E858C;
  --nd-primary:#0B5B62; --nd-primary-hover:#084A50; --nd-on-primary:#FFFFFF; --nd-link:#0B5B62;
  --nd-planned-bg:#FBF0D5; --nd-planned-ink:#5A4A16;
  --nd-success:#14653F; --nd-warn:#8A4B00; --nd-danger:#A32218;
  --nd-focus:#0B5B62;
  --nd-font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --nd-font-num:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
  --nd-fs-base:1.0625rem;
  --nd-fs-sm:0.885rem; --nd-fs-md:1.0625rem; --nd-fs-lg:1.275rem;
  --nd-fs-xl:1.53rem; --nd-fs-2xl:1.836rem; --nd-fs-3xl:2.203rem; --nd-fs-4xl:2.644rem;
  --nd-lh-body:1.65; --nd-lh-head:1.2;
  --nd-space-1:4px; --nd-space-2:8px; --nd-space-3:16px; --nd-space-4:24px;
  --nd-space-5:40px; --nd-space-6:64px; --nd-space-7:96px;
  --nd-radius-1:2px; --nd-radius-2:4px; --nd-radius-dot:999px;
  --nd-maxw:1120px; --nd-prose:72ch; --nd-gutter:24px;
  --nd-control-border-w:1.5px;
  --nd-focus-ring:0 0 0 3px rgba(11,91,98,.35);}
