html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

@media (max-width: 991.98px) {
    input[type="text"],
    input[type="number"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    input[type="search"],
    select,
    textarea {
        font-size: 16px !important;
    }
}

    /* ==========================================================================
   ROZŠÍŘENÍ PRO STRÁNKU S NÁVODEM (Aktivuje se přes ViewData)
   ========================================================================== */
    body.app-fixed-viewport {
        height: 100% !important;
        height: 100dvh !important;
        overflow: hidden !important;
        display: flex;
        flex-direction: column;
        margin-bottom: 0 !important; /* Resetuje výchozí margin šablony, který rozbíjel patičku */
    }

        body.app-fixed-viewport header {
            flex-shrink: 0;
        }

        body.app-fixed-viewport .app-main-content {
            flex: 1;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
            scroll-behavior: smooth;
        }

        body.app-fixed-viewport footer {
            flex-shrink: 0;
            position: relative !important;
            margin-top: auto; /* Tlačí patičku vždy na úplné dno kontejneru */
            clear: both;
        }