/* Redesign overlay — senior-friendly type, home grid, menu, offline, targets */
:root{--mut:#3a433e;--ok:#0b5d2a;--ink:#1f2a24}
html{font-size:16px}
/* Never render text smaller than 16px; Urdu/Nastaliq at least 20px with room for glyphs */
body,button,input,select,textarea,label,.btn,.info,.sub,.meta,.en,.hc-en,.sp-t,.sp-u,
#search .modes button,#search .scopes button,#search .bookf button,.ex i,.chip,
.pdfcount,.selhelp,.hint,.ttl,.ct-l,.ct-v,.quick b,.quick i{font-size:max(16px,1em);line-height:1.85;overflow:visible}
.ur,.hc-ar,.hc-sub,.in-ur,.h-ur,.h-snip-ur,.ayt-ur,.ntab .tu,.ncard .tu,.tile .tu,
#tsTitle,#hTitle,#pageTitle,#nfTitle,#nfxTitle,.book .bu,.meta.ur,.ts-snip-meta{
  font-family:Nastaliq,Naskh,serif;font-size:max(20px,1em);line-height:2;padding-block:.12em;
  overflow:visible;white-space:normal;text-overflow:unset
}
.ttl{overflow:visible;white-space:normal;line-height:2;font-size:20px;color:#fff;font-family:Nastaliq,Naskh,serif}
.bar.top{min-height:56px;align-items:center;gap:6px;padding-top:max(8px,env(safe-area-inset-top));padding-inline:8px}
.ib,.backbtn,.menubtn,.fsbtn,.sbtn,.iconbtn{min-width:48px;min-height:48px}
/* Labeled back */
.backbtn,.nav-back{
  display:inline-flex!important;flex-direction:column;align-items:center;justify-content:center;
  min-width:56px;min-height:48px;gap:0;padding:2px 4px;color:#fff;background:transparent;border:0;border-radius:14px;
  font-family:system-ui,sans-serif;line-height:1.15
}
.backbtn .chev,.nav-back .chev{font-size:22px;line-height:1}
.backbtn .bu,.nav-back .bu{font-family:Nastaliq,Naskh,serif;font-size:16px;line-height:1.8;padding:0;color:#fff}
.backbtn .be,.nav-back .be{font-size:11px;opacity:.95;color:#fff}
/* Menu button */
.menubtn{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:64px;min-height:48px;padding:2px 6px;border:1.5px solid rgba(217,192,138,.7);
  background:rgba(255,255,255,.08);color:#fff;border-radius:14px;gap:0
}
.menubtn .bu{font-family:Nastaliq,Naskh,serif;font-size:16px;line-height:1.8;padding:0;color:#fff}
.menubtn .be{font-size:11px;color:#fff}
/* Labeled Aa */
.aa-btn{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:64px;min-height:48px;padding:2px 6px;border:1.5px solid rgba(217,192,138,.7);
  background:rgba(255,255,255,.08);color:#fff;border-radius:14px
}
.aa-btn .aa-mark{font-family:Georgia,serif;font-weight:700;font-size:16px;line-height:1;color:#fff}
.aa-btn .aa-ur{font-family:Nastaliq,serif;font-size:14px;line-height:1.8;padding:0;color:#fff}
.aa-btn .aa-en{font-size:11px;color:#fff}
button.fs-home{display:none!important} /* no floating overlap */

/* Contrast */
.hc-en,.hc-sub,.sp-t,.sp-u,.ct-l,.info,.sub,.mut,.hint,.cl,.te{color:#3a433e}
.hero-sub{color:#fff}

/* Buttons / PDF */
.btn,#pdfStart,#hPdfStart,.pdfstart .btn{
  min-height:52px;padding:8px 16px;font-size:16px;line-height:2;
  overflow:visible;white-space:normal;padding-block:8px
}
#pdfStart,#hPdfStart,#pdfMake,.btn.big{background:linear-gradient(180deg,#11533c,#0b3d2c);color:#fff;font-weight:600;border:0}
#pdfbar .btn,#pdfbar .pdfcount{min-height:48px;font-size:16px}
#pdfMake{flex:1.4}
#pdfbar{gap:8px}

/* Chips / scopes / examples / collapse — 48px */
#search .scopes button,#search .modes button,#search .bookf button,
.ex i,button.more,.gsel,.gchev,.bookchips button{
  min-height:48px;min-width:48px;font-size:16px;line-height:1.85;padding:6px 10px;overflow:visible
}
.gchev{width:48px;height:48px}
#pageSlider,#tsSlider,#nfSlider{min-height:48px;accent-color:#0b3d2c}

/* ---------- HOME compact one-screen ---------- */
#home .bar.hero{flex-direction:row;align-items:center;padding:8px 10px max(10px, env(safe-area-inset-top));border-radius:0 0 20px 20px}
#home .hero-in{display:none}
#home header .home-title{flex:1;text-align:center;font-family:Nastaliq,Naskh,serif;font-size:22px;line-height:2;color:#fff;padding-block:.08em}
#home .homebody{gap:10px;padding:12px 14px 18px;overflow:auto}
.searchpill{min-height:72px;margin-top:0;display:flex;align-items:center;gap:12px;grid-template-columns:unset}
.searchpill .sic{width:28px;height:28px;color:var(--em)}
.searchpill .sp-u{font-family:Nastaliq,serif;font-size:22px;line-height:2;color:var(--em);padding-block:.08em}
.searchpill .sp-t{font-size:16px;color:#3a433e}
.cont-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cont-row .continue{margin:0;min-height:76px;padding:8px 10px;border-radius:16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:start}
.cont-row .continue.hidden{display:flex!important;opacity:.7}
.continue .ct-l{font-size:16px;color:#3a433e;white-space:normal}
.continue .ct-v{font-family:Nastaliq,serif;font-size:18px;line-height:2;overflow:visible;white-space:normal;text-overflow:unset}
.continue .ico{display:none}
.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.home-grid .tile{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  min-height:132px;padding:12px 8px 14px;background:#fff;border-radius:22px;
  border:1.5px solid rgba(184,151,90,.5);
  box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 6px rgba(169,203,179,.75),0 6px 16px rgba(11,61,44,.08);
  color:var(--em)
}
.home-grid .tile svg{width:32px;height:32px;color:#8a6d3b;margin-bottom:2px}
.home-grid .tile .tu{font-family:Nastaliq,Naskh,serif;font-size:22px;line-height:2;text-align:center;color:var(--em);padding-block:.1em}
.home-grid .tile .te{font-size:16px;color:#3a433e;text-align:center}
#home .bookblock,#home .quick,#home .offrow,#home .hcard{display:none}
#home .gotorow{margin-top:4px}
#home .gotorow input,#home .gotorow .btn{min-height:48px;font-size:16px}

/* Search filters */
#search .scopes{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;overflow:visible}
#search .scopes button{flex:1 1 calc(50% - 8px);max-width:calc(50% - 8px)}
#search .bookf{display:none}
#search.filters-on .bookf,#search.filters-on #modes{display:flex;flex-wrap:wrap;gap:8px;overflow:visible}
#filterToggle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(100% - 20px);margin:4px 10px;min-height:48px;border-radius:16px;border:1.5px solid var(--em);background:#fff;color:var(--em)}
#filterToggle .bu{font-family:Nastaliq,serif;font-size:20px;line-height:2}
#filterToggle .be{font-size:16px}
#modes{display:none}

/* Hadith book cards — no clipping */
.bookcard,.hcard.bookcard{min-height:108px;padding:14px 12px 18px;overflow:visible}
.bookcard .hc-ar,.hcard .hc-ar{font-family:Ruqaa,Nastaliq,Naskh,serif;font-size:28px;line-height:2;padding-block:.15em;overflow:visible;-webkit-text-fill-color:var(--em);background:none;color:var(--em)}
.bookcard .hc-en{font-size:16px;color:#3a433e}
.bookcard .hc-sub{font-size:20px;line-height:2;color:#3a433e}

/* Menu sheet */
#appsheet{position:fixed;inset:0;z-index:80;background:rgba(20,30,24,.45);display:none;align-items:flex-end}
#appsheet.on{display:flex}
#appsheet .sheet{width:100%;max-height:88dvh;overflow:auto;background:#fbf8f1;border-radius:22px 22px 0 0;padding:12px 14px calc(16px + env(safe-area-inset-bottom))}
#appsheet h2{font-family:Nastaliq,serif;font-size:24px;line-height:2;text-align:center;color:var(--em)}
#appsheet .sheet-en{text-align:center;font-size:16px;color:#3a433e;margin-bottom:8px}
#appsheet .mitem{
  display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 12px;margin:0 0 8px;
  border-radius:16px;border:1.5px solid rgba(184,151,90,.45);background:#fff;text-align:start;color:var(--em)
}
#appsheet .mitem .mu{flex:1;font-family:Nastaliq,serif;font-size:22px;line-height:2;padding-block:.08em}
#appsheet .mitem .me{font-size:16px;color:#3a433e;min-width:7rem;text-align:end}
#appsheet .sheet-close{width:100%;min-height:52px;margin-top:6px}

/* Offline view */
#offlineview{background:var(--ivory,#fbf8f1)}
#offlineview .obody{flex:1;overflow:auto;padding:12px 14px calc(24px + env(safe-area-inset-bottom))}
.off-card{background:#fff;border:1.5px solid rgba(184,151,90,.45);border-radius:16px;padding:12px 14px;margin:0 0 10px}
.off-card h3{font-family:Nastaliq,serif;font-size:22px;line-height:2;color:var(--em)}
.off-card .osz{font-size:16px;color:#3a433e}
.off-card .oprog{height:10px;background:#e6eee8;border-radius:99px;overflow:hidden;margin:8px 0}
.off-card .oprog>i{display:block;height:100%;width:0;background:#0b5d2a}
.off-card .orow{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.off-card .orow .btn{flex:1;min-width:30%}
#offUsed,#offBadge{font-size:16px}
#offBadge{display:none;position:fixed;top:calc(8px + env(safe-area-inset-top));inset-inline-start:8px;z-index:70;
  background:#7a1f1f;color:#fff;border-radius:12px;padding:6px 10px;font-family:Nastaliq,serif;line-height:1.8}
#offBadge.on{display:block}

/* Nafli HTML home */
#nfhome .nfh-bar{background:#1e5a52!important}
#nfhome .nfh-bar .ttl{font-family:Nastaliq,Naskh,serif;font-size:22px;line-height:2;color:#fff;overflow:visible}
#nfhome .nfh-cap{display:none}
.nfh-banner{display:block;width:100%;height:168px;object-fit:cover;object-position:top;background:linear-gradient(120deg,#0b1a12,#1a3a22 40%,#c9a44a)}
.nf-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 10px 4px}
.nf-tabs .nfh-hot,.nf-tabs button{
  min-height:88px;border:0;border-radius:16px;background:#2e7d6f;color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px;position:relative
}
.nf-tabs .tu{font-family:Nastaliq,serif;font-size:16px;line-height:2;padding-block:.1em;text-align:center;color:#fff}
.nf-cards{padding:6px 12px 16px;display:flex;flex-direction:column;gap:8px}
.nf-cards .nfh-hot,.nf-cards button{
  min-height:64px;border:0;border-radius:16px;background:#2e7d6f;color:#fff;
  display:flex;align-items:center;justify-content:center;padding:8px 12px;position:relative
}
.nf-cards .tu{font-family:Nastaliq,serif;font-size:22px;line-height:2;padding-block:.12em;color:#fff;text-align:center}
#nfhome .nfh-art,#nfhome .nfh-full,#nfhome .nfh-hot.nfh-ic,#nfhome .nfh-hot.nfh-btn{/* old image layout leftover if present */}

/* Tarteeb per-page select + volume viewer */
#tarteeb .vr-page{aspect-ratio:unset!important;display:grid;grid-template-rows:auto auto;direction:rtl}
#tarteeb .vr-page .vr-img{grid-row:1;grid-column:1;width:100%;height:auto;display:block}
#tarteeb .vr-page .ts-boxes{grid-row:1;grid-column:1;width:100%;height:100%;position:relative;left:auto;top:auto}
#tarteeb .vr-page .ts-ph{grid-row:1;grid-column:1}
#tarteeb .vr-page .ts-page-sel{
  grid-row:2;grid-column:1;width:100%;min-height:52px;margin:6px 0 10px;
  border-radius:14px;border:2px solid #0b5d2a;background:#fff;color:#0b5d2a;
  font-family:system-ui,sans-serif;padding:6px 10px;direction:ltr;unicode-bidi:isolate
}
#tarteeb .vr-page .ts-page-sel.on{background:#0b5d2a;color:#fff}
#tarteeb .vr-page .ts-page-sel .ur{display:block;direction:rtl;font-family:Nastaliq,serif;font-size:18px;line-height:2;padding-block:.08em}
#tarteeb .vr-page .ts-page-sel .en{display:block;font-size:16px}
.ts-sel-btn{min-height:52px}
#tsJump,#tsSlider{min-height:48px}
#tsJump{direction:ltr;unicode-bidi:isolate}

/* Tarteeb ticks already exist; keep large */
.ts-tick{min-width:48px;min-height:48px}

/* Empty results */
.empty-help{text-align:center;padding:16px 10px}
.empty-help .ur{font-size:22px;color:var(--em)}
.empty-help .en{font-size:16px;color:#3a433e;direction:ltr;unicode-bidi:isolate}

@media(max-width:390px){
  .home-grid .tile{min-height:120px}
}

/* fixes */
#home header.bar{flex-wrap:nowrap}
.searchpill{display:flex!important;align-items:center;gap:12px}
.searchpill > span{display:flex;flex-direction:column;align-items:flex-start;text-align:start;min-width:0}
.searchpill .sp-u,.searchpill .sp-t{display:block;position:static;grid-area:unset}
.cont-row{position:relative;z-index:1}
.cont-row .continue{overflow:hidden;min-width:0}
.cont-row .continue .ct-l,.cont-row .continue .ct-v{display:block;white-space:normal;overflow:hidden;max-width:100%}
#search #modes{display:none!important}
#search.filters-on #modes{display:flex!important;flex-wrap:wrap}
#search #modes button{min-height:48px;font-size:16px}
#filterToggle .bu{font-size:20px;line-height:2;padding-block:.15em;overflow:visible}
button.more,.btn.more{min-height:48px;font-size:16px;padding:8px 14px}
.backbtn .be,.nav-back .be,.menubtn .be,.aa-btn .aa-en{font-size:12px} /* caption under 16? bump below */
/* user rule: no text <16px — drop tiny English captions, keep Urdu ≥16 */
.backbtn .be,.nav-back .be,.menubtn .be,.aa-btn .aa-en{display:none}
.backbtn .bu,.nav-back .bu,.menubtn .bu,.aa-btn .aa-ur{font-size:16px;line-height:1.8}
#search header [data-go="viewer"]{display:none} /* duplicate back */
.aa-btn .aa-ur{font-size:16px}
#search header.bar{flex-wrap:wrap}
#search header #q{flex:1;min-width:140px;min-height:48px;font-size:18px}

.cont-row .continue{min-height:100px;overflow:hidden;padding:10px 12px 12px}
.cont-row .continue .ct-l{direction:ltr;unicode-bidi:isolate;text-align:start;display:block;width:100%;box-sizing:border-box;overflow:visible;white-space:normal;font-size:16px;color:#3a433e}
.cont-row .continue .ct-v{display:block;width:100%;overflow:visible;white-space:normal}

.cont-row .continue{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
.cont-row .continue .ct-v,.cont-row .continue .ct-l{flex:none!important;width:100%;max-width:100%}
