/* ═══ Powalia — Bien démarrer avec Powalia · thème premium, mobile-first ═══
   Palette : aubergine profond, doré champagne, ivoire, noir. Aucune dépendance. */
:root{
  --aubergine:#2A0E24;      /* fond profond */
  --aubergine-2:#3B1533;    /* cartes */
  --aubergine-3:#4A1B41;    /* surbrillance */
  --or:#E3C268;             /* doré champagne */
  --or-soft:#C9A84C;
  --ivoire:#F4ECDD;         /* texte principal */
  --ivoire-2:#D9CFBE;       /* texte secondaire */
  --noir:#160610;           /* fond le plus sombre */
  --trait:rgba(227,194,104,.20);
  --ombre:0 10px 30px rgba(0,0,0,.35);
  --r:16px;
  --maxw:640px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ivoire);
  background:radial-gradient(120% 80% at 50% 0%, #3B1533 0%, var(--aubergine) 45%, var(--noir) 100%);
  background-attachment:fixed;
  line-height:1.55;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px 120px}
.serif{font-family:"Georgia","Times New Roman",serif}

/* Liens : doré/champagne par défaut (jamais le bleu du navigateur), y compris visités.
   Les boutons (.btn-*) et cartes (.card) gardent leurs couleurs propres, définies plus bas. */
a{color:var(--or);text-decoration:none}
a:visited{color:var(--or-soft)}
a:hover{color:var(--or)}

/* ── En-tête / progression ─────────────────────────────────────────────── */
.topbar{
  position:sticky;top:0;z-index:20;
  background:linear-gradient(180deg, rgba(22,6,16,.96) 0%, rgba(22,6,16,.82) 100%);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--trait);
}
.topbar .wrap{padding-top:12px;padding-bottom:12px;padding-bottom:10px}
.brandline{display:flex;align-items:center;justify-content:space-between;gap:10px}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.brand-logo{height:20px;width:auto;max-width:150px;display:block}
.brand small{display:block;font-weight:600;letter-spacing:1px;font-size:10px;color:var(--ivoire-2);text-transform:uppercase}
.progress-label{font-size:12px;color:var(--ivoire-2);white-space:nowrap}
.bar{height:6px;border-radius:99px;background:rgba(255,255,255,.10);overflow:hidden;margin-top:10px}
.bar>span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--or-soft),var(--or));transition:width .35s ease}

/* ── Boutons ───────────────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;font-size:15px;line-height:1.2;text-align:center;
  padding:14px 20px;border-radius:12px;border:1px solid transparent;cursor:pointer;
  text-decoration:none;transition:transform .08s ease, background .2s ease;
}
.btn:active{transform:scale(.98)}
.btn-or{background:linear-gradient(180deg,var(--or),var(--or-soft));color:#2A0E24;box-shadow:var(--ombre)}
.btn-ghost{background:rgba(255,255,255,.04);color:var(--ivoire);border-color:var(--trait)}
.btn-block{display:flex;width:100%}

/* ── Accueil (hero) ────────────────────────────────────────────────────── */
.hero{padding:34px 0 8px;text-align:center}
.hero-logo{display:block;width:78%;max-width:300px;height:auto;margin:0 auto 22px;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.45))}
.hero h1{font-size:30px;line-height:1.2;margin:16px 0 10px;font-weight:800}
.hero h1 .accent{color:var(--or)}
.hero p{color:var(--ivoire-2);font-size:16px;max-width:34ch;margin:0 auto 22px}
.hero .btn{margin-top:6px}
.hero-note{margin-top:14px;font-size:12.5px;color:var(--ivoire-2);opacity:.85}

/* ── Recherche ─────────────────────────────────────────────────────────── */
.search{position:relative;margin:22px 0 6px}
.search input{
  width:100%;padding:13px 14px 13px 40px;border-radius:12px;
  background:rgba(0,0,0,.28);border:1px solid var(--trait);color:var(--ivoire);
  font-size:15px;outline:none;
}
.search input::placeholder{color:rgba(217,207,190,.6)}
.search .ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);opacity:.7}
.search input:focus{border-color:var(--or-soft)}

/* ── Sommaire ──────────────────────────────────────────────────────────── */
.section-title{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--or);opacity:.85;margin:26px 4px 12px;font-weight:700}
.group-title{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--ivoire-2);margin:20px 4px 10px;font-weight:700;opacity:.8}
.toc{display:flex;flex-direction:column;gap:10px}
.card{
  display:flex;align-items:center;gap:14px;width:100%;text-align:left;cursor:pointer;
  background:linear-gradient(180deg,var(--aubergine-2),rgba(59,21,51,.55));
  border:1px solid var(--trait);border-radius:var(--r);padding:14px;
  transition:transform .08s ease, border-color .2s ease;
}
.card:active{transform:scale(.99)}
.card:hover{border-color:var(--or-soft)}
.card .num{flex:0 0 auto;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  font-size:12.5px;font-weight:800;color:var(--or);background:rgba(227,194,104,.12);border:1px solid var(--trait)}
.card .emoji{flex:0 0 auto;font-size:24px}
.card .txt{flex:1 1 auto;min-width:0}
.card .txt h3{font-size:15.5px;font-weight:700;margin-bottom:2px}
.card .txt p{font-size:13px;color:var(--ivoire-2);margin:0}
.card .chev{flex:0 0 auto;color:var(--or);opacity:.6;font-size:18px}
.empty{color:var(--ivoire-2);text-align:center;padding:30px 10px;font-size:15px}

/* ── Leçon ─────────────────────────────────────────────────────────────── */
.lesson-head{padding:26px 0 4px;text-align:center}
.lesson-head .emoji{font-size:46px;line-height:1;filter:drop-shadow(0 6px 16px rgba(0,0,0,.4))}
.lesson-head .kicker{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--or);margin-top:12px}
.lesson-head h2{font-size:24px;font-weight:800;margin-top:6px;line-height:1.25}
.block{
  background:linear-gradient(180deg,var(--aubergine-2),rgba(59,21,51,.5));
  border:1px solid var(--trait);border-radius:var(--r);padding:16px 16px 17px;margin-top:14px;
}
.block h4{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--or);margin-bottom:10px;font-weight:800}
.block p{font-size:15px;color:var(--ivoire);white-space:pre-line}
.steps{list-style:none;counter-reset:s;display:flex;flex-direction:column;gap:10px}
.steps li{position:relative;padding-left:38px;font-size:15px;min-height:26px;display:flex;align-items:center}
.steps li::before{
  counter-increment:s;content:counter(s);position:absolute;left:0;top:0;
  width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  font-size:12.5px;font-weight:800;color:#2A0E24;background:linear-gradient(180deg,var(--or),var(--or-soft));
}
.block.astuce{background:linear-gradient(180deg,rgba(227,194,104,.14),rgba(227,194,104,.05));border-color:var(--or-soft)}
.block.astuce h4{color:var(--or)}
.block.savoir{background:rgba(0,0,0,.24);border-style:dashed}
.block.savoir h4{color:var(--ivoire-2)}

/* Cartes de récompenses (leçon Powas) */
.rewards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.reward{
  background:rgba(0,0,0,.22);border:1px solid var(--trait);border-radius:12px;padding:12px;text-align:center;
}
.reward .val{font-size:18px;font-weight:800;color:var(--or)}
.reward .lbl{font-size:12.5px;color:var(--ivoire-2);margin-top:3px;line-height:1.35}

/* Emplacements de captures */
.captures{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.capture{
  border:1.5px dashed var(--or-soft);border-radius:14px;padding:16px 14px;text-align:center;
  background:repeating-linear-gradient(135deg,rgba(227,194,104,.05) 0 12px,transparent 12px 24px);
}
.capture .frame{font-size:26px}
.capture .cap-title{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--or);margin:6px 0 4px;font-weight:800}
.capture .cap-desc{font-size:13.5px;color:var(--ivoire-2)}

/* Captures réelles */
.shot{margin:0;text-align:center}
.shot img{
  display:block;width:100%;max-width:360px;height:auto;margin:0 auto;
  border:1px solid var(--trait);border-radius:14px;background:var(--noir);
  box-shadow:var(--ombre);cursor:zoom-in;
}
.shot figcaption{margin-top:8px;font-size:12.5px;color:var(--ivoire-2);font-style:italic}

/* Lightbox (agrandissement) */
.lightbox{
  position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;
  background:rgba(11,3,8,.92);padding:22px;backdrop-filter:blur(3px);
}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:86vh;border-radius:14px;border:1px solid var(--or-soft);box-shadow:var(--ombre)}
.lb-close{
  position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;
  border:1px solid var(--trait);background:rgba(255,255,255,.06);color:var(--or);font-size:18px;cursor:pointer;
}

.lesson-cta{margin-top:18px}

/* ── Navigation bas (permanente) ───────────────────────────────────────── */
.navbar{
  position:fixed;left:0;right:0;bottom:0;z-index:30;
  background:linear-gradient(0deg, rgba(22,6,16,.98) 0%, rgba(22,6,16,.9) 100%);
  border-top:1px solid var(--trait);backdrop-filter:blur(8px);
}
.navbar .wrap{padding:10px 18px;display:flex;gap:8px;align-items:center}
.navbar button{
  flex:1 1 0;min-width:0;padding:12px 8px;border-radius:11px;border:1px solid var(--trait);
  background:rgba(255,255,255,.04);color:var(--ivoire);font-weight:700;font-size:13.5px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.navbar button:disabled{opacity:.35;cursor:default}
.navbar button.center{flex:0 0 auto;background:rgba(227,194,104,.12);border-color:var(--or-soft);color:var(--or)}
.navbar button:active:not(:disabled){transform:scale(.98)}

/* ── Pied ──────────────────────────────────────────────────────────────── */
.footer{text-align:center;color:var(--ivoire-2);font-size:12px;opacity:.7;margin-top:34px;padding-top:18px;border-top:1px solid var(--trait)}

/* ── Vues ──────────────────────────────────────────────────────────────── */
.view{display:none;animation:fade .25s ease}
.view.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── Responsive : mobile-first (base = 320). Ajustements pour plus large. ── */
@media (max-width:360px){
  .wrap{padding-left:14px;padding-right:14px}
  .hero h1{font-size:26px}
  .lesson-head h2{font-size:21px}
  .navbar button{font-size:12.5px;padding:11px 6px}
  .rewards{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
}
@media (min-width:520px){
  .hero h1{font-size:34px}
  .rewards{grid-template-columns:repeat(3,1fr)}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}
