.akhlaq-page{
  background:var(--cream);--akh:#CF7F91;--akh-dark:#B5546B;
  /* Category palette — reuses the same family-of-colours as the homepage
     subject cards (.subject.green/.peach/.purple/.blue/.gold/.pink/.teal)
     so every chapter's colour already "belongs" to the site. */
  --cat-foundations:#C77F1F; --cat-foundations-bg:#FBF0DC;
  --cat-honesty:#6E93B7;     --cat-honesty-bg:#E4EEF5;
  --cat-family:#E2946B;      --cat-family-bg:#FBE7DA;
  --cat-community:#6E9C7D;   --cat-community-bg:#E4F0E7;
  --cat-inner-strength:#8E7FBF; --cat-inner-strength-bg:#EAE5F5;
  --cat-speech:#5FA3A0;      --cat-speech-bg:#E1EEEE;
  --cat-mercy:#CF7F91;       --cat-mercy-bg:#F7E3E8;
  --cat-daily-life:#A9793F;  --cat-daily-life-bg:#F3E7D3;
  --cat-review:#1F3A5C;      --cat-review-bg:#E7ECF2;
}

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

.akhlaq-progress-wrap{max-width:480px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.4rem;}
.akhlaq-progress-wrap b{color:var(--night);font-family:'Fraunces',serif;}
.akhlaq-bar{position:relative;height:10px;border-radius:99px;background:var(--line);overflow:visible;margin-top:1rem;}
.akhlaq-bar-track{position:absolute;inset:0;border-radius:99px;overflow:hidden;}
.akhlaq-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold) 0%,var(--akh) 100%);border-radius:99px;transition:width .5s cubic-bezier(.4,1.4,.6,1);}
.akhlaq-bar-moon{
  position:absolute;top:50%;width:26px;height:26px;transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;font-size:1rem;
  background:var(--paper);border:2px solid var(--gold-dark);border-radius:50%;color:var(--gold-dark);
  transition:left .5s cubic-bezier(.4,1.4,.6,1);box-shadow:0 2px 6px rgba(31,58,92,.25);
}

/* ---------- Category filter pills ---------- */
.akhlaq-filters{max-width:1200px;margin:1.6rem auto 0;padding:0 6vw;display:flex;gap:.55rem;flex-wrap:wrap;justify-content:center;}
.akhlaq-filter-pill{
  background:var(--paper);border:1.5px solid var(--line);border-radius:999px;
  padding:.45rem 1rem;font-weight:700;font-size:.82rem;color:var(--ink-soft);
  display:inline-flex;align-items:center;gap:.4rem;transition:.15s;font-family:inherit;cursor:pointer;
}
.akhlaq-filter-pill .dot{width:9px;height:9px;border-radius:50%;background:var(--dot,var(--night));}
.akhlaq-filter-pill:hover{border-color:var(--dot,var(--night));transform:translateY(-1px);}
.akhlaq-filter-pill.active{background:var(--dot,var(--night));border-color:var(--dot,var(--night));color:#fff;}
.akhlaq-filter-pill.active .dot{background:#fff;}

/* ---------- Chapter grid ---------- */
.akhlaq-grid{max-width:1200px;margin:0 auto;padding:2rem 6vw 5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.1rem;}
.akh-card{
  position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.5rem 1.2rem 1.3rem;text-align:center;cursor:pointer;font-family:inherit;
  transition:transform .18s cubic-bezier(.3,1.5,.5,1), box-shadow .18s ease, border-color .18s ease;
  --dot:var(--night);
}
.akh-card:hover{border-color:var(--dot);transform:translateY(-4px) rotate(-.4deg);box-shadow:0 12px 22px rgba(31,58,92,.1);}
.akh-card:active{transform:translateY(-1px) scale(.98);}
.akh-icon{
  display:flex;align-items:center;justify-content:center;width:62px;height:62px;margin:0 auto .8rem;
  font-size:1.7rem;color:var(--dot);background:var(--dot-bg,#FBF0F2);border-radius:50%;
  border:2.5px solid var(--paper);box-shadow:0 3px 0 var(--dot),0 4px 8px rgba(31,58,92,.12);
  transition:transform .18s cubic-bezier(.3,1.5,.5,1);
}
.akh-card:hover .akh-icon{transform:scale(1.08) rotate(4deg);}
.akh-category{display:block;font-size:.72rem;font-weight:700;letter-spacing:.03em;color:var(--dot);text-transform:uppercase;margin-bottom:.3rem;}
.akh-title{display:block;font-family:'Fraunces',serif;color:var(--night);font-size:1.05rem;line-height:1.3;}
.akh-check{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;background:var(--green);color:#fff;font-size:.8rem;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.4) rotate(-20deg);transition:.2s cubic-bezier(.3,1.6,.5,1);box-shadow:0 2px 6px rgba(47,91,62,.4);}
.akh-card.read .akh-check{opacity:1;transform:scale(1) rotate(0);}
.akh-card.filtered-out{display:none;}

/* Category colour classes — generic and inheritable, so one class on any
   wrapping element (card, pill, or the chapter-content wrapper) colours
   every --dot-based child inside it, however deep. */
.cat-foundations{--dot:var(--cat-foundations);--dot-bg:var(--cat-foundations-bg);}
.cat-honesty{--dot:var(--cat-honesty);--dot-bg:var(--cat-honesty-bg);}
.cat-family{--dot:var(--cat-family);--dot-bg:var(--cat-family-bg);}
.cat-community{--dot:var(--cat-community);--dot-bg:var(--cat-community-bg);}
.cat-inner-strength{--dot:var(--cat-inner-strength);--dot-bg:var(--cat-inner-strength-bg);}
.cat-speech{--dot:var(--cat-speech);--dot-bg:var(--cat-speech-bg);}
.cat-mercy{--dot:var(--cat-mercy);--dot-bg:var(--cat-mercy-bg);}
.cat-daily-life{--dot:var(--cat-daily-life);--dot-bg:var(--cat-daily-life-bg);}
.cat-review{--dot:var(--cat-review);--dot-bg:var(--cat-review-bg);}

/* ---------- Chapter detail (shared pattern with Seerah / Aqeedah / Hadith) ---------- */
.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;--dot:var(--akh-dark);--dot-bg:#FBF0F2;}
.chapter-icon{
  display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin:0 auto .6rem;
  font-size:2.8rem;color:var(--dot);background:var(--dot-bg);border-radius:50%;
  border:3px solid var(--paper);box-shadow:0 4px 0 var(--dot),0 6px 14px rgba(31,58,92,.14);
}
.chapter-year{display:block;color:var(--dot);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(--akh);}
.chapter-listen.listening{background:var(--akh);border-color:var(--akh-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;}

/* ---------- Glossary terms — tap a highlighted word to see its meaning ---------- */
.glossary-term{
  color:var(--night);font-weight:700;cursor:pointer;border-radius:4px;padding:.02em .1em;
  background:linear-gradient(transparent 65%, var(--dot-bg,#FBF0F2) 65%);
  border-bottom:2px dotted var(--dot,var(--gold-dark));transition:background .15s ease;
}
.glossary-term:hover,.glossary-term:focus{background:var(--dot-bg,#FBF0F2);outline:none;}
.glossary-tooltip{
  position:absolute;transform:translate(-50%,-115%);background:var(--night);color:#fff;
  padding:.55rem .85rem;border-radius:10px;font-size:.82rem;font-weight:600;max-width:240px;
  text-align:center;line-height:1.4;box-shadow:0 10px 24px rgba(31,58,92,.3);
  opacity:0;pointer-events:none;transition:opacity .15s ease, transform .15s ease;z-index:80;
}
.glossary-tooltip::after{
  content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);
  border:6px solid transparent;border-top-color:var(--night);
}
.glossary-tooltip.visible{opacity:1;transform:translate(-50%,-125%);}

.chapter-lessons{background:var(--dot-bg,#FBF0F2);border-radius:var(--radius-sm);padding:1.3rem 1.4rem;margin-bottom:1.6rem;--dot:var(--akh-dark);}
.chapter-lessons b{color:var(--night);display:block;margin-bottom:.7rem;}
.chapter-lessons ul{margin:0;padding:0;color:var(--ink-soft);line-height:1.5;list-style:none;display:flex;flex-direction:column;gap:.6rem;}
.chapter-lessons li{display:flex;align-items:flex-start;gap:.6rem;}
.chapter-lessons li::before{
  content:"\2605";flex-shrink:0;color:var(--dot);font-size:.95rem;line-height:1.5;
}

/* ---------- Quick Check — a single question at the end of each chapter ---------- */
.chapter-check{
  background:var(--paper);border:2px dashed var(--dot,var(--akh-dark));border-radius:var(--radius-sm);
  padding:1.3rem 1.4rem;margin-bottom:1.6rem;
}
.chapter-check b{display:flex;align-items:center;gap:.5rem;color:var(--dot,var(--akh-dark));margin-bottom:.8rem;font-size:.92rem;text-transform:uppercase;letter-spacing:.02em;}
.chapter-check .quiz-q-text{margin:0 0 .8rem;font-weight:700;color:var(--night);}

/* ---------- Step-by-step infographic (for chapters with a real sequence) ---------- */
.chapter-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;margin:0 0 1.6rem;flex-wrap:wrap;}
.chapter-step{display:flex;flex-direction:column;align-items:center;text-align:center;width:150px;padding:0 .4rem;}
.chapter-step-num{
  width:44px;height:44px;border-radius:50%;background:var(--dot,var(--akh-dark));color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:1.25rem;
  margin-bottom:.6rem;box-shadow:0 3px 0 rgba(0,0,0,.15);
}
.chapter-step-label{font-size:.86rem;color:var(--ink-soft);font-weight:600;line-height:1.35;}
.chapter-step-arrow{align-self:center;color:var(--line);font-size:1.3rem;margin-top:12px;}
@media(max-width:600px){ .chapter-step-arrow{display:none;} }

/* ---------- Trio infographic (parallel ideas, not a sequence) ---------- */
.chapter-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:0 0 1.6rem;}
.chapter-trio-item{
  background:var(--dot-bg,#FBF0F2);border:1.5px solid var(--dot,var(--akh-dark));border-radius:var(--radius-sm);
  padding:1.1rem .7rem;text-align:center;
}
.chapter-trio-icon{font-size:1.5rem;color:var(--dot,var(--akh-dark));margin-bottom:.5rem;}
.chapter-trio-title{display:block;font-family:'Fraunces',serif;color:var(--night);font-size:1rem;margin-bottom:.3rem;}
.chapter-trio-tip{font-size:.8rem;color:var(--ink-soft);line-height:1.35;}
@media(max-width:600px){ .chapter-trio{grid-template-columns:1fr;} }

/* ---------- Final review quiz ---------- */
.quiz-wrap{background:var(--paper);border:1px solid var(--line);}
.quiz-score{font-weight:700;color:var(--akh-dark);margin:.2rem 0 1rem;}
.quiz-question{margin-bottom:1.3rem;}
.quiz-question:last-child{margin-bottom:0;}
.quiz-q-text{font-weight:700;color:var(--night);margin:0 0 .6rem;}
.quiz-options{display:flex;flex-direction:column;gap:.5rem;}
.quiz-option{text-align:left;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.65rem .9rem;cursor:pointer;font-family:inherit;font-size:.92rem;color:var(--ink-soft);transition:.15s;}
.quiz-option:hover:not(:disabled){border-color:var(--akh);}
.quiz-option:disabled{cursor:default;}
.quiz-option.correct{background:#CFE4D6;border-color:var(--green);color:#2F5B3E;font-weight:700;}
.quiz-option.incorrect{background:#FBE7DA;border-color:#C77F1F;color:#8A4A17;}

.dua-box{background:#FBF0F2;border-radius:var(--radius);padding:1.4rem;text-align:center;margin-bottom:1.2rem;}
.dua-label{display:block;font-weight:700;color:var(--akh-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-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;transition:transform .15s cubic-bezier(.3,1.6,.5,1);}
.chapter-prev,.chapter-next{background:var(--paper);border:1px solid var(--line);color:var(--night);}
.chapter-prev:hover,.chapter-next:hover{transform:translateY(-2px);}
.chapter-done{background:var(--green);color:#fff;box-shadow:0 3px 0 #4C7A5A;}
.chapter-done:hover{transform:translateY(-2px);}
.chapter-done:active{transform:translateY(1px);box-shadow:0 1px 0 #4C7A5A;}
.chapter-done.done{background:#CFE4D6;color:#2F5B3E;box-shadow:none;}
.chapter-done.just-marked{animation:akhPop .45s cubic-bezier(.3,1.8,.4,1);}
@keyframes akhPop{ 0%{transform:scale(1);} 40%{transform:scale(1.18) rotate(-3deg);} 100%{transform:scale(1);} }

@media(max-width:720px){
  .akhlaq-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;}
  .akh-card{padding:1.1rem .8rem 1rem;}
  .akh-icon{width:48px;height:48px;font-size:1.4rem;}
  .chapter-icon{width:72px;height:72px;font-size:2.1rem;}
  .chapter-steps{gap:.6rem .4rem;}
  .chapter-step{width:30%;}
  .akhlaq-filters{gap:.4rem;}
  .akhlaq-filter-pill{padding:.4rem .8rem;font-size:.76rem;}
}
