/* ============================================================
   LegalTeam — le juridique des entrepreneurs
   Design system "revue juridique éditoriale" (Concept A)
   Palette bordeaux encre + serif Fraunces. Artisanal, sans framework.
   ============================================================ */

:root{
  --bordeaux:#6B1F2A;
  --bordeaux-clair:#F3E7E9;
  --navy:#1A2238;
  --papier:#FAF7F2;
  --blanc:#FFFFFF;
  --ardoise:#3A3F4B;
  --gris:#6E7480;
  --filet:#E7E0D6;
  --ombre:0 1px 2px rgba(26,34,56,.05),0 8px 24px rgba(26,34,56,.06);
  --lecture:720px;
  --large:1100px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:17px;line-height:1.7;color:var(--ardoise);background:var(--papier);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--bordeaux);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}

h1,h2,h3,h4{
  font-family:"Fraunces","Source Serif 4",Georgia,serif;
  color:var(--navy);line-height:1.18;font-weight:600;letter-spacing:-.01em;
}
h1{font-size:clamp(2.1rem,5vw,3.2rem);margin-bottom:.4em}
h2{font-size:clamp(1.5rem,3vw,1.9rem);margin:2.2rem 0 .8rem}
h3{font-size:1.25rem;margin:1.6rem 0 .5rem}
p{margin:0 0 1.1rem}
ul,ol{margin:0 0 1.2rem 1.2rem}
li{margin:.35rem 0}
strong{color:var(--navy)}
hr{border:0;border-top:1px solid var(--filet);margin:2.4rem 0}

/* ---------- Layout ---------- */
.wrap{max-width:var(--large);margin:0 auto;padding:0 1.4rem}
.reading{max-width:var(--lecture);margin:0 auto;padding:0 1.4rem}
.section{padding:3rem 0}

/* ---------- Header ---------- */
.site-header{
  background:var(--papier);border-bottom:1px solid var(--filet);
  position:sticky;top:0;z-index:50;backdrop-filter:saturate(180%) blur(6px);
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{font-family:"Fraunces",serif;font-size:1.5rem;font-weight:700;color:var(--navy);letter-spacing:-.02em}
.brand .dot{color:var(--bordeaux)}
.brand:hover{text-decoration:none}
.nav{display:flex;gap:1.6rem;align-items:center}
.nav a{color:var(--ardoise);font-size:.95rem;font-weight:500}
.nav a:hover{color:var(--bordeaux);text-decoration:none}
.nav-toggle{display:none;background:none;border:0;font-size:1.5rem;color:var(--navy);cursor:pointer}

/* ---------- Hero ---------- */
.hero{padding:3.6rem 0 2.4rem;border-bottom:1px solid var(--filet)}
.hero .kicker{font-family:"Inter";text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600;color:var(--bordeaux);margin-bottom:1rem}
.hero .deck{font-family:"Fraunces",serif;font-style:italic;font-size:1.3rem;color:var(--ardoise);max-width:640px;line-height:1.5}
.filet-top{width:44px;height:3px;background:var(--bordeaux);margin-bottom:1.3rem;border-radius:2px}

/* ---------- Article ---------- */
.article{padding:2.6rem 0 3.2rem}
.article .deck{font-family:"Fraunces",serif;font-style:italic;font-size:1.28rem;color:var(--ardoise);line-height:1.5;margin:0 0 1.6rem}
.byline{display:flex;align-items:center;gap:.7rem;color:var(--gris);font-size:.9rem;margin:1.2rem 0 2rem;padding-bottom:1.4rem;border-bottom:1px solid var(--filet)}
.byline img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--filet)}
.byline b{color:var(--navy)}
.article h2:first-of-type{margin-top:1rem}

/* ---------- Encadré "En bref" ---------- */
.enbref{
  background:var(--bordeaux-clair);border-left:3px solid var(--bordeaux);
  padding:1.2rem 1.4rem;border-radius:0 6px 6px 0;margin:1.8rem 0;
}
.enbref .label{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;color:var(--bordeaux);margin-bottom:.5rem}
.enbref p:last-child,.enbref ul:last-child{margin-bottom:0}
.enbref ul{margin-left:1rem}

/* ---------- Cartes / grille ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem;margin:1.6rem 0}
.card{background:var(--blanc);border:1px solid var(--filet);border-radius:8px;padding:1.5rem;box-shadow:var(--ombre)}
.card h3{margin-top:0}
.card .meta{font-size:.8rem;color:var(--gris);text-transform:uppercase;letter-spacing:.08em}
.card p:last-child{margin-bottom:0}

/* ---------- Tableau ---------- */
.table-wrap{overflow-x:auto;margin:1.6rem 0}
table{border-collapse:collapse;width:100%;font-size:.95rem;background:var(--blanc);border:1px solid var(--filet);border-radius:8px;overflow:hidden}
th,td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--filet)}
th{background:var(--navy);color:#fff;font-family:"Inter";font-weight:600;font-size:.85rem}
tr:last-child td{border-bottom:0}
tbody tr:nth-child(even),table tr:nth-child(even) td{background:#faf8f4}

/* ---------- CTA / boutons ---------- */
.btn{
  display:inline-block;background:var(--bordeaux);color:#fff;font-weight:600;font-size:.95rem;
  padding:.75rem 1.4rem;border-radius:4px;border:1px solid var(--bordeaux);transition:background .15s;
}
.btn:hover{background:#561622;text-decoration:none;color:#fff}
.btn-ghost{background:transparent;color:var(--bordeaux)}
.btn-ghost:hover{background:var(--bordeaux-clair);color:var(--bordeaux)}
.cta-block{background:var(--navy);color:#e9ecf2;border-radius:10px;padding:2rem;margin:2.4rem 0;text-align:center}
.cta-block h3{color:#fff;margin-top:0}
.cta-block p{color:#c7cdda}

/* ---------- Puces custom ---------- */
.checklist{list-style:none;margin-left:0}
.checklist li{position:relative;padding-left:1.6rem}
.checklist li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;background:var(--bordeaux);border-radius:2px;transform:rotate(45deg)}

/* ---------- Sources / notes ---------- */
.sources{font-size:.85rem;color:var(--gris);border-top:1px solid var(--filet);padding-top:1.2rem;margin-top:2rem}
.sources a{color:var(--gris);text-decoration:underline}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:#aeb5c6;margin-top:3rem;padding:2.6rem 0 2rem;font-size:.9rem}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}
.site-footer .brand{color:#fff;font-size:1.25rem}
.site-footer a{color:#cdd3e0}
.site-footer a:hover{color:#fff}
.site-footer .col h4{color:#fff;font-family:"Inter";font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.7rem}
.site-footer ul{list-style:none;margin:0}
.site-footer li{margin:.3rem 0}
.site-footer .legal{width:100%;border-top:1px solid #2b344f;margin-top:1.6rem;padding-top:1.2rem;color:#7f89a3;font-size:.82rem}

/* ---------- Persona box ---------- */
.persona{display:flex;gap:1.4rem;align-items:flex-start;background:var(--blanc);border:1px solid var(--filet);border-radius:10px;padding:1.5rem;margin:1.8rem 0;box-shadow:var(--ombre)}
.persona img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--filet)}
.persona .role{color:var(--bordeaux);font-weight:600;font-size:.9rem}

/* ---------- Forms ---------- */
.form-field{margin-bottom:1.1rem}
label{display:block;font-weight:600;color:var(--navy);font-size:.9rem;margin-bottom:.35rem}
input,textarea{width:100%;padding:.7rem .8rem;border:1px solid var(--filet);border-radius:6px;font:inherit;background:#fff;color:var(--ardoise)}
input:focus,textarea:focus{outline:2px solid var(--bordeaux);border-color:var(--bordeaux)}

/* ---------- Hero home avec visuel ---------- */
.hero-split{display:grid;grid-template-columns:1.05fr .95fr;gap:2.4rem;align-items:center}
.hero-split .hero-media{margin:0}
.hero-media img{border-radius:12px;box-shadow:var(--ombre);border:1px solid var(--filet);width:100%;object-fit:cover}
figure{margin:0}
figcaption{font-size:.82rem;color:var(--gris);margin-top:.5rem;font-style:italic}

/* ---------- Vignette de carte ---------- */
.card-media{margin:-1.5rem -1.5rem 1.1rem;border-radius:8px 8px 0 0;overflow:hidden;border-bottom:1px solid var(--filet)}
.card-media img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.card.featured{padding:0;overflow:hidden}
.card.featured .card-media{margin:0;border-radius:0}
.card.featured .card-body{padding:1.6rem}

/* ---------- Cover d'article ---------- */
.cover{margin:1.6rem 0 2rem}
.cover img{border-radius:12px;border:1px solid var(--filet);box-shadow:var(--ombre);width:100%;aspect-ratio:16/9;object-fit:cover}
.cover figcaption{text-align:right}

/* ---------- Image inline dans article ---------- */
figure.inline{margin:2rem 0}
figure.inline img{border-radius:10px;border:1px solid var(--filet);box-shadow:var(--ombre)}

/* ---------- Fil d'ariane ---------- */
.breadcrumb{font-size:.82rem;color:var(--gris);margin-bottom:1rem}
.breadcrumb a{color:var(--gris);text-decoration:none}
.breadcrumb a:hover{color:var(--bordeaux);text-decoration:underline}
.breadcrumb span{margin:0 .4rem;color:#bcae9c}

/* ---------- Chips / topics ---------- */
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0}
.chip{display:inline-block;background:var(--bordeaux-clair);color:var(--bordeaux);font-size:.85rem;font-weight:600;padding:.35rem .9rem;border-radius:999px;border:1px solid #e9d6da}
.chip:hover{background:var(--bordeaux);color:#fff;text-decoration:none}

/* ---------- Bloc statistiques ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.2rem;margin:2rem 0}
.stat{background:var(--blanc);border:1px solid var(--filet);border-radius:10px;padding:1.3rem;text-align:center;box-shadow:var(--ombre)}
.stat .num{font-family:"Fraunces",serif;font-size:2rem;font-weight:700;color:var(--bordeaux);line-height:1}
.stat .lab{font-size:.85rem;color:var(--gris);margin-top:.4rem}

/* ---------- Sommaire ---------- */
.toc{background:var(--blanc);border:1px solid var(--filet);border-left:3px solid var(--navy);border-radius:0 8px 8px 0;padding:1.1rem 1.4rem;margin:1.8rem 0}
.toc .label{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;color:var(--navy);margin-bottom:.6rem}
.toc ul{list-style:none;margin:0;columns:2;column-gap:1.6rem}
.toc li{margin:.3rem 0;font-size:.92rem}

/* ---------- FAQ ---------- */
.faq{margin:2rem 0}
.faq details{background:var(--blanc);border:1px solid var(--filet);border-radius:8px;margin-bottom:.7rem;padding:0 1.2rem;box-shadow:var(--ombre)}
.faq summary{cursor:pointer;font-family:"Fraunces",serif;font-weight:600;color:var(--navy);font-size:1.08rem;padding:1rem 0;list-style:none;position:relative;padding-right:1.6rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:0;top:.9rem;font-size:1.4rem;color:var(--bordeaux);font-family:"Inter"}
.faq details[open] summary:after{content:"–"}
.faq details[open] summary{border-bottom:1px solid var(--filet)}
.faq details p{padding:0 0 1rem;margin:.8rem 0 0}
.faq details p:first-of-type{margin-top:.8rem}

/* ---------- Encadré expert / citation ---------- */
.expert{display:flex;gap:1rem;align-items:flex-start;background:#fbf5ee;border:1px solid var(--filet);border-radius:10px;padding:1.3rem 1.4rem;margin:2rem 0}
.expert img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--filet)}
.expert .q{font-family:"Fraunces",serif;font-style:italic;font-size:1.1rem;color:var(--navy);line-height:1.5;margin:0 0 .5rem}
.expert .who{font-size:.85rem;color:var(--gris)}

/* ---------- Responsive ---------- */
@media(max-width:720px){
  .nav{position:fixed;inset:70px 0 auto 0;background:var(--papier);border-bottom:1px solid var(--filet);flex-direction:column;gap:0;padding:.5rem 1.4rem 1rem;display:none}
  .nav.open{display:flex}
  .nav a{padding:.7rem 0;border-bottom:1px solid var(--filet);width:100%}
  .nav-toggle{display:block}
  .site-footer .wrap{flex-direction:column;gap:1.4rem}
  .persona{flex-direction:column;align-items:center;text-align:center}
  .hero-split{grid-template-columns:1fr;gap:1.6rem}
  .hero-split .hero-media{order:-1}
  .toc ul{columns:1}
  .expert{flex-direction:column}
}
