/* Form stili — Lavora con noi
   Layout e variabili vengono da eazym-legal.css */

.policy-form { margin-top: 2rem; }

.policy-form-row { margin-bottom: 1.25rem; }

.policy-form-row label {
    display: block;
    font-family: var(--font-body);
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--text-main);
    margin-bottom: 0.5rem;
}

.policy-form-row input,
.policy-form-row textarea {
    width: 100%;
    padding: 12px 16px;
    font-family: var(--font-body);
    font-size: 1rem;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-inner);
    background: var(--bg-main);
    color: var(--text-main);
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.policy-form-row input:focus,
.policy-form-row textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--color-accent-muted);
}

.policy-form-row textarea {
    resize: vertical;
    min-height: 120px;
}

/* Upload CV: vedi /static/shared/dropzone.css (.dz) */

/* Submit */
.policy-form-actions { margin-top: 1.5rem; }

.policy-form-btn {
    padding: 12px 28px;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    color: #1C1917;
    background: var(--primary);
    border: none;
    border-radius: var(--radius-inner);
    cursor: pointer;
    transition: opacity 0.2s, transform 0.1s;
}
.policy-form-btn:hover:not(:disabled) { opacity: 0.88; }
.policy-form-btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* Avvisi come flag (toast), non più testo sotto al form: coerente con l'admin.
   Componente autonomo (il sito pubblico non ha il toast dell'area riservata). */
/* Desktop: in basso a destra come i toast dell'admin; mobile: centrato in basso. */
.eazym-flag {
    position: fixed;
    right: max(20px, env(safe-area-inset-right, 0px));
    bottom: max(20px, env(safe-area-inset-bottom, 0px));
    transform: translateY(12px);
    z-index: 10000;
    box-sizing: border-box;
    max-width: 420px;
    padding: 13px 16px;
    border-radius: var(--radius-inner, 12px);
    background: var(--bg-main, #fff);
    color: var(--text-main, #1a1a1a);
    border: 1px solid var(--border-color, rgba(0, 0, 0, 0.12));
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    font-family: var(--font-body);
    font-size: 0.92rem;
    line-height: 1.45;
    opacity: 0;
    pointer-events: none;
    transition: transform 0.25s ease, opacity 0.25s ease;
}
.eazym-flag.is-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.eazym-flag--success { border-left: 4px solid #16a34a; }
.eazym-flag--error { border-left: 4px solid #dc2626; }

@media (max-width: 600px) {
    .eazym-flag {
        right: auto;
        left: 50%;
        width: calc(100vw - 32px);
        max-width: 440px;
        transform: translateX(-50%) translateY(12px);
    }
    .eazym-flag.is-visible {
        transform: translateX(-50%) translateY(0);
    }
}
