/* Palette Alto Adige: verdi bosco, pietra, ambra – fallback sicuro */
:root {
    --bg-page: #fafaf9;
    --bg-header: #fdfbf7;
    --bg-footer: #065f46;
    --text-footer: #ecfdf5;
    --accent-green: #047857;
    --accent-green-dark: #064e3b;
    --accent-amber: #d97706;
}

body { background-color: var(--bg-page) !important; }
header { background-color: var(--bg-header) !important; }
footer { background-color: var(--bg-footer) !important; color: var(--text-footer) !important; }
footer p { color: var(--text-footer) !important; }

/* Accessibilità: focus ring coerente anche su link senza classi Tailwind */
:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 2px solid var(--accent-amber);
    outline-offset: 3px;
}

@media (max-width: 768px) {
    #nav-menu { background-color: var(--bg-header) !important; }
}

.form-message.success { background: rgb(240 253 244); color: rgb(22 101 52); border: 1px solid rgb(187 247 208); }
.form-message.error { background: rgb(254 242 242); color: rgb(153 27 27); border: 1px solid rgb(254 202 202); }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Utility: multiline clamp senza Tailwind plugin */
.clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
