/* Noor Waqf & Estate — app theme + local styles.
 *
 * The theme block below mirrors the `body.theme-*` blocks in core/static/core/app.css
 * (deep emerald, distinct from the other six apps). The main agent may instead fold
 * this token block into the shared app.css alongside the other themes; either way the
 * `.theme-waqf` selector is what applies it.
 */
body.theme-waqf { --brand:#047857; --brand-dark:#065f46; --brand-tint:#ecfdf5; --ring:0 0 0 3px rgba(4,120,87,.24); }

/* --- Subnav ---------------------------------------------------------------- */
.wq-subnav {
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:10px 0 14px; margin-bottom:8px; border-bottom:1px solid var(--line,#e2e8e6);
}
.wq-subnav a { color:var(--text-muted,#5b6b66); text-decoration:none; font-weight:600; font-size:.95rem; }
.wq-subnav a.active, .wq-subnav a:hover { color:var(--brand-dark); }
.wq-brand { color:var(--brand-dark)!important; font-weight:800; margin-inline-end:6px; }
.wq-subnav .spacer { flex:1; }

/* --- Layout ---------------------------------------------------------------- */
.wq-wrap { display:flex; flex-direction:column; gap:34px; }
.wq-hero {
  background:linear-gradient(135deg,var(--brand-tint),#fff);
  border:1px solid var(--line,#d8e6e0); border-radius:20px; padding:34px 30px;
}
.wq-hero-eyebrow { color:var(--brand-dark); font-weight:700; font-size:.9rem; letter-spacing:.02em; }
.wq-hero h1 { margin:.35em 0 .2em; font-size:2rem; line-height:1.15; }
.wq-hero .wq-sub { font-weight:600; color:var(--text,#243b35); margin:0 0 .3em; }
.wq-hero p { color:var(--text-muted,#5b6b66); max-width:60ch; }
.wq-hero-cta { display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }

.wq-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }

.wq-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px; }
.wq-cards3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; }

.wq-card { display:flex; flex-direction:column; gap:8px; }
.wq-card h3 { margin:0; }
.wq-card .wq-emoji { font-size:1.6rem; }

/* --- Fund card / detail ---------------------------------------------------- */
.wq-fund-cover { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:12px 12px 0 0; background:var(--brand-tint); }
.wq-badge { display:inline-block; padding:2px 10px; border-radius:999px; font-size:.78rem; font-weight:700;
  background:var(--brand-tint); color:var(--brand-dark); }
.wq-meter { height:10px; border-radius:999px; background:var(--brand-tint); overflow:hidden; }
.wq-meter > span { display:block; height:100%; background:var(--brand); border-radius:999px; }
.wq-krow { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.wq-krow strong { color:var(--brand-dark); }
.wq-row2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.wq-row3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
@media (max-width:560px){ .wq-row2, .wq-row3 { grid-template-columns:1fr; } }

/* --- Inheritance result table --------------------------------------------- */
.wq-result { border-top:3px solid var(--brand); }
.wq-note { background:var(--brand-tint); border-radius:10px; padding:10px 12px; color:var(--brand-dark); font-size:.92rem; }
.wq-disclaimer { border:1px dashed var(--brand); border-radius:12px; padding:14px 16px; color:var(--text-muted,#5b6b66); font-size:.92rem; }
.wq-table { width:100%; border-collapse:collapse; }
.wq-table th, .wq-table td { text-align:start; padding:9px 10px; border-bottom:1px solid var(--line,#e2e8e6); }
.wq-table th { font-size:.82rem; text-transform:uppercase; letter-spacing:.03em; color:var(--text-muted,#5b6b66); }
.wq-frac { font-variant-numeric:tabular-nums; font-weight:700; color:var(--brand-dark); }
