@import url("./login-mobile.css");

@layer pages {
  /* ====================================================
     PŘIHLAŠOVACÍ STRÁNKA - HEJBNI KOSTROU
     Hodnoty převzaty ze staré (referenční) verze
     ==================================================== */

  /* 1. Skryj navigaci, hlavičku, modály a skip-link.
     Portrait warning NECHAT viditelný — tablet na výšku (hk-portrait-blocked). */
  #login-page .hk-brand,
  #login-page .login-panel,
  #login-page .global-skolni-rok,
  #login-page .global-search,
  #login-page .main-nav,
  #login-page .landscape-warning-overlay,
  #login-page .modal:not(#hkMobileExplainModal),
  #login-page .skip-to-content {
    display: none !important;
  }

  /* Tablet portrait: přebít případné starší hide a ukázat overlay i na loginu */
  html.hk-portrait-blocked #login-page .portrait-warning-overlay {
    display: flex !important;
  }

  /* 2. Pozadí — dědí globální faint background z reset.css (multiple-backgrounds),
        žádný override není potřeba. */
  #login-page {
    min-height: 100vh;
  }

  /* 3. Page wrapper – odstraň padding-top pro hlavičku (ta je skrytá),
        šířší max-width pro login page (prvky roztaženy k okrajům).
        Na login stránce chceme obsah co nejvýš — nemáme horní menu lištu. */
  #login-page .page-wrapper {
    padding-top: clamp(0.5rem, 1vw, 1rem) !important;
    margin-top: 0rem !important;
    max-width: var(--content-max-width);
  }

  /* 4. Shell */
  #login-page .login-page-shell {
    width: 100%;
    padding: 0;
  }

  /* 5. Nadpis – výrazně níž, ale stále jen pro desktop login */
  #login-page h1.login-page-title {
    font-family: "Comic Sans MS", cursive, sans-serif;
    font-style: italic;
    color: var(--color-black);
    text-shadow: none;
    margin: clamp(42px, 3.4vw, 78px) 0 clamp(28px, 2.2vw, 48px) 0;
    padding-left: clamp(8px, 0.5vw, 12px);
    line-height: 1.15;
    text-align: left;
  }

  #login-page .login-page-title-tools,
  #login-page .mobile-login-title-tools {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    margin-left: var(--sp-035);
  }

  #login-page .mobile-login-title-tools .hk-explain-container {
    margin-left: 0;
  }

  #login-page .login-title-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-link-blue);
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    line-height: 1;
  }

  #login-page .mobile-login-info-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin-left: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-link-blue);
    font-size: clamp(1rem, 1.2vw, 1.2rem);
  }

  #login-page .mobile-login-info-trigger .table-info-icon {
    font-size: inherit;
    line-height: 1;
  }

  #login-page .login-info-box {
    position: relative;
    margin-top: 0;
    margin-right: clamp(8px, 0.5vw, 12px);
    margin-bottom: clamp(20px, 1.6vw, 32px);
    margin-left: clamp(8px, 0.5vw, 12px);
    font-family: "Comic Sans MS", cursive, sans-serif;
    color: var(--color-black);
    padding-right: clamp(34px, 2.2vw, 48px);
  }

  #login-page .login-info-box__header {
    display: block;
    margin-bottom: var(--sp-035);
  }

  #login-page .login-info-box strong {
    display: block;
    font-size: clamp(1rem, 1.1vw, 1.15rem);
  }

  #login-page .login-info-box__close {
    right: clamp(10px, 0.8vw, 16px);
  }

  #login-page .login-info-box p,
  #login-page .login-info-box ul,
  #login-page .login-info-box li {
    color: var(--color-black);
    font-family: "Comic Sans MS", cursive, sans-serif;
    font-size: clamp(0.98rem, 1vw, 1.08rem);
    line-height: 1.4;
  }

  #login-page .login-info-box p {
    margin: 0;
  }

  #login-page .login-info-box ul {
    margin: var(--sp-035) 0 0 var(--sp-15);
  }

  #login-page .login-info-box li {
    margin: var(--sp-02) 0;
  }

  /* 6. Hlavní řádek: flex layout */
  #login-page .login-main-row {
    display: flex;
    align-items: stretch;
    gap: clamp(52px, 3.8vw, 76px);
    width: 100%;
  }

  /* 7. Panel formuláře – roztáhne se na výšku intro panelu */
  #login-page .login-form-panel {
    flex: 0 0 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
  }

  /* 8. Login kontejner – 440px, roztáhne se na celou výšku panelu */
  #login-page .login-container {
    width: 440px;
    max-width: 440px;
    flex: 1;
    margin: 0;
    margin-left: clamp(8px, 0.5vw, 12px);
    padding: var(--sp-025) 2rem var(--sp-045);
    background: linear-gradient(to bottom, #f57803, #ec954d);
    border-radius: var(--radius-rem-xl);
    border: 2px solid var(--color-black);
    box-shadow: none;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  #login-page .login-form-container {
    margin-top: var(--sp-055);
    padding: var(--sp-035);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    border-radius: var(--radius-rem-s);
  }

  /* 9. Formulářové prvky */
  #login-page .login-form {
    display: flex;
    flex-direction: column;
    gap: var(--sp-05);
  }

  #login-page .login-form .form-group {
    margin: 0 0 0.1rem;
    text-align: left;
  }

  #login-page .login-form label,
  #login-page .mobile-login-interface .mobile-form-label {
    color: #000 !important;
    text-shadow: none;
    opacity: 1;
  }

  #login-page .login-form label {
    display: block;
    margin: 0 0 var(--sp-02);
    font-weight: 700;
    font-family: "Comic Sans MS", cursive, sans-serif;
    font-size: var(--fs-xl-plus);
    color: var(--color-black) !important;
    text-transform: none;
  }

  #login-page .login-form input[type="text"],
  #login-page .login-form input[type="password"] {
    width: 100%;
    box-sizing: border-box;
    padding: var(--sp-1);
    border: 1px solid var(--color-gray-800);
    border-radius: var(--radius-rem-s);
    background: rgba(255, 255, 255, 0.96);
    color: rgb(27, 7, 139);
    font-size: var(--fs-xl);
    font-family: "Comic Sans MS", cursive, sans-serif;
    font-weight: 700;
  }

  #login-page .login-form select {
    width: 100%;
    box-sizing: border-box;
    padding: var(--sp-1);
    border: 1px solid var(--color-gray-800);
    border-radius: var(--radius-rem-s);
    background: rgba(255, 255, 255, 0.96);
    color: var(--color-black);
    font-size: var(--fs-md);
    font-family: "Comic Sans MS", cursive, sans-serif;
    font-weight: 700;
  }

  #login-page .login-form input:focus,
  #login-page .login-form select:focus {
    outline: none;
    border-color: #1b078b;
    box-shadow: 0 0 0 4px rgba(27, 7, 139, 0.12);
  }

  /* 10. Tlačítko přihlášení */
  #login-page .login-button {
    width: 100%;
    margin-top: var(--sp-08);
    padding: var(--sp-1) var(--sp-15);
    border: 2px solid var(--color-black);
    border-radius: var(--radius-rem-s);
    background: linear-gradient(90deg, #16b408 0%, #7ad15f 100%);
    color: var(--color-black);
    font-size: var(--fs-2xl-plus);
    font-family: "Comic Sans MS", cursive, sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05rem;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  }

  #login-page .login-button:hover {
    transform: translateY(-3px);
    filter: brightness(1.06);
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
  }

  #login-page .login-button:active {
    transform: translateY(1px);
  }

  /* 11. Informační panel */
  #login-page .login-intro {
    flex: 1;
    max-width: none;
    margin: 0 clamp(8px, 0.5vw, 12px) 0 0;
    text-align: justify;
    background-color: rgba(197, 186, 164, 0.7);
    padding: clamp(16px, 1.1vw, 28px) clamp(31px, 2vw, 50px);
    border-radius: var(--radius-rem-xl);
    box-shadow: none;
    border: 2px solid var(--color-black);
    font-family: "Comic Sans MS", cursive, sans-serif;
    display: flex;
    flex-direction: column;
  }

  #login-page .login-intro h3 {
    font-size: var(--fs-xl);
    margin: 0 0 0.7rem;
    line-height: 1.5;
    font-weight: 700;
    text-align: justify;
    color: var(--color-black);
    font-family: "Comic Sans MS", cursive, sans-serif;
  }

  #login-page .login-user-types {
    list-style: none;
    margin: var(--sp-1) 0;
    padding: 0;
    font-size: var(--fs-xl);
    text-align: left;
    color: var(--color-black);
    font-family: "Comic Sans MS", cursive, sans-serif;
  }

  #login-page .login-user-types li {
    margin-bottom: var(--sp-055);
    color: var(--color-black);
    padding-left: var(--sp-15);
    position: relative;
    font-size: var(--fs-lg-plus);
    font-family: "Comic Sans MS", cursive, sans-serif;
  }

  #login-page .login-user-types li strong {
    color: var(--color-black);
    font-weight: 700;
    font-size: var(--fs-lg-plus);
    font-family: "Comic Sans MS", cursive, sans-serif;
  }

  #login-page .login-user-types li::before {
    content: "•";
    position: absolute;
    left: 0;
    font-size: var(--fs-lg-plus);
    font-weight: 700;
    color: var(--color-black);
  }

  #login-page .login-intro p {
    margin: var(--sp-075) 0 0;
    font-size: var(--fs-lg-plus);
    font-style: italic;
    color: var(--color-black);
    font-family: "Comic Sans MS", cursive, sans-serif;
  }

  #login-page .login-guides-cta {
    font-style: normal !important;
    margin-top: var(--sp-1) !important;
    line-height: 1.45;
  }

  #login-page .login-guides-cta a,
  #login-page .mobile-login-guides-cta a,
  #login-page .mobile-login-guides-links a {
    color: #1565c0 !important;
    -webkit-text-fill-color: #1565c0;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  #login-page .login-guides-cta a:hover,
  #login-page .login-guides-cta a:focus-visible,
  #login-page .mobile-login-guides-cta a:hover,
  #login-page .mobile-login-guides-cta a:focus-visible,
  #login-page .mobile-login-guides-links a:hover,
  #login-page .mobile-login-guides-links a:focus-visible {
    color: #0d47a1 !important;
    -webkit-text-fill-color: #0d47a1;
  }

  #login-page .mobile-login-guides-cta {
    margin: 0;
    text-align: center;
    font-size: 0.95rem;
    line-height: 1.45;
    color: #000;
  }

  #login-page .mobile-login-guides-box .mobile-login-guides-cta {
    margin: 0;
    padding: 0;
  }

  #login-page .mobile-login-guides-title {
    margin: 0 0 0.45rem;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.25;
    color: #111;
  }

  #login-page .mobile-login-guides-links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.35rem 0.45rem;
  }

  #login-page .mobile-login-guides-or {
    font-size: 0.9rem;
    font-weight: 600;
    color: #333;
    line-height: 1.35;
  }

  #login-page .mobile-login-guides-links a {
    min-height: 0;
    display: inline;
    padding: 0.15rem 0.1rem;
    font-size: 0.9rem;
    line-height: 1.35;
    white-space: nowrap;
  }

  /* Tablet: CTA čitelná, touch target */
  @media (min-width: 769px) and (max-width: 1366px) {
    #login-page .login-guides-cta {
      font-size: clamp(0.95rem, 1.35vw, 1.1rem);
    }

    #login-page .login-guides-cta a,
    #login-page .mobile-login-guides-cta a {
      min-height: 44px;
      display: inline-flex;
      align-items: center;
    }
  }

  @media (max-width: 768px) {
    #login-page .mobile-login-guides-box {
      background: #e8e8e8 !important;
      margin-top: 1.35rem !important;
    }

    #login-page .mobile-login-pwa-install {
      display: block;
      background: transparent;
      border: none;
      box-shadow: none;
    }

    #login-page .mobile-login-pwa-install[hidden] {
      display: none !important;
    }

    #login-page .mobile-login-guides-cta {
      font-size: 1rem;
      padding: 0;
    }

    #login-page .mobile-login-guides-cta a {
      min-height: 0;
      display: inline;
      padding: 0.15rem 0.25rem;
    }

    #login-page .mobile-login-guides-links a {
      min-height: 0 !important;
      display: inline !important;
      padding: 0.15rem 0.1rem !important;
    }
  }

  /* 12. Obrázky uvnitř info boxu — stejná mezera nad i pod logy ve zbývajícím prostoru */
  #login-page .login-intro-images {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(46px, 3.2vw, 74px);
    margin-top: auto;
    margin-bottom: auto;
    padding-top: clamp(12px, 1vw, 20px);
    padding-bottom: clamp(12px, 1vw, 20px);
    flex-wrap: wrap;
  }

  #login-page .logo-login-inside {
    width: clamp(150px, 15vw, 250px);
    height: auto;
    object-fit: contain;
    border-radius: clamp(10px, 0.8vw, 15px);
    border: 2px solid var(--color-black);
    box-shadow: clamp(4px, 0.25vw, 6px) clamp(4px, 0.25vw, 6px) clamp(12px, 0.8vw, 20px) rgba(0, 0, 0, 0.4);
    background: var(--color-white);
    opacity: 0.95;
  }

  #login-page .logo-login-inside:first-child {
    margin-left: clamp(-54px, -2.8vw, -28px);
    transform: rotate(-1deg);
  }

  #login-page .logo-login-inside--wide,
  #login-page .logo-login-inside:last-child {
    width: clamp(272px, 27vw, 451px);
    margin-right: clamp(-68px, -3.5vw, -34px);
    transform: rotate(1deg);
  }

  /* 13. Patička */
  #login-page .hk-footer {
    display: block !important;
    width: 100%;
    margin-top: clamp(1rem, 1.8vw, 1.6rem);
    padding-bottom: 0.7rem;
    position: relative;
    z-index: 1;
  }

  #login-page .hk-footer__inner {
    max-width: 1280px;
    border-top-color: rgba(18, 20, 22, 0.18);
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(1px);
  }

  #login-page .hk-footer__links a {
    color: #1565c0 !important;
    -webkit-text-fill-color: #1565c0;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  #login-page .hk-footer__links a:hover,
  #login-page .hk-footer__links a:focus-visible {
    color: #0d47a1 !important;
    -webkit-text-fill-color: #0d47a1;
  }

  /* Tablet 769–1366: desktop DOM + Poppins; NESAHAT na mobil ≤768 ani desktop ≥1367 */
  @media (min-width: 769px) and (max-width: 1366px) {
    #login-page .page-wrapper {
      max-width: 100% !important;
      width: 100%;
      margin-left: 0 !important;
      margin-right: 0 !important;
      margin-top: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      padding-top: 0.25rem !important;
      /* Neroztahovat main — jinak vzniká prázdný pás a patička mizí pod fold (iOS 100vh) */
      flex: 0 0 auto !important;
      box-sizing: border-box;
    }

    body#login-page {
      min-height: 100dvh;
      min-height: -webkit-fill-available;
      justify-content: flex-start;
    }

    #login-page .login-page-shell,
    #login-page .login-main-row {
      width: 100%;
      max-width: 100%;
    }

    #login-page h1.login-page-title {
      /* +5 % oproti předchozímu tabletovému H1 */
      font-size: var(--font-size-h1) !important;
      font-family: var(--font-tablet) !important;
      font-style: normal !important;
      font-weight: 600 !important;
      white-space: nowrap;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      margin-top: clamp(12px, 1.2vw, 22px);
      /* Víc vzduchu mezi H1 a panely (oranžový + šedý) */
      margin-bottom: clamp(48px, 4.2vw, 72px);
    }

    /* Mezera mezi oranžovým a šedým panelem — polovina desktopové */
    #login-page .login-main-row {
      gap: clamp(26px, 1.9vw, 38px) !important;
      column-gap: clamp(26px, 1.9vw, 38px) !important;
      margin-top: clamp(8px, 0.8vw, 16px);
    }

    #login-page .login-container {
      margin-left: 0;
      padding: var(--sp-02) 1.35rem var(--sp-03);
    }

    #login-page .login-form {
      gap: var(--sp-035);
    }

    #login-page .login-form-container {
      margin-top: var(--sp-035);
      padding: var(--sp-025);
    }

    #login-page .login-button {
      margin-top: var(--sp-05);
      min-height: 3.25rem;
      padding: 0.65rem var(--sp-1);
      font-size: var(--fs-xl);
    }

    #login-page .login-form label,
    #login-page .login-form input[type="text"],
    #login-page .login-form input[type="password"],
    #login-page .login-form select,
    #login-page .login-button,
    #login-page .login-intro,
    #login-page .login-intro h3,
    #login-page .login-intro p,
    #login-page .login-user-types,
    #login-page .login-user-types li,
    #login-page .login-user-types li strong {
      font-family: var(--font-tablet) !important;
    }

    /* Stejná výška všech polí jako na desktopu; Safari jinak kreslí selecty různě */
    #login-page .login-form input[type="text"],
    #login-page .login-form input[type="password"],
    #login-page .login-form select {
      box-sizing: border-box !important;
      height: 3.25rem !important;
      min-height: 3.25rem !important;
      max-height: 3.25rem !important;
      padding: 0.65rem 1rem !important;
      font-size: 1rem !important;
      font-weight: 600 !important;
      line-height: 1.25 !important;
    }

    #login-page .login-form select {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 0.85rem center;
      background-color: rgba(255, 255, 255, 0.96);
      padding-right: 2.25rem !important;
    }

    #login-page .login-form-panel {
      flex: 0 0 auto;
      flex-basis: auto;
    }

    #login-page .login-intro {
      margin-right: 0;
      min-width: 0;
      max-width: none;
      flex: 1 1 auto;
      padding: clamp(10px, 0.9vw, 16px) clamp(18px, 1.6vw, 28px);
    }

    #login-page .login-intro-images {
      gap: clamp(24px, 2.2vw, 40px);
      padding-top: clamp(8px, 0.8vw, 14px);
      padding-bottom: clamp(8px, 0.8vw, 14px);
    }

    /* Negativní marginy obrázků nesmí sežrat mezeru mezi panely; menší loga kvůli patičce */
    #login-page .logo-login-inside {
      width: clamp(120px, 12vw, 180px);
    }

    #login-page .logo-login-inside:last-child,
    #login-page .logo-login-inside--wide {
      width: clamp(180px, 22vw, 280px);
      margin-right: 0;
    }

    #login-page .logo-login-inside:first-child {
      margin-left: 0;
    }

    #login-page .hk-footer {
      /* Dvojnásobek desktopového rytmu nad patičkou */
      margin-top: clamp(2rem, 3.6vw, 3.2rem) !important;
      padding: clamp(2.5rem, 3.2vw, 3.5rem) 12px 0.7rem !important;
    }
  }

  @media (max-width: 900px) {
    #login-page .login-main-row {
      flex-direction: column !important;
      align-items: center !important;
    }

    #login-page .login-form-panel {
      flex-basis: auto;
      width: min(470px, 100%);
    }

    #login-page .login-intro {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      margin-right: 0;
    }
  }

  @media (max-width: 768px) {
    #login-page .modal:not(#hkMobileExplainModal),
    #login-page .skip-to-content,
    #login-page .portrait-warning-overlay,
    #login-page .landscape-warning-overlay {
      display: none !important;
    }

    #login-page .page-wrapper {
      padding: var(--sp-1) 0 0;
    }

    #login-page {
      background: transparent;
    }

    #login-page h1.login-page-title {
      display: none !important;
    }

    #login-page .login-info-box {
      display: none !important;
    }

    #login-page .login-main-row {
      display: block !important;
      gap: var(--sp-15);
    }

    #login-page .login-intro {
      display: none !important;
    }

    /* Skryjeme desktopový login kontejner na mobilech —
       mobilní login JS vytvoří .mobile-login-interface.
       Bez tohoto pravidla by při pádu JS zůstal oranžový obdélník. */
    #login-page .login-container {
      display: none !important;
    }

    #login-page .login-form-container,
    #login-page [data-login-layout] {
      display: none !important;
    }

    #login-page .mobile-login-interface {
      display: block !important;
    }

    #login-page.mobile-login-mode .mobile-login-interface .login-container,
    #login-page.mobile-login-mode .mobile-login-interface .login-form-container {
      display: block !important;
    }

    #login-page .hk-footer__logo {
      object-fit: contain;
    }

    #login-page .mobile-login-interface input,
    #login-page .mobile-login-interface select {
      min-height: 44px;
      font-size: max(16px, 1rem);
    }

    /* Footer styl pro mobile je nyní globální v layout.css */
  }

  /*
    Velká obrazovka ≥1600: větší username/heslo (font family řeší unlayered blok níže).
    Notebook 1367–1599 FREEZE.
  */
  @media (min-width: 1600px) {
    #login-page .login-form input[type="text"],
    #login-page .login-form input[type="password"] {
      font-size: clamp(1.2rem, 1vw, 1.45rem) !important;
      font-weight: 700 !important;
      line-height: 1.3 !important;
      color: rgb(27, 7, 139);
    }

    #login-page .login-form input[type="text"]:-webkit-autofill,
    #login-page .login-form input[type="text"]:-webkit-autofill:hover,
    #login-page .login-form input[type="text"]:-webkit-autofill:focus,
    #login-page .login-form input[type="password"]:-webkit-autofill,
    #login-page .login-form input[type="password"]:-webkit-autofill:hover,
    #login-page .login-form input[type="password"]:-webkit-autofill:focus {
      font-family: "Comic Sans MS", "Comic Sans", cursive, sans-serif !important;
      font-size: clamp(1.2rem, 1vw, 1.45rem) !important;
      font-weight: 700 !important;
      -webkit-text-fill-color: rgb(27, 7, 139);
    }
  }
}

/*
  Login Comic Sans — UNLAYERED (přebije @layer mobile Poppins !important).
  Platí od ≥1367 (notebook + velký monitor), i když na body zůstane
  sticky `mobile-base-mode` po přepnutí z mobilního loginu.
  Mobil ≤768 a tablet 769–1366 FREEZE — tam zůstává Poppins.
*/
@media (min-width: 1367px) {
  body#login-page,
  body#login-page.mobile-base-mode,
  body#login-page.mobile-login-mode,
  body#login-page :where(
    *:not(i):not(.material-icons):not(.material-symbols-outlined):not(.material-symbols-rounded)
  ),
  body#login-page.mobile-base-mode :where(
    *:not(i):not(.material-icons):not(.material-symbols-outlined):not(.material-symbols-rounded)
  ),
  body#login-page.mobile-login-mode :where(
    *:not(i):not(.material-icons):not(.material-symbols-outlined):not(.material-symbols-rounded)
  ) {
    font-family: "Comic Sans MS", "Comic Sans", cursive, sans-serif !important;
  }

  body#login-page h1.login-page-title {
    font-style: italic !important;
  }
}

/*
  Login mobil: select = input — decentní černé 2px.
  @layer hk-desktop-narrow — u !important přebije @layer mobile
  `responsive-mobile` (#cfcfcf na selectech). Unlayered !important by prohrálo.
  ≤768 ODSOUHLASENÁ VÝJIMKA; tablet/desktop freeze beze změny.
*/
@layer hk-desktop-narrow {
  @media (max-width: 768px) {
    body#login-page:is(.mobile-base-mode, .mobile-login-mode, .mobile-interface) :is(
      .mobile-form-select,
      .mobile-form-input,
      select.mobile-form-select,
      input.mobile-form-input,
      .mobile-login-interface select,
      .mobile-login-interface input
    ) {
      border: 2px solid #000 !important;
    }

    body#login-page:is(.mobile-base-mode, .mobile-login-mode, .mobile-interface) :is(
      .mobile-form-select:focus,
      .mobile-form-input:focus,
      .mobile-login-interface select:focus,
      .mobile-login-interface input:focus
    ) {
      border-color: var(--color-brand-orange, #ff8c00) !important;
    }
  }
}