/* ============= VIEWPORT OPTIMIZATION ============= */
/* Ottimizzazione per far stare tutto lo step 1 nello schermo visibile */

/* Riduzione padding container principale */
.app-container {
    padding: 1rem 2rem !important;
}

/* Ottimizzazione header */
.app-header {
    margin-bottom: 1.5rem !important;
}

.logo {
    margin-bottom: 0.5rem !important;
}

.logo-icon {
    width: 40px !important;
    height: 40px !important;
    font-size: 20px !important;
}

.logo-text {
    font-size: 1.5rem !important;
}

.tagline {
    font-size: 0.95rem !important;
}

/* Ottimizzazione breadcrumb */
.breadcrumb-nav {
    margin-bottom: 1rem !important;
    padding: 0.5rem 0 !important;
}

/* Ottimizzazione wizard container */
.wizard-container {
    margin-bottom: 1rem !important;
}

/* Riduzione padding wizard progress */
.wizard-progress {
    padding: 1rem 1.5rem 0.75rem !important;
}

.step-number {
    width: 32px !important;
    height: 32px !important;
    font-size: 0.875rem !important;
    margin-bottom: 0.25rem !important;
}

.step-title {
    font-size: 0.75rem !important;
}

.progress-step::before {
    top: 16px !important;
}

/* Riduzione padding wizard content */
.wizard-content {
    padding: 1.5rem 2rem !important;
    min-height: auto !important;
}

/* Ottimizzazione step header */
.step-header {
    margin-bottom: 1.25rem !important;
}

.step-header h2 {
    font-size: 1.35rem !important;
    margin-bottom: 0.25rem !important;
}

.step-header p {
    font-size: 0.875rem !important;
}

/* Riduzione spacing form elements */
.form-group {
    margin-bottom: 1rem !important;
}

.form-label {
    margin-bottom: 0.35rem !important;
    font-size: 0.8rem !important;
}

.form-control,
.form-select {
    padding: 0.65rem 0.875rem !important;
    font-size: 0.9rem !important;
}

.input-group .form-control {
    padding-left: 2.5rem !important;
}

.input-icon {
    left: 0.875rem !important;
    font-size: 0.875rem !important;
}

/* Ottimizzazione radio cards */
.radio-cards {
    gap: 0.75rem !important;
}

.radio-card {
    padding: 0.75rem !important;
}

.radio-card-icon {
    font-size: 1.25rem !important;
    margin-bottom: 0.25rem !important;
}

.radio-card-title {
    font-size: 0.875rem !important;
}

/* Ottimizzazione toggle group */
.toggle-group {
    padding: 0.75rem !important;
    gap: 0.75rem !important;
}

.toggle-label {
    font-size: 0.875rem !important;
}

.toggle-description {
    font-size: 0.75rem !important;
}

/* Riduzione spacing row */
.wizard-step .row {
    gap: 0.75rem !important;
    margin-bottom: 0.5rem !important;
}

/* Ottimizzazione wizard actions */
.wizard-actions {
    padding: 1rem 2rem !important;
    gap: 1rem !important;
}

.wizard-info {
    font-size: 0.875rem !important;
}

/* Ottimizzazione footer */
.app-footer {
    margin-top: 1rem !important;
    padding: 1rem 0 !important;
}

.footer-content p {
    font-size: 0.8rem !important;
    margin: 0 !important;
}

/* Ottimizzazione tooltip icons */
.tooltip-icon {
    font-size: 0.875rem !important;
    width: 18px !important;
    height: 18px !important;
}

/* Media query per schermi più piccoli */
@media (max-height: 800px) {
    .app-container {
        padding: 0.75rem 1.5rem !important;
    }

    .wizard-content {
        padding: 1.25rem 1.5rem !important;
    }

    .step-header {
        margin-bottom: 1rem !important;
    }

    .step-header h2 {
        font-size: 1.25rem !important;
    }
}

/* Per schermi molto bassi */
@media (max-height: 700px) {
    .app-header {
        margin-bottom: 1rem !important;
    }

    .logo-text {
        font-size: 1.25rem !important;
    }

    .tagline {
        display: none !important;
    }

    .wizard-progress {
        padding: 0.75rem 1rem 0.5rem !important;
    }

    .wizard-content {
        padding: 1rem 1.5rem !important;
    }

    .form-group {
        margin-bottom: 0.75rem !important;
    }
}