/* Syllabus — thème global. Surcharge les anciennes classes néo-brutalistes pour appliquer la DA "SaaS doux" de la bibliothèque v2. */
@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800&display=swap');
:root { --sy-bg:#f5f6f8; --sy-surface:#fff; --sy-line:#b8c1cf; --sy-ink:#111827; --sy-muted:#6b7280; --sy-blue:#1d5cf5; --sy-blue-dark:#174bd0; --sy-navy:#1e3a8a; }
html, body { background: var(--sy-bg) !important; color: var(--sy-ink) !important; font-family: Mulish, system-ui, sans-serif !important; }
body * { font-family: inherit; }
code, pre, kbd, .font-mono, [class*="font-mono"] { font-family: ui-monospace, "IBM Plex Mono", Menlo, monospace !important; }
a { color: inherit; } a:hover { color: var(--sy-blue); }

/* Bordures : fines et grises, coins arrondis */
[class~="border-4"]:not([class~="border-transparent"]), [class~="border-2"]:not([class~="border-transparent"]), [class~="border"] { border-width: 1px !important; border-color: var(--sy-line) !important; }
[class~="border-b-4"], [class~="border-b-2"] { border-bottom-width: 1px !important; border-bottom-color: var(--sy-line) !important; }
[class~="border-t-4"], [class~="border-t-2"] { border-top-width: 1px !important; border-top-color: var(--sy-line) !important; }
[class~="border-r-2"], [class~="border-l-2"] { border-color: var(--sy-line) !important; }
[class~="divide-black"] > * + * { border-color: var(--sy-line) !important; }
section[class*="border"], article[class*="border"], aside[class*="border"], div[class~="border-4"], div[class~="border-2"], li[class~="border-2"], figure[class*="border"], details[class*="border"], table { border-radius: 12px; }
a[class~="border-2"], button[class~="border-2"], summary[class~="border-2"], span[class~="border-2"], input, select, textarea { border-radius: 6px !important; }
[class*="border-dashed"] { border-style: dashed !important; }

/* Ombres dures → ombres douces ; plus de rotations ni de décors flottants */
[class*="shadow-["] { box-shadow: 0 1px 3px rgba(17,24,39,.06) !important; }
[class*="hover:shadow-["]:hover { box-shadow: 0 6px 18px rgba(17,24,39,.08) !important; }
[class*="rotate-"], [class*="-rotate-"] { transform: none !important; }
[aria-hidden="true"][class*="absolute"][class*="pointer-events-none"] { display: none !important; }

/* Palette : jaune/vert/rose/lavande fluo → pastels ; rouge/noir d'action → bleu */
[class~="bg-[#FFD23F]"] { background-color: #dbe6ff !important; color: var(--sy-navy) !important; }
[class~="bg-[#7CF2C0]"] { background-color: #dcfce7 !important; color: #166534 !important; }
[class~="bg-[#FF6FB5]"] { background-color: #fce7f3 !important; color: #9d174d !important; }
[class~="bg-[#C4B5FD]"] { background-color: #ede4ff !important; color: #5b21b6 !important; }
[class~="bg-[#FFFBEA]"], [class~="bg-[#F6F5F1]"], [class*="hover:bg-[#FFFBEA]"]:hover { background-color: #f1f2f5 !important; }
[class~="bg-[#ec3013]"] { background-color: var(--sy-blue) !important; color: #fff !important; }
[class~="bg-black"]:not(pre):not([class*="h-2"]):not([class*="h-3"]):not([class*="h-full"]) { background-color: var(--sy-blue) !important; color: #fff !important; }
[class*="hover:bg-black"]:hover { background-color: var(--sy-blue-dark) !important; color: #fff !important; }
[class~="bg-[#13233A]"] { background-color: #0f172a !important; border-radius: 12px; }
[class*="text-[#b3001b]"], [class*="text-[#ec3013]"] { color: #b91c1c !important; }
[class~="bg-[#F6F5F1]"] { background-color: #f8f9fb !important; }
body > header, header[class*="border-b"] { background: #fff !important; box-shadow: 0 1px 0 var(--sy-line) !important; }

/* Titres un peu moins massifs */
h1[class*="font-black"] { letter-spacing: -0.015em !important; }
[class*="font-black"] { font-weight: 800 !important; }
[class*="uppercase"][class*="tracking-wider"] { color: var(--sy-muted); }

/* Focus */
:focus-visible { outline: 2px solid var(--sy-blue) !important; outline-offset: 2px; }

/* États : page courante, menu ouvert, survol */
[aria-current="page"][class*="aria-[current=page]:bg-[#FFD23F]"], details[open] > [class*="group-open:bg-[#FFD23F]"] { background-color: #dbe6ff !important; color: var(--sy-blue) !important; border-color: transparent !important; border-radius: 6px; }
[aria-current="page"][class*="aria-[current=page]:border-black"] { border-color: transparent !important; }
[class*="hover:bg-[#FFD23F]"]:hover { background-color: #dbe6ff !important; }
[class*="hover:border-black"]:hover { border-color: var(--sy-line) !important; }

/* Ton posé : titres plus mesurés, moins de couleur, pas d'emoji ni d'effets */
h1:not([style*="font-size"]) { font-size: clamp(28px, 3.2vw, 40px) !important; line-height: 1.15 !important; font-weight: 800 !important; }
h2:not([style*="font-size"]) { font-size: clamp(22px, 2.2vw, 28px) !important; line-height: 1.2 !important; }
h3:not([style*="font-size"]) { font-size: 18px !important; line-height: 1.3 !important; }
[class*="text-7xl"], [class*="text-8xl"], [class*="text-6xl"] { font-size: clamp(30px, 3.4vw, 42px) !important; line-height: 1.15 !important; }
[class*="text-5xl"] { font-size: clamp(26px, 2.6vw, 32px) !important; }
[class*="leading-[0.9"], [class*="leading-[0.8"] { line-height: 1.15 !important; }
[class*="tracking-tighter"] { letter-spacing: -0.01em !important; }
[class*="hover:-translate-y"]:hover, [class*="hover:translate"]:hover { transform: none !important; }
[class*="animate-"] { animation: none !important; }
section[class~="bg-[#ec3013]"], section[class~="bg-black"], div[class~="bg-black"][class*="p-8"], div[class~="bg-black"][class*="p-6"] { background: #fff !important; color: var(--sy-ink) !important; border: 1px solid var(--sy-line) !important; }
section[class~="bg-[#ec3013]"] *, div[class~="bg-black"][class*="p-8"] *, div[class~="bg-black"][class*="p-6"] * { color: inherit; }
[class*="bg-[#FFD23F]"][class*="px-3"][class*="uppercase"] { background: transparent !important; color: var(--sy-blue) !important; padding-left: 0 !important; box-shadow: none !important; border: 0 !important; }

[class*="E6FF3F"],[class*="E8FF3C"]{background-color:#eef2ff!important;color:#1e3a8a!important}

/* Contraste : fond de page plus sombre, contours visibles partout, traits fins */
html, body { background: #eef1f5 !important; }
main section.bg-white, main section[class*="bg-white"] { background: #eef1f5 !important; }
[class*="border-4"], [class*="border-2"], [class*="border-black"], [class*="border-y-4"], [class*="border-t-4"], [class*="border-b-4"] { border-color: #b8c1cf !important; }
[class*="border-4"] { border-width: 1px !important; }
[class*="border-2"] { border-width: 1px !important; }
[class*="border-y-4"] { border-top-width: 1px !important; border-bottom-width: 1px !important; }
[class*="border-t-4"] { border-top-width: 1px !important; }
[class*="border-b-4"] { border-bottom-width: 1px !important; }
[class*="border-r-4"], [class*="border-l-4"] { border-width: 0 1px 0 0 !important; }
[class*="divide-black"] > * + * { border-color: #b8c1cf !important; }
main article, main figure, main li[class*="border"], main div[class*="border"][class*="bg-"] { box-shadow: 0 1px 2px rgba(17,24,39,.06), 0 2px 8px rgba(17,24,39,.05) !important; }
[class*="bg-white"][class*="border"], figure[style*="border"] { background: #fff !important; }
/* Badges collés aux cartes : dans le flux, alignés en haut */
main article > span[class*="absolute"], main li > span[class*="absolute"], main div[class*="relative"] > span[class*="absolute"][class*="border"] { position: static !important; display: inline-block !important; margin: 0 0 12px 0 !important; transform: none !important; }

header a, header summary, nav a, header [class*="border-transparent"], nav [class*="border-transparent"] { border-color: transparent !important; }
header a[aria-current="page"], header details[open] > summary { border-color: #bfd0f5 !important; }
header ul[class*="absolute"] { border: 1px solid #b8c1cf !important; }
main [class*="border-4"], main [class*="border-2"]:not([class*="border-transparent"]) { border-color: #b8c1cf !important; }
main li[class*="min-h-[340px]"] { min-height: 0 !important; }
main li[class*="min-h-[340px]"] > *:first-child + * { margin-top: 12px !important; }
h1 span[class*="bg-"] { background: transparent !important; border: 0 !important; padding: 0 !important; color: #1d4ed8 !important; }
[class*="border-transparent"] { border-color: transparent !important; }
[class*="border-transparent"][aria-current="page"], [class*="border-transparent"]:hover { border-color: transparent !important; background: #e8eefc !important; }
aside a[class*="border-black"][class*="bg-black"] { border-color: transparent !important; }

/* === SOBRIÉTÉ (inspiration Google Workspace) : l'espace et la typographie structurent, un seul appel à l'action fort === */
:root { --sy-ink:#0b1220; --sy-text:#3c4043; --sy-hair:#e3e5e8; --sy-soft:#f8f9fa; --sy-blue:#0b57d0; --sy-blue-dark:#0842a0; }
html, body { background:#fff !important; }
main p { color: var(--sy-text); }
main h1, main h2, main h3 { color: var(--sy-ink) !important; text-wrap: balance; }
main h1:not([style*="line-height"]) { font-weight:800 !important; line-height:1.06 !important; }
main p, main li { text-wrap: pretty; }

/* Fonds : blanc, et un gris très léger pour alterner les sections */
main section[class*="bg-"], main div[class~="bg-[#F6F5F1]"], main div[class~="bg-[#FFFBEA]"] { background-color:#fff !important; }
main section[class~="bg-[#F6F5F1]"], main section[class~="bg-[#FFFBEA]"] { background-color: var(--sy-soft) !important; }
main section { border-color: transparent !important; box-shadow:none !important; }

/* Pages vitrine : beaucoup plus d'air */
main > section > div[class*="py-"] { padding-top: clamp(64px, 9vw, 112px) !important; padding-bottom: clamp(64px, 9vw, 112px) !important; }
main > section > div[class*="max-w-"] > p[class*="text-xl"], main > section > div[class*="max-w-"] p[class*="text-lg"] { line-height:1.65 !important; }

/* Cartes et encadrés : trait très fin, grands rayons, aucune ombre */
[class~="border-4"]:not([class~="border-transparent"]), [class~="border-2"]:not([class~="border-transparent"]), [class~="border"] { border-color: var(--sy-hair) !important; }
main article[class*="border"], main li[class~="border-2"], main div[class~="border-2"], main div[class~="border-4"], main figure[class*="border"], main details[class*="border"] { border-radius:16px !important; }
[class*="shadow-["], [class*="shadow-md"], [class*="shadow-lg"] { box-shadow:none !important; }
[class*="rotate-"], [class*="-rotate-"], [class*="md:rotate"], [class*="md:-rotate"], [class*="translate-y-8"] { transform:none !important; }
main [aria-hidden="true"][class*="absolute"] { display:none !important; }

/* Badges et pastilles : neutres, texte foncé */
main span[class~="border-2"][class*="text-xs"], main span[class~="border-2"][class*="text-sm"][class*="px-2"], main span[class*="rounded-full"][class*="px-"] { background:#f1f3f4 !important; color:#3c4043 !important; border-color:transparent !important; border-radius:999px !important; }
[class~="bg-[#FFD23F]"], [class~="bg-[#7CF2C0]"], [class~="bg-[#FF6FB5]"], [class~="bg-[#C4B5FD]"] { background-color:#f1f3f4 !important; color:#202124 !important; }
main div[class*="bg-[#FFD23F]"][class*="p-"], main div[class*="bg-[#7CF2C0]"][class*="p-"], main div[class*="bg-[#C4B5FD]"][class*="p-"], main div[class*="bg-[#FF6FB5]"][class*="p-"] { background: var(--sy-soft) !important; }

/* Boutons : pilules ; l'action principale en bleu plein, le reste en contour discret */
a[class*="inline-flex"][class*="h-11"], a[class*="inline-flex"][class*="h-12"], a[class*="inline-flex"][class*="h-10"], button[class*="h-11"], button[class*="h-12"], button[class*="h-10"] { border-radius:999px !important; padding-left:24px !important; padding-right:24px !important; font-weight:700 !important; }
a[class~="bg-[#ec3013]"], button[class~="bg-[#ec3013]"], a[class~="bg-black"], button[class~="bg-black"] { background-color: var(--sy-blue) !important; border-color: var(--sy-blue) !important; color:#fff !important; }
a[class~="bg-[#ec3013]"]:hover, button[class~="bg-[#ec3013]"]:hover, a[class~="bg-black"]:hover, button[class~="bg-black"]:hover { background-color: var(--sy-blue-dark) !important; }
main a[class~="bg-white"][class*="inline-flex"], main button[class~="bg-white"][class*="h-"] { background:#fff !important; color: var(--sy-blue) !important; border:1px solid #dadce0 !important; }
main a[class~="bg-white"][class*="inline-flex"]:hover, main button[class~="bg-white"][class*="h-"]:hover { background:#f6f9fe !important; }

/* En-tête : conservé, épuré */
body > header { background:#fff !important; box-shadow:none !important; border-bottom:1px solid var(--sy-hair) !important; }
body > header nav a, body > header nav summary { font-weight:600 !important; color:#3c4043 !important; text-decoration:none !important; }
body > header nav a:hover, body > header nav summary:hover { color: var(--sy-ink) !important; background:transparent !important; }
body > header nav ul a[aria-current="page"] { color: var(--sy-blue) !important; background:transparent !important; }
body > header a[href*="inscription"] { background: var(--sy-blue) !important; color:#fff !important; border:0 !important; border-radius:999px !important; padding:0 22px !important; }
body > header a[href*="inscription"] > span[aria-hidden="true"] { display:none !important; }
body > header a[href*="inscription"]:hover { background: var(--sy-blue-dark) !important; color:#fff !important; }
body > header a[href*="connexion"] { border:0 !important; background:transparent !important; }

[class*="text-[#FFD23F]"], [class*="text-[#7CF2C0]"], [class*="text-[#FF6FB5]"], [class*="text-[#C4B5FD]"], [class*="text-[#E6FF3F]"], [class*="text-[#E8FF3C]"] { color: var(--sy-blue) !important; }
main li[class*="min-h-[340px]"] { min-height:0 !important; aspect-ratio:auto !important; }
main li[class*="min-h-[340px]"] > div[class*="justify-between"] { justify-content:flex-start !important; gap:16px !important; padding-bottom:0 !important; }
main li[class*="min-h-[340px]"] > div > span[class*="self-end"] { align-self:flex-start !important; font-size:40px !important; color: var(--sy-blue) !important; }
body > header a[href*="connexion"] { border:0 !important; background:transparent !important; box-shadow:none !important; padding-left:8px !important; padding-right:8px !important; }

main h1:not([style*="letter-spacing"]), main h2:not([style*="letter-spacing"]) { letter-spacing:-0.02em !important; }

header a[style*="background:#0b57d0"], header a[style*="background: #0b57d0"], nav a[style*="background:#0b57d0"] { color: #fff !important; }
header a[style*="background:#0b57d0"]:hover, nav a[style*="background:#0b57d0"]:hover { color: #fff !important; background: #0842a0 !important; }
