body { 
    margin: 0; 
    font-family: Arial, sans-serif; 
    background: linear-gradient(rgba(166, 196, 216, 0.85), rgba(124, 158, 173, 0.85)), url("images/RA_PAD.jpg") no-repeat center center fixed; 
    background-size: cover; 
}

header { 
    background: #003366; 
    color: white; 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    padding: 10px 30px; 
}
header img { height: 60px; }
header .slogan { font-size: 1.1em; font-weight: bold; }

nav { background: #005599; }
nav ul { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; }
nav li { margin: 0 20px; }
nav a { color: white; text-decoration: none; padding: 12px 0; display: block; font-weight: bold; }
nav a:hover { text-decoration: underline; }

/* Slider */
.slider { position: relative; width: 100%; height: 400px; overflow: hidden; }
.slides { display: flex; width: 400%; animation: slide 16s infinite; }
.slides img { width: 100%; height: 400px; object-fit: cover; }
@keyframes slide {
    0% { margin-left: 0; }
    20% { margin-left: 0; }
    25% { margin-left: -100%; }
    45% { margin-left: -100%; }
    50% { margin-left: -200%; }
    70% { margin-left: -200%; }
    75% { margin-left: -300%; }
    95% { margin-left: -300%; }
    100% { margin-left: 0; }
}

/* Sections */
section { padding: 40px; max-width: 1200px; margin: auto; }
section h2 { color: #111111e1; border-bottom: 2px solid #e9eff5e5; display: inline-block; margin-bottom: 20px; }

/* Services & Mouvements */
.grid { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.card { flex: 1; min-width: 200px; text-align: center; padding: 20px; background: white; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); transition: 0.3s; }
.card:hover { transform: scale(1.05); }
.card img { height: 60px; margin-bottom: 10px; }

/* Actualités */
.actus { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.actu { background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.actu img { width: 100%; height: 150px; object-fit: cover; }
.actu div { padding: 15px; }
.actu h3 { font-size: 1em; margin: 0 0 10px; color: #003366; }
.actu p { font-size: 0.9em; color: #444; }
.actu a { display: block; margin-top: 10px; color: #005599; font-weight: bold; text-decoration: none; }

/* Footer */
footer { background: #003366; color: white; text-align: center; padding: 20px; margin-top: 40px; }

/* Partenaires */
.partenaires { text-align: center; margin: 20px auto; }
.partenaires .titre { font-weight: bold; margin-bottom: 20px; border-bottom: 2px solid #003366; display: inline-block; padding-bottom: 5px; }
.logos { display: flex; justify-content: center; gap: 5px; flex-wrap: wrap; margin-top: 20px; }
.logos img { height: 5px; object-fit: contain; }

/* Section Port Autonome de Dakar */
.port-dakar { background: #0a2a4a; color: white; padding: 50px 20px; }
.port-dakar-container { display: flex; align-items: center; justify-content: space-between; gap: 40px; max-width: 1200px; margin: auto; flex-wrap: wrap; }
.port-dakar-texte { flex: 1; max-width: 500px; }
.port-dakar-texte h2 { font-size: 28px; margin-bottom: 10px; }
.port-dakar-texte h3 { font-size: 20px; margin-bottom: 15px; font-weight: bold; }
.port-dakar-texte p { margin-bottom: 20px; line-height: 1.6; }
.btn-en-savoir { background: #ffcc00; color: #003366; padding: 12px 25px; text-decoration: none; font-weight: bold; border-radius: 5px; transition: 0.3s; }
.btn-en-savoir:hover { background: #ffaa00; }
.port-dakar-video { flex: 1; max-width: 600px; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.3); }

/* Espace pro */
.espace-pro { display: flex; align-items: center; justify-content: space-between; background: url('fond-port.png') no-repeat center center; background-size: cover; color: #003366; padding: 15px; }
.pro-left { background: #003366; color: #fff; padding: 30px; font-size: 18px; }
.pro-center { flex: 1; text-align: center; color: #160066ff; }
.pro-center p { font-size: 28px; margin-bottom: 15px; }
.btn { background: #003366; color: #ffffffff; padding: 8px 16px; margin-right: 10px; text-decoration: none; border-radius: 4px; }
.btn-secondary { background: #99c2e0; color: #003366; padding: 8px 16px; text-decoration: none; border-radius: 4px; }
.pro-right { background: #66a9d6; padding: 20px; text-align: center; }
.pro-right h3 { margin-bottom: 10px; font-weight: bold; }
.pro-right form { display: flex; }
.pro-right input { padding: 6px; border: none; outline: none; flex: 1; }
.pro-right button { background: #003366; color: #fff; border: none; padding: 6px 12px; cursor: pointer; }

/* Hub logistique */
.hub-logistique { text-align: center; margin: 50px auto; }
.hub-logistique h2 { font-size: 28px; color: #1a8bd1; margin-bottom: 10px; }
.hub-logistique h2::after { content: ""; display: block; width: 80px; height: 3px; background: #1a8bd1; margin: 10px auto; }
.hub-container { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-top: 30px; }
.hub-card { position: relative; width: 300px; overflow: hidden; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.15); transition: transform 0.3s ease; }
.hub-card:hover { transform: translateY(-5px); }
.hub-card img { width: 100%; height: 200px; object-fit: cover; display: block; }
.hub-text { position: absolute; bottom: 0; left: 0; width: 100%; padding: 15px; color: white; font-size: 18px; font-weight: bold; background: linear-gradient(transparent, rgba(0,0,0,0.7)); text-align: left; }
