/* SLAIF documentation theme. Brand palette and typography follow pangolin.sling.si.
   All rules style existing content; no page text or service metadata is replaced. */
:root, [data-md-color-scheme="default"] {
  --slaif-paper: #fbfbf9;
  --slaif-ink: #16302e;
  --slaif-body: #23312f;
  --slaif-muted: #52635f;
  --slaif-teal: #1b86a7;
  --slaif-link: #12617a;
  --slaif-lime: #a3c93e;
  --slaif-mist: #c7dfe7;
  --slaif-leaf: #eef4dc;
  --slaif-line: #dce3d6;
  --md-text-font: "Roboto";
  --md-code-font: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --md-primary-fg-color: #1b86a7;
  --md-primary-fg-color--light: #c7dfe7;
  --md-primary-fg-color--dark: #12617a;
  --md-primary-bg-color: #fff;
  --md-accent-fg-color: #12617a;
  --md-accent-fg-color--transparent: #1b86a714;
  --md-default-fg-color: #23312f;
  --md-default-fg-color--light: #52635f;
  --md-default-fg-color--lighter: #73827d;
  --md-default-fg-color--lightest: #dce3d6;
  --md-default-bg-color: #fbfbf9;
  --md-typeset-color: #23312f;
  --md-typeset-a-color: #12617a;
  --md-code-bg-color: #f1f5f4;
  --md-code-fg-color: #233d41;
  --md-footer-bg-color: #16302e;
  --md-footer-bg-color--dark: #102725;
  --md-footer-fg-color: #fff;
  --md-footer-fg-color--light: #d0dfdb;
  --md-footer-fg-color--lighter: #b6ccc5;
}

body { background: var(--slaif-paper); }
.md-grid { max-width: 66rem; }
a, button, label { -webkit-tap-highlight-color: transparent; }
:is(a, button, input, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--slaif-link);
  outline-offset: 4px;
}

/* Brand header: preserve Material's drawer, search, and scroll behaviour. */
.md-header {
  color: var(--slaif-ink);
  background: var(--slaif-paper);
  border-bottom: 1px solid #1b86a71f;
  box-shadow: none;
}
.md-header--shadow { box-shadow: 0 4px 18px #16302e0a; }
.md-header__inner { min-height: 4.3rem; padding: .4rem 1.2rem; gap: .45rem; }
.md-header__button.md-logo { margin: 0 .65rem 0 0; padding: 0; }
.md-header__button.md-logo img { width: 3.6rem; height: 2.85rem; object-fit: contain; }
.md-header__title {
  font-family: "Roboto Condensed", "Roboto", sans-serif;
  font-size: 1.04rem;
  font-weight: 700;
  letter-spacing: -.01em;
  margin-left: .25rem;
}
.md-header__button { color: var(--slaif-link); }
.md-header__button:hover { opacity: 1; color: var(--slaif-ink); }
.slaif-languages {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 2px;
  order: 5;
  padding: 3px;
  margin-left: .7rem;
  border: 1px solid var(--slaif-line);
  border-radius: 999px;
  background: #fff;
}
.slaif-languages a {
  display: grid;
  place-items: center;
  min-width: 2rem;
  min-height: 1.65rem;
  border-radius: 999px;
  color: var(--slaif-link);
  font: 700 .78rem "Roboto Condensed", "Roboto", sans-serif;
}
.slaif-languages a[aria-current] { background: var(--slaif-lime); color: #25340a; }
.slaif-languages a:hover { background: var(--slaif-leaf); color: var(--slaif-ink); }
.md-tabs { background: #fff; color: var(--slaif-link); border-bottom: 1px solid var(--slaif-line); }
.md-tabs__list { padding: 0 1.2rem; gap: .4rem; }
.md-tabs__item { padding: 0 .7rem; height: 2.75rem; }
.md-tabs__link {
  color: var(--slaif-link);
  margin-top: .85rem;
  font: 700 .85rem "Roboto Condensed", "Roboto", sans-serif;
  opacity: 1;
}
.md-tabs__item--active { border-bottom: 3px solid var(--slaif-lime); }
.md-tabs__item--active .md-tabs__link { color: var(--slaif-ink); }

/* Search stays native, including keyboard shortcuts and localized results. */
.md-search { order: 4; }
.md-search__form { background: #edf3f1; border: 1px solid #d5e0d9; border-radius: 999px; }
.md-search__input, .md-search__icon { color: var(--slaif-ink); }
.md-header .md-search__icon { color: var(--slaif-link); }
.md-search__input::placeholder { color: var(--slaif-muted); }
.md-search__input { font-family: "Roboto", sans-serif; font-size: .78rem; }
.md-search__form:hover { background: #e5efed; }
[data-md-toggle="search"]:checked ~ .md-header .md-search__form { border-radius: .65rem .65rem 0 0; background: #fff; }
.md-search__output { background: #fff; border-radius: 0 0 .65rem .65rem; }
.md-search-result__meta { color: var(--slaif-muted); background: #eef4f2; }
.md-search-result__article { border-top: 1px solid #e5ebe3; }
.md-search-result__title { font-family: "Roboto Condensed", "Roboto", sans-serif; font-weight: 700; }
.md-search-result__article--document::before { color: var(--slaif-teal); }
.md-search-result__teaser { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }

/* Quiet reading surface with a branded title panel. */
.md-main { background: linear-gradient(180deg, #e8f2f4 0, #f2f6f1 19rem, var(--slaif-paper) 36rem); }
.md-main__inner { margin-top: 1.8rem; margin-bottom: 3rem; gap: 1.1rem; }
.md-content { min-width: 0; }
.md-content__inner {
  margin: 0 1rem 0 0;
  padding: 2rem 2.2rem 2.5rem;
  background: #fff;
  border: 1px solid var(--slaif-line);
  border-radius: 1rem;
  box-shadow: 0 5px 22px #16302e05;
}
.md-content__inner::before { display: none; }
.md-typeset p:has(> img[alt="Logo"]) { text-align: center; }
.md-typeset img[alt="Logo"][src*="SLAIF_logo"] { width: 16rem; max-width: 75%; margin: 1rem auto; }
.md-typeset { font-size: .84rem; line-height: 1.75; }
.md-content .md-typeset :target { --md-scroll-margin: 5.3rem; }
.md-typeset :is(h1,h2,h3,h4,h5,h6) {
  color: var(--slaif-ink);
  font-family: "Roboto Condensed", "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: -.016em;
  line-height: 1.23;
  overflow-wrap: anywhere;
}
.md-typeset h1 { font-size: 2rem; font-weight: 800; }
.md-content__inner > h1:first-of-type {
  background: url("../images/illus-step-discover.svg") no-repeat right 1.5rem center / 4rem auto, var(--slaif-mist);
  margin: -2rem -2.2rem 1.6rem;
  padding: 2rem 7rem 2rem 2.2rem;
  border-radius: 1rem 1rem 0 0;
  border-bottom: 1px solid #accbd5;
}
.md-typeset h2 { font-size: 1.5rem; margin-top: 2.2rem; margin-bottom: 1rem; }
.md-typeset h3 { font-size: 1.13rem; margin-top: 1.65rem; }
.md-typeset h4 { font-size: .98rem; }
.md-typeset h5, .md-typeset h6 { font-size: .88rem; }
.md-typeset p { margin: 1em 0; }
.md-typeset li { margin-bottom: .4em; }
.md-typeset hr { margin: 2rem 0; border-bottom-color: var(--slaif-line); }
.md-typeset a:not(.md-button):not(.headerlink) { text-decoration: underline; text-decoration-color: #12617a55; text-underline-offset: .15em; }
.md-typeset a:not(.md-button):hover { text-decoration-color: currentColor; }
.md-typeset blockquote { border-left: 3px solid var(--slaif-lime); padding: .15rem 1rem; color: #35514c; background: #f5f8ef; border-radius: 0 .5rem .5rem 0; }
.md-typeset .md-button {
  border: 1px solid #aac7d0;
  border-radius: 999px;
  padding: .55em 1.25em;
  margin: .2rem .25rem .25rem 0;
  font: 700 .86rem/1.45 "Roboto Condensed", "Roboto", sans-serif;
  color: var(--slaif-link);
  text-align: center;
  white-space: normal;
  transition: background-color .15s, box-shadow .15s;
}
.md-typeset .md-button--primary { color: #fff; background: #18738e; border-color: #18738e; }
.md-typeset .md-button:hover { background: var(--slaif-leaf); color: var(--slaif-ink); border-color: #9cb66c; box-shadow: 0 3px 8px #16302e0c; }
.md-typeset .md-button--primary:hover { color: #fff; background: var(--slaif-link); border-color: var(--slaif-link); }

/* Existing navigation hierarchy is retained verbatim. */
.md-sidebar { width: 14rem; }
.md-sidebar--primary { padding: 0 0 0 1rem; }
.md-sidebar__scrollwrap { scrollbar-width: thin; scrollbar-color: #bac9bb transparent; }
.md-sidebar--primary .md-sidebar__inner { padding: .9rem .7rem 1rem; border: 1px solid var(--slaif-line); border-radius: .8rem; background: #ffffffed; }
.md-nav { font-size: .72rem; line-height: 1.45; }
.md-nav__title { color: var(--slaif-ink); font-family: "Roboto Condensed", "Roboto", sans-serif; font-weight: 700; box-shadow: none; background: transparent; padding-bottom: .4rem; }
.md-nav__link { margin-top: 0; padding: .4rem .5rem; border-radius: .4rem; }
.md-nav__item--nested > .md-nav__link { font-family: "Roboto Condensed", "Roboto", sans-serif; font-weight: 700; font-size: .79rem; color: #284b46; }
.md-nav__link:hover { color: var(--slaif-link); background: #eef5f4; }
.md-nav__link--active, .md-nav__item .md-nav__link--active { color: #344a10; background: var(--slaif-leaf); box-shadow: inset 3px 0 var(--slaif-lime); font-weight: 700; }
.md-nav__link--active:hover { background: #e7efd0; }
.md-nav--secondary { border-left: 2px solid var(--slaif-line); padding-left: .35rem; }
.md-nav--secondary .md-nav__link { font-size: .7rem; }

/* Style Markdown and raw HTML service cards without changing their markup. */
.md-typeset table:not([class]) { display: block; max-width: 100%; overflow-x: auto; border: 1px solid var(--slaif-line); border-radius: .7rem; background: #fff; box-shadow: none; font-size: .75rem; line-height: 1.65; }
.md-typeset table:not([class]) :is(td, th) { padding: .8rem .9rem; border-color: #e2e8df; }
.md-typeset table:not([class]) th { background: #edf3e1; color: #304b33; font-weight: 700; }
.md-typeset table:not([class]) tbody tr:nth-child(even) { background: #f8faf6; }
.md-typeset table:not([class]) tbody tr:hover { background: #f0f6f5; }
.md-typeset table:not([class]) td:first-child > strong { color: var(--slaif-ink); }
.md-typeset__scrollwrap { scrollbar-width: thin; }
.md-typeset .admonition, .md-typeset details { border-radius: .65rem; box-shadow: none; font-size: .79rem; line-height: 1.7; overflow-wrap: anywhere; }
.md-typeset .admonition-title, .md-typeset summary { font-family: "Roboto Condensed", "Roboto", sans-serif; font-size: .85rem; font-weight: 700; border-radius: .55rem .55rem 0 0; }
.md-typeset :is(.admonition,details):is(.success,.check,.done) { border-color: #9fbf55; }
.md-typeset :is(.success,.check,.done) > :is(.admonition-title,summary) { background: #eef4dc; }
.md-typeset :is(.success,.check,.done) > :is(.admonition-title,summary)::before { background-color: #537518; }
.md-typeset :is(.admonition,details):is(.info,.todo) { border-color: #78b0c0; }
.md-typeset :is(.info,.todo) > :is(.admonition-title,summary) { background: #eaf4f7; }
.md-typeset :is(.info,.todo) > :is(.admonition-title,summary)::before { background-color: var(--slaif-teal); }
.md-typeset code { padding: .12em .3em; border-radius: .2rem; font-size: .83em; }
.md-typeset pre { border-radius: .6rem; border: 1px solid #dce5e1; }
.md-typeset pre > code { padding: 1rem; line-height: 1.65; }
.md-typeset .highlight { border-radius: .6rem; }
.md-typeset .highlight pre { margin: 1em 0; }
.md-typeset .tabbed-labels { border-bottom-color: var(--slaif-line); }
.md-typeset .tabbed-labels > label { font-family: "Roboto Condensed", "Roboto", sans-serif; }
.md-typeset .mermaid-source { max-width: 100%; overflow-x: auto; padding: .8rem 0; }
.md-typeset .mermaid-source svg { display: block; margin: 0 auto; }

/* Dark teal footer is shared chrome, not injected article content. */
.md-footer { position: relative; margin-top: 3.5rem; border-radius: 45% 55% 0 0 / 20px 20px 0 0; padding-top: 1rem; }
.slaif-footer-illustration { position: absolute; right: max(2rem, calc((100vw - 62rem) / 2)); top: -4rem; display: flex; align-items: flex-end; gap: .25rem; height: 4.6rem; pointer-events: none; }
.slaif-footer-illustration img { display: block; object-fit: contain; }
.md-footer__inner { padding: .6rem 1.2rem; gap: 1.5rem; }
.md-footer__link { margin: 0; padding: .75rem; border-radius: .6rem; transition: background-color .15s; }
.md-footer__link:hover { background: #ffffff0b; opacity: 1; }
.md-footer__title { font-family: "Roboto Condensed", "Roboto", sans-serif; font-size: .96rem; }
.md-footer__direction { color: #c1d6cb; font-family: "Roboto", sans-serif; font-size: .62rem; }
.slaif-footer-brand { display: flex; align-items: center; gap: 1.5rem; padding: 1.4rem 2rem; border-top: 1px solid #ffffff1c; }
.slaif-footer-logo { flex: 0 0 auto; }
.slaif-footer-logo img { display: block; width: 4rem; height: auto; }
.slaif-footer-title { display: grid; gap: .3rem; }
.slaif-footer-title strong { color: #fff; font: 700 1.1rem "Roboto Condensed", "Roboto", sans-serif; }
.slaif-footer-title span { color: #c8d6d3; font-size: .7rem; }
.slaif-footer-home { margin-left: auto; color: #d9eca9; font: 700 .85rem "Roboto Condensed", "Roboto", sans-serif; padding: .45rem .7rem; border: 1px solid #839c685c; border-radius: 999px; }
.slaif-footer-home:hover { background: #ffffff12; color: #fff; }
.md-footer-meta__inner { padding: .5rem 2rem; }
.md-copyright { font-size: .62rem; }

@media screen and (min-width: 60em) {
  .md-search__inner { width: 13rem; }
}
@media screen and (min-width: 76.25em) {
  .md-sidebar--primary:not(:has(.md-nav__item--active)) { display: none; }
  .md-main__inner:not(:has(.md-nav__item--active)) .md-content { max-width: 54rem; margin: 0 auto; }
}
@media screen and (max-width: 76.234375em) {
  .md-header__button.md-logo { display: block; }
  /* Material's drawer translates by 12.1rem; retain that width when closed. */
  .md-sidebar--primary { padding: 0; width: 12.1rem; }
  .md-sidebar--primary .md-sidebar__inner { border: 0; border-radius: 0; min-height: 100%; }
  .md-nav--primary > .md-nav__title { color: var(--slaif-ink); background: var(--slaif-mist); }
  .md-nav--primary > .md-nav__title .md-logo img { width: 3.2rem; height: 2.5rem; object-fit: contain; }
  .md-content__inner { margin-left: 1rem; }
}
@media screen and (max-width: 59.984375em) {
  .md-content .md-typeset :target { --md-scroll-margin: 4.4rem; }
  .md-header__inner { min-height: 3.7rem; padding: .3rem .6rem; gap: .1rem; }
  .md-header__button.md-logo { margin-right: .15rem; }
  .md-header__button.md-logo img { width: 2.8rem; height: 2.2rem; }
  .md-header__title { font-size: .94rem; margin: 0 .4rem; }
  .slaif-languages { margin-left: .2rem; }
  .slaif-languages a { min-width: 1.65rem; min-height: 1.6rem; font-size: .72rem; }
  .md-header__button[for="__search"] { margin-left: auto; }
  .md-search__inner { border-radius: 0; }
  .md-main__inner { margin-top: 1rem; margin-bottom: 2rem; }
  .md-typeset { font-size: .82rem; }
  .md-content__inner { padding: 1.4rem 1.25rem 1.8rem; }
  .md-content__inner > h1:first-of-type { font-size: 1.75rem; margin: -1.4rem -1.25rem 1.4rem; padding: 1.4rem 6rem 1.4rem 1.25rem; background-position: right 1rem center; background-size: 3.5rem auto; }
  .md-typeset h2 { font-size: 1.35rem; }
}
@media screen and (max-width: 35em) {
  .md-header__inner { padding: .25rem .35rem; min-height: 3.3rem; }
  .md-header__title { font-size: .85rem; }
  .md-header__button.md-logo img { width: 2.3rem; height: 1.85rem; }
  .md-header__button { margin: .15rem; padding: .4rem; }
  .slaif-languages { gap: 0; padding: 2px; }
  .slaif-languages a { min-width: 1.45rem; }
  .md-content__inner { margin: 0 .65rem; padding: 1.15rem 1rem 1.5rem; border-radius: .8rem; }
  .md-content__inner > h1:first-of-type { font-size: 1.55rem; margin: -1.15rem -1rem 1.2rem; padding: 1.4rem 1rem; border-radius: .8rem .8rem 0 0; background-image: none; }
  .md-typeset .md-button { max-width: 100%; }
  .md-typeset table:not([class]) { font-size: .72rem; }
  .md-typeset table:not([class]) :is(td,th) { padding: .6rem; }
  .slaif-footer-brand { flex-wrap: wrap; gap: .8rem; padding: 1.2rem; }
  .slaif-footer-title { flex: 1; }
  .slaif-footer-title strong { font-size: .95rem; }
  .slaif-footer-home { margin-left: 4.8rem; }
  .md-footer__inner { padding: .5rem; gap: .3rem; }
  .md-footer__title { font-size: .8rem; }
  .md-footer-meta__inner { padding: .5rem 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
@media print {
  .md-main, .md-content__inner { background: #fff; box-shadow: none; border: 0; }
  .md-content__inner { margin: 0; padding: 0; }
  .md-content__inner > h1:first-of-type { margin: 0 0 1rem; padding: 0; background: none; border: 0; }
  .md-footer { display: none; }
}
