* Base & Reset */ * { margin:0; padding:0; box-sizing:border-box; } body { font-family:'Poppins', sans-serif; background:#f5f5f5; color:#333; } a { text-decoration:none; }
 /* Container */
 .container { width:90%; max-width:1200px; margin:auto; }
  /* Header */ 
  header { background:#4f46e5; color:#fff; text-align:center; padding:50px 0; }
   header h1 { font-size:2.5rem; margin-bottom:10px; }
    header p { font-size:1.1rem; color:#e0e0ff; margin-bottom:20px; } 
  /* Search & Filters */
  .search-filter { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:30px 0; } 
  .search-filter input, .search-filter select { padding:10px; border-radius:8px; border:1px solid #ccc; width:200px; } 
  .search-filter select { cursor:pointer; } 
  /* Section Formations */
 .formations { padding-bottom:50px; }
  .formations h2 { text-align:center; font-size:2rem; margin-bottom:20px; color:#1f2937; }
   .formation-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:25px; }
 /* Carte formation */ 
 .formation-card { background:#fff; border-radius:12px; box-shadow:0 4px 15px rgba(0,0,0,0.1); overflow:hidden; display:flex; flex-direction:column; position:relative; transition:transform 0.3s; }
  .formation-card:hover { transform:translateY(-5px); } .formation-card img { width:100%; height:160px; object-fit:cover; object-position: top;  transition: transform 0.3s; } 
  .formation-card:hover img { transform: scale(1.05); } .formation-card-content { padding:20px; flex-grow:1; display:flex; flex-direction:column; } .formation-card h3 { margin-bottom:10px; font-size:1.2rem; color:#1f2937; } .formation-card p { font-size:0.9rem; color:#6b7280; margin-bottom:6px; } 
 /* Bouton S'inscrire avec animation hover */ 
  .formation-card .btn { margin-top:auto; display:block; text-align:center; background:#4f46e5; color:#fff; padding:12px 0; border-radius:8px; font-weight:600; cursor:pointer; transition: all 0.3s ease; } .formation-card .btn:hover { background:#4338ca; transform:scale(1.05); } 
 /* Badge dynamique */ 
 .badge { position:absolute; top:10px; left:10px; padding:5px 10px; border-radius:8px; font-size:0.8rem; font-weight:600; color:#fff; } .badge.populaire { background:#f59e0b; } .badge.nouveau { background:#10b981; } 
 /* Avis et étoiles */ 
.stars { color:#facc15; margin-bottom:8px; font-size:0.9rem; } .stars span { margin-right:2px; } 
/* Pourquoi nous choisir */
 .why-choose { background:#fff; padding:50px 0; } .why-choose h2 { text-align:center; margin-bottom:30px; font-size:2rem; color:#1f2937; } .why-choose-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; text-align:center; } .why-choose-grid div { background:#f9f9f9; padding:20px; border-radius:12px; box-shadow:0 3px 10px rgba(0,0,0,0.05); } .why-choose-grid div h3 { margin-bottom:10px; color:#4f46e5; } .why-choose-grid div p { font-size:0.9rem; color:#6b7280; }
/* Témoignages */ 
 .testimonials { background:#f3f4f6; padding:50px 0; }
  .testimonials h2 { text-align:center; margin-bottom:30px; font-size:2rem; color:#1f2937; } 
  .testimonial-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:20px; } 
  .testimonial-card { background:#fff; padding:20px; border-radius:12px; box-shadow:0 3px 10px rgba(0,0,0,0.1); text-align:center; display:flex; flex-direction:column; justify-content:space-between; min-height:220px; } 
  .testimonial-card img { width:60px; height:60px; border-radius:50%; margin-bottom:10px; object-fit:cover; object-position: top; } 
  .testimonial-card h4 { margin-bottom:5px; color:#1f2937; }
   .testimonial-card p { font-size:0.9rem; color:#6b7280; margin-bottom:5px; }
    .testimonial-card .stars { font-size:0.9rem; margin-top:5px; }
 /* Footer */ 
 footer { background:#1f2937; color:#fff; padding:20px 0; text-align:center; margin-top:50px; } footer a { color:#4f46e5; }
 /* Formulaire pop-up */
 #formPopup { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.7); display:none; justify-content:center; align-items:center; z-index:9999; } #formPopup .form-content { background:#fff; padding:30px; border-radius:12px; width:90%; max-width:400px; position:relative; } #formPopup h3 { margin-bottom:15px; } #formPopup input, #formPopup select { width:100%; padding:10px; margin-bottom:15px; border-radius:8px; border:1px solid #ccc; } #formPopup button { background:#4f46e5; color:#fff; padding:12px 0; width:100%; border:none; border-radius:8px; font-weight:600; cursor:pointer; transition: all 0.3s ease; } #formPopup button:hover { background:#4338ca; transform:scale(1.03); } #formPopup .close { position:absolute; top:10px; right:15px; font-size:18px; cursor:pointer; color:#333; } 
 /* Responsive */
  @media(max-width:600px){ header h1 { font-size:2rem; } .formations h2, .why-choose h2, .testimonials h2 { font-size:1.6rem; } }

 h1, h2, h3 { color:#1f2937; } 
 a { text-decoration:none; color:#4f46e5; } 
 /* Storytelling */
  .storytelling { display:flex; flex-wrap:wrap; align-items:center; gap:30px; margin-bottom:50px; } 
  .storytelling img { flex:1; min-width:250px; width:100%; border-radius:12px; object-fit:cover; box-shadow:0 4px 15px rgba(0,0,0,0.1); }
   .storytelling .text { flex:2; min-width:250px; }
    .storytelling .text h2 { margin-bottom:15px; } 
    .storytelling .text p { font-size:1rem; line-height:1.6; margin-bottom:15px; } 
    /* Contacts */
 .contacts { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; } 
.contact-card { background:#fff; padding:20px; border-radius:12px; box-shadow:0 3px 10px rgba(0,0,0,0.1); text-align:center; transition:transform 0.3s; }
 .contact-card:hover { transform:translateY(-5px); } .contact-card h3 { margin-bottom:10px; color:#4f46e5; }
 .contact-card p { font-size:0.9rem; color:#6b7280; } /* Footer */ footer { background:#1f2937; color:#fff; text-align:center; padding:20px 0; margin-top:50px; } footer a { color:#4f46e5; } 
 /* Responsive */
 @media(max-width:600px){ header h1 { font-size:2rem; } }