/* iaitalia.app-main/static/css/auth_pages.css */

/* Stili generali per le pagine di autenticazione */
.auth-page-body, .auth-page-body .page-wrapper, .auth-page-body .main-content-wrapper, .auth-page-body #main-content, .auth-page-body .content-container {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow-y: auto; /* Permette lo scroll se necessario */
}
.auth-page-body .main-header, .auth-page-body .main-footer {
    display: none;
}
.auth-wrapper {
    display: flex;
    width: 100%;
    min-height: 100vh;
    background-color: #fff;
}

/* Pannello Sinistro (Promo) */
.auth-promo-panel {
    flex: 1;
    background: linear-gradient(135deg, #001f3f, var(--primary-color));
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 4rem;
    position: relative;
    overflow: hidden;
}
.promo-logo { width: 150px; margin-bottom: 3rem; }
.promo-heading { font-size: 2.5rem; font-weight: 600; margin-bottom: 1rem; line-height: 1.2; }
.promo-subheading { font-size: 1.2rem; opacity: 0.8; margin-bottom: 3rem; }
.promo-features { list-style: none; padding: 0; }
.promo-features li { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; font-size: 1rem; }
.promo-features i { font-size: 1.2rem; width: 24px; text-align: center; opacity: 0.7; }
.promo-footer { font-size: 0.8rem; opacity: 0.6; }

/* Pannello Destro (Form) */
.auth-form-panel {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background-color: var(--background-color);
    overflow-y: auto;
}
.auth-box-wrapper { width: 100%; max-width: 450px; }
.auth-header { text-align: center; margin-bottom: 2rem; }
.auth-header h2 { font-size: 1.8rem; color: var(--text-color); }
.auth-header p { color: var(--text-secondary); }

/* Stili per il Form (validi per login e iscrizione) */
.form-group { margin-bottom: 1.25rem; } /* Ridotto leggermente */
.form-group label { display: block; font-weight: 500; color: var(--text-secondary); margin-bottom: 0.5rem; }
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="password"] {
    width: 100%;
    padding: 0.8rem 1rem;
    border: 1px solid #ced4da;
    border-radius: var(--border-radius-sm, 4px);
    font-size: 1rem;
}
.form-group .form-check { display: flex; align-items: center; gap: 0.5rem; }
.form-group .form-check label { margin-bottom: 0; }
.invalid-feedback { color: #dc3545; font-size: 0.875em; margin-top: 0.25rem; }

.btn-submit-auth {
    width: 100%;
    padding: 1rem;
    background-color: var(--primary-color);
    color: #fff;
    border: none;
    border-radius: var(--border-radius-sm, 4px);
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-top: 1rem;
}
.btn-submit-auth:hover { background-color: #003c7a; }

.auth-footer-links { text-align: center; margin-top: 2rem; }
.support-link { color: var(--text-secondary); text-decoration: none; font-size: 0.9rem; display: inline-flex; align-items: center; gap: 0.5rem; }

/* Responsività */
@media (max-width: 992px) {
    .auth-wrapper { flex-direction: column; }
    .auth-promo-panel { flex: 0; padding: 2rem; text-align: center; }
    .promo-heading { font-size: 1.8rem; }
    .promo-subheading { display: none; } /* Nascosto su mobile per brevità */
    .promo-features { display: none; }
    .auth-form-panel { padding: 2rem 1rem; }
}

/* --- INIZIO: AGGIUNGI QUESTI STILI PER LE PAGINE DI NOTIFICA di verifica-email-inviata --- */

/* Wrapper generico per centrare le "card" di notifica */
.notification-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100vh;
    padding: 2rem 1rem;
    background-color: #f4f7f9;
}

/* Stile della "card" di notifica */
.notification-box {
    background-color: #FFFFFF;
    padding: 3rem 2.5rem;
    border-radius: 1rem;
    box-shadow: 0 8px 30px -10px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 600px;
    text-align: center;
}

.notification-box .icon {
    font-size: 3.5rem;
    margin-bottom: 1.5rem;
}

/* Colori specifici per tipo di notifica */
.notification-box .icon-info { color: var(--primary-color, #004f9f); }
.notification-box .icon-success { color: var(--success-color, #28a745); }
.notification-box .icon-warning { color: var(--warning-color, #ffc107); }
.notification-box .icon-error { color: var(--danger-color, #dc3545); }

.notification-box h2 {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--text-color, #2c3e50);
    margin-bottom: 1rem;
}

.notification-box p {
    font-size: 1rem;
    color: var(--text-secondary, #566573);
    margin-bottom: 1rem;
    line-height: 1.7;
}

.notification-box .sub-text {
    font-size: 0.9rem;
    color: var(--text-secondary, #7f8c8d);
    margin-top: 1.5rem;
}

.notification-box .back-link {
    display: inline-block;
    margin-top: 2rem;
    font-size: 0.9rem;
    color: var(--text-secondary, #7f8c8d);
    text-decoration: none;
}
.notification-box .back-link:hover {
    color: var(--primary-color, #004f9f);
}
/* --- FINE: AGGIUNGI QUESTI STILI --- */

/* BOT */
/* Selettore robusto per nascondere il div che contiene il campo honeypot */
.form-group:has(input[name="contact_method"]) {
    display: none !important;
}