/* Theme portal:schiessl: on top of SimpleSAMLphp's stylesheet (layout and heights kept, colours and header new). */
:root {
  --schiessl-brand: #1d4ed8;
  --schiessl-brand-dark: #1e3a8a;
  --schiessl-ink: #18181b;
  --schiessl-muted: #52525b;
  --schiessl-line: #e4e4e7;
  --schiessl-page: #f4f4f5;
}

body {
  background: var(--schiessl-page);
  color: var(--schiessl-ink);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Header: logo and name on the left, languages on the right */
#header.schiessl-header { height: auto; background: #fff; border-bottom: 1px solid var(--schiessl-line); }
.schiessl-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1em; min-height: 4rem; }
a.schiessl-brand, a.schiessl-brand:hover, a.schiessl-brand:focus {
  display: flex; align-items: center; gap: .6em; padding: 0; background: none;
  color: var(--schiessl-ink); font-size: 1.25em; font-weight: 600; text-decoration: none;
}
.schiessl-brand img { width: 2rem; height: 2rem; }
.schiessl-languages { display: flex; gap: .9em; font-size: .95em; }
.schiessl-languages a { color: var(--schiessl-muted); text-decoration: none; }
.schiessl-languages a:hover, .schiessl-languages a:focus { color: var(--schiessl-brand); }
.schiessl-language-current { color: var(--schiessl-ink); font-weight: 600; }

/* Links: hover changes colours only. SimpleSAMLphp's stylesheet gives every hovered link a dark block with its own
   padding (a:hover); each kind of link gets its padding back here and only another colour. */
a { color: var(--schiessl-brand); }
a:not([class]):hover, a:not([class]):focus { padding: 0; background-color: transparent; color: var(--schiessl-brand-dark); }
a.pure-button:hover, a.pure-button:focus { padding: .5em 1em; color: rgba(0, 0, 0, .8); background-color: #e6e6e6; }
a.pure-button-primary, a.pure-button-primary:hover, a.pure-button-primary:focus { color: #fff; }
a.pure-button-primary:hover, a.pure-button-primary:focus { background-color: var(--schiessl-brand-dark); }
a.pure-button-red:hover, a.pure-button-red:focus { color: #fff; background-color: #a3001f; }

/* Admin menu: selected entry in the theme colour instead of red; hover only changes colours */
.pure-menu-selected { background: var(--schiessl-brand); }
.pure-menu-selected a.pure-menu-link { color: #fff; }
a.pure-menu-link:hover, a.pure-menu-link:focus { padding: .5em 1em; color: var(--schiessl-brand-dark); background-color: #eef2ff; }
.pure-menu-selected a.pure-menu-link:hover, .pure-menu-selected a.pure-menu-link:focus { color: #fff; background-color: var(--schiessl-brand-dark); }

/* Content on a white card */
#content > .wrap { background: #fff; border: 1px solid var(--schiessl-line); border-radius: 10px; padding: 1.5em 2em; box-sizing: border-box; }
h1 { font-weight: 700; font-size: 1.75em; }
h2 { color: var(--schiessl-ink); border-bottom-color: var(--schiessl-line); }

.pure-button { border-radius: 6px; }
.pure-button-primary, a.pure-button-primary { background-color: var(--schiessl-brand); }
.pure-button-primary:hover, .pure-button-primary:focus { background-color: var(--schiessl-brand-dark); background-image: none; }
.pure-form input:focus, .pure-form textarea:focus, .pure-form select:focus,
.pure-form input:focus:invalid, .pure-form textarea:focus:invalid, .pure-form select:focus:invalid {
  border-color: var(--schiessl-brand); color: inherit; outline: 2px solid rgba(29, 78, 216, .15);
}

.message-box { border-radius: 6px; box-shadow: none; }

/* Footer: same height as SimpleSAMLphp's (sticky footer), quiet colours */
#footer.schiessl-footer { background: transparent; color: var(--schiessl-muted); font-size: .9em; }

/* Breadcrumb above the content card, starting with the home symbol (the portal) */
.schiessl-header .schiessl-breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; min-height: 0; gap: .1em .4em; margin: 0 auto; padding: .2em .2em .6em; font-size: .9em; line-height: 1.6; color: var(--schiessl-muted); }
.schiessl-breadcrumb li { display: flex; align-items: center; gap: .4em; min-width: 0; }
.schiessl-breadcrumb li + li::before { content: "›"; color: var(--schiessl-muted); }
.schiessl-breadcrumb a { color: var(--schiessl-brand); text-decoration: none; }
.schiessl-breadcrumb a:hover, .schiessl-breadcrumb a:focus { text-decoration: underline; padding: 0; }
.schiessl-breadcrumb [aria-current] { color: var(--schiessl-ink); overflow-wrap: anywhere; }
.schiessl-home { display: block; }
.schiessl-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media screen and (max-width: 40em) {
  #content > .wrap { width: 94%; padding: 1em; }
  .schiessl-header .schiessl-breadcrumb ol { width: 90%; }
}

/* SimpleSAMLphp's own password page (admin login): primary button in the theme colour instead of red */
#submit_button { background-color: var(--schiessl-brand); }
#submit_button:hover, #submit_button:focus { background-color: var(--schiessl-brand-dark); }
