/*
 * Cassiopeia UTB - vizuální styl podle Manuálu vizuální identity UTB
 * (https://vizual.utb.cz/pdf/manual-utb.pdf a rozšířený manuál
 * https://vizual.utb.cz/pdf/utb-manual-extended-2023.pdf)
 *
 * Základní barva (symbol, komunikace): oranžová PANTONE 1585, HTML #E37222
 * Doplňkové barvy: PANTONE 7597 (#E65014), Cool Gray 3 (#BECDD2),
 *                  Cool Gray 11 (#46505A), bílá, černá
 * Písma (rozšířený manuál 2023): UTB Berlin Bold - nadpisy, UTB Text Regular -
 *        běžný text. Jsou licencovaná; použijí se, jsou-li nainstalovaná,
 *        jinak systémové bezpatkové písmo.
 * Tvary: tlačítka mají zaoblení rovné 1/6 výšky, štítky a rámečky zaoblený
 *        levý dolní roh.
 */
:root {
  --utb-orange: #e37222;
  --utb-orange-dark: #e65014;
  --utb-gray-light: #becdd2;
  --utb-gray-dark: #46505a;
  --utb-black: #000;

  --cassiopeia-font-family-body: "UTB Text", "UTB Berlin", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --cassiopeia-font-family-headings: "UTB Berlin", "UTB Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --utb-btn-radius: .4rem; /* 1/6 výšky tlačítka (~2.4rem) */
  --utb-corner: 1.5rem;     /* zaoblený levý dolní roh */

  --link-color: var(--utb-gray-dark);
  --link-color-rgb: 70, 80, 90;
  --link-hover-color: var(--utb-orange-dark);
  --link-hover-color-rgb: 230, 80, 20;
  --template-link-color: var(--utb-gray-dark);
  --template-link-hover-color: var(--utb-orange-dark);
  --template-bg-light: #f4f7f8;
  --template-special-color: var(--utb-orange);
  --template-contrast: var(--utb-orange);
}

body {
  color: var(--utb-black);
}

/* ---- Hlavička: bílá, logo vlevo, oranžový pruh dole ---- */
.container-header {
  background: #fff;
  background-image: none;
  color: var(--utb-gray-dark);
  border-bottom: 8px solid var(--utb-orange);
  box-shadow: none;
}

.container-header .navbar-brand {
  margin-inline-end: auto;
}

.container-header .navbar-brand img.logo,
.container-header .navbar-brand .brand-logo img {
  display: block;
  height: 48px;
  width: auto;
  max-width: 80vw;
}

.container-header .container-nav,
.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
  color: var(--utb-gray-dark);
}

.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li.active > a {
  color: var(--utb-orange-dark);
}

.container-topbar {
  background: #fff;
  color: var(--utb-gray-dark);
  border-bottom: 1px solid var(--utb-gray-light);
  padding-block: .25rem;
}

.container-topbar .mod-languages,
.container-topbar .mod-login,
.container-topbar > * {
  margin-bottom: 0;
}

/* ---- Tlačítka a ovládací prvky ---- */
.btn-primary,
.btn-success,
.btn-info {
  --bs-btn-bg: var(--utb-orange);
  --bs-btn-border-color: var(--utb-orange);
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: var(--utb-orange-dark);
  --bs-btn-hover-border-color: var(--utb-orange-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--utb-orange-dark);
  --bs-btn-active-border-color: var(--utb-orange-dark);
  --bs-btn-active-color: #fff;
  --bs-btn-disabled-bg: var(--utb-gray-light);
  --bs-btn-disabled-border-color: var(--utb-gray-light);
  background-color: var(--utb-orange);
  border-color: var(--utb-orange);
  color: #fff;
}

.btn-primary:hover,
.btn-success:hover,
.btn-info:hover {
  background-color: var(--utb-orange-dark);
  border-color: var(--utb-orange-dark);
  color: #fff;
}

.btn-secondary,
.btn-danger {
  --bs-btn-bg: var(--utb-gray-dark);
  --bs-btn-border-color: var(--utb-gray-dark);
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: #000;
  --bs-btn-hover-border-color: #000;
  --bs-btn-hover-color: #fff;
  background-color: var(--utb-gray-dark);
  border-color: var(--utb-gray-dark);
  color: #fff;
}

.btn-secondary:hover,
.btn-danger:hover {
  background-color: #000;
  border-color: #000;
  color: #fff;
}

:focus-visible {
  outline: 3px solid var(--utb-orange);
  outline-offset: 2px;
}

h1, h2, h3, .page-header h1 {
  color: var(--utb-black);
  font-family: var(--cassiopeia-font-family-headings);
  font-weight: 700;
}

.btn {
  border-radius: var(--utb-btn-radius);
}

/* štítky, upozornění, ohraničení: zaoblený levý dolní roh */
.alert,
.card,
.badge,
.container-header,
.footer,
.table-responsive {
  border-bottom-left-radius: var(--utb-corner);
}

.alert {
  border-radius: 0 0 0 var(--utb-corner);
}

/* ---- Kalendář akcí (com_career) ---- */
.table > thead {
  border-bottom: 2px solid var(--utb-orange);
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: #f4f7f8;
}

/* ---- Patička ---- */
.footer {
  background: var(--utb-gray-dark);
  color: #fff;
  border-top: 8px solid var(--utb-orange);
}

.footer a {
  color: #fff;
  text-decoration: underline;
}

.footer a:hover {
  color: var(--utb-gray-light);
}

.footer h3 {
  color: #fff;
}

@media (max-width: 575.98px) {
  .container-header .navbar-brand img.logo,
  .container-header .navbar-brand .brand-logo img {
    height: 36px;
  }
}

/* ---- Horní lišta: kompaktní přihlášení do jednoho řádku ---- */
.container-topbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: .5rem 1rem;
}

.container-topbar form#login-form,
.container-topbar .mod-login {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin: 0;
}

.container-topbar .mod-login__userdata {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}

.container-topbar .mod-login__username,
.container-topbar .mod-login__password,
.container-topbar .mod-login__submit,
.container-topbar .mod-login__remember,
.container-topbar .mod-login__userdata > ul {
  margin: 0;
}

.container-topbar .mod-login label,
.container-topbar .mod-login__remember,
.container-topbar .mod-login__userdata > ul {
  display: none;
}

.container-topbar .mod-login .form-control {
  min-height: 0;
  padding: .25rem .5rem;
  font-size: .875rem;
  width: 10rem;
}

.container-topbar .mod-login .btn {
  padding: .25rem .75rem;
  font-size: .875rem;
}

/* ---- Skryté tlačítko "Web Authentication" (WebAuthn / přihlášení bez hesla) ----
 * Plugin zůstává zapnutý, jen se uživatelům nenabízí. Přihlašuje se přes AD. */
.plg_system_webauthn_login_button {
  display: none !important;
}

/* ---- Přihlášení jako na wifireg.utb.cz ----
 * Jen doménový účet: bez odkazů na zapomenuté heslo/jméno a registraci,
 * místo toho věta o stejných údajích jako do Portálu UTB a kontakt na podporu. */
.com-users-login__options,
.com-users-login__remind,
.com-users-login__reset,
.com-users-login__register,
.mod-login__options,
.mod-login__userdata ~ ul.mod-login__options {
  display: none !important;
}

.com-users-login__form::before {
  content: "Použijte stejné přihlašovací údaje jako do Portálu UTB.";
  display: block;
  margin-bottom: 1rem;
  font-weight: 600;
}

html[lang^="en"] .com-users-login__form::before {
  content: "Use the same login credentials as for the UTB Portal.";
}

.com-users-login__form::after {
  content: "Problémy s přihlášením: Centrum výpočetní techniky, tel. +420 57 603 2055, network@utb.cz";
  display: block;
  margin-top: 1rem;
  font-size: .875rem;
  color: #6c757d;
}

html[lang^="en"] .com-users-login__form::after {
  content: "Login problems: Centre of Information Technology, tel. +420 57 603 2055, network@utb.cz";
}
