/* Private Site Login Styles - Full Height RWD */
* {
    box-sizing: border-box;
}

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.psl-logged-in-message {
    padding: 1rem;
    background: #d4edda;
    color: #155724;
    border-radius: 0.5rem;
    text-align: center;
    margin: 1rem 0;
}

/* Główne style dla pełnego ekranu */
body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 1rem;
}

/* Kontener formularza */
.max-w-md {
    max-width: 28rem;
    width: 100%;
}

/* Responsywność dla bardzo małych urządzeń */
@media (max-width: 360px) {
    .p-8 {
        padding: 1.5rem;
    }

    .text-2xl {
        font-size: 1.5rem;
    }
}

/* Poprawki dla średnich ekranów */
@media (min-width: 768px) {
    .max-w-md {
        margin: 0 auto;
    }
}

/* Animacje i przejścia */
#loginform {
    margin: 0;
}

#user_login, #user_pass {
    transition: all 0.3s ease;
    font-size: 16px; /* Zapobiega zoomowaniu na iOS */
}

#user_login:focus, #user_pass:focus {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    transform: translateY(-1px);
}

button[type="submit"] {
    transition: all 0.3s ease;
}

button[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2);
}

/* Poprawki dla wysokich ekranów */
@media (min-height: 800px) {
    body {
        padding: 2rem;
    }
}

/* Poprawki dla bardzo wysokich ekranów */
@media (min-height: 1000px) {
    .max-w-md {
        margin: 4rem auto;
    }
}

/* Poprawki dla ciemnego motywu */
@media (prefers-color-scheme: dark) {
    .bg-white {
        background-color: rgba(31, 41, 55, 0.95) !important;
    }

    .text-gray-900 {
        color: #f9fafb !important;
    }

    .text-gray-600, .text-gray-700 {
        color: #d1d5db !important;
    }

    .border-gray-300 {
        border-color: #4b5563 !important;
    }

    .text-gray-400 {
        color: #9ca3af !important;
    }
}

/* Zapobieganie scrollowaniu na iOS */
body {
    position: fixed;
    width: 100%;
    height: 100%;
    -webkit-overflow-scrolling: touch;
}

/* Poprawki dla Safari */
@supports (-webkit-touch-callout: none) {
    body {
        height: -webkit-fill-available;
    }
}

/* Ukrycie scrollbara dla wszystkich przeglądarek */
body::-webkit-scrollbar {
    display: none;
}

body {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Efekt glassmorphism dla nowoczesnych przeglądarek */
.backdrop-blur-sm {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Poprawki dla przeglądarek bez wsparcia backdrop-filter */
@supports not (backdrop-filter: blur(8px)) {
    .backdrop-blur-sm {
        background: rgba(255, 255, 255, 0.98) !important;
    }

    @media (prefers-color-scheme: dark) {
        .backdrop-blur-sm {
            background: rgba(31, 41, 55, 0.98) !important;
        }
    }
}