/* Contratti.Verifica — stile base.
   In Fase UX questo file viene popolato con la palette Fidoka
   (header #30642e, primary #63995f) e gli stili dello stepper wizard.
   Per ora sovrascrive solo il primary di Bootstrap per coerenza visiva. */

:root {
    --essential-primary: #30642e;
    --essential-primary-hover: #1f4220;
    --essential-accent: #63995f;
}

.btn-primary {
    background-color: var(--essential-primary);
    border-color: var(--essential-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--essential-primary-hover);
    border-color: var(--essential-primary-hover);
}

.navbar-brand strong {
    color: var(--essential-primary);
}

.footer {
    background-color: #fafafa;
}

/* Stepper wizard - definito in Fase UX. */

/* ---- Wizard loading overlay ----
   Mostrato al submit di form lenti (Step 1 chiama Copertura.Api con timeout
   30s; Step 6 genera + archivia + invia PDF; Step 7 chiama EU-SES). Vedi
   js/wizard-loading.js. */
.wizard-loading-overlay {
    position: fixed;
    inset: 0;
    background: rgba(255, 255, 255, 0.85);
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 150ms ease-out;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.wizard-loading-overlay.is-visible {
    opacity: 1;
}

.wizard-loading-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 0.75rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    padding: 1.75rem 2.25rem;
    max-width: 420px;
    text-align: center;
}

.wizard-loading-card .spinner-border {
    width: 3rem;
    height: 3rem;
    color: var(--essential-primary) !important;
}

.wizard-loading-message {
    font-size: 1.05rem;
    font-weight: 500;
    color: #333;
}

.wizard-loading-hint {
    font-size: 0.85rem;
}

/* ---- Enfasi messaggi di errore di validazione ----
   Bootstrap class .text-danger e' di default un colore rosso piccolo,
   poco visibile soprattutto quando l'errore e' a meta' pagina. Qui
   diamo: dimensione leggermente maggiore, peso semibold, icona ⚠
   prefissa, padding sinistro per stacco visivo. La classe
   .field-validation-error e' quella che ASP.NET Core inietta su
   <span asp-validation-for> quando il campo e' invalido. */
.text-danger.small,
.field-validation-error {
    color: #b02a37 !important;
    font-size: 0.875rem !important;
    font-weight: 500;
    line-height: 1.4;
    display: inline-block;
    margin-top: 0.25rem;
}

.text-danger.small:not(:empty)::before,
.field-validation-error:not(:empty)::before {
    content: "⚠ ";
    font-weight: 700;
    margin-right: 0.15rem;
}

/* Bordo rosso e shadow leggero ai campi con .input-validation-error
   (classe inserita da ASP.NET Core agli <input>/<select> invalidi). */
.input-validation-error,
.input-validation-error:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.15rem rgba(220, 53, 69, 0.15) !important;
}

/* Validation summary (lista errori a inizio form): piu' visibile. */
.alert.validation-summary-errors,
.alert .field-validation-error {
    font-weight: 500;
}

/* Highlight temporaneo sul campo a cui scrolliamo dopo un errore. */
@keyframes wizard-error-flash {
    0%   { background-color: rgba(220, 53, 69, 0.18); }
    100% { background-color: transparent; }
}
.wizard-error-flash {
    animation: wizard-error-flash 1.6s ease-out 1;
}

/* ---- Feedback client-side CF / IBAN ----
   Bordo verde/rosso applicato dal JS wizard-cf-iban-validation.js.
   Il messaggio testuale e' un <div class="client-validation-feedback">
   inserito subito sotto al campo. */
.form-control.client-valid {
    border-color: #198754 !important;
    box-shadow: 0 0 0 0.15rem rgba(25, 135, 84, 0.15) !important;
}

.form-control.client-invalid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.15rem rgba(220, 53, 69, 0.15) !important;
}

.client-validation-feedback {
    display: block;
    font-size: 0.875rem;
    line-height: 1.4;
    font-weight: 500;
}

/* Disabilita il prefisso "⚠ " globale di .text-danger.small per il
   feedback client-side: il prefisso (✓ / ⚠) e' gia' nel testo iniettato
   dal JS, evitando il raddoppio. */
.client-validation-feedback.text-danger::before {
    content: none !important;
}
