/* © Haut Forvalting AS (Org.nr. 931 603 760) — Altibedrift.
   Konfidensiell arkitektur/arbeidsdokument. Uautorisert kopiering/distribusjon forbudt. */
/* ==========================================================================
   HSC SURFACE COMPILATION: NODE 22 (DATA & INFRASTRUKTUR)
   DOMAIN: body[data-ws-data-surface="1"]
   ========================================================================== */

/* 0. ROOT TOKENS & SURFACE NORMALS */
body[data-ws-data-surface="1"] {
  --ws-paper: #F5F4F0;
  --ws-forest: #162B22;
  --ws-text-dark: #1A1A1A;
  --ws-text-light: #FDFDFD;
  --ws-card-bg: #FFFFFF;
  --ws-border: rgba(22, 43, 34, 0.12);
  --ws-focus: #D94B38;
  --ws-timing: 300ms cubic-bezier(0.4, 0, 0.2, 1);

  background-color: var(--ws-paper);
  color: var(--ws-text-dark);
  -webkit-font-smoothing: antialiased;
}

/* TILGJENGELIGHET: FOCUS STATE */
body[data-ws-data-surface="1"] :focus-visible {
  outline: 3px solid var(--ws-focus);
  outline-offset: 4px;
}

/* 1 & 2. HERO / DYBDE (Mørk skoggrønn) */
body[data-ws-data-surface="1"] .source-graph-page[data-source-territory="systemlaget"] .source-graph-hero {
  background-color: var(--ws-forest);
  color: var(--ws-text-light);
  padding: 4rem 1.5rem 5rem;
}

body[data-ws-data-surface="1"] .source-graph-hero__copy h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.1;
  max-width: 18ch;
  margin: 0 0 1.5rem 0;
}



/* 3. DYNAMISK INFORMASJON: KILDEKORT & NYHETER (1 kolonne mobil, 3 desktop) */
body[data-ws-data-surface="1"] .source-route-section,
body[data-ws-data-surface="1"] .di-news-stage {
  padding: 4rem 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}

body[data-ws-data-surface="1"] .source-route-grid,
body[data-ws-data-surface="1"] .di-news-grid,
body[data-ws-data-surface="1"] .source-graph-related__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  body[data-ws-data-surface="1"] .source-route-grid,
  body[data-ws-data-surface="1"] .di-news-grid,
  body[data-ws-data-surface="1"] .source-graph-related__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

body[data-ws-data-surface="1"] .source-route,
body[data-ws-data-surface="1"] .ws-news-card {
  background: var(--ws-card-bg);
  border: 1px solid var(--ws-border);
  padding: 1.5rem;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
}

body[data-ws-data-surface="1"] .ws-news-media img {
  width: 100%;
  height: auto;
  border-radius: 2px;
  margin-bottom: 1rem;
}

/* 4. METODIKK: V2 (Tekst, max 22ch overskrift, 2x2 grid) */
body[data-ws-data-surface="1"] .ws-data-method-v2 {
  padding: 5rem 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 4rem;
  align-items: center;
}

@media (min-width: 1024px) {
  body[data-ws-data-surface="1"] .ws-data-method-v2 {
    grid-template-columns: 1fr 1fr;
  }
}

body[data-ws-data-surface="1"] .ws-data-method-v2__copy h2 {
  max-width: 22ch; /* Begrensning ihht. spec */
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.2;
  margin-bottom: 2rem;
}

body[data-ws-data-surface="1"] .ws-data-method-v2__steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 768px) {
  body[data-ws-data-surface="1"] .ws-data-method-v2__steps {
    grid-template-columns: 1fr 1fr; /* 2x2 grid */
  }
}

/* Motion implemented separately after MTA review. */
/* 5. KONVERTERING / CTA (Mørk flat, høy kontrast) */
body[data-ws-data-surface="1"] .insight-editorial-exit {
  background-color: var(--ws-forest);
  color: var(--ws-text-light);
  padding: 5rem 1.5rem;
  text-align: center;
}

body[data-ws-data-surface="1"] .insight-editorial-exit__primary {
  display: inline-flex;
  background-color: var(--ws-text-light);
  color: var(--ws-forest);
  padding: 1rem 2rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 2px;
  transition: background-color var(--ws-timing), transform var(--ws-timing);
}

body[data-ws-data-surface="1"] .insight-editorial-exit__primary:hover {
  background-color: #E2DFD8;
  transform: translateY(-2px);
}


/* Integration corrections: preserve source semantics and existing component geometry. */
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] { background: #f5f4f0 !important; color: #193d35 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main { --data-ink: #193d35 !important; --data-paper: #faf9f5 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main :is(.source-graph-page,.source-graph-page *, .traffic-journey *) { min-width: 0 !important; box-sizing: border-box !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main :is(h1,h2,h3,p,a,strong,small,summary) { overflow-wrap: anywhere !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main > :is(.visibility-answer-v1,.breadcrumb,.source-graph-page,.insight-editorial-exit,.traffic-journey) { width: calc(100% - 2 * clamp(1rem,3vw,3rem)) !important; max-width: 80rem !important; margin-inline: auto !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .breadcrumb { margin-block: 1.5rem !important; padding: 0 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .breadcrumb ol { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: .6rem !important; margin: 0 !important; padding: 0 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .breadcrumb li { display: inline-flex !important; align-items: center !important; margin: 0 !important; padding: 0 !important; line-height: 1.6 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-graph-page { display: grid !important; gap: clamp(2rem,5vw,4rem) !important; padding: 0 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-graph-hero { display: grid !important; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr) !important; align-items: center !important; gap: 3rem !important; padding: clamp(1.4rem,4vw,4rem) !important; background: #143e34 !important; color: #f8faf6 !important; border-radius: 1.75rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-graph-hero h1 { color: #f8faf6 !important; font-size: clamp(2.15rem,4.5vw,3.9rem) !important; line-height: 1.08 !important; letter-spacing: -.04em !important; max-width: 19ch !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-graph-hero__copy > p { color: #dbe9e2 !important; line-height: 1.7 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-graph-live { display: grid !important; gap: 1rem !important; padding: 1.6rem !important; background: #e8eee5 !important; border: 1px solid #becfc1 !important; border-radius: 1.2rem !important; text-transform: none !important; letter-spacing: normal !important; color: #193d35 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-graph-live :is(p,strong,span,div) { color: #193d35 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-graph-live strong { font-size: clamp(1.25rem,2vw,1.7rem) !important; line-height: 1.3 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-graph-live__meta { display: flex !important; flex-wrap: wrap !important; gap: .5rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-graph-live__pulse { animation: none !important; background: #567266 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main :is(.di-news-stage,.source-route-section,.source-graph-related) { width: 100% !important; max-width: none !important; margin: 0 !important; padding: clamp(1.2rem,3vw,2.5rem) !important; border-radius: 1.5rem !important; background: #faf9f5 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main :is(.di-news-stage__head,.source-route-section__head) { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; gap: 1.25rem 2.5rem !important; align-items: start !important; margin-bottom: 2rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main :is(.di-news-stage,.source-route-section,.source-graph-related) h2 { color: #193d35 !important; max-width: 24ch !important; font-size: clamp(1.8rem,3vw,2.6rem) !important; line-height: 1.17 !important; letter-spacing: -.03em !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .di-news-grid { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(min(100%,20rem),1fr)) !important; gap: 1.25rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-news-card { padding: 0 !important; border: 1px solid #cdd8cd !important; border-radius: 1.15rem !important; background: #fff !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-news-media { width: 100% !important; aspect-ratio: 16/9 !important; height: auto !important; max-height: 28rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-news-media img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; margin: 0 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-news-body { padding: clamp(1.2rem,2.5vw,2rem) !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-route-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 1.25rem !important; align-items: stretch !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-route { padding: 1.5rem !important; border: 1px solid #ccd6ca !important; border-radius: 1.1rem !important; background: #fff !important; box-shadow: 0 8px 24px #143e3408 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-route h3 { font-size: 1.6rem !important; color: #193d35 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main :is(.source-route__latest,.source-route__empty) { background: #f0f3ec !important; color: #294c41 !important; padding: 1.1rem !important; border-radius: .8rem !important; line-height: 1.6 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-route__actions { display: flex !important; flex-wrap: wrap !important; gap: .65rem !important; margin-top: auto !important; padding-top: 1.2rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-route__actions a { display: inline-flex !important; align-items: center !important; min-height: 44px !important; padding: .65rem .85rem !important; color: #193d35 !important; background: #eef2e9 !important; border: 1px solid #becdbf !important; border-radius: .6rem !important; white-space: normal !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-route__actions a::after { content: none !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main summary { min-height: 44px !important; padding-block: .75rem !important; cursor: pointer !important; color: #193d35 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-graph-method.ws-data-method-v2 { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr) !important; gap: 2.5rem !important; padding: clamp(1.3rem,3vw,2.5rem) !important; width: 100% !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; background: #eaf0e6 !important; border-color: #c9d6c8 !important; overflow: visible !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-method-v2__left { gap: 2rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-method-v2__copy h2 { max-width: 22ch !important; margin: 0 !important; font-size: clamp(1.8rem,3vw,2.8rem) !important; line-height: 1.14 !important; color: #193d35 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-method-v2__steps { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: .8rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-method-v2__step { min-height: 0 !important; padding: 1.2rem !important; background: #fafbf6 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-method-v2__step strong { max-width: none !important; margin-top: 1.5rem !important; font-size: 1.08rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main :is(.ws-data-method-v2__step p,.ws-data-method-v2__copy > p:not(.source-graph-kicker),.ws-data-orbit__node small) { color: #4a6255 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-orbit { min-height: 35rem !important; width: 100% !important; max-width: 38rem !important; margin: auto !important; animation: none !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-orbit__node { animation: none !important; width: 44% !important; gap: .6rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-orbit__node--see { left: 0 !important; top: 4% !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-orbit__node--check { right: 0 !important; top: 8% !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-orbit__node--understand { left: 0 !important; bottom: 8% !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-orbit__node--assess { right: 0 !important; bottom: 4% !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-orbit__glyph { width: 3rem !important; height: 3rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-orbit__glyph svg { width: 1.6rem !important; height: 1.6rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-graph-related__grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .insight-editorial-exit { margin-block: 3rem !important; padding: clamp(1.5rem,4vw,4rem) !important; border-radius: 1.75rem !important; background: #143e34 !important; text-align: left !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .insight-editorial-exit :is(h2,p) { color: #f5faf3 !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .insight-editorial-exit__actions { display: flex !important; flex-wrap: wrap !important; gap: .75rem !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .insight-editorial-exit__primary { background: #eef4dd !important; color: #143e34 !important; border: 1px solid #eef4dd !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .insight-editorial-exit__secondary { background: #143e34 !important; color: #fff !important; border: 1px solid #b6cabb !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main :is(.insight-editorial-exit__primary,.insight-editorial-exit__secondary) { min-height: 48px !important; padding: .9rem 1.3rem !important; border-radius: 999px !important; white-space: normal !important; text-align: center !important; }
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main [hidden] { display: none !important; }
@media(max-width: 64rem) {
 html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main :is(.source-graph-hero,.source-graph-method.ws-data-method-v2,.source-route-grid,.di-news-stage__head,.source-route-section__head) { grid-template-columns: minmax(0,1fr) !important; }
}
@media(max-width: 42rem) {
 html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-method-v2__steps { grid-template-columns: minmax(0,1fr) !important; }
 html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .source-graph-related__grid { grid-template-columns: minmax(0,1fr) !important; }
 html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-orbit { min-height: 32rem !important; overflow: clip !important; }
 html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-orbit__map { inset: 2rem 0 0 !important; width: 100% !important; height: calc(100% - 2rem) !important; }
 html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-orbit__node { flex-direction: column !important; align-items: flex-start !important; }
 html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-orbit__node small { max-width: none !important; font-size: .75rem !important; }
 html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .insight-editorial-exit__actions { flex-direction: column !important; }
}
/* Method sits on paper even though the upstream surface classifier calls it dark. */
html body[data-ws-cohesion="6"][data-ws-data-surface="1"][data-ws-data-surface] main .ws-data-method-v2 :is(.source-graph-kicker,.ws-data-orbit__node strong,.ws-data-method-v2__rail,.ws-data-method-v2__rail span,.ws-data-method-v2__rail i) { color: #294c41 !important; }
