.hanbali-page{background:var(--cream);}

.hanbali-hero{max-width:1200px;margin:0 auto;padding:4rem 6vw 2rem;text-align:center;}
.hanbali-hero .eyebrow{font-size:.78rem;letter-spacing:.06em;font-weight:700;color:var(--gold-dark);}
.hanbali-hero h1{font-family:'Fraunces',serif;font-size:clamp(2rem,4vw,3rem);color:var(--night);margin:.5rem 0;}
.hanbali-hero h1 span{color:var(--gold-dark);}
.hanbali-hero p{font-size:1.05rem;color:var(--ink-soft);max-width:680px;margin:0 auto 1.4rem;}

.hanbali-progress-wrap{max-width:480px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.4rem;}
.hanbali-progress-wrap b{color:var(--night);font-family:'Fraunces',serif;}
.hanbali-bar{height:10px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:.6rem;}
.hanbali-bar i{display:block;height:100%;background:var(--gold);border-radius:99px;transition:width .4s;}

/* ---------- Chapter grid ---------- */
.hanbali-grid{max-width:1200px;margin:0 auto;padding:2.5rem 6vw 5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.1rem;}
.hb-card{
  position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.4rem 1.2rem 1.2rem;text-align:center;cursor:pointer;font-family:inherit;transition:.15s;
}
.hb-card:hover{border-color:var(--gold);transform:translateY(-2px);}
.hb-icon{display:block;width:60px;height:60px;margin:0 auto .7rem;}
.hb-icon svg{display:block;width:100%;height:100%;}
.hb-pillar{display:block;font-size:.72rem;font-weight:700;letter-spacing:.03em;color:var(--gold-dark);text-transform:uppercase;margin-bottom:.3rem;}
.hb-title{display:block;font-family:'Fraunces',serif;color:var(--night);font-size:1.05rem;line-height:1.3;}
.hb-check{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:.8rem;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.6);transition:.15s;}
.hb-card.read .hb-check{opacity:1;transform:scale(1);}

/* ---------- Chapter detail (shared pattern with Seerah/Aqeedah/History) ---------- */
.chapter-view{max-width:760px;margin:0 auto;padding:2rem 6vw 5rem;}
.chapter-nav-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem;}
.chapter-back{background:var(--paper);border:1px solid var(--line);color:var(--night);font-weight:700;padding:.5rem 1rem;border-radius:999px;cursor:pointer;font-size:.88rem;}
.chapter-counter{color:var(--ink-soft);font-weight:700;font-size:.85rem;}

.chapter-head{text-align:center;margin-bottom:1.2rem;}
.chapter-icon{display:block;width:96px;height:96px;margin:0 auto .6rem;}
.chapter-icon svg{display:block;width:100%;height:100%;}
.chapter-year{display:block;color:var(--gold-dark);font-weight:700;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;}
.chapter-head h2{font-family:'Fraunces',serif;color:var(--night);margin:.3rem 0 0;font-size:1.8rem;}

.chapter-listen{display:inline-flex;align-items:center;gap:.4rem;background:var(--paper);border:1px solid var(--line);color:var(--night);font-weight:700;padding:.55rem 1.2rem;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.88rem;margin-top:1rem;transition:.15s;}
.chapter-listen:hover{border-color:var(--gold);}
.chapter-listen.listening{background:var(--gold);border-color:var(--gold-dark);color:#fff;}

.chapter-story{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;line-height:1.85;color:var(--ink-soft);font-size:1.02rem;margin-bottom:1.2rem;}
.chapter-story .word{border-radius:4px;transition:background .1s;}
.chapter-story .word.saying{background:#FFE993;color:var(--ink);box-shadow:0 0 0 .12em #FFE993;}

.chapter-evidence{background:var(--cream);border-left:4px solid var(--gold);border-radius:var(--radius-sm);padding:1rem 1.3rem;margin:-0.4rem 0 1.2rem;}
.chapter-evidence .ce-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:.3rem;}
.chapter-evidence p{font-style:italic;color:var(--night);font-size:1.05rem;margin:.2rem 0;line-height:1.6;}
.chapter-evidence cite{display:block;color:var(--gold-dark);font-weight:700;font-size:.85rem;font-style:normal;margin-top:.3rem;}

.creed-box{text-align:center;}
.creed-line{margin:0 0 .5rem;}
.creed-line:last-child{margin-bottom:0;font-weight:700;color:var(--night);}

.quiz-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.6rem;}
.quiz-item{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.8rem 1rem;cursor:pointer;font-family:inherit;}
.quiz-item .quiz-q{display:block;font-weight:700;color:var(--night);}
.quiz-item .quiz-a{display:block;max-height:0;overflow:hidden;color:var(--ink-soft);font-size:.92rem;margin-top:0;transition:max-height .2s,margin-top .2s;}
.quiz-item.open .quiz-a{max-height:100px;margin-top:.4rem;}
.quiz-item:hover{border-color:var(--gold);}

.dua-box{background:#FBF0DC;border-radius:var(--radius);padding:1.4rem;text-align:center;margin-bottom:1.2rem;}
.dua-label{display:block;font-weight:700;color:var(--gold-dark);font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.6rem;}
.dua-arabic{font-size:1.5rem;color:var(--night);margin:0 0 .5rem;line-height:2;}
.dua-translit{font-style:italic;color:var(--ink-soft);margin:0 0 .4rem;}
.dua-meaning{color:var(--night);font-weight:600;margin:0;}

.chapter-lessons{background:#FBF0DC;border-radius:var(--radius-sm);padding:1.2rem 1.4rem;margin-bottom:1.6rem;}
.chapter-lessons b{color:var(--night);display:block;margin-bottom:.4rem;}
.chapter-lessons ul{margin:0;padding-left:1.3rem;color:var(--ink-soft);line-height:1.7;list-style:disc;}
.chapter-lessons li{margin-bottom:.2rem;}

.chapter-actions{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;}
.chapter-actions button{border:0;border-radius:999px;padding:.7rem 1.3rem;font-weight:700;cursor:pointer;font-family:inherit;font-size:.9rem;}
.chapter-prev,.chapter-next{background:var(--paper);border:1px solid var(--line);color:var(--night);}
.chapter-done{background:var(--green);color:#fff;}
.chapter-done.done{background:#CFE4D6;color:#2F5B3E;}

/* ---------- Glossary tap/tooltip ---------- */
.glossary-term{
  border-bottom:2px dotted var(--gold-dark);
  color:var(--night);
  font-weight:700;
  cursor:pointer;
  position:relative;
  white-space:nowrap;
}
.glossary-term.open{background:#FBF0DC;border-radius:4px;}
.glossary-term.open::after{
  content:attr(data-meaning);
  position:absolute;
  left:50%;
  bottom:135%;
  transform:translateX(-50%);
  background:var(--night);
  color:#fff;
  padding:.4rem .7rem;
  border-radius:8px;
  font-size:.76rem;
  font-weight:600;
  white-space:normal;
  width:max-content;
  max-width:200px;
  text-align:center;
  line-height:1.3;
  box-shadow:0 6px 16px rgba(31,58,92,.25);
  z-index:6;
}
.glossary-term.open::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:118%;
  transform:translateX(-50%);
  border:6px solid transparent;
  border-top-color:var(--night);
  z-index:6;
}

/* ---------- Infographic components ---------- */
.chapter-infographic{margin:0 0 1.2rem;}
.info-title{font-family:'Fraunces',serif;color:var(--night);font-size:1rem;font-weight:700;margin-bottom:.6rem;}

.step-diagram{display:flex;flex-direction:column;gap:.6rem;}
.step-item{display:flex;align-items:flex-start;gap:.8rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem 1rem;}
.step-num{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--gold);color:#fff;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center;}
.step-text{color:var(--ink-soft);line-height:1.55;font-size:.95rem;}

.stat-cards{display:flex;flex-wrap:wrap;gap:.7rem;}
.stat-card{flex:1 1 120px;background:#FBF0DC;border-radius:var(--radius-sm);padding:1rem .8rem;text-align:center;}
.stat-num{display:block;font-family:'Fraunces',serif;font-size:1.7rem;color:var(--gold-dark);font-weight:800;line-height:1.1;}
.stat-label{display:block;font-size:.8rem;color:var(--ink-soft);margin-top:.3rem;}

.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.7rem;}
.category-item{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.8rem .6rem;text-align:center;}
.cat-emoji{display:block;font-size:1.5rem;margin-bottom:.3rem;}
.cat-label{display:block;font-weight:700;color:var(--night);font-size:.86rem;}
.cat-sub{display:block;font-size:.76rem;color:var(--ink-soft);margin-top:.2rem;line-height:1.3;}

/* ---------- Per-chapter quiz ---------- */
.chapter-quiz{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem;margin-bottom:1.4rem;}
.chapter-quiz > b{color:var(--night);display:block;margin-bottom:.8rem;}
.quiz-q-list{display:flex;flex-direction:column;gap:1rem;}
.quiz-q-block{border-top:1px solid var(--line);padding-top:.8rem;}
.quiz-q-block:first-child{border-top:0;padding-top:0;}
.quiz-q-text{font-weight:700;color:var(--night);margin:0 0 .5rem;}
.quiz-opts{display:flex;flex-direction:column;gap:.45rem;}
.quiz-opt{text-align:left;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;cursor:pointer;font-family:inherit;font-size:.9rem;color:var(--ink);transition:.15s;}
.quiz-opt:hover{border-color:var(--gold);}
.quiz-opt.selected{border-color:var(--gold-dark);background:#FBF0DC;font-weight:700;}
.quiz-opt.correct{background:#E1F0E4;border-color:var(--green);color:#2F5B3E;font-weight:700;}
.quiz-opt.incorrect{background:#FBE3E0;border-color:#C0392B;color:#8B2E22;}
.quiz-opt:disabled{cursor:default;}
.quiz-explain{font-size:.85rem;color:var(--ink-soft);margin:.5rem 0 0;font-style:italic;}
.quiz-submit{margin-top:1rem;border:0;border-radius:999px;background:var(--night);color:#fff;font-weight:700;padding:.65rem 1.3rem;cursor:pointer;font-family:inherit;font-size:.9rem;}
.quiz-submit:hover{background:var(--night-2);}
.quiz-result{margin-top:1rem;background:#FBF0DC;border-radius:var(--radius-sm);padding:.9rem 1.1rem;font-weight:600;color:var(--night);}
.quiz-retry{margin-left:.5rem;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:.35rem .9rem;cursor:pointer;font-family:inherit;font-weight:700;font-size:.82rem;color:var(--night);}

@media(max-width:720px){
  .hanbali-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;}
  .hb-card{padding:1.1rem .8rem 1rem;}
  .hb-icon{width:48px;height:48px;}
  .chapter-icon{width:72px;height:72px;}
}
