/* --- Styles Généraux --- */
body {
    background-color: #eef2f5; font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, sans-serif;
    font-size: 12px;
    color: #444444;
    margin: 20px 0;
    padding: 0;
}

a {
    color: #4a75a0;
    text-decoration: underline;
}

a:hover {
    color: #2b4e71;
    text-decoration: none;
}

/* --- Structure de la Page (Fixe et centrée) --- */
#global {
    width: 780px; /* Largeur standard pour les écrans 1024x768 de l'époque */
    margin: 0 auto;
    background-color: #ffffff;
    border: 1px solid #b5c7d9;
}

/* --- En-tête --- */
#header {
    background: #cbdceb; /* Bleu pastel */
    padding: 20px;
    border-bottom: 2px solid #a3bccc;
    text-align: center;
}

#header h1 {
    margin: 0;
    padding: 0;
    font-family: Georgia, serif;
    color: #2b4e71;
    font-size: 26px;
    font-weight: normal;
}

#header .slogan {
    margin: 5px 0 0 0;
    font-style: italic;
    color: #667d94;
}

/* --- Barre de navigation --- */
#nav-bar {
    background-color: #f7f9fa;
    padding: 8px;
    border-bottom: 1px solid #cbdceb;
    text-align: center;
    font-weight: bold;
    color: #cbdceb;
}

#nav-bar a {
    margin: 0 10px;
    text-decoration: none;
}

#nav-bar a.active {
    color: #cc6600; /* Petite touche orange "web 2.0 naissant" */
}

/* --- Zone centrale --- */
#main-container {
    padding: 15px;
}

/* Menu latéral (Gauche) */
#sidebar {
    float: left;
    width: 180px;
}

.box {
    background-color: #f3f7fa;
    border: 1px solid #d2dfeb;
    margin-bottom: 15px;
    padding: 10px;
}

.box h3 {
    margin: 0 0 8px 0;
    font-size: 13px;
    color: #2b4e71;
    border-bottom: 1px solid #cbdceb;
    padding-bottom: 3px;
}

.box ul {
    list-style-type: square;
    margin: 0;
    padding-left: 18px;
}

.box ul li {
    margin-bottom: 5px;
}

/* Contenu (Droite) */
#content {
    float: right;
    width: 540px;
}

#content h2 {
    margin: 0 0 15px 0;
    color: #2b4e71;
    font-size: 18px;
    border-bottom: 2px dotted #cbdceb;
    padding-bottom: 5px;
}

.news-item {
    background-color: #fafafa;
    border: 1px dashed #cccccc;
    padding: 10px;
    margin-bottom: 15px;
}

.news-item h4 {
    margin: 0 0 5px 0;
    color: #cc6600;
}

/* Anti-bug pour le float */
.clear {
    clear: both;
}

/* --- Pied de page --- */
#footer {
    background-color: #e4ecf3;
    border-top: 1px solid #cbdceb;
    padding: 10px;
    text-align: center;
    font-size: 11px;
    color: #666666;
}

#footer p {
    margin: 3px 0;
}