* { box-sizing: border-box; }
body { font-family: Arial, Helvetica, sans-serif; background: #f7f9fc; color: #222; margin:0; }
.container { width: 92%; max-width: 1100px; margin: 0 auto; }
.site-header { background:#0b3a75; color:#fff; padding:14px 0; }
.site-header .logo a { color:#fff; text-decoration:none; }
.nav a { color:#dfefff; margin-right:12px; text-decoration:none; }
.nav a:hover { text-decoration:underline; }
.site-footer { background:#0b3a75; color:#fff; padding:14px 0; margin-top:40px; }

main.container { padding: 22px 0; }
.intro { background:#fff; padding:18px; border:1px solid #e6eef7; border-radius:10px; margin-bottom:20px; }
.categorie { background:#fff; padding:18px; border:1px solid #e6eef7; border-radius:10px; }
.categorie ul { list-style:none; padding:0; display:grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap:10px; }
.categorie li a { display:block; background:#f0f6ff; border:1px solid #d5e6fb; padding:10px 12px; border-radius:8px; text-decoration:none; color:#0b3a75; }
.categorie li a:hover { background:#e7f0ff; }

.card { background:#fff; border:1px solid #e6eef7; border-radius:10px; padding:16px; margin-bottom:12px; }
.card h3 { margin-top:0; }

form label { font-weight:600; display:block; margin-top:10px; }
form input, form textarea, form select { width:100%; max-width:560px; padding:10px; border:1px solid #cfe0f5; border-radius:8px; margin-top:6px; }
button { background:#0b3a75; color:#fff; border:none; padding:10px 16px; border-radius:8px; margin-top:14px; cursor:pointer; }
button:hover { background:#0d4d9a; }
.ok { background:#e8ffe8; border:1px solid #9fd19f; padding:10px; border-radius:8px; }
.warn { background:#fff6e5; border:1px solid #f0d08a; padding:10px; border-radius:8px; }
.small { color:#555; font-size: 14px; }
