/* ==========================================================================
   EMIT Formation — styles encapsulés sous .emit-root
   Aucun sélecteur global : rien ne peut entrer en conflit avec le thème.
   ========================================================================== */

.emit-root{
  --emit-ivory:#FAF7F2; --emit-paper:#FFFDFA; --emit-ink:#2E2A26;
  --emit-soft:#6E6459; --emit-line:#E6DED2; --emit-gold:#B08A4A;
  --emit-deep:#3A4A44; --emit-c:#B08A4A;
  background:var(--emit-ivory); color:var(--emit-ink);
  font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px; line-height:1.65; font-weight:400;
  border-radius:4px; overflow:hidden; position:relative;
}
.emit-root *{box-sizing:border-box}
.emit-root .emit-serif,
.emit-root h1.emit-h1,.emit-root h2.emit-h2,.emit-root h3.emit-h3{
  font-family:Georgia,"Times New Roman",serif; font-weight:500; margin:0;
}
.emit-loading{padding:60px 30px;text-align:center;color:var(--emit-soft);font-style:italic}

/* ---------- barre ---------- */
.emit-root .emit-bar{
  position:sticky; top:0; z-index:20; background:rgba(250,247,242,.95);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--emit-line);
  padding:15px 30px; display:flex; align-items:center; gap:18px; flex-wrap:wrap;
}
.emit-root .emit-mark{font-family:Georgia,serif;font-size:20px;letter-spacing:.05em;color:var(--emit-deep);cursor:pointer;white-space:nowrap}
.emit-root .emit-mark i{color:var(--emit-gold);font-style:normal}
.emit-root .emit-crumb{font-size:13.5px;color:var(--emit-soft)}
.emit-root .emit-crumb b{color:var(--emit-ink);font-weight:600}
.emit-root .emit-tools{margin-left:auto;display:flex;gap:10px;align-items:center}
.emit-root input.emit-s{
  border:1px solid var(--emit-line); background:var(--emit-paper); border-radius:24px;
  padding:9px 17px; font-family:inherit; font-size:14px; width:210px; color:var(--emit-ink);
  box-shadow:none; height:auto; margin:0;
}
.emit-root input.emit-s:focus{outline:none;border-color:var(--emit-gold);box-shadow:none}
.emit-root .emit-gh{
  border:1px solid var(--emit-line); background:var(--emit-paper); border-radius:24px;
  padding:9px 17px; font-family:inherit; font-size:14px; cursor:pointer;
  color:var(--emit-soft); white-space:nowrap; text-transform:none; letter-spacing:0;
}
.emit-root .emit-gh:hover{border-color:var(--emit-gold);color:var(--emit-ink);background:var(--emit-paper)}
.emit-root .emit-main{padding:0 30px 60px}

/* ---------- accueil ---------- */
.emit-root .emit-hero{padding:56px 0 40px;max-width:660px}
.emit-root .emit-hero .emit-k{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--emit-gold);margin-bottom:16px}
.emit-root .emit-hero h1{font-size:46px;line-height:1.14;margin:0 0 18px;color:var(--emit-ink)}
.emit-root .emit-hero p{font-size:18px;color:var(--emit-soft);margin:0 0 12px}
.emit-root .emit-rule{width:56px;height:1px;background:var(--emit-gold);margin:28px 0 0}
.emit-root .emit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:40px}
.emit-root .emit-fcard{
  background:var(--emit-paper); border:1px solid var(--emit-line); border-radius:3px;
  padding:28px 26px 24px; cursor:pointer; transition:.28s cubic-bezier(.4,0,.2,1);
  position:relative; overflow:hidden;
}
.emit-root .emit-fcard:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--emit-c);transition:width .28s}
.emit-root .emit-fcard:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(46,42,38,.09)}
.emit-root .emit-fcard:hover:before{width:6px}
.emit-root .emit-fcard .emit-sym{font-size:22px;color:var(--emit-c);margin-bottom:12px;display:block;line-height:1}
.emit-root .emit-fcard h3{font-family:Georgia,serif;font-size:23px;margin:0 0 8px;line-height:1.25;color:var(--emit-ink);font-weight:500}
.emit-root .emit-fcard p{font-size:14.5px;color:var(--emit-soft);margin:0 0 18px;min-height:44px}
.emit-root .emit-fcard .emit-n{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--emit-c);font-weight:600}

/* ---------- famille ---------- */
.emit-root .emit-fhead{padding:50px 0 30px;border-bottom:1px solid var(--emit-line)}
.emit-root .emit-fhead .emit-sym{font-size:30px;color:var(--emit-c);display:block;margin-bottom:12px;line-height:1}
.emit-root .emit-fhead h1{font-family:Georgia,serif;font-size:40px;margin:0 0 12px;line-height:1.16;color:var(--emit-ink);font-weight:500}
.emit-root .emit-fhead p{font-size:18px;color:var(--emit-soft);max-width:620px;margin:0}
.emit-root .emit-list{margin-top:22px}
.emit-root .emit-item{
  display:flex; align-items:baseline; gap:20px; padding:20px 20px;
  border-bottom:1px solid var(--emit-line); cursor:pointer; transition:.2s;
  border-left:2px solid transparent;
}
.emit-root .emit-item:hover{background:var(--emit-paper);border-left-color:var(--emit-c);padding-left:26px}
.emit-root .emit-item .emit-num{font-family:Georgia,serif;font-size:22px;color:var(--emit-c);min-width:42px;opacity:.75}
.emit-root .emit-item .emit-tt{flex:1}
.emit-root .emit-item .emit-tt b{display:block;font-family:Georgia,serif;font-size:21px;font-weight:500;line-height:1.3;color:var(--emit-ink)}
.emit-root .emit-item .emit-tt span{font-size:13.5px;color:var(--emit-soft)}
.emit-root .emit-item .emit-go{color:var(--emit-c);font-size:18px;opacity:0;transition:.2s}
.emit-root .emit-item:hover .emit-go{opacity:1}

/* ---------- leçon ---------- */
.emit-root .emit-lhead{padding:50px 0 26px;max-width:760px}
.emit-root .emit-lhead .emit-k{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--emit-c);margin-bottom:13px}
.emit-root .emit-lhead h1{font-family:Georgia,serif;font-size:40px;margin:0 0 13px;line-height:1.16;color:var(--emit-ink);font-weight:500}
.emit-root .emit-lhead .emit-m{font-size:14.5px;color:var(--emit-soft)}
.emit-root .emit-body{max-width:820px}
.emit-root .emit-sec{
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--emit-gold);
  margin:48px 0 14px;font-family:inherit;font-weight:600;
}
.emit-root .emit-card{background:var(--emit-paper);border:1px solid var(--emit-line);border-radius:3px;padding:24px 28px;margin:16px 0}
.emit-root .emit-card.emit-accent{border-left:3px solid var(--emit-c)}
.emit-root .emit-card.emit-sci{background:#FBF8F1;border-left:3px solid var(--emit-gold)}
.emit-root .emit-card.emit-care{background:#FBF4F2;border-left:3px solid #B5766F}
.emit-root .emit-card .emit-t{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--emit-soft);margin-bottom:12px;font-weight:600}
.emit-root .emit-card p{margin:0 0 12px;font-size:16px;color:var(--emit-ink)}
.emit-root .emit-card p:last-child{margin:0}
.emit-root table.emit-tbl{width:100%;border-collapse:collapse;font-size:15px;margin:16px 0;background:none}
.emit-root table.emit-tbl th{
  text-align:left;padding:12px 15px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--emit-soft);border-bottom:1px solid var(--emit-line);font-weight:600;background:none;
}
.emit-root table.emit-tbl td{border-bottom:1px solid var(--emit-line);padding:14px 15px;vertical-align:top;background:none}
.emit-root table.emit-tbl td b{font-weight:500;font-family:Georgia,serif;font-size:17px}
.emit-root .emit-dlg{margin:16px 0;border-top:1px solid var(--emit-line)}
.emit-root .emit-turn{padding:16px 0;border-bottom:1px solid var(--emit-line);display:flex;gap:20px}
.emit-root .emit-turn .emit-w{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--emit-c);min-width:94px;padding-top:3px;font-weight:600}
.emit-root .emit-turn .emit-x{flex:1;font-size:16.5px}
.emit-root .emit-q{font-family:Georgia,serif;font-size:20px;margin:28px 0 14px;line-height:1.4}
.emit-root button.emit-opt{
  display:block;width:100%;text-align:left;background:var(--emit-paper);
  border:1px solid var(--emit-line);border-radius:3px;padding:14px 18px;margin:0 0 9px;
  font-size:15.5px;font-family:inherit;color:var(--emit-ink);cursor:pointer;font-weight:400;
  transition:.18s;text-transform:none;letter-spacing:0;line-height:1.5;height:auto;
}
.emit-root button.emit-opt:hover{border-color:var(--emit-c);background:var(--emit-paper)}
.emit-root button.emit-opt.emit-good{border-color:#6E8B6B;background:#F4F8F3}
.emit-root button.emit-opt.emit-bad{border-color:#B5766F;background:#FBF4F2;opacity:.7}
.emit-root button.emit-opt.emit-dim{opacity:.4}
.emit-root .emit-fb{font-size:15px;color:var(--emit-soft);padding:14px 18px;background:var(--emit-paper);border-left:2px solid var(--emit-gold);margin:-3px 0 15px}
.emit-root .emit-ind{padding:16px 0;border-bottom:1px solid var(--emit-line)}
.emit-root .emit-ind .emit-x{font-size:16px;margin-bottom:9px}
.emit-root .emit-lik{display:flex;gap:8px}
.emit-root .emit-lik button{
  width:40px;height:36px;border:1px solid var(--emit-line);background:var(--emit-paper);
  border-radius:3px;font-family:inherit;font-size:14px;color:var(--emit-soft);cursor:pointer;
  padding:0;transition:.16s;line-height:1;
}
.emit-root .emit-lik button:hover{border-color:var(--emit-c)}
.emit-root .emit-lik button.emit-on{background:var(--emit-c);border-color:var(--emit-c);color:#fff}
.emit-root .emit-res{margin-top:22px;padding:20px 24px;background:var(--emit-paper);border:1px solid var(--emit-line);border-radius:3px}
.emit-root .emit-res b{font-family:Georgia,serif;font-size:25px;font-weight:500}
.emit-root .emit-nav{display:flex;gap:14px;margin-top:54px;padding-top:24px;border-top:1px solid var(--emit-line)}
.emit-root .emit-nav button{
  flex:1;border:1px solid var(--emit-line);background:var(--emit-paper);border-radius:3px;
  padding:16px;font-family:Georgia,serif;font-size:17px;cursor:pointer;color:var(--emit-ink);
  transition:.2s;text-transform:none;letter-spacing:0;height:auto;
}
.emit-root .emit-nav button:hover:not(:disabled){border-color:var(--emit-c);color:var(--emit-c);background:var(--emit-paper)}
.emit-root .emit-nav button:disabled{opacity:.3;cursor:default}
.emit-root .emit-foot{font-size:13px;color:var(--emit-soft);margin-top:40px;font-style:italic}
.emit-root .emit-saved{font-size:12.5px;color:var(--emit-soft);margin-top:10px;font-style:italic}

@media(max-width:640px){
  .emit-root .emit-main{padding:0 18px 50px}
  .emit-root .emit-bar{padding:13px 18px;gap:12px}
  .emit-root .emit-hero{padding:34px 0 26px}
  .emit-root .emit-hero h1{font-size:32px}
  .emit-root .emit-fhead h1,.emit-root .emit-lhead h1{font-size:29px}
  .emit-root input.emit-s{width:120px}
  .emit-root .emit-crumb{display:none}
  .emit-root .emit-turn{flex-direction:column;gap:4px}
  .emit-root .emit-turn .emit-w{min-width:0}
  .emit-root .emit-grid{grid-template-columns:1fr}
}
