/* style.css */
:root {
    --primary-color: #0b3954;
    --secondary-color: #e8ecef;
    --accent-color: #d67a1c;
    --text-color: #333333;
    --white: #ffffff;
    --font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--font-family); color: var(--text-color); line-height: 1.6; background: var(--white); }

/* Header e Logo PQF */
header { background-color: var(--primary-color); padding: 1rem 5%; display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 1000; }
.logo-container { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--white); }
.logo-pqf { font-size: 2.2rem; font-weight: 900; color: var(--accent-color); letter-spacing: 2px; line-height: 1; }
.logo-text { font-size: 0.9rem; font-weight: bold; line-height: 1.1; display: flex; flex-direction: column; }

/* Navigazione */
nav ul { list-style: none; display: flex; gap: 20px; }
nav a { color: var(--white); text-decoration: none; font-weight: 500; transition: color 0.3s; text-transform: uppercase; font-size: 0.9rem; }
nav a:hover, nav a.active { color: var(--accent-color); }

/* Hero Section */
.hero { background: linear-gradient(rgba(11, 57, 84, 0.85), rgba(11, 57, 84, 0.85)), url('home.jpg') center/cover; padding: 6rem 5%; text-align: center; color: var(--white); border-bottom: 5px solid var(--accent-color); }
.hero h1 { font-size: 2.8rem; margin-bottom: 10px; }
.hero h2 { font-size: 1.5rem; font-weight: 400; margin-bottom: 20px; color: var(--secondary-color); }
.hero .slogan { font-size: 1.2rem; font-style: italic; margin-bottom: 30px; color: var(--accent-color); }

.btn { display: inline-block; background-color: var(--accent-color); color: var(--white); padding: 12px 30px; text-decoration: none; border-radius: 5px; font-weight: bold; transition: background 0.3s; }
.btn:hover { background-color: #b96512; }

/* Layout generale */
.container { padding: 4rem 5%; max-width: 1200px; margin: 0 auto; }
.section-title { text-align: center; font-size: 2.2rem; color: var(--primary-color); margin-bottom: 3rem; text-transform: uppercase; }

/* Griglie */
.grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }

/* Card e Servizi */
.card { background: var(--secondary-color); padding: 30px; border-radius: 8px; border-top: 4px solid var(--accent-color); text-align: center; }
.card h4 { color: var(--primary-color); margin-bottom: 15px; font-size: 1.3rem; }
.service-box { margin-bottom: 40px; background: var(--secondary-color); padding: 30px; border-left: 5px solid var(--primary-color); border-radius: 0 8px 8px 0; }
.service-box h3 { color: var(--primary-color); margin-bottom: 15px; }

/* Liste */
ul.custom-list { list-style: none; padding-left: 0; }
ul.custom-list li { position: relative; padding-left: 25px; margin-bottom: 10px; }
ul.custom-list li::before { content: '✓'; position: absolute; left: 0; color: var(--accent-color); font-weight: bold; }

/* Banner Accreditamento (Solo testo) */
.text-banner { background-color: var(--primary-color); color: var(--white); text-align: center; padding: 2rem 5%; font-weight: bold; font-size: 1.2rem; }

/* Footer */
footer { background-color: #1a1a1a; color: #ddd; padding: 3rem 5%; text-align: center; }
footer a { color: var(--accent-color); text-decoration: none; }
@media (max-width: 768px) { nav ul { flex-direction: column; text-align: center; } .grid-2 { grid-template-columns: 1fr; } }