
/* V31 Qur'an stories library */
.q31-hero{background:linear-gradient(135deg,#0a3328 0%,#114637 100%);color:#fff;padding:64px 0 56px}
.q31-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center}
.q31-kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#e1c981;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:10px}.q31-kicker:before{content:'';width:26px;height:1px;background:currentColor}
.q31-hero h1{font-size:clamp(38px,5.2vw,68px);margin:0 0 16px}
.q31-hero p{max-width:740px;color:#e6efe7;font-size:17px;line-height:1.8;margin:0 0 18px}
.q31-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.q31-statbox{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.q31-stat{background:#ffffff12;border:1px solid #ffffff26;border-radius:16px;padding:18px}
.q31-stat strong{display:block;font-size:30px;color:#f0d792;line-height:1.2}
.q31-stat span{display:block;font-size:12px;color:#dde8de;margin-top:4px}
.q31-shell{width:min(1240px,calc(100% - 64px));margin:0 auto}
.q31-section{padding:44px 0}
.q31-notice{background:#f4efdf;border-left:3px solid #b7974d;padding:18px 20px;border-radius:10px;color:#5a573f;margin:26px 0}
.q31-notice p{margin:0;font-size:14px;line-height:1.7}
.q31-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:10px 0 24px}
.q31-filters{display:flex;gap:10px;flex-wrap:wrap}
.q31-chip{border:1px solid #c8d2c1;background:#fff;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:700;color:#214435;cursor:pointer}
.q31-chip[aria-pressed="true"],.q31-chip:hover{background:#0e4a39;color:#fff;border-color:#0e4a39}
.q31-search{display:flex;flex-direction:column;gap:6px;min-width:260px;flex:1;max-width:420px}
.q31-search label{font-size:12px;font-weight:700;color:#36574a}
.q31-search input{padding:13px 14px;border:1px solid #b9c7b2;border-radius:10px;background:#fff}
.q31-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.q31-card{background:#fff;border:1px solid #d9e0d1;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 24px rgba(15,42,26,.04)}
.q31-card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.q31-card-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;height:100%}
.q31-card-meta{display:flex;flex-wrap:wrap;gap:8px}
.q31-card-meta span{font-size:11px;padding:6px 10px;border-radius:999px;background:#eef2e7;color:#35564a;font-weight:700}
.q31-card h2,.q31-card h3{font:400 31px/1.12 Georgia,serif;letter-spacing:-.04em;margin:0;color:#17392e}
.q31-card p{margin:0;color:#53695c;font-size:14px;line-height:1.72}
.q31-card ul{margin:4px 0 0;padding-left:18px;color:#465e52;font-size:13px;line-height:1.7}
.q31-card .q31-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#0d4838;padding-top:8px}
.q31-highlight{background:#eef3e9;border:1px solid #d6dfcf;border-radius:18px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}
.q31-highlight h2{font-size:clamp(28px,3.4vw,46px);margin:0 0 12px}
.q31-highlight p{font-size:15px;color:#456055}
.q31-highlight img{width:100%;border-radius:14px;aspect-ratio:4/3;object-fit:cover}
.q31-breadcrumb{font-size:12px;color:#d8e3d8;margin-bottom:18px}
.q31-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.q31-story-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;padding:42px 0 56px}
.q31-story-hero{background:#fff;border:1px solid #dbe3d5;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(15,42,26,.04)}
.q31-story-hero img{width:100%;aspect-ratio:4/3;object-fit:cover}
.q31-story-copy{padding:22px 24px 28px}
.q31-story-copy h1{font-size:clamp(34px,4.8vw,60px);margin:0 0 12px;color:#15392d}
.q31-story-copy p{font-size:16px;color:#435a4f;line-height:1.9}
.q31-story-badges{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 14px}
.q31-story-badges span{font-size:11px;padding:7px 10px;border-radius:999px;background:#eff3e8;color:#35564a;font-weight:700}
.q31-reader{display:grid;gap:20px}
.q31-sidebar{display:grid;gap:18px;align-content:start}
.q31-box{background:#fff;border:1px solid #dbe2d5;border-radius:16px;padding:18px 18px 20px}
.q31-box h2,.q31-box h3{font-size:22px;margin:0 0 10px;color:#19392f}
.q31-box p,.q31-box li{font-size:14px;color:#4b6257;line-height:1.8}
.q31-box ul{margin:0;padding-left:18px}
.q31-audio-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.q31-button,.q31-audio-controls button,.q31-read-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 16px;border-radius:10px;border:1px solid #0d4938;background:#0d4938;color:#fff;font-size:13px;font-weight:800;cursor:pointer}
 .q31-audio-controls button.light,.q31-button.light{background:#fff;color:#173c2f;border-color:#bccab8}
.q31-inline-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.q31-inline-settings label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#35574b}
.q31-inline-settings select{padding:11px 12px;border:1px solid #b9c7b2;border-radius:10px;background:#fff}
.q31-status{font-size:13px;color:#51665a;margin-top:10px}
.q31-story-text h2{font:400 31px/1.15 Georgia,serif;letter-spacing:-.04em;color:#14392e;margin:30px 0 12px}
.q31-story-text p{font-size:16px;line-height:1.95;color:#3f564c;margin-bottom:16px}
.q31-story-text blockquote{margin:22px 0;padding:16px 18px;border-left:3px solid #b5914b;background:#faf7ee;color:#4f5a47}
.q31-story-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}
.q31-card-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.q31-mini{background:#f5f7ef;border:1px solid #d7dfd0;border-radius:14px;padding:16px}
.q31-mini h3{font-size:18px;margin:0 0 7px;color:#1b3b31}
.q31-mini p{margin:0 0 10px;font-size:13px;color:#52685c;line-height:1.7}
.q31-mini a{font-weight:800;font-size:12px;color:#0d4838}
@media(max-width:980px){.q31-hero-grid,.q31-story-layout,.q31-highlight{grid-template-columns:1fr}.q31-grid,.q31-card-row{grid-template-columns:repeat(2,minmax(0,1fr))}.q31-search{max-width:none}.q31-story-layout{padding-top:28px}.q31-sidebar{order:-1}.q31-statbox{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.q31-shell{width:min(100% - 34px,1240px)}.q31-hero{padding:46px 0 38px}.q31-grid,.q31-card-row{grid-template-columns:1fr}.q31-inline-settings,.q31-statbox{grid-template-columns:1fr 1fr}.q31-story-copy{padding:18px}.q31-story-text p{font-size:15px}.q31-highlight{padding:16px}.q31-tools{align-items:stretch}.q31-search{min-width:0}.q31-audio-controls button,.q31-button{width:100%}.q31-story-nav a{flex:1 1 100%}}

/* V32 additions */
.q31-hero .q31-subnav{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.q31-mode-switch{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 22px}
.q31-mode-pill{border:1px solid #c8d2c1;background:#fff;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:700;color:#214435;cursor:pointer}
.q31-mode-pill.active{background:#d9c07a;color:#17392e;border-color:#d9c07a}
.q31-arabic-chip{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:8px 11px;border-radius:999px;background:#f8f4ea;color:#6a5530;border:1px solid #e6d8b7;font-weight:700}
.q31-family-notes{background:#f8faf5;border:1px solid #dbe4d4;border-radius:18px;padding:22px}
.q31-family-notes h2{font-size:28px;margin:0 0 12px;color:#15392d}
.q31-family-notes p,.q31-family-notes li{font-size:15px;line-height:1.85;color:#435a4f}
.q31-family-notes ul{padding-left:18px;margin:0}
.q31-glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.q31-glossary-item{background:#fff;border:1px solid #dce4d4;border-radius:14px;padding:14px}
.q31-glossary-item strong{display:block;color:#17392e;font-size:15px}
.q31-glossary-item span{display:block;color:#596f63;font-size:13px;margin-top:6px;line-height:1.6}
.q31-count-note{font-size:13px;color:#5b6f63}
@media(max-width:720px){.q31-glossary{grid-template-columns:1fr}}
