/* cours.css — Style partagé pour toutes les fiches de cours */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=DM+Sans:wght@300;400;500;600&family=JetBrains+Mono:wght@400;600&display=swap');

:root {
  --bg:     #07111F;
  --card:   #0D1E35;
  --card2:  #112540;
  --blue:   #003F87;
  --red:    #CE1126;
  --gold:   #F5C842;
  --text:   #E8F0FB;
  --sub:    #7A90B5;
  --border: #1A3060;
  --green:  #22C55E;
  --radius: 10px;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { background:var(--bg); color:var(--text); font-family:'DM Sans',sans-serif; font-size:1rem; line-height:1.7; }

/* NAV */
.navbar { background:linear-gradient(90deg,#03173A,#00306E); border-bottom:2px solid var(--red); display:flex; align-items:center; padding:0 32px; height:60px; position:sticky; top:0; z-index:100; gap:4px; }
.navbar a { color:var(--sub); text-decoration:none; padding:8px 16px; border-radius:8px; font-size:0.9rem; font-weight:500; transition:all .2s; }
.navbar a:first-child { font-family:'Playfair Display',serif; font-size:1.1rem; color:var(--gold); margin-right:16px; }
.navbar a:hover,.navbar a.active { color:white; background:rgba(255,255,255,0.1); }

/* HERO */
.hero { background:linear-gradient(135deg,#03173A,#001A4E); border-bottom:1px solid var(--border); padding:48px 32px 40px; text-align:center; }
.hero h1 { font-family:'Playfair Display',serif; font-size:clamp(1.8rem,4vw,2.8rem); color:var(--gold); margin-bottom:10px; }
.hero p { color:var(--sub); font-size:0.95rem; max-width:600px; margin:0 auto; }
.hero-badge { display:inline-block; background:rgba(206,17,38,0.15); border:1px solid rgba(206,17,38,0.4); color:#FF8090; padding:5px 16px; border-radius:20px; font-size:0.8rem; font-weight:600; margin-bottom:16px; }

/* CONTAINER */
.container-sm { max-width:860px; margin:0 auto; padding:40px 24px; }

/* CARDS */
.card { background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:28px; margin-bottom:24px; }
.section-title { font-family:'Playfair Display',serif; font-size:1.3rem; color:var(--gold); margin-bottom:18px; padding-bottom:10px; border-bottom:1px solid var(--border); }

/* DÉFINITION */
.def { background:rgba(0,63,135,0.15); border-left:4px solid var(--blue); border-radius:0 8px 8px 0; padding:16px 20px; margin:16px 0; }
.def strong { color:var(--gold); display:block; margin-bottom:6px; font-size:0.85rem; letter-spacing:.5px; text-transform:uppercase; }

/* FORMULE */
.formule { background:rgba(245,200,66,0.08); border:1px solid rgba(245,200,66,0.3); border-radius:8px; padding:14px 20px; margin:14px 0; font-family:'JetBrains Mono',monospace; font-size:0.95rem; color:var(--gold); text-align:center; }

/* EXEMPLE */
.exemple { background:rgba(34,197,94,0.08); border:1px solid rgba(34,197,94,0.25); border-radius:8px; padding:16px 20px; margin:14px 0; }
.exemple-title { color:#86EFAC; font-weight:700; font-size:0.85rem; text-transform:uppercase; letter-spacing:.5px; margin-bottom:8px; display:flex; align-items:center; gap:6px; }
.exemple p { color:var(--text); font-size:0.92rem; line-height:1.8; }

/* ATTENTION */
.attention { background:rgba(206,17,38,0.1); border:1px solid rgba(206,17,38,0.3); border-radius:8px; padding:14px 20px; margin:14px 0; }
.attention p { color:#FCA5A5; font-size:0.9rem; }

/* MÉTHODE */
.methode { background:rgba(0,63,135,0.1); border:1px solid rgba(0,63,135,0.4); border-radius:8px; padding:16px 20px; margin:14px 0; }
.methode-title { color:#7AB4FF; font-weight:700; font-size:0.85rem; text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; }
.methode ol { padding-left:20px; color:var(--text); font-size:0.92rem; line-height:2; }

/* TABLEAU */
.tableau { width:100%; border-collapse:collapse; margin:16px 0; font-size:0.9rem; }
.tableau th { background:var(--blue); color:white; padding:10px 14px; text-align:center; }
.tableau td { padding:9px 14px; text-align:center; border:1px solid var(--border); color:var(--text); }
.tableau tr:nth-child(even) td { background:var(--card2); }

/* STYLED LIST */
.styled-list { list-style:none; padding:0; }
.styled-list li { padding:9px 0; border-bottom:1px solid var(--border); color:var(--text); display:flex; align-items:flex-start; gap:10px; font-size:0.93rem; }
.styled-list li::before { content:'→'; color:var(--gold); font-weight:700; flex-shrink:0; }
.styled-list li:last-child { border-bottom:none; }

/* FOOTER */
footer { background:var(--card); border-top:1px solid var(--border); text-align:center; padding:24px; color:var(--sub); font-size:0.85rem; margin-top:40px; }
footer a { color:var(--gold); text-decoration:none; }

/* BTN */
.btn { display:inline-block; padding:10px 22px; border-radius:8px; font-weight:600; font-size:0.9rem; text-decoration:none; transition:all .2s; border:none; cursor:pointer; font-family:'DM Sans',sans-serif; }
.btn-primary { background:var(--red); color:white; }
.btn-primary:hover { background:#A50E1E; }
.btn-ghost { background:transparent; color:var(--sub); border:1px solid var(--border); }
.btn-ghost:hover { color:var(--text); border-color:var(--text); }

.info-box-blue { background:rgba(0,63,135,0.15); border:1px solid rgba(0,63,135,0.4); border-radius:var(--radius); padding:18px 20px; margin-bottom:24px; }
.info-box-blue p { color:#7AB4FF; font-size:0.9rem; }

@media(max-width:768px) { .navbar{padding:0 16px;flex-wrap:wrap;height:auto;padding:10px 16px;} .container-sm{padding:24px 16px;} .hero{padding:36px 16px 28px;} }
