:root {
  --md-admonition-icon--wait: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2 21h18v-2H2M20 8h-2V5h2m0-2H4v10a4 4 0 0 0 4 4h6a4 4 0 0 0 4-4v-3h2a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2Z"/></svg>');
  /* Custom icons for new admonition styles */
  --md-admonition-icon--vendor: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M3 7l9-5 9 5v10l-9 5-9-5V7zm9 3.3L18.2 8 12 4.7 5.8 8 12 10.3zm-1 1.9L6 10.2v5.1L11 18v-6.8zm2 6.8l5-2.7v-5.1l-5 2.9V18z"/></svg>');
  --md-admonition-icon--decision-ok: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M9.5 16.6L4.9 12l1.4-1.4 3.2 3.17 7.2-7.17L18.1 8l-8.6 8.6z"/></svg>');
  --md-admonition-icon--decision-no: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12 10.6L6.4 5 5 6.4 10.6 12 5 17.6 6.4 19 12 13.4 17.6 19 19 17.6 13.4 12 19 6.4 17.6 5 12 10.6z"/></svg>');
  --md-admonition-icon--decision-maybe: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M11 7h2v7h-2V7zm0 9h2v2h-2v-2z"/></svg>');
  --md-admonition-icon--risks: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M11 7h2v6h-2V7zm0 8h2v2h-2v-2zm1-13L2 9l10 8 10-8-10-7zm0 13.3L5.2 9 12 4.2 18.8 9 12 15.3z"/></svg>');
  --md-admonition-icon--responsibility: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12 12a5 5 0 1 0-5-5 5.006 5.006 0 0 0 5 5zm0 2c-3.33 0-10 1.67-10 5v2h20v-2c0-3.33-6.67-5-10-5z"/></svg>');
  --md-admonition-icon--datakilder: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12 3C7 3 2 5 2 8v8c0 3 5 5 10 5s10-2 10-5V8c0-3-5-5-10-5zm0 2c4.4 0 8 .9 8 3s-3.6 3-8 3-8-.9-8-3 3.6-3 8-3zm0 14c-4.4 0-8-.9-8-3v-2c1.8 1.3 5 2 8 2s6.2-.7 8-2v2c0 2.1-3.6 3-8 3zm0-6c-4.4 0-8-.9-8-3V8c1.8 1.3 5 2 8 2s6.2-.7 8-2v2c0 2.1-3.6 3-8 3z"/></svg>');
}

.md-typeset .admonition.wait,
.md-typeset details.wait {
  border-color: rgb(43, 155, 70);
}

.md-typeset .wait > .admonition-title,
.md-typeset .wait > summary {
  background-color: #f2fff3; /* can't figure this one out */
}

.md-typeset .wait > .admonition-title::before,
.md-typeset .wait > summary::before {
  background-color: rgb(43, 155, 70);
  -webkit-mask-image: var(--md-admonition-icon--wait);
  mask-image: var(--md-admonition-icon--wait);
}

/* Centering the inner content */

[data-md-color-scheme="oslo"] .md-content__inner {
  max-width: 800px;
  margin: auto;
}

/* Fixed padding on small screens */

[data-md-color-scheme="oslo"] .md-main {
  padding: 0 20px;
}

/* Fixed padding on footer */

[data-md-color-scheme="oslo"] .md-footer {
  padding-top: 30px;
}

/* Hiding light/dark mode button */

[data-md-color-scheme="oslo"] .md-header__option {
  visibility: hidden;
}

/* Fixing GitHub icon on small screens */

[data-md-color-scheme="oslo"] .md-nav__source {
  background-color: #ffffff;
}

/* Disabling dropshadow on small screens */
/* Adding the 1px line instead - kind of a hack */
[data-md-color-scheme="oslo"] .md-header--shadow {
  box-shadow: none;
  border-bottom: 1px solid #f2f2f2;
}

/* Styling the text elements */

@font-face {
  font-family: "oslosans";
  src: url("OsloSans-Regular.woff") format("truetype");
  -webkit-font-smoothing: antialiased;
}

:root {
  --md-text-font: "Oslo Sans";
}

[data-md-color-scheme="oslo"] {
  --md-primary-fg-color: #ffffff; /* Navigation background */
  --md-primary-bg-color: #2a2859; /* Navigation text */
  --md-accent-fg-color: #1f42aa; /* Hover */
  --md-accent-bg-color: #8d50b1; /* Unused(?) Hover */
  --md-footer-bg-color: #ffffff; /* Footer */
  --md-footer-fg-color: #2a2859; /* Footer Navigation text */
  --md-footer-bg-color--dark: #2a2859; /* Footer Bottom layer */
}

[data-md-color-scheme="oslo"] .md-typeset h1,
h2,
h3 {
  color: #2a2859;
}

[data-md-color-scheme="oslo"] p,
li {
  font-weight: 300 !important;
}

/* Explicit bold styling: ensure Markdown **bold** / __bold__ is visibly heavier even if
   only the Regular face is currently loaded. Once a real 600/700 weight is added, this
   will map correctly. */
[data-md-color-scheme="oslo"] .md-typeset strong,
[data-md-color-scheme="oslo"] .md-typeset b {
  font-weight: 600 !important; /* Increase if a 700 weight is provided */
}

[data-md-color-scheme="oslo"] .md-header__topic:first-child {
  font-weight: 400 !important;
}

[data-md-color-scheme="oslo"] h1,
h2,
h3,
h4,
h5 {
  font-weight: 400 !important;
}

[data-md-color-scheme="oslo"] .md-content a {
  color: #2a2859;
  text-underline-offset: 3px;
}

[data-md-color-scheme="oslo"] .md-content a:hover {
  color: #1f42aa;
}

[data-md-color-scheme="oslo"] .md-content a,
.md-content a.hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

[data-md-color-scheme="oslo"] .md-typeset kbd {
  margin: 0 0.3em;
}

[data-md-color-scheme="oslo"] .md-typeset__table {
  min-width: 100%;
}

[data-md-color-scheme="oslo"] .md-typeset table:not([class]) {
  display: table;
}

[data-md-color-scheme="oslo"] .md-search__input::placeholder {
  color: #666666;
}

[data-md-color-scheme="oslo"] .md-search__input {
  color: #2a2859;
}

[data-md-color-scheme="oslo"] .md-search__form {
  background-color: #ffffff;
  border: 2px solid #f9c66b;
}

[data-md-color-scheme="oslo"] .md-search__form:hover {
  background-color: #ffffff;
}

[data-md-color-scheme="oslo"] .md-tabs {
  border-bottom: 1px solid #f2f2f2;
}

[data-md-color-scheme="oslo"] .md-source:focus,
.md-source:hover,
.md-nav__source:hover,
.md-tabs__link:focus,
.md-tabs__link:hover,
.md-body__link:focus,
.md-body__link:hover,
.md-footer__link:focus,
.md-footer__link:hover {
  opacity: 1;
  color: #1f42aa;
}

[data-md-color-scheme="oslo"] html .md-footer-meta.md-typeset a:focus,
html .md-footer-meta.md-typeset a:hover {
  opacity: 1;
  color: #b3f5ff;
}

/* Underlining the active menu item (and removing fade) */
[data-md-color-scheme="oslo"] .md-tabs__link {
  opacity: 1;
}

[data-md-color-scheme="oslo"] .md-tabs__item--active {
  text-decoration: underline;
  text-decoration-color: #6fe9ff;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

/* Styling Buttons */

[data-md-color-scheme="oslo"] .md-button {
  border: 2px solid #2a2859;
  color: #2a2859 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

[data-md-color-scheme="oslo"] .md-button:hover {
  background-color: #1f42aa;
  color: #ffffff !important;
  text-decoration-color: #ffffff;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

[data-md-color-scheme="oslo"] .md-clipboard {
  color: #2a2859;
}

[data-md-color-scheme="oslo"] .md-clipboard:hover {
  color: #1f42aa;
}

/* Styling Abbreviations */

[data-md-color-scheme="oslo"] abbr {
  background-color: #e5fcff;
  border: none;
}

article
  a:not([href^="/"]):not([href^="#"]):not([href*="127.0.0.1"]):not(
    [href*="km.oslo"]
  ):not(.md-icon):after,
a[target="_blank"]:after {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  --svg: url(https://punkt-cdn.oslo.kommune.no/latest/icons/new-window-small.svg);
  background-image: var(--svg);
  background-position: bottom left;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: baseline;
}

/* Vendor panel styling */
.vendor-panel {
  background: #f5f7fa;
  border-left: 4px solid #005aa5;
  padding: 1em 1.2em;
  margin: 1em 0;
  border-radius: 6px;
}

.vendor-panel strong {
  color: #2a2859;
}

.vendor-panel a {
  color: #2a2859;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.vendor-panel ul {
  margin: 0.5em 0 0 1.2em;
}

/* Decision panel styling */
.decision-panel {
  padding: 0.75em 1em;
  margin: 0.75em 0 1em;
  border-radius: 6px;
  border-left: 4px solid transparent;
  background: #f7f9fb;
}

.decision-panel--ok {
  background: #f2fff3;
  border-left-color: #2b9b46;
}

.decision-panel--no {
  background: #fff5f5;
  border-left-color: #d64545;
}

.decision-panel strong {
  color: #2a2859;
}

/* -------------------------------------------------- */
/* Custom admonition variants mirroring panel styles   */
/* Usage examples in Markdown:                        */
/*                                                   */
/*  !!! vendor "Leverandør"                          */
/*      Navn: Anthropic                              */
/*                                                   */
/*  !!! decision-ok "Status"                         */
/*      Godkjent per 2025-09-23                      */
/*                                                   */
/*  !!! decision-no "Status"                         */
/*      Ikke godkjent                                */
/*                                                   */
/*  !!! risks "Risiko og sårbarhet"                  */
/*      - Data på avveie                             */
/*      - KI agenten utfører uønskede handlinger     */
/*                                                   */
/*  !!! responsibility "Brukeransvar"                */
/*      * Du er ansvarlig for handlingene ...        */
/*                                                   */
/*  !!! datakilder "Datakilder"                      */
/*      1. Github                                    */
/*      2. AWS                                       */
/* -------------------------------------------------- */

/* Base adjustments: keep list spacing comfortable inside custom admonitions */
.md-typeset .admonition.vendor ul,
.md-typeset .admonition.vendor ol,
.md-typeset .admonition.decision-ok ul,
.md-typeset .admonition.decision-ok ol,
.md-typeset .admonition.decision-no ul,
.md-typeset .admonition.decision-no ol,
.md-typeset .admonition.decision-maybe ul,
.md-typeset .admonition.decision-maybe ol,
.md-typeset .admonition.risks ul,
.md-typeset .admonition.risks ol,
.md-typeset .admonition.responsibility ul,
.md-typeset .admonition.responsibility ol,
.md-typeset .admonition.datakilder ul,
.md-typeset .admonition.datakilder ol,
.md-typeset details.vendor ul,
.md-typeset details.vendor ol,
.md-typeset details.decision-ok ul,
.md-typeset details.decision-ok ol,
.md-typeset details.decision-no ul,
.md-typeset details.decision-no ol,
.md-typeset details.decision-maybe ul,
.md-typeset details.decision-maybe ol,
.md-typeset details.risks ul,
.md-typeset details.risks ol,
.md-typeset details.responsibility ul,
.md-typeset details.responsibility ol,
.md-typeset details.datakilder ul,
.md-typeset details.datakilder ol {
  margin-top: 0.4em;
  margin-bottom: 0.6em;
}

/* Shared visual baseline (aligning with vendor-panel aesthetics) */
.md-typeset .admonition.vendor,
.md-typeset .admonition.decision-ok,
.md-typeset .admonition.decision-no,
.md-typeset .admonition.decision-maybe,
.md-typeset .admonition.risks,
.md-typeset .admonition.responsibility,
.md-typeset .admonition.datakilder,
.md-typeset details.vendor,
.md-typeset details.decision-ok,
.md-typeset details.decision-no,
.md-typeset details.decision-maybe,
.md-typeset details.risks,
.md-typeset details.responsibility,
.md-typeset details.datakilder {
  border-width: 0 0 0 4px;
  border-style: solid;
  border-radius: 6px;
  padding: 0; /* Let internal title define top spacing */
  background: #f7f9fb;
}

/* Title bar alignment & typography refinements */
.md-typeset .admonition.vendor > .admonition-title,
.md-typeset .admonition.decision-ok > .admonition-title,
.md-typeset .admonition.decision-no > .admonition-title,
.md-typeset .admonition.decision-maybe > .admonition-title,
.md-typeset .admonition.risks > .admonition-title,
.md-typeset .admonition.responsibility > .admonition-title,
.md-typeset .admonition.datakilder > .admonition-title,
.md-typeset details.vendor > summary,
.md-typeset details.decision-ok > summary,
.md-typeset details.decision-no > summary,
.md-typeset details.decision-maybe > summary,
.md-typeset details.risks > summary,
.md-typeset details.responsibility > summary,
.md-typeset details.datakilder > summary {
  background: #f5f7fa;
  font-weight: 600;
  padding-top: 0.6em;
  padding-bottom: 0.6em;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}

/* Body spacing: apply horizontal padding to ALL direct children except title/summary,
   ensuring paragraphs after lists keep the same indent */
.md-typeset .admonition.vendor > *:not(.admonition-title),
.md-typeset .admonition.decision-ok > *:not(.admonition-title),
.md-typeset .admonition.decision-no > *:not(.admonition-title),
.md-typeset .admonition.decision-maybe > *:not(.admonition-title),
.md-typeset .admonition.risks > *:not(.admonition-title),
.md-typeset .admonition.responsibility > *:not(.admonition-title),
.md-typeset .admonition.datakilder > *:not(.admonition-title),
.md-typeset details.vendor > *:not(summary),
.md-typeset details.decision-ok > *:not(summary),
.md-typeset details.decision-no > *:not(summary),
.md-typeset details.decision-maybe > *:not(summary),
.md-typeset details.risks > *:not(summary),
.md-typeset details.responsibility > *:not(summary),
.md-typeset details.datakilder > *:not(summary) {
  padding-left: 1.1em;
  padding-right: 1.1em;
}

/* Add bottom padding only to the last child for visual closure */
.md-typeset .admonition.vendor > :last-child,
.md-typeset .admonition.decision-ok > :last-child,
.md-typeset .admonition.decision-no > :last-child,
.md-typeset .admonition.decision-maybe > :last-child,
.md-typeset .admonition.risks > :last-child,
.md-typeset .admonition.responsibility > :last-child,
.md-typeset .admonition.datakilder > :last-child,
.md-typeset details.vendor > :last-child,
.md-typeset details.decision-ok > :last-child,
.md-typeset details.decision-no > :last-child,
.md-typeset details.decision-maybe > :last-child,
.md-typeset details.risks > :last-child,
.md-typeset details.responsibility > :last-child,
.md-typeset details.datakilder > :last-child {
  padding-bottom: 0.9em;
}

/* Reduce top margin of first content block after title for tighter rhythm */
.md-typeset .admonition.vendor > .admonition-title + *,
.md-typeset .admonition.decision-ok > .admonition-title + *,
.md-typeset .admonition.decision-no > .admonition-title + *,
.md-typeset .admonition.decision-maybe > .admonition-title + *,
.md-typeset .admonition.risks > .admonition-title + *,
.md-typeset .admonition.responsibility > .admonition-title + *,
.md-typeset .admonition.datakilder > .admonition-title + *,
.md-typeset details.vendor > summary + *,
.md-typeset details.decision-ok > summary + *,
.md-typeset details.decision-no > summary + *,
.md-typeset details.decision-maybe > summary + *,
.md-typeset details.risks > summary + *,
.md-typeset details.responsibility > summary + *,
.md-typeset details.datakilder > summary + * {
  margin-top: 0.4em;
}

/* Individual color accents */
.md-typeset .admonition.vendor,
.md-typeset details.vendor {
  border-color: #005aa5;
}
.md-typeset .admonition.vendor > .admonition-title::before,
.md-typeset details.vendor > summary::before {
  background-color: #005aa5;
  -webkit-mask-image: var(--md-admonition-icon--vendor);
  mask-image: var(--md-admonition-icon--vendor);
}

.md-typeset .admonition.decision-ok,
.md-typeset details.decision-ok {
  border-color: #2b9b46;
  background: #f2fff3;
}
.md-typeset .admonition.decision-ok > .admonition-title::before,
.md-typeset details.decision-ok > summary::before {
  background-color: #2b9b46;
  -webkit-mask-image: var(--md-admonition-icon--decision-ok);
  mask-image: var(--md-admonition-icon--decision-ok);
}

.md-typeset .admonition.decision-no,
.md-typeset details.decision-no {
  border-color: #d64545;
  background: #fff5f5;
}
.md-typeset .admonition.decision-no > .admonition-title::before,
.md-typeset details.decision-no > summary::before {
  background-color: #d64545;
  -webkit-mask-image: var(--md-admonition-icon--decision-no);
  mask-image: var(--md-admonition-icon--decision-no);
}

.md-typeset .admonition.decision-maybe,
.md-typeset details.decision-maybe {
  border-color: #ff8c00;
  background: #fff8f0;
}
.md-typeset .admonition.decision-maybe > .admonition-title::before,
.md-typeset details.decision-maybe > summary::before {
  background-color: #ff8c00;
  -webkit-mask-image: var(--md-admonition-icon--decision-maybe);
  mask-image: var(--md-admonition-icon--decision-maybe);
}

.md-typeset .admonition.risks,
.md-typeset details.risks {
  border-color: #f9c66b;
}
.md-typeset .admonition.risks > .admonition-title::before,
.md-typeset details.risks > summary::before {
  background-color: #f9c66b;
  -webkit-mask-image: var(--md-admonition-icon--risks);
  mask-image: var(--md-admonition-icon--risks);
}

.md-typeset .admonition.responsibility,
.md-typeset details.responsibility {
  border-color: #8d50b1;
}
.md-typeset .admonition.responsibility > .admonition-title::before,
.md-typeset details.responsibility > summary::before {
  background-color: #8d50b1;
  -webkit-mask-image: var(--md-admonition-icon--responsibility);
  mask-image: var(--md-admonition-icon--responsibility);
}

.md-typeset .admonition.datakilder,
.md-typeset details.datakilder {
  border-color: #1f42aa;
}
.md-typeset .admonition.datakilder > .admonition-title::before,
.md-typeset details.datakilder > summary::before {
  background-color: #1f42aa;
  -webkit-mask-image: var(--md-admonition-icon--datakilder);
  mask-image: var(--md-admonition-icon--datakilder);
}

/* Ensure icon contrast inside light backgrounds */
.md-typeset .admonition.vendor > .admonition-title::before,
.md-typeset .admonition.decision-ok > .admonition-title::before,
.md-typeset .admonition.decision-no > .admonition-title::before,
.md-typeset .admonition.decision-maybe > .admonition-title::before,
.md-typeset .admonition.risks > .admonition-title::before,
.md-typeset .admonition.responsibility > .admonition-title::before,
.md-typeset .admonition.datakilder > .admonition-title::before,
.md-typeset details.vendor > summary::before,
.md-typeset details.decision-ok > summary::before,
.md-typeset details.decision-no > summary::before,
.md-typeset details.decision-maybe > summary::before,
.md-typeset details.risks > summary::before,
.md-typeset details.responsibility > summary::before,
.md-typeset details.datakilder > summary::before {
  box-shadow: none; /* Remove default shadow if any */
}

/* Slightly stronger title color for readability */
.md-typeset .admonition.vendor > .admonition-title,
.md-typeset .admonition.decision-ok > .admonition-title,
.md-typeset .admonition.decision-no > .admonition-title,
.md-typeset .admonition.decision-maybe > .admonition-title,
.md-typeset .admonition.risks > .admonition-title,
.md-typeset .admonition.responsibility > .admonition-title,
.md-typeset .admonition.datakilder > .admonition-title,
.md-typeset details.vendor > summary,
.md-typeset details.decision-ok > summary,
.md-typeset details.decision-no > summary,
.md-typeset details.decision-maybe > summary,
.md-typeset details.risks > summary,
.md-typeset details.responsibility > summary,
.md-typeset details.datakilder > summary {
  color: #2a2859;
}

/* Focus outline for accessibility when summary is focusable (collapsible admonitions) */
.md-typeset details.vendor > summary:focus-visible,
.md-typeset details.decision-ok > summary:focus-visible,
.md-typeset details.decision-no > summary:focus-visible,
.md-typeset details.decision-maybe > summary:focus-visible,
.md-typeset details.risks > summary:focus-visible,
.md-typeset details.responsibility > summary:focus-visible,
.md-typeset details.datakilder > summary:focus-visible {
  outline: 2px solid #1f42aa;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Dark scheme adjustments (if later extended to dark mode) */
[data-md-color-scheme="slate"] .md-typeset .admonition.vendor,
[data-md-color-scheme="slate"] .md-typeset .admonition.decision-ok,
[data-md-color-scheme="slate"] .md-typeset .admonition.decision-no,
[data-md-color-scheme="slate"] .md-typeset .admonition.decision-maybe,
[data-md-color-scheme="slate"] .md-typeset .admonition.risks,
[data-md-color-scheme="slate"] .md-typeset .admonition.responsibility,
[data-md-color-scheme="slate"] .md-typeset .admonition.datakilder {
  background: #202633;
}
[data-md-color-scheme="slate"]
  .md-typeset
  .admonition.vendor
  > .admonition-title,
[data-md-color-scheme="slate"]
  .md-typeset
  .admonition.decision-ok
  > .admonition-title,
[data-md-color-scheme="slate"]
  .md-typeset
  .admonition.decision-no
  > .admonition-title,
[data-md-color-scheme="slate"]
  .md-typeset
  .admonition.decision-maybe
  > .admonition-title,
[data-md-color-scheme="slate"]
  .md-typeset
  .admonition.risks
  > .admonition-title,
[data-md-color-scheme="slate"]
  .md-typeset
  .admonition.responsibility
  > .admonition-title,
[data-md-color-scheme="slate"]
  .md-typeset
  .admonition.datakilder
  > .admonition-title,
[data-md-color-scheme="slate"] .md-typeset details.vendor > summary,
[data-md-color-scheme="slate"] .md-typeset details.decision-ok > summary,
[data-md-color-scheme="slate"] .md-typeset details.decision-no > summary,
[data-md-color-scheme="slate"] .md-typeset details.decision-maybe > summary,
[data-md-color-scheme="slate"] .md-typeset details.risks > summary,
[data-md-color-scheme="slate"] .md-typeset details.responsibility > summary,
[data-md-color-scheme="slate"] .md-typeset details.datakilder > summary {
  background: #1b202b;
  color: #f5f7fa;
}
