:root {
    --site-bg: #faf9f6;
    --site-cream: #ffffff;
    --site-ink: #123030;
    --site-muted: #687471;
    --site-teal: #004f50;
    --site-teal-deep: #003a3c;
    --site-teal-soft: #087271;
    --site-gold: #c59a45;
    --site-border: #e3e7e2;
    --site-shadow: 0 8px 24px rgba(21, 35, 31, 0.035);
    --site-accent: #087271;
}

* {
    letter-spacing: 0;
}

html {
    scroll-behavior: auto !important;
}

body.site-body {
    min-height: 100vh;
    color: var(--site-ink);
    background: var(--site-bg);
    font-family: Georgia, "Times New Roman", serif;
}

.site-body input,
.site-body select,
.site-body button,
.site-body .navbar,
.site-body .quick-card p,
.site-body .book-card p,
.site-body .book-card__meta,
.site-body .site-footer p,
.site-body .site-footer a,
.site-body .site-newsletter input {
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a {
    color: inherit;
}

.site-header {
    position: relative;
    z-index: 20;
    color: var(--site-ink);
    background: var(--site-bg);
    border-bottom: 1px solid var(--site-border);
}

.site-header .navbar {
    --bs-navbar-color: #66736e;
    --bs-navbar-hover-color: #155c4d;
    --bs-navbar-active-color: #155c4d;
    --bs-navbar-brand-color: #173e34;
    --bs-navbar-brand-hover-color: #155c4d;
    padding: 1.15rem 0;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    color: inherit;
    text-decoration: none;
    font-size: 1.35rem;
    font-weight: 500;
    white-space: nowrap;
}

.site-brand__mark {
    width: 2.6rem;
    height: 2.6rem;
    display: inline-grid;
    place-items: center;
    color: #a58748;
    border: 1px solid #c4b68e;
    border-radius: 12px;
}

.site-header .navbar-nav {
    gap: 1.25rem;
}

.site-header .nav-link {
    position: relative;
    padding: 0.4rem 0;
    font-size: 0.95rem;
}

.site-header .nav-link.active::after,
.site-header .nav-link:hover::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: var(--site-gold);
}

.site-nav-search .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.site-hero {
    position: relative;
    padding: 4.5rem 0 3.5rem;
    color: #fff8ec;
    background: #063b35 url("/app/public/images/islami-kaynak-hero-wide.webp") center / cover;
    overflow: hidden;
}

.site-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(3, 40, 36, .96), rgba(3, 40, 36, .78) 42%, rgba(3, 40, 36, .08));
}

.site-hero__inner {
    position: relative;
    z-index: 2;
}

.site-hero__content {
    max-width: 43rem;
}

.site-hero h1 {
    margin: 1.2rem 0;
    font-size: clamp(2.5rem, 4.4vw, 4rem);
    line-height: 1.12;
    font-weight: 400;
    letter-spacing: -.035em;
}

.site-hero p {
    margin: 1.25rem 0 0;
    color: #c5d4cc;
    font-family: system-ui, sans-serif;
    font-size: .98rem;
    line-height: 1.85;
}

.site-ornament {
    width: 14rem;
    height: 1.55rem;
    margin-top: 1.2rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.18rem;
}

.site-ornament::before,
.site-ornament::after {
    content: "";
    width: 5.5rem;
    height: 1px;
    background: var(--site-gold);
}

.site-ornament span {
    width: 0.42rem;
    height: 0.42rem;
    flex: 0 0 auto;
    border: 1px solid var(--site-gold);
    transform: rotate(45deg);
}

.site-ornament span:nth-child(2) {
    width: 0.62rem;
    height: 0.62rem;
}

.site-ornament--small {
    width: 6rem;
    height: 1rem;
    margin-top: 0.6rem;
}

.site-ornament--small::before,
.site-ornament--small::after {
    width: 2.25rem;
}

.site-hero__stars span {
    position: absolute;
    z-index: 1;
    width: 0.22rem;
    height: 0.22rem;
    background: #f0cf82;
    box-shadow: 0 0 0 1px rgba(240, 207, 130, 0.25);
    transform: rotate(45deg);
}

.site-hero__stars span:nth-child(1) { top: 18%; left: 43%; }
.site-hero__stars span:nth-child(2) { top: 24%; left: 68%; }
.site-hero__stars span:nth-child(3) { top: 34%; left: 61%; }
.site-hero__stars span:nth-child(4) { top: 16%; right: 12%; }
.site-hero__stars span:nth-child(5) { top: 38%; right: 18%; }
.site-hero__stars span:nth-child(6) { top: 28%; right: 31%; }

.site-search {
    width: min(100%, 43rem);
    min-height: 4rem;
    display: grid;
    grid-template-columns: 1fr 7rem 3.4rem;
    align-items: stretch;
    margin-top: 2rem;
    padding: .35rem;
    border: 1px solid #fff;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 12px 32px #001e2426;
}

.site-search input,
.site-search select,
.site-search button {
    border: 0;
}

.site-search input {
    min-width: 0;
    padding: 0 1.6rem;
    color: var(--site-ink);
    font-size: 1rem;
    background: transparent;
}

.site-search select {
    color: #76716a;
    padding: 0 1.2rem;
    background: #fffaf5;
    border-left: 1px solid rgba(18, 48, 48, 0.08);
}

.site-search button {
    display: grid;
    place-items: center;
    color: #fff;
    background: #216554;
    border-radius: 7px;
    font-size: 1.2rem;
}

.quick-access {
    padding: 3.8rem 0;
    background: var(--site-bg);
}

.quick-access__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.quick-card {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1.65rem;
    border: 1px solid var(--site-border);
    border-radius: 12px;
    background: #fff;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.quick-card__icon {
    width: 3rem;
    height: 3rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #2c6654;
    background: #edf3ed;
    font-size: 1.35rem;
}

.quick-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.quick-card__icon--symbol {
    color: #92703f;
    background: #f6f0e5;
}

.quick-card h2 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 400;
    line-height: 1.2;
}

.quick-card__title-link {
    color: inherit;
    text-decoration: none;
}

.quick-card__title-link:hover,
.quick-card__title-link:focus-visible {
    color: var(--site-teal-soft);
}

.quick-card p {
    min-height: 2.9rem;
    margin: .75rem 0 1.2rem;
    color: var(--site-muted);
    font-size: .83rem;
    line-height: 1.65;
}

.quick-card__action,
.section-heading__link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: #216554;
    text-decoration: none;
    font: 600 .85rem/1.5 system-ui, sans-serif;
}

.library-section {
    padding: 3.5rem 0;
    border-top: 1px solid var(--site-border);
    background: #f0f3ed;
}

.section-heading {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.8rem;
}

.section-heading h2,
.topics-strip h2 {
    margin: 0;
    font-size: 1.7rem;
}

.section-heading__link {
    padding: .7rem 0;
    border-bottom: 1px solid #9caea0;
    white-space: nowrap;
}

.book-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.85rem;
}

.book-card {
    min-width: 0;
    padding: 1.5rem .75rem 1.15rem;
    border: 1px solid #dfe5db;
    border-radius: 10px;
    background: #fafbf8;
    text-align: center;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.book-cover {
    width: min(7.55rem, 100%);
    aspect-ratio: 320 / 520;
    display: block;
    margin: 0 auto 0.8rem;
    border-radius: 5px;
    background-image: url("/app/public/images/hadith-book-covers-sprite.webp");
    background-repeat: no-repeat;
    background-size: 900% 100%;
    filter: drop-shadow(0 12px 12px rgba(0, 45, 41, 0.22));
    text-decoration: none;
}

.book-cover--buhari { background-position: 0 0; }
.book-cover--muslim { background-position: 12.5% 0; }
.book-cover--ebudavud { background-position: 25% 0; }
.book-cover--tirmizi { background-position: 37.5% 0; }
.book-cover--nasai { background-position: 50% 0; }
.book-cover--ibnmace { background-position: 62.5% 0; }
.book-cover--malik { background-position: 75% 0; }
.book-cover--riyazussalihin { background-position: 87.5% 0; }
.book-cover--nevevi40 { background-position: 100% 0; }

.book-card h3 {
    min-height: 2.1rem;
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.2;
}

.book-card p {
    margin: 0.35rem 0 0.85rem;
    color: var(--site-muted);
    font-size: 0.8rem;
}

.book-card__meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding-top: 0.6rem;
    color: #465451;
    border-top: 1px solid rgba(18, 48, 48, 0.1);
    font-size: 0.76rem;
}

.topics-section {
    padding: 2rem 0;
    background: var(--site-bg);
}

.topics-strip {
    display: grid;
    grid-template-columns: 20rem 1fr;
    gap: 2rem;
    align-items: center;
    padding: 1.45rem 0;
    border-top: 1px solid rgba(18, 48, 48, 0.12);
    border-bottom: 1px solid rgba(18, 48, 48, 0.12);
}

.topics-strip p {
    margin: 0.55rem 0 0;
    color: var(--site-muted);
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.92rem;
    line-height: 1.6;
}

.topic-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-end;
}

.topic-pills a {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.8rem;
    color: var(--site-ink);
    border: 1px solid rgba(8, 114, 113, 0.22);
    border-radius: 999px;
    background: rgba(255, 252, 246, 0.75);
    text-decoration: none;
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.86rem;
}

.topic-pills span {
    color: var(--site-teal-soft);
    font-weight: 700;
}

.quote-section {
    padding: 0 0 4rem;
    background: var(--site-bg);
}

.quote-banner {
    display: grid;
    grid-template-columns: 4rem 1fr;
    align-items: center;
    gap: 2rem;
    margin: 0;
    padding: 2.75rem 3rem;
    color: #fff8ec;
    border-radius: 14px;
    background: #153f35;
}

.quote-banner__icon {
    width: 4rem;
    height: 4rem;
    display: grid;
    place-items: center;
    color: #f0d588;
    border: 1px solid rgba(240, 213, 136, 0.3);
    border-radius: 50%;
    background: rgba(0, 95, 92, 0.62);
}

.quote-banner__icon img {
    width: 3rem;
    height: 3rem;
    display: block;
    object-fit: contain;
}

.quote-banner blockquote {
    margin: 0;
    font-size: 1.35rem;
    line-height: 1.45;
}

.quote-banner figcaption {
    margin-top: 0.5rem;
    color: rgba(255, 248, 236, 0.76);
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.86rem;
}

.site-footer {
    padding: 3.5rem 0 1.5rem;
    color: #c5d4cc;
    background: #102e28;
}

.site-footer__grid {
    display: grid;
    grid-template-columns: 1.3fr 0.8fr 0.8fr 1.35fr;
    gap: 3rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(197, 154, 69, 0.36);
}

.site-footer .site-brand {
    color: #fff8ec;
    font-size: 1.2rem;
}

.site-footer__brand p,
.site-newsletter p {
    margin: 1rem 0 1.25rem;
    max-width: 17rem;
    font-size: 0.9rem;
    line-height: 1.7;
}

.site-socials {
    display: flex;
    gap: 0.75rem;
}

.site-socials a {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    color: #fff8ec;
    border: 1px solid rgba(255, 248, 236, 0.4);
    border-radius: 50%;
    text-decoration: none;
}

.site-footer__links {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.site-footer h2 {
    margin: 0 0 0.75rem;
    color: #fff8ec;
    font-size: 1.1rem;
}

.site-footer__links a {
    color: rgba(255, 248, 236, 0.76);
    text-decoration: none;
    font-size: 0.9rem;
}

.site-newsletter__field {
    display: grid;
    grid-template-columns: 1fr 3.4rem;
    height: 3rem;
    overflow: hidden;
    border: 1px solid rgba(255, 248, 236, 0.62);
    border-radius: 6px;
    background: #fffaf5;
}

.site-newsletter input,
.site-newsletter button {
    border: 0;
    outline: 0;
}

.site-newsletter input {
    min-width: 0;
    padding: 0 1rem;
    color: var(--site-ink);
    background: transparent;
    font-size: 0.9rem;
}

.site-newsletter button {
    color: #fff;
    background: #006d6d;
    font-size: 1rem;
}

.site-footer__bottom {
    padding-top: 1.25rem;
    text-align: center;
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.82rem;
}

.go-top-button {
    position: fixed;
    right: 1.4rem;
    bottom: 1.4rem;
    z-index: 30;
    width: 3rem;
    height: 3rem;
    display: grid;
    place-items: center;
    color: #fff8ec;
    background: var(--site-accent);
    border: 1px solid rgba(255, 248, 236, 0.35);
    border-radius: 50%;
    box-shadow: 0 14px 30px rgba(18, 48, 48, 0.22);
    opacity: 0;
    pointer-events: none;
    transform: translateY(0.65rem);
    transition: opacity 180ms ease, transform 180ms ease, background-color 180ms ease;
}

.go-top-button:hover,
.go-top-button:focus-visible {
    background: var(--site-teal-deep);
}

.go-top-button:focus-visible {
    outline: 3px solid rgba(197, 154, 69, 0.45);
    outline-offset: 3px;
}

.go-top-button.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.page-hero {
    padding: 3.5rem 0;
    color: #fff8ec;
    background: #153f35;
}

.page-hero p {
    margin: 0 0 0.45rem;
    color: rgba(255, 248, 236, 0.76);
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.9rem;
    text-transform: uppercase;
}

.page-hero h1 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.1;
}

.page-search {
    display: grid;
    grid-template-columns: 1fr 10rem 8rem;
    gap: 0.65rem;
    max-width: 56rem;
    margin-top: 1.5rem;
    font-family: Inter, system-ui, sans-serif;
}

.page-search input,
.page-search select,
.page-search button {
    min-height: 3.15rem;
    border-radius: 6px;
    border: 1px solid rgba(255, 248, 236, 0.48);
}

.page-search input,
.page-search select {
    min-width: 0;
    padding: 0 0.95rem;
    color: var(--site-ink);
    background: #fffaf5;
}

.page-search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    color: #fff;
    background: #007271;
    font-weight: 700;
}

.content-section {
    padding: 2.25rem 0 3.2rem;
    background: var(--site-bg);
}

.narrow-container {
    max-width: 880px;
}

.empty-state {
    padding: 2rem;
    border: 1px solid var(--site-border);
    border-radius: 8px;
    background: rgba(255, 252, 246, 0.9);
    font-family: Inter, system-ui, sans-serif;
}

.empty-state h2 {
    margin: 0 0 0.45rem;
    font-size: 1.25rem;
}

.empty-state p {
    margin: 0;
    color: var(--site-muted);
}

.result-list,
.reader-list {
    display: grid;
    gap: 1rem;
}

.result-card,
.reader-card,
.directory-card,
.quote-card {
    border: 1px solid var(--site-border);
    border-radius: 8px;
    background: rgba(255, 252, 246, 0.94);
    box-shadow: var(--site-shadow);
}

.result-card {
    padding: 1.35rem 1.45rem;
}

.result-card__meta,
.reader-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
    color: var(--site-teal-soft);
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
}

.result-card__meta small,
.reader-card__meta span {
    color: var(--site-muted);
    font-weight: 500;
}

.result-card h2 {
    margin: 0.45rem 0 0.55rem;
    font-size: 1.25rem;
}

.result-card h2 a,
.reader-card__ref a {
    color: inherit;
    text-decoration: none;
}

.result-card p,
.reader-card p {
    margin: 0;
    color: #40514d;
    font-family: Inter, system-ui, sans-serif;
    line-height: 1.75;
}

.result-card__more {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.9rem;
    color: var(--site-teal-soft);
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

.result-card__more:hover {
    text-decoration: underline;
}

.directory-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.directory-card {
    display: grid;
    gap: 0.3rem;
    min-height: 8.4rem;
    padding: 1.2rem;
    color: inherit;
    text-decoration: none;
}

.directory-card span {
    width: 2.35rem;
    height: 2.35rem;
    display: grid;
    place-items: center;
    color: #fff;
    border-radius: 50%;
    background: var(--site-teal-soft);
    font-family: Inter, system-ui, sans-serif;
    font-weight: 700;
}

.directory-card h2 {
    margin: 0.25rem 0 0;
    font-size: 1.2rem;
}

.directory-card p {
    margin: 0;
    color: var(--site-muted);
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.88rem;
}

.reader-card {
    padding: 1.45rem 1.6rem;
}

.reader-card--single {
    padding: 1.8rem;
}

.reader-card__ref {
    margin-bottom: 0.8rem;
    color: var(--site-teal-soft);
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.86rem;
    font-weight: 800;
}

.reader-card__arabic {
    margin-bottom: 1rem !important;
    color: #123030 !important;
    font-family: "Noto Naskh Arabic", Georgia, serif !important;
    font-size: 1.55rem;
    line-height: 2 !important;
    text-align: right;
}

.reader-card blockquote {
    margin: 1rem 0 0;
    padding-left: 1rem;
    color: var(--site-muted);
    border-left: 3px solid rgba(8, 114, 113, 0.35);
    font-family: Inter, system-ui, sans-serif;
    line-height: 1.65;
}

.reader-card__meta {
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(18, 48, 48, 0.1);
}

.letter-strip,
.author-strip {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1.35rem;
    font-family: Inter, system-ui, sans-serif;
}

.letter-strip {
    gap: 0.35rem;
}

.author-strip {
    gap: 0.6rem;
}

.letter-strip a,
.author-strip a,
.topic-directory a {
    border: 1px solid rgba(8, 114, 113, 0.2);
    background: rgba(255, 252, 246, 0.84);
}

.letter-strip a {
    display: inline-grid;
    width: 2.65rem;
    height: 2.65rem;
    place-items: center;
    border-radius: 6px;
    color: var(--site-teal-soft);
    font-weight: 700;
    text-decoration: none;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.letter-strip a:hover,
.letter-strip a.is-active {
    border-color: rgba(197, 154, 69, 0.62);
    background: var(--site-teal);
    color: #fff8df;
    box-shadow: 0 10px 22px rgba(0, 79, 80, 0.16);
}

.author-strip a {
    border-radius: 999px;
}

.letter-strip small,
.author-strip span,
.topic-directory small {
    color: var(--site-teal-soft);
    font-weight: 800;
}

.topic-directory {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    font-family: Inter, system-ui, sans-serif;
}

.topic-directory a,
.author-strip a {
    color: inherit;
    text-decoration: none;
}

.topic-directory a {
    display: flex;
    align-items: center;
    min-height: 3rem;
    padding: 0.75rem 0.9rem;
    border-radius: 8px;
    font-weight: 700;
}

.topic-directory span {
    color: var(--site-teal-soft);
    font-weight: 800;
}

.book-grid--wide {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.book-card h2 {
    min-height: 2.1rem;
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.2;
}

.split-layout {
    display: grid;
    grid-template-columns: 17rem minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.chapter-list {
    max-height: calc(100vh - 9rem);
    display: grid;
    gap: 0.45rem;
    overflow: auto;
    padding: 0.65rem;
    border: 1px solid var(--site-border);
    border-radius: 8px;
    background: rgba(255, 252, 246, 0.74);
}

.chapter-list a {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
    padding: 0.7rem 0.75rem;
    color: inherit;
    border-radius: 6px;
    text-decoration: none;
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.88rem;
}

.chapter-list a.active,
.chapter-list a:hover {
    color: #fff;
    background: var(--site-teal-soft);
}

.chapter-list small {
    opacity: 0.72;
}

.author-strip a {
    padding: 0.48rem 0.78rem;
    font-size: 0.86rem;
}

.author-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.author-card {
    min-width: 0;
    overflow: hidden;
    color: inherit;
    border: 1px solid var(--site-border);
    border-radius: 8px;
    background: rgba(255, 252, 246, 0.94);
    box-shadow: var(--site-shadow);
    text-decoration: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.author-card:hover {
    border-color: rgba(197, 154, 69, 0.62);
    box-shadow: 0 16px 34px rgba(21, 35, 31, 0.13);
    transform: translateY(-2px);
}

.author-card__media {
    position: relative;
    display: block;
    aspect-ratio: 6 / 5;
    overflow: hidden;
    background: #d8e5df;
}

.author-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 48, 48, 0.02), rgba(0, 48, 48, 0.18));
}

.author-card__sprite {
    width: 100%;
    height: 100%;
    display: block;
    background-image: url("/app/public/images/author-card-sprite.webp");
    background-repeat: no-repeat;
    background-size: 500% 400%;
}

.author-card__sprite--1 { background-position: 0 0; }
.author-card__sprite--2 { background-position: 25% 0; }
.author-card__sprite--3 { background-position: 50% 0; }
.author-card__sprite--4 { background-position: 75% 0; }
.author-card__sprite--5 { background-position: 100% 0; }
.author-card__sprite--6 { background-position: 0 33.333333%; }
.author-card__sprite--7 { background-position: 25% 33.333333%; }
.author-card__sprite--8 { background-position: 50% 33.333333%; }
.author-card__sprite--9 { background-position: 75% 33.333333%; }
.author-card__sprite--10 { background-position: 100% 33.333333%; }
.author-card__sprite--11 { background-position: 0 66.666667%; }
.author-card__sprite--12 { background-position: 25% 66.666667%; }
.author-card__sprite--13 { background-position: 50% 66.666667%; }
.author-card__sprite--14 { background-position: 75% 66.666667%; }
.author-card__sprite--15 { background-position: 100% 66.666667%; }
.author-card__sprite--16 { background-position: 0 100%; }
.author-card__sprite--17 { background-position: 25% 100%; }
.author-card__sprite--18 { background-position: 50% 100%; }
.author-card__sprite--19 { background-position: 75% 100%; }
.author-card__sprite--20 { background-position: 100% 100%; }

.author-card__body {
    display: grid;
    gap: 0.8rem;
    min-height: 7rem;
    padding: 1rem;
}

.author-card h2 {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.25;
}

.author-card__meta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    align-self: end;
    color: var(--site-teal-soft);
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.82rem;
    font-weight: 800;
}

.quote-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.quote-author-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin-bottom: 1.2rem;
    color: var(--site-teal-soft);
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.9rem;
    font-weight: 800;
}

.quote-author-toolbar a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: inherit;
    text-decoration: none;
}

.quote-card {
    scroll-margin-top: 6.5rem;
    margin: 0;
    padding: 1.25rem 1.35rem;
}

.quote-card:target {
    border-color: rgba(197, 154, 69, 0.78);
    box-shadow: 0 18px 36px rgba(21, 35, 31, 0.14);
}

.quote-card blockquote {
    margin: 0;
    color: #203a37;
    font-size: 1.12rem;
    line-height: 1.55;
}

.quote-card figcaption {
    margin-top: 0.85rem;
    color: var(--site-teal-soft);
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.86rem;
    font-weight: 800;
}

@media (max-width: 1199.98px) {
    .quick-access__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .book-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .site-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .directory-grid,
    .book-grid--wide,
    .author-card-grid,
    .quote-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .site-header {
        position: relative;
        background: var(--site-bg);
    }

    .site-header .navbar {
        padding: 0.85rem 0;
    }

    .site-header .navbar-collapse {
        padding-top: 1rem;
    }

    .site-header .navbar-nav {
        gap: 0.4rem;
    }

    .site-hero {
        min-height: 455px;
        padding-top: 3rem;
    }

    .site-hero h1 {
        font-size: 2.05rem;
    }

    .quick-access__grid {
        grid-template-columns: 1fr;
    }

    .topics-strip {
        grid-template-columns: 1fr;
    }

    .topic-pills {
        justify-content: flex-start;
    }

    .page-hero {
        padding-top: 2.5rem;
    }

    .directory-grid,
    .topic-directory,
    .author-card-grid,
    .quote-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .split-layout {
        grid-template-columns: 1fr;
    }

    .chapter-list {
        max-height: 20rem;
    }
}

@media (max-width: 767.98px) {
    .site-brand {
        font-size: 1.08rem;
    }

    .site-brand__mark {
        width: 2.35rem;
        height: 2.35rem;
    }

    .site-hero {
        min-height: 440px;
        padding-bottom: 1.35rem;
    }

    .site-hero h1 {
        font-size: 1.78rem;
    }

    .site-hero p {
        font-size: 0.96rem;
    }

    .site-search {
        grid-template-columns: 1fr 4.6rem;
        min-height: auto;
        margin-top: 1.35rem;
    }

    .site-search input {
        height: 4rem;
        padding: 0 1rem;
    }

    .site-search select {
        grid-column: 1 / -1;
        grid-row: 2;
        height: 3.4rem;
        border-top: 1px solid rgba(18, 48, 48, 0.1);
        border-left: 0;
    }

    .site-search button {
        grid-column: 2;
        grid-row: 1;
    }

    .quick-card {
        grid-template-columns: 4rem 1fr;
        padding: 0.85rem;
    }

    .quick-card__icon {
        width: 3.8rem;
        height: 3.8rem;
    }

    .section-heading {
        flex-direction: column;
    }

    .book-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quote-banner {
        grid-template-columns: 1fr;
        padding: 1.4rem;
    }

    .site-footer__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .page-search {
        grid-template-columns: 1fr;
    }

    .directory-grid,
    .topic-directory,
    .author-card-grid,
    .quote-grid {
        grid-template-columns: 1fr;
    }

    .go-top-button {
        right: 1rem;
        bottom: 1rem;
        width: 2.75rem;
        height: 2.75rem;
    }
}

@media (max-width: 449.98px) {
    .site-hero h1 {
        font-size: 1.85rem;
    }

    .site-ornament {
        width: 11rem;
    }

    .site-ornament::before,
    .site-ornament::after {
        width: 4rem;
    }

    .book-grid {
        grid-template-columns: 1fr;
    }

    .book-card {
        display: grid;
        grid-template-columns: 7rem 1fr;
        column-gap: 1rem;
        text-align: left;
        align-items: center;
    }

    .book-cover {
        width: 6.25rem;
        height: 9.35rem;
        grid-row: span 3;
        margin-bottom: 0;
    }

    .book-card__meta {
        justify-content: flex-start;
    }
}

/* Shared editorial details and accessible interaction states. */
.eyebrow { display: block; margin-bottom: .8rem; color: #557265; font: 600 .66rem/1.5 system-ui, sans-serif; letter-spacing: .16em; }
.eyebrow--light { color: #d9c18c; }
.site-hero h1 em { color: #e1c48d; font-weight: 400; }
.site-search select { background: #fff; padding: 0 .6rem; font-size: .85rem; }
.site-search input { padding: 0 1rem; font-size: .9rem; }
.search-suggestions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1rem; color: #bbccc4; font: .75rem/1.5 system-ui, sans-serif; }
.search-suggestions a { color: #e0e9e3; text-decoration-color: #708e7e; text-underline-offset: 4px; }
.section-intro { margin-bottom: 1.7rem; }
.section-intro h2, .section-heading h2 { font-size: clamp(1.6rem, 2.5vw, 2rem); font-weight: 400; letter-spacing: -.025em; }
.section-description { margin: .7rem 0 0; color: var(--site-muted); font: .88rem/1.7 system-ui, sans-serif; }
.quick-card:nth-child(2) .quick-card__icon { background: #f4efe4; color: #937443; }
.quick-card:nth-child(3) .quick-card__icon { background: #eef0f6; color: #67748b; }
.quick-card > div { flex: 1; display: flex; flex-direction: column; }
.quick-card__action { margin-top: auto; font-size: .78rem; }
.quick-card__action i { margin-left: .3rem; font-size: .7rem; }
.book-card h3 a { text-decoration: none; }
.book-card__meta { border: 0; color: var(--site-muted); }
.book-cover { margin-bottom: 1.3rem; }
.quote-banner blockquote { font-size: clamp(1.3rem, 2.3vw, 1.8rem); line-height: 1.5; }
.quote-banner figcaption { margin-top: 1rem; }
.footer-invitation { padding-left: 1.5rem; border-left: 1px solid #ffffff26; }
.footer-invitation h2 { font-size: 1.5rem; }
.footer-invitation p { font-size: .85rem; line-height: 1.8; }
.footer-invitation a { color: #e1c48d; font-size: .8rem; text-decoration: none; }
.footer-invitation i { margin-left: .5rem; }
.site-footer__grid { border-bottom-color: #ffffff1a; }
.site-footer__bottom { text-align: left; color: #9db1a8; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 100; padding: .8rem 1.2rem; background: #fff; color: #153f35; }
.skip-link:focus { top: 1rem; }
.site-body :focus-visible { outline: 3px solid #b99a54; outline-offset: 4px; }
.site-search:focus-within { box-shadow: 0 0 0 3px #c7ab6c; }
.site-search input:focus-visible { outline-offset: -3px; }
@media (hover: hover) {
    .quick-card:hover, .book-card:hover { transform: translateY(-4px); box-shadow: 0 12px 24px #173e340b; border-color: #b5c6b9; }
    .directory-card:hover, .topic-directory a:hover { border-color: #a2b7aa; background: #fff; }
    .site-footer a:hover, .search-suggestions a:hover { color: #fff; }
}
@media (max-width: 1199.98px) and (min-width: 768px) {
    .quick-access__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .container { padding-right: 1.25rem; padding-left: 1.25rem; }
    .site-hero { min-height: auto; padding: 3rem 0 2.5rem; background-position: 60% center; }
    .site-hero h1 { font-size: clamp(2.15rem, 7vw, 3.2rem); }
    .site-hero__overlay { background: rgba(3, 40, 36, .79); }
    .site-search { grid-template-columns: 1fr 3.3rem; }
    .site-search input { height: 3.3rem; font-size: .8rem; }
    .site-search select { height: 2.7rem; }
    .quick-access, .library-section { padding: 2.5rem 0; }
    .quick-card { flex-direction: row; padding: 1.25rem; gap: 1rem; }
    .quick-card__icon { flex: 0 0 3rem; width: 3rem; height: 3rem; }
    .quick-card p { min-height: auto; margin: .5rem 0 .9rem; }
    .section-heading { gap: .5rem; }
    .quote-banner { grid-template-columns: 1fr; padding: 1.75rem; gap: 1rem; }
    .quote-section { padding-bottom: 2.5rem; }
    .footer-invitation { padding: 1.5rem 0 0; border-left: 0; border-top: 1px solid #ffffff26; }
    .site-footer__grid { gap: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; }
}

/* Reading pages: clear context, quiet surfaces, comfortable line lengths. */
.reading-hero { padding: 1.25rem 0 1.8rem; background: linear-gradient(110deg, #103c32, #1e5040); color: #fff8e9; border-bottom: 1px solid #a68b514d; }
.reading-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-bottom: 1.25rem; color: #becfc3; font: .75rem/1.6 system-ui, sans-serif; }
.reading-breadcrumb a { text-decoration: none; }
.reading-breadcrumb a:hover { color: #f0d79e; text-decoration: underline; }
.reading-hero > .container > p, .reading-kicker { color: #dcc28a; font-size: .68rem; font-weight: 600; letter-spacing: .15em; margin-bottom: .75rem; }
.reading-hero h1 { font-size: clamp(1.85rem, 3vw, 2.65rem); font-weight: 400; letter-spacing: -.03em; line-height: 1.2; }
.reading-hero__meta { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: .8rem; color: #c6d6cb; font: .8rem/1.6 system-ui, sans-serif; }
.reading-hero__meta i { margin-right: .4rem; color: #dcc28a; }
.split-layout { gap: 2.25rem; }
.chapter-sidebar { position: sticky; top: 1.5rem; overflow: hidden; border: 1px solid var(--site-border); border-radius: 12px; background: #fff; }
.chapter-sidebar__heading { display: flex; justify-content: space-between; align-items: center; padding: 1.25rem; border-bottom: 1px solid var(--site-border); }
.chapter-sidebar__heading h2 { margin: 0; font-size: 1.25rem; font-weight: 400; }
.chapter-sidebar__heading > span { color: #6d7c72; font: .75rem system-ui, sans-serif; }
.chapter-list { max-height: min(55vh, 36rem); position: relative; gap: .2rem; border: 0; border-radius: 0; background: #fff; scrollbar-width: thin; scrollbar-color: #cad6cd transparent; overscroll-behavior: contain; }
.chapter-list a { align-items: center; min-height: 2.75rem; font-size: .8rem; line-height: 1.5; padding: .65rem .75rem; }
.chapter-list small { min-width: 1.8rem; text-align: right; font-size: .7rem; }
.chapter-list a.active { background: #eaf1e9; color: #205842; box-shadow: inset 3px 0 #51826b; font-weight: 600; }
.chapter-list a:hover { background: #f2f5ef; color: #205842; }
.reading-column { min-width: 0; }
.reading-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .2rem 0 1.5rem; }
.reading-heading .eyebrow { margin-bottom: .4rem; }
.reading-heading h2 { margin: 0; font-size: clamp(1.5rem, 2.5vw, 1.9rem); font-weight: 400; line-height: 1.3; }
.reading-count { flex-shrink: 0; padding: .4rem .7rem; border-radius: 6px; background: #edf2ea; color: #55705e; font: .75rem system-ui, sans-serif; }
.reader-list { gap: 1.5rem; }
.reader-card { padding: 2rem 2.25rem; background: #fff; border-radius: 12px; box-shadow: none; scroll-margin-top: 1.5rem; overflow-wrap: anywhere; }
.reader-card:target { border-color: #b49b63; }
.reader-card__ref { margin-bottom: 1.5rem; font-size: .78rem; font-weight: 500; color: #466d57; }
.reader-card__ref a { display: flex; align-items: center; gap: .65rem; }
.reader-card__ref a > i { margin-left: auto; color: #819488; font-size: .7rem; }
.reader-number { display: inline-flex; align-items: center; justify-content: center; min-width: 2.6rem; padding: .45rem .6rem; border: 1px solid #e2e9df; border-radius: 6px; color: #466d57; background: #f4f7f0; font-size: .74rem; }
.reader-card p { color: #3d4942; font-family: "Lora", Georgia, serif; font-size: 1.06rem; line-height: 1.95; }
.reader-card .reader-card__arabic { margin-bottom: 1.7rem !important; padding-bottom: 1.5rem; border-bottom: 1px solid #edf0e9; font-size: 1.8rem; line-height: 1.95 !important; color: #244838 !important; }
.reader-card blockquote { padding: 1rem 1.2rem; border-left: 2px solid #cdbd97; background: #faf9f5; border-radius: 0 6px 6px 0; font-size: .88rem; }
.reader-card__meta { margin-top: 1.5rem; padding-top: 1rem; border-top-color: #edf0e9; font-size: .72rem; }
.chapter-pagination { display: flex; gap: 1rem; margin-top: 1.5rem; }
.chapter-pagination a { flex: 1; padding: 1.1rem 1.3rem; border: 1px solid var(--site-border); border-radius: 10px; background: #fff; text-decoration: none; }
.chapter-pagination small { display: block; margin-bottom: .5rem; color: #637b6b; font: .72rem system-ui, sans-serif; }
.chapter-pagination span { font-size: 1.05rem; }
.chapter-pagination__next { text-align: right; margin-left: auto; }
.mobile-chapter-picker { display: none; }
@media (max-width: 991.98px) {
    .chapter-sidebar { display: none; }
    .split-layout { grid-template-columns: minmax(0, 1fr); }
    .mobile-chapter-picker { display: block; padding: 1rem; margin-bottom: 1.8rem; border: 1px solid var(--site-border); border-radius: 10px; background: #fff; font: .8rem system-ui, sans-serif; }
    .mobile-chapter-picker label { display: block; margin-bottom: .6rem; color: #617568; }
    .mobile-chapter-picker > div { display: flex; gap: .6rem; }
    .mobile-chapter-picker select { min-width: 0; flex: 1; padding: .7rem; border: 1px solid #dce5da; border-radius: 6px; color: #244838; background: #fafbf8; }
    .mobile-chapter-picker button { flex-shrink: 0; padding: .7rem 1rem; border: 0; border-radius: 6px; color: #fff; background: #216554; }
    .mobile-chapter-picker i { margin-left: .4rem; }
}
@media (max-width: 767.98px) {
    .reading-hero { padding: 1rem 0 1.5rem; }
    .reading-breadcrumb { margin-bottom: 1.5rem; font-size: .7rem; gap: .5rem; }
    .reading-hero__meta { gap: .5rem 1rem; font-size: .75rem; }
    .reading-heading { align-items: flex-start; }
    .reading-count { margin-top: .3rem; }
    .reader-card, .reader-card--single { padding: 1.25rem; }
    .reader-card p { font-size: 1rem; line-height: 1.9; }
    .reader-card .reader-card__arabic { font-size: 1.6rem; }
    .chapter-pagination a { padding: .9rem; }
    .chapter-pagination span { font-size: .95rem; }
}

/* A book-like measure and paired text faces for long-form reading. */
.reading-hero > .container, .reading-hero + .content-section > .container { max-width: 1140px; }
.reading-hero + .content-section > .narrow-container { max-width: 820px; }
.reading-hero h1, .reading-heading h2, .chapter-sidebar__heading h2,
.reading-hero + .content-section .quote-card blockquote { font-family: "Lora", Georgia, serif; }
.reading-hero + .content-section { padding-top: 1.8rem; }
.reading-book { display: flex; align-items: center; gap: 1.5rem; }
.reading-book__cover { flex: 0 0 4.6rem; width: 4.6rem; height: auto; margin: 0; border-radius: 2px; filter: drop-shadow(0 6px 7px #183d3026); }
.reading-book__identity { min-width: 0; }
.reading-book .reading-kicker { margin: 0 0 .5rem; color: #dcc28a; font: 600 .63rem/1.5 system-ui, sans-serif; letter-spacing: .15em; }
.reading-heading h2 { font-size: clamp(1.35rem, 2.1vw, 1.7rem); line-height: 1.45; }
.reader-card { border-color: #e4e6df; box-shadow: 0 3px 14px #233e2d03; }
.reader-card__ref { padding-bottom: 1rem; border-bottom: 1px solid #f1eee5; }
.reader-number { color: #806936; border-color: #e8dfc9; background: #faf7ef; font-variant-numeric: tabular-nums; }
.reader-card .reader-card__arabic { letter-spacing: normal; }
.chapter-list a.active { box-shadow: inset 3px 0 #ae9255; }
@media (min-width: 992px) {
    .reading-hero + .content-section .split-layout { grid-template-columns: 15rem minmax(0, 1fr); gap: 2rem; }
}
@media (max-width: 767.98px) {
    .reading-book { gap: .85rem; }
    .reading-book__cover { flex-basis: 3.3rem; width: 3.3rem; height: auto; margin: 0; }
    .reading-book h1 { font-size: clamp(1.5rem, 6vw, 2rem); }
    .reading-book .reading-hero__meta { gap: .25rem .75rem; font-size: .68rem; margin-top: .6rem; }
    .reading-hero + .content-section { padding-top: 1.4rem; }
}

/* Qur'an: a compact section navigator, quick start, and calm audio reader. */
.quran-subnav { color: #dce8e1; background: #073e38; border-bottom: 1px solid #ffffff1a; font-family: Inter, system-ui, sans-serif; }
.quran-subnav .container { display: flex; align-items: stretch; gap: .25rem; overflow-x: auto; scrollbar-width: none; }
.quran-subnav .container::-webkit-scrollbar { display: none; }
.quran-subnav a { display: inline-flex; align-items: center; gap: .5rem; min-height: 3.35rem; padding: 0 1rem; border-bottom: 2px solid transparent; color: inherit; font-size: .8rem; text-decoration: none; white-space: nowrap; }
.quran-subnav a:hover, .quran-subnav a.active { color: #f3dca6; background: #ffffff08; border-bottom-color: #c8a75b; }
.quran-subnav i { color: #c8a75b; }

.quran-hero { position: relative; overflow: hidden; padding: 4.5rem 0; color: #fff8ec; background: radial-gradient(circle at 76% 20%, #267061 0, transparent 30%), linear-gradient(120deg, #073d37 0%, #0b5549 100%); }
.quran-hero::before { content: "۞"; position: absolute; right: 4%; top: 50%; color: #ffffff09; font: 20rem/1 "Noto Naskh Arabic", serif; transform: translateY(-50%); }
.quran-hero__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(19rem, .75fr); align-items: center; gap: 4rem; }
.quran-hero h1 { max-width: 44rem; margin: 0 0 1.25rem; font-size: clamp(2.6rem, 5vw, 4.6rem); font-weight: 400; line-height: 1.05; letter-spacing: -.045em; }
.quran-hero h1 em { color: #e2c682; font-weight: 400; }
.quran-hero__inner > div > p { max-width: 38rem; margin: 0; color: #c9d9d1; font: .96rem/1.8 Inter, system-ui, sans-serif; }
.quran-jump { display: grid; gap: .55rem; padding: 1.5rem; color: #183d35; border: 1px solid #ffffff42; border-radius: 14px; background: #fffdf8; box-shadow: 0 24px 60px #002c2750; font-family: Inter, system-ui, sans-serif; }
.quran-jump strong { margin-bottom: .55rem; font: 500 1.3rem/1.3 Georgia, serif; }
.quran-jump label { margin-top: .35rem; color: #526b62; font-size: .74rem; font-weight: 600; }
.quran-jump label small { font-weight: 400; }
.quran-jump select, .quran-jump input { width: 100%; min-height: 3rem; padding: 0 .85rem; color: #193f36; border: 1px solid #d9e1da; border-radius: 7px; background: #fff; }
.quran-jump button { min-height: 3.05rem; margin-top: .7rem; color: #fff; border: 0; border-radius: 7px; background: #087271; font-weight: 700; }
.quran-jump button i { margin-left: .45rem; }

.quran-directory { padding-top: 3.5rem; scroll-margin-top: 1rem; }
.quran-directory__heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2rem; }
.quran-directory__heading h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 400; }
.quran-directory__heading p { margin: .5rem 0 0; color: var(--site-muted); font: .88rem/1.6 Inter, system-ui, sans-serif; }
.quran-filter { display: flex; align-items: center; gap: .65rem; width: min(100%, 19rem); padding: 0 .9rem; color: #638077; border: 1px solid #dbe4dc; border-radius: 8px; background: #fff; }
.quran-filter input { width: 100%; min-height: 3rem; padding: 0; border: 0; outline: 0; color: #24483e; background: transparent; }
.quran-surah-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.quran-surah-card { display: flex; align-items: center; gap: .9rem; min-height: 5.4rem; padding: 1rem; color: #173e34; border: 1px solid #e0e7e0; border-radius: 10px; background: #fff; text-decoration: none; transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.quran-surah-card:hover { color: #173e34; border-color: #b4c8b9; box-shadow: 0 10px 24px #15372d0b; transform: translateY(-2px); }
.quran-surah-card__number { display: grid; flex: 0 0 2.6rem; width: 2.6rem; height: 2.6rem; place-items: center; color: #8c7139; border: 1px solid #e2d6b9; border-radius: 50%; background: #fbf8ef; font: 700 .74rem Inter, system-ui, sans-serif; }
.quran-surah-card__name { display: grid; min-width: 0; gap: .2rem; }
.quran-surah-card__name strong { overflow: hidden; font-size: 1rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.quran-surah-card__name small { color: #75827c; font: .72rem Inter, system-ui, sans-serif; }
.quran-surah-card > i { margin-left: auto; color: #a89361; font-size: .7rem; }
.quran-no-results { padding: 2rem; text-align: center; color: var(--site-muted); font-family: Inter, system-ui, sans-serif; }

.quran-reading-hero { background: radial-gradient(circle at 85% 0, #317564 0, transparent 28%), linear-gradient(110deg, #103c32, #1e5040); }
.quran-reader-nav { display: grid; grid-template-columns: minmax(13rem, 1fr) minmax(13rem, 1fr) auto auto; align-items: end; gap: .75rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--site-border); border-radius: 12px; background: #fff; font-family: Inter, system-ui, sans-serif; }
.quran-reader-nav label { display: grid; gap: .35rem; color: #60756b; font-size: .7rem; font-weight: 600; }
.quran-reader-nav select { min-width: 0; min-height: 2.8rem; padding: 0 .75rem; color: #23483d; border: 1px solid #dce5de; border-radius: 7px; background: #fbfcf9; }
.quran-reader-nav button { min-height: 2.8rem; padding: 0 1rem; border-radius: 7px; font-size: .78rem; font-weight: 700; }
.quran-nav-apply { color: #245649; border: 1px solid #cbdad0; background: #f6f8f4; }
.quran-listen-all { color: #fff; border: 1px solid #087271; background: #087271; }
.quran-listen-all:disabled { opacity: .45; }
.quran-audio-player { position: sticky; top: .75rem; z-index: 12; display: grid; grid-template-columns: minmax(10rem, 1fr) minmax(18rem, 2fr); align-items: center; gap: 1rem; margin-bottom: 1rem; padding: .8rem 1rem; color: #fff; border: 1px solid #ffffff2e; border-radius: 11px; background: #0d4b41f5; box-shadow: 0 12px 30px #173e3426; font-family: Inter, system-ui, sans-serif; backdrop-filter: blur(12px); }
.quran-audio-player[hidden] { display: none; }
.quran-audio-player div { display: grid; }
.quran-audio-player span { color: #c4d6ce; font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; }
.quran-audio-player strong { overflow: hidden; font-size: .84rem; text-overflow: ellipsis; white-space: nowrap; }
.quran-audio-player audio { width: 100%; height: 2.5rem; }
.quran-mobile-picker { margin-top: 1rem; }
.quran-reader-layout { margin-top: 1.5rem; }
.quran-reader-layout .chapter-list { display: grid; overflow-y: auto; padding: .45rem; }
.quran-reader-layout .chapter-list a { display: flex; gap: .65rem; color: #51665b; text-decoration: none; }
.quran-reader-layout .chapter-sidebar { top: .75rem; }
.quran-ayah .reader-card__ref { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ayah-play { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .7rem; color: #3e6b5a; border: 1px solid #d5e2d9; border-radius: 999px; background: #f5f8f3; font: 700 .7rem Inter, system-ui, sans-serif; }
.ayah-play:hover, .ayah-play.is-playing { color: #fff; border-color: #087271; background: #087271; }

@media (max-width: 991.98px) {
    .quran-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
    .quran-jump { max-width: 34rem; }
    .quran-surah-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .quran-reader-nav { grid-template-columns: 1fr 1fr; }
    .quran-reader-nav button { width: 100%; }
}

@media (max-width: 767.98px) {
    .quran-subnav a { min-height: 3rem; padding: 0 .75rem; }
    .quran-subnav a span { font-size: .72rem; }
    .quran-hero { padding: 3rem 0; }
    .quran-hero::before { font-size: 13rem; }
    .quran-hero h1 { font-size: clamp(2.35rem, 12vw, 3.3rem); }
    .quran-directory { padding-top: 2.5rem; }
    .quran-directory__heading { align-items: stretch; flex-direction: column; gap: 1.25rem; }
    .quran-filter { width: 100%; }
    .quran-surah-grid { grid-template-columns: 1fr; }
    .quran-reader-nav { grid-template-columns: 1fr 1fr; }
    .quran-reader-nav label { grid-column: 1 / -1; }
    .quran-audio-player { top: .4rem; grid-template-columns: 1fr; gap: .5rem; }
    .quran-audio-player audio { height: 2.2rem; }
    .quran-reader-layout { margin-top: 1rem; }
    .quran-ayah .reader-card__ref { margin-bottom: 1.1rem; }
}
