@font-face {
    font-family: "Thmanyah Sans";
    src: url("../fonts/thmanyah-sans/thmanyah-sans-400.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Thmanyah Sans";
    src: url("../fonts/thmanyah-sans/thmanyah-sans-500.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Thmanyah Sans";
    src: url("../fonts/thmanyah-sans/thmanyah-sans-600-700.woff2") format("woff2");
    font-weight: 600 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Thmanyah Serif Display";
    src: url("../fonts/thmanyah-serif-display/thmanyah-serif-display-700.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Noto Naskh Arabic";
    src: url("../fonts/noto-naskh-arabic/noto-naskh-arabic-700-arabic.woff2") format("woff2");
    font-weight: 400 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --he-green-900: #3f5226;
    --he-green-800: #4e6330;
    --he-green-700: #56702e;
    --he-green-600: #66803a;
    --he-green-400: #9ab26a;
    --he-green-200: #c9d6a8;
    --he-green-150: #dce5c6;
    --he-green-50: #f1f4ea;
    --he-green-25: #f7f9f2;
    --he-ink-900: #23241f;
    --he-ink-700: #3d3e39;
    --he-ink-500: #5a5b55;
    --he-ink-300: #8a8c82;
    --he-line: #e5e8dc;
    --he-surface: #fff;
    --he-dark: #2b2b2b;
    --he-radius: 18px;
    --he-shadow: 0 12px 32px -16px rgba(78, 99, 48, .18);
}

html { scroll-behavior: smooth; }

.he-template-chevron {
    display: block;
    flex: 0 0 auto;
    fill: none;
    color: currentColor;
    transition: transform .2s ease;
}

body.he-site {
    margin: 0;
    background: var(--he-surface);
    color: var(--he-ink-700);
    -webkit-font-smoothing: antialiased;
}

body.he-site a { -webkit-tap-highlight-color: transparent; transition: color .2s, background-color .2s, border-color .2s, box-shadow .2s, transform .2s; }
body.he-site a:focus,
body.he-site a:active { outline: 0 !important; }
body.he-site a:focus-visible { outline: 2px solid var(--he-green-500) !important; outline-offset: 3px; border-radius: 4px; }

/* Reference typography is intentionally limited to the Arabic interface. */
body.he-site.lang-ar,
body.he-site.lang-ar div,
body.he-site.lang-ar h1,
body.he-site.lang-ar h2,
body.he-site.lang-ar h3,
body.he-site.lang-ar h4,
body.he-site.lang-ar h5,
body.he-site.lang-ar h6,
body.he-site.lang-ar p,
body.he-site.lang-ar input,
body.he-site.lang-ar button,
body.he-site.lang-ar select,
body.he-site.lang-ar textarea {
    font-family: "Thmanyah Sans", Janna, sans-serif !important;
}
body.he-site.lang-ar .he-home__title {
    font-family: "Thmanyah Serif Display", Amiri, serif !important;
}
body.he-site.lang-ar .he-hadith-card__text {
    font-family: "Noto Naskh Arabic", Janna, serif !important;
    font-size: 18px;
}
body.he-site:not(.lang-ar) .he-hadith-card__text,
body.he-site:not(.lang-ar) .he-hadith-card__text *,
body.he-site:not(.lang-ar) .he-cat-hadith-row__text,
body.he-site:not(.lang-ar) .he-cat-hadith-row__text * {
    font-family: sans-serif !important;
}

/* Shared header */
body.he-site #header.he-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    height: auto !important;
    border-bottom: 1px solid #e7e8e1;
    background: #fff;
    box-shadow: none !important;
}

body.he-site #topNav { background: rgba(255, 255, 255, .97); }

body.he-site .he-header__bar {
    display: flex;
    align-items: center;
    gap: clamp(10px, 2vw, 26px);
    min-height: 68px;
    padding: 9px 15px !important;
}

body.he-site #header #topNav a.logo {
    display: flex !important;
    align-items: center;
    flex: 0 1 auto;
    width: auto;
    height: 50px !important;
    max-width: min(280px, 42vw) !important;
    padding: 0 !important;
    line-height: 1 !important;
}

body.he-site #header #topNav a.logo > img {
    width: auto;
    height: 44px !important;
    max-height: 44px !important;
    object-fit: contain;
}

body.he-site #topNav .navbar-collapse { padding: 0; }
body.he-site #topMain { display: flex; align-items: center; gap: 2px; }
body.he-site #topMain > li { padding: 0; }
body.he-site #topMain > li > a {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 42px !important;
    padding: 0 11px !important;
    border-radius: 9px;
    color: var(--he-ink-700);
    font-size: 14px !important;
    line-height: 42px !important;
}
body.he-site #topMain > li > a:hover,
body.he-site #topMain > li.active > a {
    background: var(--he-green-50) !important;
    color: var(--he-green-800) !important;
}

body.he-site .he-header__bar > a[href="javascript:;"] {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0 !important;
    border: 1px solid #e7e8e1;
    border-radius: 10px;
    background: #fff;
}
body.he-site .he-header__bar > a[href="javascript:;"]:hover { border-color: var(--he-green-400); }
body.he-site .he-header__bar > a .svg-icon { margin: 0; }
.he-header__spacer { flex: 1 1 auto; }
.he-header__actions { display: flex; align-items: center; gap: 8px; }
.he-icon-button,
.he-language-button {
    align-items: center;
    justify-content: center;
    height: 40px;
    border-radius: 10px;
    white-space: nowrap;
}
.he-icon-button {
    display: inline-flex;
    width: 40px;
    padding: 0;
    border: 1px solid #e7e8e1;
    background: #fff;
    color: var(--he-ink-700);
}
.he-icon-button:hover { border-color: var(--he-green-400); background: var(--he-green-25); }
.he-icon-button .svg-icon,
.he-language-button .svg-icon { margin: 0; }
.he-language-button {
    display: inline-flex;
    gap: 7px;
    padding: 0 13px;
    border: 1px solid #e7e8e1;
    background: #fff;
    color: var(--he-ink-700);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}
.he-language-button .svg-icon { flex: 0 0 auto; }
.he-language-button:hover { border-color: var(--he-green-400); color: var(--he-green-800); }
@media (min-width: 992px) {
    .he-language-button.visible-lg.visible-md { display: inline-flex !important; }
    body.he-site #topMain > .he-nav-language { display: none; }
}

/* Home hero */
.he-home { overflow: hidden; background: #fff; }
.he-home section {
    border: 0 !important;
    background-attachment: scroll !important;
    background-size: auto !important;
}
.he-home__hero {
    position: relative;
    min-height: 0 !important;
    padding: 0 !important;
    background: linear-gradient(180deg, #fff 0%, #f1f4ea 72%, #f7f9f2 91%, #fff 100%) !important;
}
.he-home__pattern {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(var(--he-green-600) 1px, transparent 1.2px);
    background-size: 22px 22px;
    opacity: .08;
    -webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 40%, transparent 42%, #000 100%);
    mask-image: radial-gradient(ellipse 70% 80% at 50% 40%, transparent 42%, #000 100%);
    pointer-events: none;
}
.he-home__emblem {
    position: absolute;
    left: -120px;
    top: 50%;
    width: 440px;
    height: auto;
    opacity: .04;
    transform: translateY(-50%);
    pointer-events: none;
    user-select: none;
}
.he-home__hero-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
}
.he-api-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 5px 13px;
    border: 1px solid var(--he-green-150);
    border-radius: 999px;
    background: rgba(255,255,255,.85);
    color: var(--he-green-800);
    font-size: 13px;
    font-weight: 700;
}
.he-api-badge:hover { border-color: var(--he-green-400); color: var(--he-green-900); }
.he-api-badge > * { position: relative; }
.he-api-badge > strong { display: inline-flex; align-items: center; height: 23px; padding: 0 9px; border-radius: 999px; background: var(--he-green-50); color: var(--he-green-800); font-size: 11px; letter-spacing: .05em; }
.he-api-badge__ring { position: absolute; inset: -1px; border: 1.5px solid var(--he-green-600); border-radius: 999px; opacity: 0; animation: he-api-ring 4.5s ease-in-out infinite; }
.he-api-badge__shine { position: absolute; inset: 0; overflow: hidden; border-radius: 999px; }
.he-api-badge__shine::before { content: ""; position: absolute; inset-block: 0; left: 0; width: 30%; background: linear-gradient(90deg, transparent, rgba(154,178,106,.2), transparent); transform: translateX(-150%) skewX(-20deg); animation: he-api-shine 4.5s ease-in-out infinite; }
@keyframes he-api-ring { 0%, 62%, 100% { opacity: 0; } 74%, 86% { opacity: 1; } }
@keyframes he-api-shine { 0%, 58% { transform: translateX(-150%) skewX(-20deg); } 88%, 100% { transform: translateX(420%) skewX(-20deg); } }
.he-home__title { 
    max-width: 950px;
    margin: 15px 0 0 0;
    color: var(--he-ink-900);
    font-size: clamp(30px, 4.4vw, 46px);
    font-weight: 700;
    line-height: 1.35;
    text-wrap: balance;
}
.he-home__lead {
    max-width: 660px;
    margin: 0 !important;
    color: var(--he-ink-500) !important;
    font-family: inherit !important;
    font-size: clamp(16px, 1.7vw, 19px) !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
    text-align: center !important;
    text-wrap: pretty;
}
.he-home__sources {
    margin: -6px 0 0 !important;
    color: var(--he-green-600) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-align: center !important;
}
.he-hero-search {
    display: flex;
    align-items: center;
    width: min(650px, 100%);
    min-height: 60px;
    margin-top: 6px;
    padding-block: 7px;
    padding-inline: 18px 7px;
    border: 1px solid var(--he-green-150);
    border-radius: 16px;
    background: #fff;
    color: var(--he-ink-300);
    box-shadow: 0 14px 36px rgba(78, 99, 48, .1);
    text-align: start;
}
.he-hero-search:hover { border-color: var(--he-green-400); box-shadow: 0 18px 42px rgba(78, 99, 48, .16); }
.he-hero-search > .svg-icon { margin: 0 0 0 12px; color: var(--he-green-600); }
[dir="ltr"] .he-hero-search > .svg-icon { margin: 0 12px 0 0; }
.he-hero-search span { flex: 1; font-size: 15px; }
.he-hero-search input {
    flex: 1 1 auto;
    min-width: 0;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--he-ink-900);
    font-size: 15px;
    outline: 0;
    box-shadow: none;
}
.he-hero-search input::placeholder { color: var(--he-ink-300); opacity: 1; }
.he-hero-search__icon {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 40px;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--he-green-600);
}
.he-hero-search__icon .svg-icon { margin: 0; }
.he-hero-search__icon:hover,
.he-hero-search__icon:focus { color: var(--he-green-900); }
.he-hero-search strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 11px;
    background: var(--he-green-600);
    color: #fff;
    font-size: 14px;
}
.he-hero-search__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    min-height: 46px;
    padding: 0 20px;
    border: 0;
    border-radius: 11px;
    background: var(--he-green-600);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}
.he-hero-search__submit:hover,
.he-hero-search__submit:focus { background: var(--he-green-800); color: #fff; }
.he-home__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; }
.he-home__actions .btn {
    border-radius: 11px;
    box-shadow: none;
    font-weight: 700;
}
.he-home__actions .btn-primary { background: var(--he-green-600); border-color: var(--he-green-600); }
.he-home__actions .btn-primary:hover { background: var(--he-green-700); border-color: var(--he-green-700); }
.he-home__actions .btn-default { border-color: var(--he-green-150); color: var(--he-green-800); }

/* Languages and utility links */
.he-languages { width: 100%; margin-top: 10px; }
.he-divider-title { display: flex; align-items: center; gap: 14px; margin-bottom: 13px; }
.he-divider-title::before,
.he-divider-title::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(102,128,58,.22), transparent); }
.he-divider-title::after { background: linear-gradient(270deg, rgba(102,128,58,.22), transparent); }
.he-divider-title span { display: inline-flex; align-items: center; gap: 7px; color: var(--he-green-800); font-size: 14px; font-weight: 700; white-space: nowrap; }
.he-divider-title .svg-icon { margin: 0; }
.he-languages__search {
    display: flex;
    align-items: center;
    gap: 9px;
    width: min(100%, 430px);
    min-height: 42px;
    margin: 0 auto 12px;
    padding: 7px 13px;
    border: 1px solid var(--he-green-150);
    border-radius: 13px;
    background: rgba(255,255,255,.72);
    color: var(--he-green-700);
    box-shadow: 0 5px 18px rgba(78,99,48,.05);
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.he-languages__search:focus-within { border-color: var(--he-green-500); background: #fff; box-shadow: 0 0 0 4px rgba(201,214,168,.2); }
.he-languages__search .svg-icon { flex: 0 0 auto; width: 17px; height: 17px; margin: 0; }
.he-languages__filter-icon { opacity: .68; }
.he-languages__search input { width: 100%; min-width: 0; height: 26px; padding: 0; border: 0; background: transparent; color: var(--he-ink-900); font: inherit; font-size: 13px; outline: 0; }
.he-languages__search input::placeholder { color: var(--he-ink-300); opacity: 1; }
.he-languages__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
}
.he-language-tile {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 50px;
    padding: 8px 12px;
    overflow: hidden;
    border: 1px solid rgba(102,128,58,.16);
    border-radius: 14px;
    background: rgba(255,255,255,.55);
    color: var(--he-ink-700);
    font-size: 15px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(78,99,48,.05);
}
.he-language-tile:hover { transform: translateY(-2px); border-color: var(--he-green-200); background: #fff; color: var(--he-green-800); }
.he-language-tile--more { appearance: none; width: 100%; border-color: var(--he-green-600); background: var(--he-green-600); color: #fff; cursor: pointer; font-family: inherit; }
.he-language-tile--more:hover { background: var(--he-green-700); color: #fff; }
.he-language-tile small { opacity: .78; font-size: 11px; font-weight: 500; }
.he-language-tile--more small { display: inline-flex; align-items: center; justify-content: center; gap: 5px; }
.he-language-tile--more .he-template-chevron { width: 12px; height: 12px; color: currentColor; }
.he-language-tile--more[aria-expanded="true"] .he-template-chevron { transform: rotate(180deg); }
.he-languages__grid:not(.is-expanded):not(.is-filtering) .he-language-tile--extra { display: none; }
.he-languages.is-filtering .he-language-tile--more { display: none; }
.he-language-tile[hidden] { display: none !important; }
.he-languages__empty { margin: 12px 0 0; color: var(--he-ink-300); font-size: 13px; text-align: center; }
.he-languages__empty[hidden] { display: none; }
.he-home__utilities { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; width: 100%; }
.he-utility-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 7px 14px;
    border: 1px solid var(--he-green-150);
    border-radius: 10px;
    background: #fff;
    color: var(--he-green-800);
    font-size: 13px;
    font-weight: 700;
}
.he-utility-link:hover { border-color: var(--he-green-400); background: var(--he-green-25); color: var(--he-green-900); }
.he-utility-link .svg-icon { margin: 0; }
.he-download-section { display: flex; flex-direction: column; gap: 20px; padding: 0 !important; scroll-margin-top: 92px; }
.he-download-section__head { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; max-width: 760px; }
.he-download-section__eyebrow { color: var(--he-green-600); font-size: 13px; font-weight: 700; }
.he-download-section__title { margin: 0; color: var(--he-ink-900); font-size: clamp(26px, 3.5vw, 40px); font-weight: 700; line-height: 1.4; text-wrap: balance; }
.he-download-section__lead { margin: 0 !important; color: var(--he-ink-500) !important; font-family: inherit !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.85 !important; text-align: start !important; text-wrap: pretty; }
body.he-site.lang-ar .he-download-section__title { font-family: "Thmanyah Serif Display", Amiri, serif !important; }
.he-downloads {
    width: 100%;
    padding: clamp(16px, 2.5vw, 28px);
    border: 1px solid var(--he-line);
    border-radius: 24px;
    background: var(--he-green-25);
    text-align: start;
}
.he-download-notice { margin: 0 0 14px; padding: 13px 15px; border: 1px solid var(--he-green-150); border-radius: 12px; background: #fff; color: var(--he-ink-500); line-height: 1.65; }
.he-download-notice a { color: var(--he-green-800); font-weight: 700; }
.he-download-notice a:hover { color: var(--he-green-600); }
.he-download-filter { width: 100%; margin: 0 0 18px; }
.he-download-search {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    margin: 0;
    padding: 0 13px;
    border: 1px solid var(--he-green-200);
    border-radius: 12px;
    background: var(--he-green-25);
    color: var(--he-green-600);
}
.he-download-search:focus-within { border-color: var(--he-green-600); background: #fff; box-shadow: 0 0 0 4px rgba(201, 214, 168, .24); }
.he-download-search .svg-icon { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; }
.he-download-search .form-control { height: 42px; min-width: 0; padding: 0; border: 0; background: transparent; box-shadow: none; outline: 0; }
.he-download-search .form-control:focus { box-shadow: none; }
.he-download-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px; max-height: min(620px, 70vh); padding-inline-end: 4px; overflow-y: auto; scrollbar-gutter: stable; overscroll-behavior: contain; }
.he-download-item { overflow: hidden; border: 1px solid var(--he-green-150); border-radius: 18px; background: #fff; }
.he-download-item:hover { border-color: var(--he-green-400); box-shadow: 0 12px 28px -18px rgba(78,99,48,.36); }
.he-download-row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    column-gap: 12px;
    row-gap: 4px;
    min-height: 70px;
    padding: 13px 14px;
}
.he-download-code { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; background: var(--he-green-50); color: var(--he-green-800); font-family: system-ui, sans-serif; font-size: 11.5px; font-weight: 800; letter-spacing: .04em; }
.he-download-language { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.he-download-native { min-width: 0; overflow: hidden; color: var(--he-ink-900); direction: inherit; font-size: 15px; text-align: start; text-overflow: ellipsis; unicode-bidi: isolate; white-space: nowrap; }
.he-download-translated { min-width: 0; overflow: hidden; color: var(--he-ink-300); font-size: 12.5px; text-align: start; text-overflow: ellipsis; white-space: nowrap; }
.he-download-actions { display: flex; grid-column: 2 / -1; flex-wrap: nowrap; align-items: center; justify-content: flex-end; justify-self: end; gap: 4px; white-space: nowrap; }
.he-download-row a { display: inline-flex; align-items: center; gap: 3px; min-height: 30px; padding: 4px 5px; border-radius: 8px; background: var(--he-green-50); color: var(--he-green-700); font-size: 10.5px; font-weight: 700; line-height: 1; }
.he-download-row a:hover { background: #e8eedb; color: var(--he-green-900); }
.he-download-row a .svg-icon { width: 13px; height: 13px; margin: 0; }
.he-download-pdfs { padding: 10px 14px; border-top: 1px solid var(--he-green-150); background: var(--he-green-25); }
.he-download-pdfs a { display: block; padding: 4px 0; }
.he-download-empty { margin: 20px 0 8px !important; color: var(--he-ink-300) !important; font-family: inherit !important; font-size: 14px !important; font-weight: 500 !important; text-align: center !important; }

/* Home content */
.he-home__main { display: flex; flex-direction: column; gap: clamp(24px, 3vw, 40px); padding-top: 0; padding-bottom: clamp(24px, 3vw, 40px); }
.he-home-section { padding: 0 !important; scroll-margin-top: 92px; }
.he-sources-note { display: flex; align-items: center; gap: 14px; margin: 0 0 30px; }
.he-sources-note::before,
.he-sources-note::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(102,128,58,.22), transparent); }
.he-sources-note::after { background: linear-gradient(270deg, rgba(102,128,58,.22), transparent); }
.he-sources-note p { max-width: 760px; margin: 0 !important; color: var(--he-ink-500) !important; font-family: inherit !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.8 !important; text-align: center !important; }
.he-sources-note strong { color: var(--he-green-800); }
.he-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.he-section-head__eyebrow { display: block; margin-bottom: 6px; color: var(--he-green-600); font-size: 13px; font-weight: 700; }
.he-section-head h2 { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--he-ink-900); font-size: clamp(24px, 3vw, 36px); font-weight: 700; line-height: 1.4; }
.he-section-head h2 .svg-icon { margin: 0; color: var(--he-green-600); }
.he-more-link {
    display: inline-flex;
    align-items: center;
    min-height: 43px;
    padding: 8px 22px;
    border: 1px solid #d9dccf;
    border-radius: 11px;
    background: #fff;
    color: var(--he-green-800);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}
.he-more-link:hover { border-color: var(--he-green-400); background: var(--he-green-50); color: var(--he-green-900); }
.he-hadith-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.he-hadith-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--he-line);
    border-radius: var(--he-radius);
    background: #fff;
    box-shadow: var(--he-shadow);
}
.he-hadith-card:hover { border-color: var(--he-green-200); box-shadow: 0 18px 40px -14px rgba(78,99,48,.2); }
.he-hadith-card__text { flex: 1; color: var(--he-ink-900); font-size: 17px; font-weight: 700; line-height: 1.85; }
.he-hadith-card__text:hover { color: var(--he-green-800); }
.he-hadith-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.he-hadith-card__langs { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.he-hadith-card__langs > .svg-icon { margin: 0 0 0 3px; color: var(--he-green-600); }
.he-hadith-card .label-light { border-radius: 999px; background: var(--he-green-50) !important; color: var(--he-green-800); font-size: 11px; }
.he-hadith-card .h-sel { width: 45px; height: 25px; margin: 0; border: 1px solid var(--he-green-150); border-radius: 999px; }
.he-hadith-card__open {
    display: inline-grid;
    flex: 0 0 38px;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--he-green-150);
    border-radius: 11px;
    background: var(--he-green-50);
    color: var(--he-green-800);
}
.he-hadith-card__open .svg-icon { width: 14px; height: 14px; margin: 0; }
.he-hadith-card__open:hover,
.he-hadith-card__open:focus { transform: translateY(-1px); border-color: var(--he-green-400); background: var(--he-green-800); color: #fff; }
.he-hadith-card__open:focus-visible { outline: 3px solid rgba(102, 128, 58, .22); outline-offset: 2px; }
.he-mobile-more {
    display: none;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    margin-top: 18px;
    padding: 0 18px;
    border: 1px solid var(--he-green-150);
    border-radius: 11px;
    background: #fff;
    color: var(--he-green-800);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}
.he-mobile-more:hover,
.he-mobile-more:focus { border-color: var(--he-green-400); background: var(--he-green-50); color: var(--he-green-900); }
.he-mobile-more:active { transform: translateY(1px); }
.he-mobile-more:focus-visible { outline: 3px solid rgba(102, 128, 58, .22); outline-offset: 2px; }
.he-mobile-more__arrow { font-family: Arial, sans-serif; font-size: 17px; line-height: 1; }
.he-category-grid { display: grid; grid-template-columns: 250px repeat(auto-fill, minmax(205px, 1fr)); gap: 12px; }
.he-category-hero {
    position: relative;
    grid-row: span 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    min-height: 150px;
    padding: 24px;
    overflow: hidden;
    border-radius: 24px;
    background: var(--he-green-800);
    color: #fff;
}
.he-category-hero:hover { background: var(--he-green-700); color: #fff; }
.he-category-hero > * { position: relative; }
.he-category-hero > .he-category-hero__emblem { position: absolute; }
.he-category-hero__emblem { left: -60px; bottom: -80px; width: 260px; height: auto; opacity: .05; filter: brightness(0) invert(1); pointer-events: none; user-select: none; }
.he-category-hero__icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: rgba(255,255,255,.14); }
.he-category-hero__icon .svg-icon { width: 25px; height: 25px; margin: 0; fill: none; }
.he-category-hero h2 { margin: 0; color: #fff; font-size: clamp(22px, 2.2vw, 27px); font-weight: 700; line-height: 1.4; text-wrap: balance; }
.he-category-hero__more { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; }
body.he-site.lang-ar .he-category-hero h2 { font-family: "Thmanyah Serif Display", Amiri, serif !important; }
.he-category-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 96px;
    padding: 16px;
    border: 1px solid var(--he-green-150);
    border-radius: 22px;
    background: var(--he-green-50);
    color: var(--he-ink-900);
}
.he-category-card:hover { transform: translateY(-2px); border-color: var(--he-green-400); background: #e8eedb; color: var(--he-ink-900); box-shadow: var(--he-shadow); }
.he-category-card--wide { grid-column: span 2; }
.he-category-card__icon { display: none; }
.he-category-card__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.he-category-card__name { color: var(--he-ink-900); font-size: 16px; font-weight: 700; line-height: 1.5; text-wrap: balance; }
.he-category-card__count { color: var(--he-ink-300); font-size: 14px; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Goals */
.he-goals {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: clamp(22px, 4vw, 40px) !important;
    border-radius: 28px;
    background: linear-gradient(180deg, #fff 0%, var(--he-green-50) 100%);
}
.he-goals__head { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; max-width: 760px; }
.he-goals__eyebrow { color: var(--he-green-600); font-size: 13px; font-weight: 700; }
.he-goals__title { margin: 0; color: var(--he-ink-900); font-size: clamp(26px, 3.5vw, 40px); font-weight: 700; line-height: 1.4; text-wrap: balance; }
.he-goals__lead { margin: 0 !important; color: var(--he-ink-500) !important; font-family: inherit !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.85 !important; text-align: start !important; text-wrap: pretty; }
.he-goals__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 12px; }
.he-goal-card { display: flex; flex-direction: column; gap: 18px; padding: 22px; border: 1px solid var(--he-green-150); border-radius: 20px; background: #fff; }
.he-goal-card:hover { transform: translateY(-2px); border-color: var(--he-green-400); box-shadow: var(--he-shadow); }
.he-goal-card__top { display: flex; align-items: center; justify-content: space-between; }
.he-goal-card__icon { width: 40px; height: 40px; }
.he-goal-card__num { color: var(--he-green-200); font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.he-goal-card h3 { margin: 0; color: var(--he-ink-900); font-size: 18px; font-weight: 700; line-height: 1.75; text-wrap: pretty; }
body.he-site.lang-ar .he-goals__title,
body.he-site.lang-ar .he-goal-card__num { font-family: "Thmanyah Serif Display", Amiri, serif !important; }

/* Statistics */
.he-stats {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(24px, 4vw, 44px);
    padding: clamp(22px, 4vw, 40px) !important;
    overflow: hidden;
    border-radius: 28px;
    background: var(--he-green-800);
    color: #fff;
}
.he-stats__emblem { position: absolute; left: -90px; bottom: -110px; width: 340px; height: auto; opacity: .04; filter: brightness(0) invert(1); pointer-events: none; user-select: none; }
.he-stats__intro { position: relative; display: flex; flex: 1 1 280px; flex-direction: column; gap: 10px; min-width: 0; }
.he-stats__eyebrow { color: var(--he-green-200); font-size: 13px; font-weight: 700; }
.he-stats__title { margin: 0; color: #fff; font-size: clamp(27px, 3.4vw, 42px); font-weight: 700; line-height: 1.35; }
.he-stats__lead { margin: 0 !important; color: #e3e9d4 !important; font-family: inherit !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.85 !important; text-align: start !important; }
.he-stats__link { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 6px; padding: 8px 20px; border-radius: 12px; background: #fff; color: var(--he-green-800); font-size: 14.5px; font-weight: 700; white-space: nowrap; }
.he-stats__link:hover { background: var(--he-green-50); color: var(--he-green-900); }
.he-stats__link .svg-icon { width: 13px; height: 13px; margin: 0; }
.he-stats__grid { position: relative; display: grid; flex: 2 1 520px; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 12px; min-width: 0; }
.he-stat { display: flex; align-items: center; gap: 16px; min-width: 0; padding: 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: rgba(255,255,255,.08); }
.he-stat__icon { display: grid; flex: 0 0 52px; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: #fff; color: var(--he-green-600); }
.he-stat__icon .svg-icon { width: 24px; height: 24px; margin: 0; }
.he-stat__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.he-stat__value { color: #fff; font-size: clamp(24px, 2.6vw, 30px); font-weight: 700; line-height: 1.35; white-space: nowrap; }
.he-stat__label { color: #e3e9d4; font-size: 14px; }
body.he-site.lang-ar .he-stats__title,
body.he-site.lang-ar .he-stat__value { font-family: "Thmanyah Serif Display", Amiri, serif !important; }

/* Category and all-hadith pages */
.he-cat-page { background: #fff; }
.he-cat-page section { border: 0 !important; background-attachment: scroll !important; background-size: auto !important; box-shadow: none !important; }
.he-cat-hero { position: relative; min-height: 330px; padding: 0 !important; overflow: hidden; background: linear-gradient(180deg, #F1F4EA6E 0%, #F1F4EA6E calc(100% - 200px), #FFFFFF 100%) !important; }
.he-cat-hero::after { display: none; }
.he-cat-hero__emblem { position: absolute; left: -60px; right: auto; top: calc(50% - 80px); width: 260px; height: auto; opacity: .04; transform: translateY(-50%); pointer-events: none; }
.he-cat-hero__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding-top: clamp(18px, 3vw, 32px); padding-bottom: 178px; }
.he-cat-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: var(--he-ink-300); font-size: 13px; }
.he-cat-breadcrumb a { color: var(--he-ink-500); }
.he-cat-breadcrumb a:hover { color: var(--he-green-800); }
.he-cat-breadcrumb span[aria-hidden] { color: var(--he-green-400); }
.he-cat-hero h1 { max-width: 880px; margin: 0; color: var(--he-ink-900); font-size: clamp(30px, 4.6vw, 50px); font-weight: 700; line-height: 1.35; }
body.he-site.lang-ar .he-cat-hero h1 { font-family: "Thmanyah Serif Display", Amiri, serif !important; }
.he-cat-hero__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.he-cat-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 11px; border: 1px solid var(--he-green-150); border-radius: 999px; background: rgba(255,255,255,.72); color: var(--he-ink-500); font-size: 12px; }
.he-cat-pill strong { color: var(--he-green-800); font-size: 13px; }
.he-cat-main { position: relative; z-index: 2; margin-top: -142px; padding-bottom: clamp(36px, 6vw, 70px); }
.he-cat-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); align-items: start; gap: 20px; padding: clamp(12px, 2vw, 20px); border: 1px solid var(--he-green-150); border-radius: 38px; background: #fff; box-shadow: 0 24px 60px -36px rgba(61, 78, 36, .38); }
.he-cat-layout--single { grid-template-columns: minmax(0, 1fr); }
.he-cat-side { min-width: 0; }
.he-cat-side__box { overflow: hidden; margin: 0; border: 1px solid var(--he-line); border-radius: 22px; background: #fff; box-shadow: 0 10px 26px -22px rgba(78,99,48,.25); }
.he-cat-side__toggle { display: none; }
.he-cat-side__title { display: block !important; margin: 0; padding: 18px 18px 12px; color: var(--he-ink-900); font-size: 15px; font-weight: 700; }
.he-cat-side__list { display: flex !important; flex-direction: column; gap: 3px; padding: 0 8px 9px; }
.he-cat-side__link { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 8px 10px; border-radius: 11px; color: var(--he-ink-500); font-size: 13px; line-height: 1.45; }
.he-cat-side__link span { min-width: 0; }
.he-cat-side__link b { display: grid; flex: 0 0 auto; min-width: 30px; height: 25px; place-items: center; padding-inline: 6px; border-radius: 7px; background: var(--he-green-50); color: var(--he-green-800); font-size: 10.5px; font-weight: 700; }
.he-cat-side__link:hover { background: var(--he-green-25); color: var(--he-green-900); }
.he-cat-side__link.is-current { background: var(--he-green-50); color: var(--he-green-900); font-weight: 700; }
.he-cat-side__link.is-current b { background: var(--he-green-600); color: #fff; }
.he-cat-content { min-width: 0; }
.he-cat-page .he-cat-list-panel {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    padding: clamp(14px, 2.5vw, 28px) !important;
    scroll-margin-top: 92px;
    border: 1px solid var(--he-green-150) !important;
    border-radius: 28px;
    background: linear-gradient(180deg, #F7F9F2 0%, #FBFCF8 100%) !important;
}
.he-cat-list-panel__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; min-height: 48px; }
.he-cat-list-panel__head h2 { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--he-ink-900); font-size: 18px; font-weight: 700; }
.he-cat-list-panel__head h2 > .svg-icon { width: 17px; height: 17px; margin: 0; color: var(--he-green-600); }
.he-cat-count { display: inline-grid; min-width: 32px; height: 24px; place-items: center; padding-inline: 7px; border: 1px solid var(--he-green-150); border-radius: 8px; color: var(--he-green-800); font-family: system-ui, sans-serif; font-size: 11px; }
.he-cat-filter { display: flex; flex: 1 1 240px; align-items: center; gap: 8px; width: min(100%, 340px); max-width: 340px; height: 44px; margin: 0; padding-inline: 12px; border: 1px solid var(--he-green-150); border-radius: 12px; background: #fff; color: var(--he-green-600); transition: border-color .2s ease, box-shadow .2s ease; }
.he-cat-filter:focus-within { border-color: var(--he-green-600); box-shadow: 0 0 0 4px rgba(201,214,168,.3); }
.he-cat-filter .svg-icon { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; }
.he-cat-filter input { flex: 1 1 auto; width: 0; min-width: 0; height: 40px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--he-ink-900); font-size: 13px; text-align: start; }
.he-cat-filter input::placeholder { color: var(--he-ink-300); }
.he-cat-review-add { padding: 10px 12px; border: 1px dashed var(--he-green-400); border-radius: 12px; background: var(--he-green-25); }
.he-cat-review-add a { color: var(--he-green-800); font-weight: 700; }
.he-cat-hadith-list { overflow: hidden; border: 1px solid var(--he-line); border-radius: 20px; background: #fff; box-shadow: 0 12px 32px -24px rgba(78,99,48,.25); }
.he-cat-hadith-row { position: relative; padding: clamp(16px, 2.4vw, 23px); background: transparent; transition: background-color .2s ease; }
.he-cat-hadith-row:hover { background: var(--he-green-25); }
.he-cat-hadith-row + .he-cat-hadith-row { border-top: 1px solid var(--he-line); }
.he-cat-hadith-row[hidden] { display: none !important; }
.he-cat-hadith-row__text { display: block; color: var(--he-ink-900); font-size: clamp(15px, 1.5vw, 17px); font-weight: 600; line-height: 2; }
.he-cat-hadith-row__text:hover { color: var(--he-green-800); }
body.he-site.lang-ar .he-cat-hadith-row__text { font-family: "Thmanyah Serif Display", Amiri, serif !important; }
.he-cat-hadith-row__number { color: var(--he-green-600); }
.he-cat-hadith-row__footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-top: 11px; }
.he-cat-hadith-langs { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; min-width: 0; }
.he-cat-hadith-langs > .svg-icon { flex: 0 0 auto; width: 15px; height: 15px; margin: 0 2px; color: var(--he-green-600); }
.he-cat-lang-chip { display: inline-flex; align-items: center; min-height: 27px; padding: 3px 9px; border: 1px solid var(--he-green-150); border-radius: 999px; background: #fff; color: var(--he-ink-500); font-size: 11px; font-weight: 600; }
.he-cat-lang-chip:hover,
.he-cat-lang-chip.is-current { background: var(--he-green-50); color: var(--he-green-800); }
.he-cat-lang-select { display: inline-block; width: auto !important; min-width: 76px; height: 29px !important; padding: 2px 8px !important; border-color: var(--he-green-150) !important; border-radius: 999px !important; color: var(--he-green-800); font-size: 11px !important; }
.he-cat-hadith-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; }
.he-cat-hadith-action { display: grid; flex: 0 0 36px; width: 36px; height: 36px; padding: 0; place-items: center; border: 1px solid var(--he-green-150); border-radius: 10px; background: var(--he-green-25); color: var(--he-green-800); cursor: pointer; }
.he-cat-hadith-action .svg-icon { width: 14px; height: 14px; margin: 0; }
.he-cat-hadith-open .svg-icon { fill: currentColor; }
.he-cat-hadith-share .svg-icon,
.he-cat-hadith-share .svg-icon use { fill: none; stroke: var(--he-green-800); }
.he-cat-hadith-action:hover,
.he-cat-hadith-action:focus { border-color: var(--he-green-800); background: var(--he-green-800); color: #fff !important; outline: 0; }
.he-cat-hadith-share:hover .svg-icon,
.he-cat-hadith-share:hover .svg-icon use,
.he-cat-hadith-share:focus .svg-icon,
.he-cat-hadith-share:focus .svg-icon use,
.he-cat-hadith-share.is-active .svg-icon,
.he-cat-hadith-share.is-active .svg-icon use { stroke: #fff !important; }
.he-cat-hadith-action:focus-visible { box-shadow: 0 0 0 3px rgba(102,128,58,.22); }
.he-cat-hadith-share.is-active { border-color: var(--he-green-600); background: var(--he-green-600); color: #fff; }
.he-cat-review-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-bottom: 8px; font-size: 11px; }
.he-cat-review-tools label { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.he-cat-review-tools .h_prio_sel { display: inline-block; width: 105px; height: 30px; padding: 3px 7px; }
.he-cat-empty { margin: 0; padding: 36px 16px; color: var(--he-ink-300); font-size: 14px; text-align: center; }
.he-cat-empty[hidden] { display: none !important; }
.he-cat-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; padding-top: 4px; }
.he-cat-pagination[hidden] { display: none !important; }
.he-cat-pagination__pages { display: flex; align-items: center; gap: 4px; }
.he-cat-pagination__pages a,
.he-cat-pagination__pages span,
.he-cat-pagination__step { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 10px; border: 1px solid var(--he-line); border-radius: 11px; background: #fff; color: var(--he-ink-700); font-size: 13px; }
.he-cat-pagination__pages a:hover,
.he-cat-pagination__step:hover { border-color: var(--he-green-400); color: var(--he-green-800); }
.he-cat-pagination__pages a.is-current { border-color: var(--he-green-600); background: var(--he-green-600); color: #fff; font-weight: 700; }
.he-cat-pagination__pages span { min-width: 24px; padding: 0; border: 0; color: var(--he-ink-300); }
.he-cat-pagination__step { gap: 7px; padding-inline: 15px; color: var(--he-green-800); font-weight: 600; }
.he-cat-pagination__step--primary { border-color: var(--he-green-600); background: var(--he-green-600); color: #fff; }
.he-cat-pagination__step--primary:hover { background: var(--he-green-700); color: #fff; }
.he-cat-pagination__label { display: none; color: var(--he-ink-500); font-size: 13px; }

/* Shared footer */
body.he-site #footer.he-footer { padding: 0; background: var(--he-dark) !important; color: #c9cac4; }
body.he-site #footer.he-footer .container { max-width: 1200px; }
body.he-site #footer.he-footer a { color: #dfe3d6; }
body.he-site #footer.he-footer a:hover { color: #fff; }
.he-newsletter { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0; border-bottom: 1px solid #4a4a45; }
.he-newsletter__title { color: #fff; font-size: 16px; font-weight: 700; }
.he-newsletter__form { display: flex; width: min(520px, 100%); }
body.he-site #footer .he-newsletter__form .form-control { height: 44px; margin: 0; border: 1px solid #4a4a45; border-radius: 0 10px 10px 0; background: #383836; color: #fff; box-shadow: none; }
body.he-site #footer .he-newsletter__form .btn { height: 44px; border-radius: 10px 0 0 10px; background: var(--he-green-600); border-color: var(--he-green-600); font-weight: 700; }
[dir="ltr"] body.he-site #footer .he-newsletter__form .form-control { border-radius: 10px 0 0 10px; }
[dir="ltr"] body.he-site #footer .he-newsletter__form .btn { border-radius: 0 10px 10px 0; }
.he-footer__grid { display: grid; grid-template-columns: 1.15fr .8fr 1.2fr .65fr; gap: clamp(24px, 4vw, 54px); padding: clamp(34px, 5vw, 56px) 0; }
.he-footer__column { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; min-width: 0; }
.he-footer__brand { gap: 18px; }
.he-footer__logo { width: auto; height: 42px; max-width: 100%; object-fit: contain; filter: brightness(0) invert(1); }
.he-footer__title { color: var(--he-green-400); font-size: 13px; font-weight: 700; }
.he-footer__links { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.he-footer__links a { font-size: 13.5px; line-height: 1.55; }
.he-store-badges { display: flex; flex-wrap: wrap; gap: 7px; }
.he-store-badge { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 5px 11px; border: 1px solid #4a4a45; border-radius: 9px; background: #111; color: #fff !important; }
.he-store-badge .svg-icon { width: 18px; height: 18px; margin: 0; filter: brightness(0) invert(1); }
.he-store-badge span { display: flex; flex-direction: column; line-height: 1.15; }
.he-store-badge small { font-size: 9px; font-weight: 400; }
.he-store-badge strong { font-size: 12px; }
.he-social-grid { display: grid; grid-template-columns: repeat(4, 42px); gap: 7px; }
.he-social-grid a { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #4a4a45; border-radius: 10px; background: #333; }
.he-social-grid a:hover { border-color: var(--he-green-400); background: #383836; }
.he-social-grid .svg-icon { width: 18px; height: 18px; margin: 0; filter: brightness(0) invert(1); }
.he-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 0 26px; border-top: 1px solid #4a4a45; color: #a8a9a3; font-size: 13px; }
.he-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 18px; }

/* Language picker */
#langs-modal { padding-inline: 12px; }
#langs-modal .he-lang-modal {
    width: min(520px, calc(100% - 24px));
    margin: 6vh auto;
}
#langs-modal .modal-content {
    display: flex;
    flex-direction: column;
    max-height: 88vh;
    overflow: hidden;
    border: 1px solid var(--he-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(35, 36, 31, .24);
}
#langs-modal .modal-header {
    position: relative;
    flex: 0 0 auto;
    padding: 22px 24px 14px;
    border: 0;
}
#langs-modal .modal-header .close {
    position: absolute;
    inset-inline-end: 20px;
    top: 20px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 0;
    border-radius: 10px;
    color: var(--he-ink-700);
    font-size: 26px;
    line-height: 1;
    opacity: 1;
    text-shadow: none;
}
#langs-modal .modal-header .close:hover { background: var(--he-green-50); color: var(--he-green-900); }
#langs-modal .modal-title { margin: 0; padding-inline-end: 50px; color: var(--he-green-800); font-size: 21px; font-weight: 700; line-height: 1.4; }
.he-lang-modal__search { flex: 0 0 auto; padding: 0 24px 14px; }
.he-lang-search {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 10px;
    height: 50px;
    margin: 0;
    padding: 0 14px;
    border: 2px solid var(--he-green-400);
    border-radius: 13px;
    background: #fff;
    color: var(--he-green-600);
    box-shadow: 0 0 0 4px rgba(201, 214, 168, .18);
    overflow: hidden;
}
.he-lang-search:focus-within { border-color: var(--he-green-600); box-shadow: 0 0 0 5px rgba(201, 214, 168, .3); }
.he-lang-search > .svg-icon { width: 18px; height: 18px; margin: 0; flex: 0 0 auto; fill: currentColor; }
#langs-modal #layout_langs_filter {
    flex: 1 1 0;
    width: 0;
    max-width: 100%;
    height: 46px;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--he-ink-700);
    font-size: 15px;
    box-shadow: none;
    outline: 0;
    text-align: start;
}
#langs-modal #layout_langs_filter::placeholder { text-align: start; }
#langs-modal #layout_langs_filter:focus { box-shadow: none; }
#langs-modal .he-lang-modal__body {
    flex: 1 1 auto;
    max-height: none !important;
    padding: 0 24px 16px;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}
.he-lang-list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.he-lang-row { padding: 3px 0; border-bottom: 1px solid #eeefe9; }
.he-lang-row:last-child { border-bottom: 0; }
.he-lang-row__link {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) minmax(92px, 120px);
    align-items: center;
    gap: 13px;
    min-height: 58px;
    padding: 8px 10px;
    border-radius: 13px;
    color: var(--he-ink-700);
}
.he-lang-row__link:hover { background: var(--he-green-25); color: var(--he-ink-900); }
.he-lang-row.is-current { border-bottom-color: transparent; }
.he-lang-row.is-current .he-lang-row__link { background: var(--he-green-50); color: var(--he-green-900); }
.he-lang-code {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: var(--he-green-50);
    color: var(--he-green-800);
    font-family: system-ui, sans-serif;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .04em;
}
.he-lang-row.is-current .he-lang-code { background: var(--he-green-600); color: #fff; }
.he-lang-name { min-width: 0; overflow: hidden; color: var(--he-ink-900); direction: inherit; font-size: 16px; font-weight: 700; line-height: 1.35; text-align: start; text-overflow: ellipsis; unicode-bidi: isolate; white-space: nowrap; }
.he-lang-meta { display: flex; align-items: center; justify-content: flex-end; gap: 9px; min-width: 0; overflow: hidden; color: var(--he-ink-300); font-size: 12.5px; text-align: end; white-space: nowrap; }
.he-lang-meta > span { overflow: hidden; text-overflow: ellipsis; }
.he-lang-meta .svg-icon { width: 19px; height: 19px; margin: 0; color: var(--he-green-600); fill: currentColor; }
.he-lang-empty { margin: 24px 0 !important; color: var(--he-ink-300) !important; font-family: inherit !important; font-size: 14px !important; font-weight: 500 !important; text-align: center !important; }

@media (max-width: 991px) {
    body.he-site { padding-top: 0 !important; }
    body.he-site #topNav { position: static; }
    body.he-site #side-menu_bu { order: -1; width: 40px; height: 40px; margin: 0; padding: 10px; border: 1px solid #e7e8e1; border-radius: 11px; background: var(--he-green-25); color: var(--he-green-800); }
    body.he-site #side-menu_bu:hover,
    body.he-site #side-menu_bu:focus,
    body.he-site #side-menu_bu.is-open { border-color: var(--he-green-200); background: var(--he-green-50); color: var(--he-green-900); }
    body.he-site #topNav div.nav-main-collapse {
        position: absolute;
        inset-inline: 12px;
        top: calc(100% + 8px);
        width: auto;
        max-height: 0 !important;
        padding: 8px;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        border: 1px solid var(--he-line);
        border-radius: 18px;
        background: rgba(255, 255, 255, .98);
        box-shadow: 0 24px 60px -22px rgba(35, 36, 31, .34);
        overscroll-behavior: contain;
    }
    body.he-site #topNav div.nav-main-collapse.menu-visible { max-height: calc(100vh - 92px) !important; }
    body.he-site #topNav div.nav-main-collapse:not(.menu-visible) { overflow: hidden !important; }
    body.he-site #topNav .he-main-nav { float: none; width: 100% !important; }
    body.he-site #topMain { display: flex; flex-direction: column; gap: 2px; width: 100%; margin: 0; padding: 0; }
    body.he-site #topMain > li { width: 100%; padding: 0; border: 0; }
    body.he-site #topMain > li > a {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 48px;
        height: auto !important;
        padding: 10px 14px !important;
        border: 1px solid transparent;
        border-radius: 12px;
        font-size: 15px !important;
        line-height: 1.5 !important;
    }
    body.he-site #topMain > li > a:hover,
    body.he-site #topMain > li > a:focus { border-color: var(--he-green-150); background: var(--he-green-25) !important; text-decoration: none; }
    body.he-site #topMain > li.active > a { border-color: var(--he-green-150); background: var(--he-green-50) !important; box-shadow: inset 3px 0 0 var(--he-green-600); }
    [dir="rtl"] body.he-site #topMain > li.active > a { box-shadow: inset -3px 0 0 var(--he-green-600); }
    body.he-site #topMain > li > a .svg-icon { flex: 0 0 auto; width: 17px; height: 17px; margin: 0; color: var(--he-ink-300); }
    body.he-site #topNav.nav-menu-open a.logo { display: flex !important; }
    .he-language-button.visible-sm.visible-xs { display: inline-flex !important; }
    .he-languages__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .he-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .he-category-hero { grid-column: span 2; grid-row: span 1; }
    .he-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .he-home__emblem { display: none; }
    .he-cat-hero__emblem { display: none; }
    .he-cat-layout { grid-template-columns: minmax(0, 1fr); border-radius: 28px; }
    .he-cat-page .he-cat-list-panel { padding: 14px !important; border-radius: 22px; }
    .he-cat-side__title { display: none !important; }
    .he-cat-side__toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 58px; padding: 9px 14px; cursor: pointer; list-style: none; }
    .he-cat-side__toggle::-webkit-details-marker { display: none; }
    .he-cat-side__toggle > span:first-child { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
    .he-cat-side__toggle small { color: var(--he-ink-300); font-size: 10.5px; }
    .he-cat-side__toggle strong { overflow: hidden; color: var(--he-ink-900); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
    .he-cat-side__chevron { color: var(--he-green-700); }
    .he-cat-side__box[open] .he-cat-side__chevron { transform: rotate(180deg); }
    .he-cat-side__box:not([open]) > .he-cat-side__list { display: none !important; }
    .he-cat-side__box[open] > .he-cat-side__list { display: flex !important; border-top: 1px solid var(--he-line); }
    .he-cat-pagination__pages { display: none; }
    .he-cat-pagination__label { display: inline-flex; flex: 1 1 auto; justify-content: center; }
}

@media (max-width: 767px) {
    body.he-site .he-header__bar { min-height: 60px; padding: 8px 12px !important; }
    body.he-site #header #topNav a.logo { margin-inline: auto; max-width: 46vw !important; }
    body.he-site #header #topNav a.logo > img { height: 38px !important; max-height: 38px !important; }
    body.he-site .he-header__actions { gap: 6px; }
    body.he-site .he-header__actions .he-icon-button:nth-child(2) { display: none; }
    .he-language-button.visible-xs { width: 40px; padding: 0; }
    .he-home__hero-inner { padding-inline: 16px; }
    .he-home__title { font-size: clamp(27px, 8vw, 38px); }
    .he-hero-search { min-height: 54px; padding-block: 6px; padding-inline: 14px 6px; border-radius: 14px; }
    .he-hero-search strong { min-height: 42px; padding-inline: 17px; }
    .he-languages__grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
        margin-inline: 0;
        padding: 0;
        overflow: visible;
    }
    .he-language-tile {
        min-width: 0;
        min-height: 42px;
        padding: 5px 7px;
        border-radius: 11px;
        font-size: 13px;
        line-height: 1.25;
    }
    .he-language-tile small { font-size: 9.5px; line-height: 1.2; }
    .he-hadith-list { grid-template-columns: minmax(0, 1fr); }
    .he-section-head .he-more-link { display: none; }
    .he-mobile-more { display: inline-flex; }
    .he-home__utilities { align-items: stretch; }
    .he-home__utilities > .he-utility-link { flex: 1; }
    .he-home__utilities > .he-utility-link { width: 100%; justify-content: center; }
    .he-downloads { padding: 12px; }
    .he-download-grid { grid-template-columns: minmax(0, 1fr); }
    .he-download-row { grid-template-columns: 40px minmax(0, 1fr); column-gap: 9px; row-gap: 3px; padding: 11px; }
    .he-download-code { width: 40px; height: 40px; }
    .he-download-actions { grid-column: 2 / -1; justify-self: end; }
    #langs-modal .he-lang-modal { width: 100%; margin: 12px auto; }
    #langs-modal .modal-content { max-height: calc(100vh - 24px); border-radius: 18px; }
    #langs-modal .modal-header { padding: 18px 18px 12px; }
    #langs-modal .modal-header .close { inset-inline-end: 14px; top: 15px; }
    .he-lang-modal__search { padding: 0 18px 12px; }
    #langs-modal .he-lang-modal__body { padding: 0 14px 12px; }
    .he-lang-row__link { grid-template-columns: 40px minmax(0, 1fr) minmax(82px, 104px); gap: 11px; min-height: 56px; padding: 7px 8px; }
    .he-lang-code { width: 40px; height: 40px; }
    .he-lang-meta { grid-column: auto; justify-content: flex-end; margin-top: 0; }
    .he-newsletter { align-items: stretch; flex-direction: column; gap: 12px; }
    .he-newsletter__form { width: 100%; }
    .he-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .he-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 559px) {
    .he-languages__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .he-category-grid { grid-template-columns: minmax(0, 1fr); }
    .he-category-hero,
    .he-category-card--wide { grid-column: span 1; }
    .he-cat-hero { min-height: 275px; }
    .he-cat-hero__inner { padding-top: 14px; padding-bottom: 130px; }
    .he-cat-hero h1 { font-size: clamp(27px, 9vw, 38px); }
    .he-cat-main { margin-top: -104px; padding-inline: 10px; }
    .he-cat-layout { gap: 14px; padding: 9px; border-radius: 22px; }
    .he-cat-list-panel__head { align-items: stretch; }
    .he-cat-list-panel__head h2 { width: 100%; padding-inline: 4px; }
    .he-cat-filter { width: 100%; max-width: none; }
    .he-cat-hadith-row { padding: 15px 13px; }
    .he-cat-hadith-row__text { font-size: 15px; }
    .he-cat-hadith-row__footer { align-items: flex-end; }
    .he-cat-hadith-langs { flex: 1 1 220px; }
    .he-cat-pagination { flex-wrap: nowrap; }
    .he-cat-pagination__step { min-width: 76px; padding-inline: 10px; }
}

@media (max-width: 359px) {
    .he-languages__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    body.he-site * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Hadith detail page ------------------------------------------------------- */
.he-hadith-page { position: relative; overflow: hidden; background: #fff; color: var(--he-ink-700); }
.he-hadith-page p.ar { font-family: "Noto Naskh Arabic", Amiri, serif !important; }
.he-hadith-page section {
    padding: 0;
    border: 0 !important;
    background-attachment: scroll !important;
    background-size: auto !important;
    box-shadow: none !important;
}
.he-hadith-hero {
    position: relative;
    min-height: 410px;
    overflow: hidden;
    background: linear-gradient(180deg, #F1F4EA6E 0%, #F1F4EA6E calc(100% - 200px), #FFFFFF 100%) !important;
}
.he-hadith-hero::after {
    display: none;
}
.he-hadith-hero__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-top: clamp(18px, 3vw, 32px);
    padding-bottom: 170px;
}
.he-hadith-hero__emblem {
    position: absolute;
    z-index: 0;
    top: calc(50% - 110px);
    left: -60px;
    width: 260px;
    height: auto;
    opacity: .04;
    transform: translateY(-50%);
    pointer-events: none;
}
.he-hadith-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--he-ink-300);
    font-size: 13px;
}
.he-hadith-breadcrumb li { display: inline-flex; align-items: center; gap: 7px; }
.he-hadith-breadcrumb li + li::before { content: "/"; color: var(--he-green-400); }
.he-hadith-breadcrumb a { color: inherit; }
.he-hadith-breadcrumb a:hover { color: var(--he-green-700); }
.he-hadith-hero h1 {
    max-width: 920px;
    margin: 0;
    color: var(--he-ink-900);
    font-family: inherit;
    font-size: clamp(27px, 3.5vw, 44px);
    font-weight: 700;
    line-height: 1.55;
    text-wrap: balance;
}
body.he-site.lang-ar .he-hadith-hero h1 { font-family: "Thmanyah Serif Display", Amiri, serif !important; }
.he-hadith-hero__eyebrow {
    display: block;
    margin-bottom: 7px;
    color: var(--he-green-600);
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
}
.he-hadith-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.he-hadith-hero__tags a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 14px;
    border: 1px solid var(--he-green-150);
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    color: var(--he-green-800);
    font-size: 13px;
    font-weight: 600;
}
.he-hadith-hero__tags a:hover { border-color: var(--he-green-400); background: #fff; }
.he-hadith-hero__qr {
    position: absolute;
    z-index: 2;
    inset-inline-end: 15px;
    bottom: 132px;
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    padding: 7px;
    border: 1px solid var(--he-green-150);
    border-radius: 18px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 12px 30px rgba(67,82,42,.1);
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.he-hadith-hero__qr:hover,
.he-hadith-hero__qr:focus-visible { border-color: var(--he-green-400); box-shadow: 0 14px 34px rgba(67,82,42,.16); transform: translateY(-2px); }
.he-hadith-hero__qr:focus-visible { outline: 2px solid var(--he-green-500); outline-offset: 3px; }
.he-hadith-hero__qr.is-unavailable { display: none; }
.he-hadith-hero__qr-code,
.he-hadith-hero__qr-code img { display: block; width: 100%; height: 100%; }
.he-hadith-hero__qr-code img { border-radius: 10px; object-fit: contain; }
.he-hadith-hero__qr:not(.is-ready) .he-hadith-hero__qr-code { padding: 14px; }
.he-hadith-main { position: relative; z-index: 2; margin-top: -130px; padding-bottom: 48px !important; }
.he-hadith-main__container { max-width: 1140px; }
.he-hadith-article { margin-inline: 0; }
.he-hadith-article > [class*="col-"] { float: none; width: 100%; }
.he-hadith-primary-card,
.he-hadith-explanation-card,
.he-hadith-translations,
.he-hadith-references,
.he-hadith-categories,
.he-hadith-related {
    border: 1px solid var(--he-line);
    background: #fff;
    box-shadow: var(--he-shadow);
}
.he-hadith-page .he-hadith-explanation-card {
    padding: clamp(20px, 3vw, 32px) !important;
    border: 1px solid var(--he-line) !important;
    background: #fff !important;
    box-shadow: var(--he-shadow) !important;
}
.he-hadith-primary-card {
    margin: 0 0 20px;
    padding: 0 !important;
    overflow: visible;
    border-radius: 24px;
}
.he-hadith-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 12px clamp(14px, 2.5vw, 24px) !important;
    border-bottom: 1px dashed var(--he-line);
    border-radius: 24px 24px 0 0;
}
.he-hadith-toolbar__settings,
.he-hadith-toolbar__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.he-hadith-toolbar .he-hadith-toolbar__actions { display: flex; flex-direction: row; white-space: nowrap; }
.he-hadith-switch-tool {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--he-line);
    border-radius: 11px;
    background: #fff;
    color: var(--he-ink-700);
    font-size: 13px;
    font-weight: 600;
}
.he-hadith-switch-tool:hover { border-color: var(--he-green-400); }
.he-hadith-switch {
    display: flex;
    justify-content: flex-end;
    width: 36px;
    height: 20px;
    padding: 2px;
    border-radius: 999px;
    background: var(--he-ink-300);
    transition: background-color .2s ease;
}
.he-hadith-switch::before { width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.2); content: ""; }
.he-hadith-switch-tool.active .he-hadith-switch { justify-content: flex-start; background: var(--he-green-600); }
.he-hadith-font-size { display: inline-flex; align-items: center; height: 40px; overflow: hidden; border: 1px solid var(--he-line); border-radius: 11px; background: #fff; }
.he-hadith-font-size button { width: 40px; height: 100%; padding: 0; border: 0; background: #fff; color: var(--he-ink-700); font-size: 18px; font-weight: 700; }
.he-hadith-font-size button:hover { background: var(--he-green-25); color: var(--he-green-800); }
.he-hadith-font-size > span { display: grid; place-items: center; min-width: 34px; height: 100%; padding: 0 6px; border-inline: 1px solid var(--he-line); color: var(--he-green-800); font-size: 15px; font-weight: 700; }
.he-hadith-act-btn {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--he-line);
    border-radius: 11px;
    background: #fff;
    color: var(--he-green-800);
    box-shadow: none;
    cursor: pointer;
}
.he-hadith-act-btn:hover,
.he-hadith-act-btn:focus,
.hadith-share-dropdown.open > .he-hadith-act-btn { border-color: var(--he-green-400); background: var(--he-green-25); color: var(--he-green-900); }
#copyHadithText {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}
#copyHadithText > .svg-icon {
    display: block;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0 !important;
}
#copyHadithText.is-copied { border-color: var(--he-green-600); background: var(--he-green-600); color: #fff; }
#copyHadithText::after {
    position: absolute;
    z-index: 5;
    top: calc(100% + 8px);
    inset-inline-end: 0;
    padding: 5px 9px;
    border-radius: 7px;
    background: var(--he-ink-900);
    color: #fff;
    content: attr(data-copied-label);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-3px);
    transition: opacity .18s ease, transform .18s ease;
    white-space: nowrap;
}
#copyHadithText.is-copied::after { opacity: 1; transform: translateY(0); }
.he-hadith-act-btn:focus-visible,
.he-hadith-switch-tool:focus-visible,
.he-hadith-font-size button:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(102,128,58,.2); outline-offset: 2px; }
.he-hadith-toolbar .hadith-share-dropdown > .dropdown-menu { min-width: 210px !important; padding: 8px; border: 1px solid var(--he-green-150); border-radius: 14px; box-shadow: 0 14px 36px rgba(35,36,31,.14); }
.he-hadith-toolbar .hadith-share-dropdown > .dropdown-menu > li > a { min-height: 42px; padding: 9px 10px; border-radius: 9px; color: var(--he-ink-700); }
.he-hadith-toolbar .hadith-share-dropdown > .dropdown-menu > li > a:hover { background: var(--he-green-25); color: var(--he-green-800); }
.he-hadith-toolbar .svg-icon { margin: 0; color: currentColor; }
.he-hadith-content {
    display: flow-root;
    padding: clamp(15px, 2vw, 22px) clamp(22px, 4vw, 42px) 0 !important;
    border-radius: 0;
}
.he-hadith-content > p.ar,
.he-hadith-content > p.margin-bottom-10 {
    margin: 0 0 24px !important;
    color: var(--he-ink-900) !important;
    font-family: inherit !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 2.05 !important;
    text-align: start !important;
}
body.he-site.lang-ar .he-hadith-content > p.ar,
body.he-site.lang-ar .he-hadith-content > p.margin-bottom-10 { font-family: "Noto Naskh Arabic", Amiri, serif !important; }
.he-hadith-content > p .text-gray { color: var(--he-green-700) !important; font-size: .62em; font-weight: 500; line-height: 1.8; }
.he-hadith-original__more {
    display: flex;
    justify-content: flex-start;
    margin-top: 14px;
}
#toggArabicMore {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 7px 16px;
    border: 1px solid var(--he-green-200);
    border-radius: 11px;
    background: var(--he-green-50);
    color: var(--he-green-800);
    font-family: "DroidArabicKufiRegular", Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}
#toggArabicMore:hover,
#toggArabicMore:focus {
    border-color: var(--he-green-500);
    background: var(--he-green-600);
    color: #fff;
}
#toggArabicMore:focus-visible { outline: 3px solid rgba(102,128,58,.2); outline-offset: 2px; }
#toggArabicMore:active { transform: translateY(1px); }
#toggArabicMore[aria-expanded="true"] .he-template-chevron { transform: rotate(180deg); }
body.he-site:not(.lang-ar) .he-hadith-hero h1 {
    max-width: 860px;
    font-size: clamp(18px, 1.8vw, 24px);
    line-height: 1.5;
}
body.he-site:not(.lang-ar) .he-hadith-content > p.he-hadith-original {
    font-family: "Noto Naskh Arabic", Amiri, serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.95 !important;
}
body.he-site:not(.lang-ar) .he-hadith-content > p.he-hadith-translation {
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.9 !important;
}
.he-hadith-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 58px;
    padding: 12px clamp(18px, 3vw, 32px);
    border-top: 1px dashed var(--he-line);
    border-radius: 0 0 24px 24px;
    background: rgba(248,249,245,.72);
}
.he-hadith-meta__chip {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 12px;
    border: 1px solid #e1e3dc;
    border-radius: 999px;
    background: #eef0eb;
    color: #62665d;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.35;
}
.he-hadith-explanation-card,
.he-hadith-translations {
    margin: 0 0 20px;
    padding: clamp(20px, 3vw, 32px) !important;
    border-radius: 24px;
}
.he-hadith-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    color: var(--he-green-800);
    font-family: inherit;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.5;
}
.he-hadith-section-art { display: block; flex: 0 0 auto; margin: 0; }
#hadith-explanation {
    margin: 0 !important;
    padding: 0 0 8px;
    color: var(--he-ink-700) !important;
    font-family: inherit;
    font-size: 17px;
    font-weight: 600 !important;
    line-height: 2 !important;
    text-align: start !important;
}
body.he-site.lang-ar #hadith-explanation { font-family: "Noto Naskh Arabic", Amiri, serif !important; }
.he-hadith-benefits,
.he-hadith-meanings {
    float: none !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: clamp(18px, 3vw, 28px) !important;
    border: 1px solid var(--he-line);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--he-shadow);
}
.he-hadith-benefits h4,
.he-hadith-meanings h4,
.he-hadith-references h5,
.he-hadith-categories h5,
.he-hadith-related h5 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    color: var(--he-green-800) !important;
    font-family: inherit;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}
.he-hadith-content .note_bu,
.he-hadith-content .copy_bu,
.he-hadith-explanation-card .note_bu,
.he-hadith-explanation-card .copy_bu,
.he-hadith-benefits .note_bu,
.he-hadith-meanings .note_bu {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin: 0 2px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: var(--he-ink-300) !important;
    box-shadow: none !important;
}
.he-hadith-content .note_bu:hover,
.he-hadith-content .copy_bu:hover,
.he-hadith-explanation-card .note_bu:hover,
.he-hadith-explanation-card .copy_bu:hover,
.he-hadith-benefits .note_bu:hover,
.he-hadith-meanings .note_bu:hover { background: var(--he-green-25) !important; color: var(--he-green-800) !important; }
.he-hadith-content .note_bu .svg-icon,
.he-hadith-content .copy_bu .svg-icon,
.he-hadith-explanation-card .note_bu .svg-icon,
.he-hadith-explanation-card .copy_bu .svg-icon,
.he-hadith-benefits .note_bu .svg-icon,
.he-hadith-meanings .note_bu .svg-icon { width: 17px; height: 17px; margin: 0; }
.he-hadith-content h4 span { color: inherit !important; }
#hadith-benefits { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: benefit; }
#hadith-benefits li {
    position: relative;
    min-height: 48px;
    padding: 12px 50px 12px 14px;
    border: 1px solid var(--he-green-150);
    border-radius: 13px;
    background: var(--he-green-25);
    color: var(--he-ink-700);
    font-size: 17px;
    counter-increment: benefit;
}
[dir="ltr"] #hadith-benefits li { padding: 12px 14px 12px 50px; }
#hadith-benefits li::before {
    position: absolute;
    top: 10px;
    inset-inline-start: 11px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    background: var(--he-green-600);
    color: #fff;
    content: counter(benefit);
    font-size: 12px;
    font-weight: 800;
}
#hadith-benefits li span > b { font-weight: 500; line-height: 1.8; }
body.he-site:not(.lang-ar) .he-hadith-translation,
body.he-site:not(.lang-ar) .he-hadith-translation span,
body.he-site:not(.lang-ar) #hadith-explanation,
body.he-site:not(.lang-ar) #hadith-explanation span,
body.he-site:not(.lang-ar) #hadith-benefits,
body.he-site:not(.lang-ar) #hadith-benefits li,
body.he-site:not(.lang-ar) #hadith-benefits span,
body.he-site:not(.lang-ar) #hadith-benefits b {
    font-family: sans-serif !important;
}
#word-meanings { margin: 0 !important; }
#word-meanings dt { margin-top: 10px; color: var(--he-green-800); font-weight: 700; }
#word-meanings dd { margin: 3px 0 12px !important; color: var(--he-ink-500); line-height: 1.8; }
#toggTranses_bu {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 42px;
    margin: 0 !important;
    padding: 8px 16px;
    border: 1px solid var(--he-green-600) !important;
    border-radius: 12px !important;
    background: var(--he-green-600) !important;
    color: #fff !important;
}
.he-hadith-translations {
    position: relative;
    padding: clamp(18px, 2.5vw, 26px) !important;
    overflow: hidden;
}
.he-hadith-translations__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--he-line);
}
.he-hadith-translations__head .he-hadith-section-title { margin: 0; }
.he-hadith-translations__search {
    display: flex;
    flex: 1 1 240px;
    align-items: center;
    gap: 8px;
    max-width: 360px;
    min-height: 40px;
    margin-inline-start: auto;
    padding: 6px 12px;
    border: 1px solid var(--he-green-150);
    border-radius: 11px;
    background: var(--he-green-25);
    color: var(--he-green-700);
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.he-hadith-translations__search:focus-within { border-color: var(--he-green-500); background: #fff; box-shadow: 0 0 0 4px rgba(201,214,168,.22); }
.he-hadith-translations__search .svg-icon { flex: 0 0 auto; width: 17px; height: 17px; margin: 0; }
.he-hadith-translations__search input {
    width: 100%;
    min-width: 0;
    height: 26px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--he-ink-900);
    font: inherit;
    font-size: 12.5px;
    outline: 0;
}
.he-hadith-translations__search input::placeholder { color: var(--he-ink-300); opacity: 1; }
.he-hadith-count { display: inline-flex; flex: 0 0 auto; align-items: center; min-height: 30px; padding: 4px 11px; border-radius: 999px; background: var(--he-green-50); color: var(--he-green-800); font-size: 12px; font-weight: 700; }
#hadith-trans-languages.he-hadith-translations__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}
.he-hadith-translation-tile {
    display: flex;
    min-width: 0;
    min-height: 46px;
    flex-direction: row;
    align-items: stretch;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--he-green-150);
    border-radius: 12px;
    background: var(--he-green-25);
    color: var(--he-ink-900);
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.he-hadith-translation-tile:hover { transform: translateY(-1px); border-color: var(--he-green-400); background: #fff; color: var(--he-green-800); box-shadow: 0 7px 18px rgba(65, 83, 36, .07); }
.he-hadith-translation-tile__main { display: grid; grid-template-columns: 30px minmax(0, 1fr); flex: 1 1 auto; align-items: center; gap: 7px; min-width: 0; min-height: 46px; padding: 6px 4px 6px 7px; }
.he-hadith-translation-tile__code { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: #fff; color: var(--he-green-700); font-family: system-ui, sans-serif; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.he-hadith-translation-tile__text { display: flex; min-width: 0; align-items: baseline; gap: 5px; white-space: nowrap; }
.he-hadith-translation-tile__text strong,
.he-hadith-translation-tile__text small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.he-hadith-translation-tile__text strong { flex: 0 1 auto; font-size: 12px; font-weight: 700; }
.he-hadith-translation-tile__text small { flex: 1 1 auto; color: var(--he-ink-300); font-size: 9.5px; }
.he-hadith-translation-tile__actions { display: grid; grid-template-columns: repeat(3, 25px); flex: 0 0 auto; min-height: 46px; margin: 0; background: transparent; }
.he-translation-action {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 46px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--he-green-700);
    cursor: pointer;
}
.he-translation-action .svg-icon { width: 14px; height: 14px; margin: 0; }
.he-translation-action--open .svg-icon { fill: currentColor; }
.he-translation-action:hover,
.he-translation-action:focus { background: var(--he-green-100); color: var(--he-green-900); }
.he-translation-action:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--he-green-500); outline-offset: -2px; }
.he-translation-preview.is-active,
.he-translation-share.is-active { background: var(--he-green-600); color: #fff; }
.he-hadith-translations__grid:not(.is-expanded):not(.is-filtering) .he-hadith-translation-tile:nth-child(n+9) { display: none; }
.he-hadith-translation-tile[hidden] { display: none !important; }
.he-hadith-translations__empty { margin: 18px 0 4px; color: var(--he-ink-300); font-size: 13px; text-align: center; }
.he-hadith-translations__empty[hidden] { display: none; }
.he-hadith-translations.is-filtering #toggleTranslationTiles { display: none; }
.he-hadith-translations__toggle { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 16px; }
.he-hadith-translations__toggle > .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 8px 16px; border-radius: 12px !important; }
#toggleTranslationTiles { border-color: var(--he-green-200); background: #fff; color: var(--he-green-800); }
#toggleTranslationTiles:hover { border-color: var(--he-green-400); background: var(--he-green-25); }
.he-hadith-translations__chevron { color: currentColor; }
#toggleTranslationTiles[aria-expanded="true"] .he-hadith-translations__chevron { transform: rotate(180deg); }
#hadith-trans-languages .btn,
.he-hadith-language-links .btn { margin: 0; border: 1px solid var(--he-green-150); border-radius: 999px; background: var(--he-green-25); color: var(--he-green-800) !important; }
#transes { margin-top: 16px; padding: 0; overflow: hidden; border: 1px solid var(--he-green-150); border-radius: 16px; background: #fff !important; }
.he-translation-preview-modal .modal-dialog { width: min(920px, calc(100% - 24px)); margin: 28px auto; }
.he-translation-preview-modal .modal-content { overflow: hidden; border: 1px solid var(--he-green-150); border-radius: 20px; box-shadow: 0 24px 70px rgba(35,36,31,.22); }
.he-translation-preview-modal .modal-header { min-height: 62px; padding: 15px 20px; border-bottom: 1px solid var(--he-line); background: var(--he-green-25); }
.he-translation-preview-modal .modal-title { color: var(--he-green-800); font-family: inherit; font-size: 19px; font-weight: 700; line-height: 1.6; }
.he-translation-preview-modal .modal-header .close { top: 13px; display: grid; place-items: center; width: 34px; height: 34px; margin: 0; padding: 0; border: 1px solid var(--he-green-150); border-radius: 10px; background: #fff; color: var(--he-ink-700); font-size: 23px; line-height: 1; opacity: 1; }
.he-translation-preview-modal__body { max-height: calc(100vh - 130px); padding: 0 !important; overflow-y: auto; overscroll-behavior: contain; }
#translation-preview-modal #transes { margin: 0; overflow: visible; border: 0; border-radius: 0; }
.he-inline-translations__status { display: flex; align-items: center; justify-content: center; min-height: 90px; padding: 18px; color: var(--he-ink-300); font-size: 13px; }
.he-inline-translations__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 10px 14px; border-bottom: 1px solid var(--he-line); background: var(--he-green-25); color: var(--he-green-800); }
.he-inline-translations__head strong { font-size: 15px; }
.he-inline-translations__close { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 1px solid var(--he-green-150); border-radius: 9px; background: #fff; color: var(--he-ink-500); font-size: 20px; line-height: 1; }
.he-inline-translation { border-bottom: 1px solid var(--he-line); background: #fff; }
.he-inline-translation:last-child { border-bottom: 0; }
.he-inline-translation__summary { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; align-items: center; gap: 9px; min-height: 54px; padding: 9px 12px; cursor: pointer; list-style: none; }
.he-inline-translation__summary::-webkit-details-marker { display: none; }
.he-inline-translation__summary:hover { background: var(--he-green-25); }
.he-inline-translation__code { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--he-green-50); color: var(--he-green-800); font-family: system-ui, sans-serif; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.he-inline-translation__name { display: flex; min-width: 0; flex-direction: column; }
.he-inline-translation__name strong,
.he-inline-translation__name small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.he-inline-translation__name strong { color: var(--he-ink-900); font-size: 13.5px; }
.he-inline-translation__name small { color: var(--he-ink-300); font-size: 11px; }
.he-inline-translation__open { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--he-green-150); border-radius: 9px; color: var(--he-green-700); }
.he-inline-translation__open .svg-icon { width: 13px; height: 13px; margin: 0; }
.he-inline-translation__chevron { color: var(--he-green-700); transition: transform .2s ease; }
.he-inline-translation[open] .he-inline-translation__chevron { transform: rotate(180deg); }
.he-inline-translation__body { padding: 18px clamp(14px, 3vw, 24px) 20px; border-top: 1px solid var(--he-line); background: #fff; }
.he-inline-translation__block + .he-inline-translation__block { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--he-line); }
.he-inline-translation__label { display: inline-flex; margin-bottom: 8px; padding: 4px 9px; border-radius: 999px; background: var(--he-green-50); color: var(--he-green-800); font-size: 11px; font-weight: 700; }
.he-inline-translation__text { margin: 0; color: var(--he-ink-700); font-size: 15.5px; line-height: 1.95; text-align: start; }
.he-inline-translation__meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.he-inline-translation__meta span { padding: 4px 9px; border-radius: 999px; background: #eef0eb; color: #62665d; font-size: 11px; }
.he-inline-translation__benefits { margin: 8px 0 0; padding-inline-start: 22px; color: var(--he-ink-500); font-size: 13.5px; line-height: 1.8; }
.he-hadith-references,
.he-hadith-categories,
.he-hadith-related { margin: 0 0 20px; padding: clamp(20px, 3vw, 30px) !important; border-radius: 24px; }
.he-hadith-references { padding: 0 !important; overflow: hidden; }
.he-hadith-references__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 68px;
    padding: 14px clamp(18px, 3vw, 30px);
    cursor: pointer;
    list-style: none;
}
.he-hadith-references__summary::-webkit-details-marker { display: none; }
.he-hadith-references__title { display: flex; align-items: center; gap: 10px; color: var(--he-green-800); font-size: 20px; font-weight: 700; }
.he-hadith-references__title > .svg-icon { width: 27px; height: 27px; margin: 0; color: var(--he-green-600); }
.he-hadith-references__chevron { color: var(--he-green-700); }
.he-hadith-references[open] .he-hadith-references__chevron { transform: rotate(180deg); }
.he-hadith-references__body { padding: 0 clamp(18px, 3vw, 30px) 24px; border-top: 1px solid var(--he-line); }
.he-hadith-references ol,
.he-hadith-categories ul,
.he-hadith-related ul { margin: 0; padding-inline-start: 24px; }
.he-hadith-references li,
.he-hadith-categories li,
.he-hadith-related li { padding: 7px 0; color: var(--he-ink-500); line-height: 1.8; }
.he-hadith-categories a,
.he-hadith-related a { color: var(--he-green-800) !important; }
.he-hadith-related li + li { border-top: 1px solid var(--he-line); }
.he-hadith-related li { padding-inline-end: 0; }
.he-hadith-related li a { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.he-hadith-related li a .he-template-chevron { color: var(--he-green-400); }
.he-hadith-pager { margin: 0 0 10px; }
.he-hadith-pager .pager { display: flex; justify-content: space-between; gap: 12px; margin: 0; }
.he-hadith-pager .pager::before,
.he-hadith-pager .pager::after { display: none; }
.he-hadith-pager .pager li { flex: 0 1 220px; }
.he-hadith-pager .pager a {
    width: 100%;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 16px;
    border: 1px solid var(--he-green-200);
    border-radius: 12px;
    background: #fff;
    color: var(--he-green-800);
}
.he-hadith-pager .pager li:not(.disabled):last-child a { border-color: var(--he-green-600); background: var(--he-green-600); color: #fff; }
.he-hadith-pager .pager .disabled a { opacity: .48; }
.he-hadith-language-links { margin: 18px 0 0; }
.he-hadith-language-links .margin-bottom-20 { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-bottom: 0 !important; }

@media (min-width: 1200px) {
    .he-hadith-hero__qr { inset-inline-end: 30px; }
}

@media (max-width: 900px) {
    .he-hadith-hero__emblem { display: none; }
    .he-hadith-hero { min-height: 350px; }
    .he-hadith-hero__inner { padding-bottom: 145px; }
    .he-hadith-hero__qr { bottom: 108px; width: 70px; height: 70px; padding: 6px; border-radius: 16px; }
    .he-hadith-main { margin-top: -108px; padding-inline: 10px; }
    #hadith-trans-languages.he-hadith-translations__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .he-hadith-hero { min-height: 320px; }
    .he-hadith-hero__inner { gap: 12px; padding: 14px 16px 124px; }
    .he-hadith-hero h1 { font-size: clamp(23px, 7vw, 32px); line-height: 1.55; }
    .he-hadith-hero__tags { gap: 6px; }
    .he-hadith-hero__tags a { min-height: 30px; padding: 4px 10px; font-size: 11.5px; }
    .he-hadith-hero__qr { inset-inline-end: 16px; bottom: 94px; width: 62px; height: 62px; padding: 5px; border-radius: 14px; }
    .he-hadith-main { margin-top: -88px; padding-inline: 8px; padding-bottom: 32px !important; }
    .he-hadith-primary-card,
    .he-hadith-explanation-card,
    .he-hadith-translations { border-radius: 18px; }
    .he-hadith-toolbar {
        align-items: center;
        flex-wrap: nowrap;
        gap: 6px;
        padding: 7px 8px !important;
        border-radius: 18px 18px 0 0;
    }
    .he-hadith-toolbar__settings,
    .he-hadith-toolbar__actions { flex-wrap: nowrap; gap: 4px; }
    .he-hadith-toolbar__settings { flex: 1 1 auto; min-width: 0; }
    .he-hadith-toolbar__actions { flex: 0 0 auto; }
    .he-hadith-toolbar .hadith-share-dropdown > .dropdown-menu {
        box-sizing: border-box;
        width: min(210px, calc(100vw - 24px));
        min-width: 0 !important;
        max-width: calc(100vw - 24px);
    }
    .he-hadith-toolbar .hadith-share-dropdown > .dropdown-menu > li > a > span {
        min-width: 0;
        white-space: normal;
    }
    .he-hadith-switch-tool > span:first-child { display: none; }
    .he-hadith-switch-tool { height: 36px; padding-inline: 6px; }
    .he-hadith-switch { width: 32px; height: 18px; padding: 2px; }
    .he-hadith-switch::before { width: 14px; height: 14px; }
    .he-hadith-font-size { height: 36px; }
    .he-hadith-font-size button { width: 30px; }
    .he-hadith-font-size > span { min-width: 28px; padding-inline: 4px; }
    .he-hadith-act-btn { width: 34px; height: 34px; border-radius: 9px; }
    .he-hadith-content { padding: 14px 16px 0 !important; border-radius: 0; }
    .he-hadith-meta { padding: 11px 16px; border-radius: 0 0 18px 18px; }
    .he-hadith-content > p.ar,
    .he-hadith-content > p.margin-bottom-10 { font-size: 17px !important; line-height: 1.95 !important; }
    body.he-site:not(.lang-ar) .he-hadith-hero h1 { font-size: clamp(17px, 4.8vw, 21px); line-height: 1.5; }
    body.he-site:not(.lang-ar) .he-hadith-content > p.he-hadith-original,
    body.he-site:not(.lang-ar) .he-hadith-content > p.he-hadith-translation { font-size: 17px !important; }
    #hadith-explanation { font-size: 18px !important; line-height: 1.9 !important; }
    .he-hadith-benefits,
    .he-hadith-meanings { padding: 15px 12px !important; border-radius: 14px; }
    #hadith-benefits li { padding-inline-end: 10px; }
    .he-hadith-references,
    .he-hadith-categories,
    .he-hadith-related { padding: 18px 15px !important; border-radius: 18px; }
    #hadith-trans-languages.he-hadith-translations__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .he-hadith-translations__head { flex-wrap: wrap; }
    .he-hadith-translations__head .he-hadith-section-title { flex: 1 1 auto; }
    .he-hadith-translations__search { order: 3; flex-basis: 100%; max-width: none; margin-inline-start: 0; }
    .he-hadith-translations { padding: 16px 12px !important; }
    .he-hadith-translations__head { gap: 8px; margin-bottom: 12px; padding-bottom: 12px; }
    .he-hadith-translation-tile { min-height: 44px; padding: 0; }
    .he-hadith-translation-tile__main { grid-template-columns: 28px minmax(0, 1fr); gap: 5px; min-height: 44px; padding: 5px 3px 5px 5px; }
    .he-hadith-translation-tile__code { width: 28px; height: 28px; }
    .he-hadith-translation-tile__text { gap: 3px; }
    .he-hadith-translation-tile__text small { display: none; }
    .he-hadith-translation-tile__actions { grid-template-columns: repeat(3, 23px); min-height: 44px; }
    .he-translation-action { min-height: 44px; }
    .he-inline-translation__summary { grid-template-columns: 32px minmax(0, 1fr) auto auto; gap: 7px; padding-inline: 8px; }
    .he-inline-translation__body { padding: 15px 12px 17px; }
    .he-inline-translation__text { font-size: 14.5px; }
    .he-translation-preview-modal .modal-dialog { width: calc(100% - 16px); margin: 8px auto; }
    .he-translation-preview-modal .modal-content { border-radius: 16px; }
    .he-translation-preview-modal .modal-header { min-height: 56px; padding: 11px 14px; }
    .he-translation-preview-modal .modal-title { font-size: 17px; }
    .he-translation-preview-modal__body { max-height: calc(100vh - 80px); }
    .he-hadith-pager .pager li { flex: 1 1 0; }
    .he-hadith-pager .pager a { min-height: 42px; padding-inline: 9px; font-size: 12px; }
}

@media (max-width: 319px) {
    .he-hadith-toolbar { flex-wrap: wrap; justify-content: center; }
    .he-hadith-toolbar__settings,
    .he-hadith-toolbar__actions { justify-content: center; }
}

@media print {
    .he-hadith-page { overflow: visible; background: #fff; }
    .he-hadith-hero { min-height: 0; background: #fff !important; }
    .he-hadith-hero__inner { padding: 0 0 20px; }
    .he-hadith-hero__emblem,
    .he-hadith-breadcrumb,
    .he-hadith-hero__tags,
    .he-hadith-hero__qr { display: none; }
    .he-hadith-main { margin-top: 0; padding: 0 !important; }
    .he-hadith-primary-card,
    .he-hadith-explanation-card,
    .he-hadith-translations,
    .he-hadith-references,
    .he-hadith-categories,
    .he-hadith-related { border: 0; box-shadow: none; }
}

/* Arabic hadith typography mirrors the reference template. */
body.he-site.lang-ar .he-hadith-page {
    font-family: "Thmanyah Sans", Janna, sans-serif !important;
}
body.he-site.lang-ar .he-hadith-hero h1 {
    font-size: clamp(18px, 1.8vw, 24px);
    font-weight: 700;
    line-height: 1.45;
}
body.he-site.lang-ar .he-hadith-breadcrumb,
body.he-site.lang-ar .he-hadith-hero__eyebrow,
body.he-site.lang-ar .he-hadith-hero__tags,
body.he-site.lang-ar .he-hadith-toolbar,
body.he-site.lang-ar .he-hadith-count,
body.he-site.lang-ar .he-hadith-translation-tile,
body.he-site.lang-ar .he-hadith-pager,
body.he-site.lang-ar .he-hadith-language-links {
    font-family: "Thmanyah Sans", Janna, sans-serif !important;
}
body.he-site.lang-ar .he-hadith-content > p.ar,
body.he-site.lang-ar .he-hadith-content > p.margin-bottom-10 {
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 2.05 !important;
    text-wrap: pretty;
}
body.he-site.lang-ar .he-hadith-content > p .text-gray {
    font-family: "Thmanyah Sans", Janna, sans-serif !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.8;
}
body.he-site.lang-ar .he-hadith-section-title,
body.he-site.lang-ar .he-hadith-benefits h4,
body.he-site.lang-ar .he-hadith-meanings h4,
body.he-site.lang-ar .he-hadith-categories h5,
body.he-site.lang-ar .he-hadith-related h5 {
    font-family: "Thmanyah Serif Display", Amiri, serif !important;
    font-size: clamp(22px, 2.4vw, 26px);
    font-weight: 700;
    line-height: 1.4;
}
body.he-site.lang-ar #hadith-explanation {
    font-family: "Noto Naskh Arabic", Amiri, serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 2 !important;
    text-wrap: pretty;
}
body.he-site.lang-ar #hadith-benefits,
body.he-site.lang-ar #hadith-benefits li,
body.he-site.lang-ar #hadith-benefits li > span,
body.he-site.lang-ar #hadith-benefits li > span * {
    font-family: "Noto Naskh Arabic", Amiri, serif !important;
    font-size: 18px;
    font-weight: 600 !important;
    line-height: 1.9;
    text-wrap: pretty;
}
body.he-site.lang-ar #word-meanings dt,
body.he-site.lang-ar #word-meanings dd {
    font-family: "Thmanyah Sans", Janna, sans-serif !important;
}
body.he-site.lang-ar .he-hadith-references__title {
    font-family: "Thmanyah Sans", Janna, sans-serif !important;
    font-size: 18px;
    font-weight: 700;
}
body.he-site.lang-ar .he-hadith-references li {
    font-family: "Thmanyah Sans", Janna, sans-serif !important;
    font-size: 15px;
    line-height: 1.8;
}
body.he-site.lang-ar .he-hadith-related li,
body.he-site.lang-ar .he-hadith-related li a {
    font-family: "Noto Naskh Arabic", Amiri, serif !important;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.85;
    text-wrap: pretty;
}
body.he-site.lang-ar .he-hadith-translation-tile__text strong {
    font-size: 13px;
    font-weight: 700;
}
body.he-site.lang-ar .he-hadith-translation-tile__text small { font-size: 10.5px; }

@media (max-width: 767px) {
    body.he-site.lang-ar .he-hadith-hero h1 { font-size: clamp(17px, 4.8vw, 21px); line-height: 1.5; }
    body.he-site.lang-ar .he-hadith-content > p.ar,
    body.he-site.lang-ar .he-hadith-content > p.margin-bottom-10 { font-size: 17px !important; }
}

/* Preserve current typography through regular desktops, then scale reading text
   gently on wide displays where the fixed 17–18px sizes feel undersized. */
@media (min-width: 1600px) {
    .he-hadith-content > p.ar,
    .he-hadith-content > p.margin-bottom-10,
    body.he-site.lang-ar .he-hadith-content > p.ar,
    body.he-site.lang-ar .he-hadith-content > p.margin-bottom-10,
    body.he-site:not(.lang-ar) .he-hadith-content > p.he-hadith-original {
        font-size: clamp(18px, 1.08vw, 22px) !important;
    }

    body.he-site:not(.lang-ar) .he-hadith-content > p.he-hadith-translation {
        font-size: clamp(17px, 1.02vw, 20px) !important;
    }

    #hadith-explanation,
    body.he-site.lang-ar #hadith-explanation {
        font-size: clamp(18px, 1.05vw, 21px) !important;
    }

    #hadith-benefits li,
    #hadith-benefits li > span,
    #hadith-benefits li > span *,
    body.he-site.lang-ar #hadith-benefits li,
    body.he-site.lang-ar #hadith-benefits li > span,
    body.he-site.lang-ar #hadith-benefits li > span * {
        font-size: clamp(18px, 1.05vw, 21px) !important;
    }
}

/* Contact page ------------------------------------------------------------- */
.he-contact-page {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, var(--he-green-25) 0, #fff 54%, var(--he-green-25) 100%);
    color: var(--he-ink-700);
}
.he-contact-page section { padding: 0; border: 0 !important; background-attachment: scroll !important; box-shadow: none !important; }
.he-contact-hero {
    position: relative;
    min-height: 350px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(241,244,234,.92) 0%, rgba(247,249,242,.78) 58%, #fff 100%) !important;
}
.he-contact-hero__emblem {
    position: absolute;
    top: 48%;
    left: -45px;
    width: 300px;
    height: auto;
    opacity: .065;
    transform: translateY(-50%);
    pointer-events: none;
}
.he-contact-hero__inner {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 350px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding-top: clamp(26px, 4vw, 46px);
    padding-bottom: 120px;
    text-align: center;
}
.he-contact-breadcrumb {
    display: flex;
    align-self: stretch;
    align-items: center;
    gap: 7px;
    margin-bottom: 25px;
    color: var(--he-ink-300);
    font-size: 13px;
    text-align: start;
}
.he-contact-breadcrumb a { color: inherit; }
.he-contact-breadcrumb a:hover { color: var(--he-green-700); }
.he-contact-breadcrumb svg { flex: 0 0 auto; color: var(--he-green-500); }
[dir="ltr"] .he-contact-breadcrumb svg { transform: rotate(180deg); }
.he-contact-hero__icon,
.he-contact-card__mark {
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: var(--he-green-600);
    color: #fff;
    box-shadow: 0 10px 26px rgba(79,101,43,.18);
}
.he-contact-hero__icon { width: 58px; height: 58px; margin-bottom: 13px; }
.he-contact-hero__icon .svg-icon { width: 25px; height: 25px; margin: 0; fill: currentColor; }
.he-contact-hero h1 {
    margin: 0 0 8px;
    color: var(--he-ink-900);
    font-size: clamp(29px, 4vw, 43px);
    font-weight: 750;
    line-height: 1.35;
}
body.he-site.lang-ar .he-contact-hero h1 { font-family: "Thmanyah Serif Display", Amiri, serif !important; }
.he-contact-hero p { max-width: 650px; margin: 0; color: var(--he-ink-500); font-size: 15px; line-height: 1.85; text-wrap: balance; }
.he-contact-main { position: relative; z-index: 2; margin-top: -105px; padding-bottom: 52px !important; }
.he-contact-card {
    display: grid;
    grid-template-columns: minmax(250px, .72fr) minmax(0, 1.55fr);
    max-width: 980px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--he-green-150);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--he-shadow);
}
.he-contact-card__intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(28px, 4vw, 44px);
    background: linear-gradient(145deg, var(--he-green-700), var(--he-green-600));
    color: #fff;
}
.he-contact-card__mark { width: 48px; height: 48px; margin-bottom: 24px; background: rgba(255,255,255,.14); box-shadow: none; }
.he-contact-card__mark .svg-icon { width: 22px; height: 22px; margin: 0; fill: currentColor; }
.he-contact-card__intro h2 { margin: 0 0 12px; color: #fff; font-size: clamp(21px, 2.5vw, 28px); font-weight: 750; line-height: 1.45; }
.he-contact-card__intro p { margin: 0 0 25px; color: rgba(255,255,255,.8); font-size: 14px; line-height: 1.85; }
.he-contact-email { margin-top: auto; color: #fff !important; font-size: 13px; font-weight: 700; }
.he-contact-email:hover { color: var(--he-green-100) !important; }
.he-contact-form { padding: clamp(28px, 4vw, 46px); }
.he-contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.he-contact-field { display: flex; min-width: 0; flex-direction: column; gap: 7px; margin: 0 0 17px; color: var(--he-ink-700); font-size: 13px; font-weight: 700; }
.he-contact-field b { color: #a44739; }
.he-contact-field .form-control {
    width: 100%;
    height: 48px;
    padding: 10px 13px;
    border: 1px solid var(--he-green-150);
    border-radius: 11px;
    background: var(--he-green-25);
    color: var(--he-ink-900);
    font-size: 14px;
    box-shadow: none;
    outline: 0;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.he-contact-field textarea.form-control { height: auto; min-height: 150px; resize: vertical; line-height: 1.7; }
.he-contact-field .form-control:focus { border-color: var(--he-green-500); background: #fff; box-shadow: 0 0 0 4px rgba(201,214,168,.22); }
.he-contact-field .form-control.err { border-color: #b45b4d; background: #fff8f6; box-shadow: 0 0 0 3px rgba(180,91,77,.1); }
.he-contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 170px;
    min-height: 48px;
    padding: 10px 24px;
    border: 1px solid var(--he-green-600) !important;
    border-radius: 12px !important;
    background: var(--he-green-600) !important;
    color: #fff !important;
    font-weight: 700;
}
.he-contact-submit:hover,
.he-contact-submit:focus { border-color: var(--he-green-800) !important; background: var(--he-green-800) !important; }
.he-contact-submit:disabled { opacity: .62; cursor: wait; }
.he-contact-submit .svg-icon { width: 17px; height: 17px; margin: 0; fill: currentColor; }

@media (max-width: 767px) {
    .he-contact-hero { min-height: 315px; }
    .he-contact-hero__emblem { display: none; }
    .he-contact-hero__inner { min-height: 315px; padding: 22px 16px 104px; }
    .he-contact-breadcrumb { margin-bottom: 18px; }
    .he-contact-hero__icon { width: 50px; height: 50px; border-radius: 14px; }
    .he-contact-hero h1 { font-size: 27px; }
    .he-contact-hero p { font-size: 13.5px; }
    .he-contact-main { margin-top: -82px; padding-inline: 10px; padding-bottom: 34px !important; }
    .he-contact-card { grid-template-columns: 1fr; border-radius: 18px; }
    .he-contact-card__intro { padding: 22px 20px; }
    .he-contact-card__mark { width: 42px; height: 42px; margin-bottom: 14px; border-radius: 12px; }
    .he-contact-card__intro h2 { margin-bottom: 7px; font-size: 20px; }
    .he-contact-card__intro p { margin-bottom: 12px; }
    .he-contact-email { margin-top: 0; }
    .he-contact-form { padding: 22px 18px 24px; }
    .he-contact-form__grid { grid-template-columns: 1fr; gap: 0; }
    .he-contact-field { margin-bottom: 14px; }
    .he-contact-field .form-control { height: 45px; }
    .he-contact-field textarea.form-control { min-height: 125px; }
    .he-contact-submit { width: 100%; min-height: 46px; }
}
