body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh; /* A teljes képernyő magasságára állítjuk */
}

.main-content {
    display: flex;
    justify-content: center;
    align-items: center;
}

.login_reg-container {
    /* background-color: #222; */
    background-color: rgb(31, 41, 55);
    padding: 40px;
    border-radius: 8px;
    border: 1px solid #333;
    width: 100%;
    max-width: 400px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.login_reg-form h1 {
    margin-bottom: 40px;
    color: #1e90ff;
    text-align: center;
}

.login_reg-form h4 { text-align: center; }

/* Megnézni hogy a extra-links hova kell */
.extra-links {
    margin-top: 20px;
    text-align: center;
}

.extra-links p {
    margin: 10px 0;
}

.extra-links a {
    color: #1e90ff;
    text-decoration: none;
    font-size: 14px;
}

.extra-links a:hover {
    text-decoration: underline;
}

.kot {
    color: #F44336;
}

.p_error {
    padding: 0;
    margin-left: 5px;
    list-style: none;
    color: #f44336;
}

.error-message {
    color: #F44336;
    background-color: #fdd;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    margin-bottom: 15px;
}

small.hint.info { 
    display: block;
    color: #fff;
}

small.hint.info ul {
    margin-top: 5px;
    margin-bottom: 0;
    padding-left: 15px;
}

.form-group input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.form-group .checkmark {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: #333;
    border-radius: 4px;
    border: 2px solid #444;
    vertical-align: middle;
    margin-right: 10px;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.form-group input[type="checkbox"]:checked + .checkmark {
    background-color: #1e90ff;
    border-color: #1e90ff;
}

.form-group .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.form-group input[type="checkbox"]:checked + .checkmark:after {
    display: block;
}

.form-group .checkmark:after {
    left: 7px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

p {
    text-align: center;
    color: #fff;
    margin-top: 20px;
}

p a, .form-group .terms-label a {
    color: #1e90ff;
    text-decoration: none;
}

p a:hover, .form-group .terms-label a:hover {
    text-decoration: underline;
}

/* Invalid állapot - piros border és háttér */
.form-group input[type="checkbox"]:not(:checked).invalid + .checkmark {
    background-color: #f44336;
    border-color: #f44336;
}
.terms-label.invalid, .terms-label.invalid a {
    color: #f44336;
}
.terms-label.invalid a { text-decoration: underline; }

.bottom-margin-off {
    margin-bottom: 0;
}

button[type="submit"], button {
    width: 100%;
    padding: 12px;
    margin-top: 20px;
    background-color: #007bff;
    border: none;
    border-radius: 4px;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

button[type="submit"]:hover {
    background-color: #0056b3;
}

@media (max-width: 480px) {
    .login_reg-container { width: 80%; }
}