/* Fichier : /style.css (Design centralisé du site) */

/* Reset de base */
* { box-sizing: border-box; }
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; margin: 0; padding: 0; color: #2c3e50; background-color: #fcfcfc; }

/* En-tête (Header) */
header { background: #ffffff; padding: 1rem 5%; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; border-bottom: 2px solid #ecf0f1; position: sticky; top: 0; z-index: 1000; }
.logo a { font-size: 1.5rem; font-weight: bold; text-decoration: none; color: #2980b9; }
.search-bar input { padding: 0.5rem; border: 1px solid #bdc3c7; border-radius: 4px; }
.search-bar button { padding: 0.5rem 1rem; background: #2980b9; color: white; border: none; border-radius: 4px; cursor: pointer; }
nav ul { list-style: none; padding: 0; display: flex; gap: 20px; margin: 1rem 0 0 0; width: 100%; justify-content: center; }
nav a { text-decoration: none; color: #34495e; font-weight: 600; font-size: 0.95rem; transition: color 0.3s; }
nav a:hover, nav a.active { color: #2980b9; }
.lang-switch a { text-decoration: none; color: #34495e; }

/* Fil d'Ariane */
.breadcrumb { padding: 1rem 5%; font-size: 0.9rem; background: #ecf0f1; margin-bottom: 2rem; }
.breadcrumb a { color: #2980b9; text-decoration: none; }

/* Typographie & Contenu Principal */
main { padding: 0 5% 2rem 5%; max-width: 900px; margin: auto; background: white; box-shadow: 0 4px 15px rgba(0,0,0,0.03); border-radius: 8px; margin-top: -1rem; padding-top: 2rem; }
/* Exception pour l'index qui est plus large */
body.home-page main, body.silo-page main { max-width: 1400px; background: transparent; box-shadow: none; padding-top: 2rem; margin-top: auto; }

h1 { color: #2c3e50; font-size: 2.5rem; line-height: 1.2; margin-bottom: 1rem; }
h2 { color: #2980b9; font-size: 1.8rem; margin-top: 2.5rem; border-bottom: 2px solid #ecf0f1; padding-bottom: 0.5rem; display: inline-block; }
h3 { color: #34495e; font-size: 1.3rem; margin-top: 1.5rem; }

p, ul, ol { font-size: 1.1rem; color: #4a5568; margin-bottom: 1.5rem; }
ul, ol { padding-left: 2rem; }
li { margin-bottom: 0.5rem; }

/* Encart E-E-A-T (Source) */
.source-box { background: #fdf2e9; border-left: 5px solid #e67e22; padding: 1.5rem; margin-bottom: 2rem; border-radius: 0 8px 8px 0; }
.source-box strong { color: #d35400; display: block; margin-bottom: 0.5rem; font-size: 1.1rem; }
.source-box p { margin: 0; font-size: 0.95rem; color: #555; }

/* Grilles (Pour les pages index) */
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-top: 1.5rem; }
.card { background: white; border: 1px solid #ecf0f1; border-radius: 8px; padding: 1.5rem; box-shadow: 0 4px 6px rgba(0,0,0,0.05); transition: transform 0.2s; display: flex; flex-direction: column;}
.card:hover { transform: translateY(-5px); border-color: #2980b9; }
.card h3 a, .card h2 a { text-decoration: none; color: #2c3e50; }
.card .source { font-size: 0.85rem; color: #e67e22; font-weight: bold; margin-bottom: 1rem; text-transform: uppercase; }
.card .read-more { margin-top: auto; display: inline-block; color: #2980b9; font-weight: bold; text-decoration: none; padding-top: 1rem;}

/* Pied de page */
footer { background: #34495e; color: #ecf0f1; text-align: center; padding: 2rem 5%; margin-top: 3rem; }
footer nav { display: flex; justify-content: center; gap: 20px; margin-bottom: 1rem; }
footer a { color: #bdc3c7; text-decoration: none; }
footer a:hover { color: #ffffff; text-decoration: underline; }