/* === POLICES === */
body { font-family: 'EB Garamond', Georgia, serif; font-size: 1.2rem; line-height: 1.8; color: #1a1a1a; }
h1, h2, h3, h4, h5, h6 { font-family: 'Montserrat', Arial, sans-serif; text-transform: uppercase; }
nav, .btn, .badge, label, select, input { font-family: 'Source Code Pro', monospace; font-size: 0.9rem; }

/* === COULEURS === */
.text-red { color: red; }
.bg-red { background-color: red; color: white; }
.border-red { border-bottom: 4px solid red; }
.btn-red { background-color: red; border-color: red; color: white; }
.btn-red:hover { background-color: darkred; border-color: darkred; color: white; }
.btn-outline-red { color: red; border-color: red; background: transparent; }
.btn-outline-red:hover { background-color: red; color: white; }

/* === PAS D'ARRONDIS === */
* { border-radius: 0; }

/* === HEADER === */
header { background: #fff; padding: 2rem 0; border-top: 6px solid red; }
.header-top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.search-input { width: 160px; }
header nav a.nav-link:hover { color: red; }
header nav a.fw-bold { color: red; border-color: red; }

/* === FOOTER === */
footer { background: #1a1a1a; color: #aaa; padding: 2rem 0; }
footer a { color: #aaa; text-decoration: none; }
footer a:hover { color: white; }

/* === PAGE D'ACCUEIL === */
.article-card { border-bottom: 3px solid red; padding-bottom: 1.5rem; margin-bottom: 1.5rem; transition: opacity 0.3s; }
.article-card:hover { opacity: 0.8; }
.article-card:hover h2,
.article-card:hover h5,
.article-card:hover h6 { color: red; }
.article-card img { width: 100%; height: 200px; object-fit: cover; }
.img-main-hero { height: 400px; object-fit: cover; }
.border-end { border-right: 2px solid red; }
aside h3.bg-red { color: white; }

/* === PAGE ARTICLE === */
article h3 { color: red; border-left: 4px solid red; padding-left: 0.75rem; margin-top: 2rem; }
article p.lead { background: #fff5f5; border-left: 4px solid red; padding: 0.75rem 1rem; font-style: italic; }

/* === GADGET VOTE === */
.vote-box { border: 2px solid red; }
.vote-box h6 { color: red; font-family: 'Montserrat', sans-serif; letter-spacing: 0.1em; }
.vote-box input[type="radio"] { display: none; }
.vote-box label { color: #ccc; font-size: 1.8rem; cursor: pointer; }
.vote-box input[type="radio"]:checked ~ label,
.vote-box label:hover { color: red; }

/* === PAGE CUSTOM === */
.sidebar-left { background: #fff5f5; border-right: 4px solid red; }
.sidebar-right { background: #fff5f5; border-left: 4px solid red; }
.sidebar-left h5,
.sidebar-right h5 { color: red; }
.sidebar-left hr,
.sidebar-right hr { border-color: red; opacity: 1; }
#preview-box { border: 2px dashed red; padding: 20px; min-height: 300px; overflow-y: auto; max-height: 80vh; }
