
:root {
  --brand: #D32F2F;
  --dark: #1a1a1a;
  --light: #ffffff;
  --text: #222;
  --muted: #666;
  --bg: #fafafa;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; color: var(--text); background: var(--bg); }
a { color: var(--brand); text-decoration: none; }
a:hover { text-decoration: underline; }
.container { max-width: 960px; margin: 0 auto; padding: 24px; }
header.hero { background: linear-gradient(0deg, rgba(0,0,0,.4), rgba(0,0,0,.4)), var(--brand); color: var(--light); }
header.hero .container { display:flex; align-items:center; gap:18px; padding-top:28px; padding-bottom:28px; }
.logo { width:40px; height:40px; display:inline-block; background: var(--light); border-radius:6px; position:relative; }
.logo::before, .logo::after { content:""; position:absolute; background: var(--brand); }
.logo::before { left:50%; top:10%; width:20%; height:80%; transform:translateX(-50%); }
.logo::after { top:50%; left:10%; width:80%; height:20%; transform:translateY(-50%); }
.site-title { font-size: 1.5rem; font-weight: 700; margin:0; }
.site-subtitle { margin: 4px 0 0 0; color: #ffe9e9; font-weight:500; }
nav.breadcrumbs { font-size:.9rem; margin-top:8px; color:#ffe9e9; }
main { background: var(--light); border-radius:16px; padding: 24px; box-shadow: 0 10px 20px rgba(0,0,0,.06); }
h1 { font-size: 2rem; margin-top:0; }
h2 { margin-top: 1.6rem; }
.meta { color: var(--muted); font-size:.9rem; margin-bottom:14px; }
.grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.card { background: #fff; border:1px solid #eee; border-radius:12px; padding:16px; transition: transform .1s ease; }
.card:hover { transform: translateY(-2px); }
.cta { display:inline-block; padding:10px 16px; background: var(--brand); color: var(--light); border-radius:8px; font-weight:600; }
footer { margin: 32px 0 0 0; color: var(--muted); font-size:.9rem; }
.banner { margin:16px 0; padding: 14px 16px; border-left: 4px solid var(--brand); background: #fff5f5; border-radius: 8px; }
.related { margin-top: 24px; padding-top:16px; border-top:1px dashed #eee; }
.pour-aller-plus-loin { margin-top: 24px; background:#f9fafb; border:1px solid #eee; border-radius:12px; padding:16px; }
.article-list li { margin-bottom:8px; }
