/* Faqeeh i — book sample flip viewer (shared by the landing and student pages) */
.bv {
    --teal: #008897; --teal-700: #00616d; --deep: #073c46; --teal-50: #e8f4f5; --teal-25: #f4fafb;
    --gold-600: #c68a0b; --muted: #5d6d74; --line: #dce8ea;
    --shadow: 0 1px 2px rgba(7, 60, 70, .06), 0 8px 24px -12px rgba(7, 60, 70, .18);
    font-family: 'Cairo', system-ui, sans-serif;
}
.bv *, .bv *::before, .bv *::after { box-sizing: border-box; }
.bv h2, .bv p { margin: 0; }
.bv button { font: inherit; cursor: pointer; }

body.bv-open { overflow: hidden; }
.bv { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 20px; }
.bv[hidden] { display: none; }
.bv-backdrop { position: absolute; inset: 0; background: rgba(4, 30, 36, .72); backdrop-filter: blur(4px); }
.bv-panel {
    position: relative; width: min(1180px, 100%); height: min(860px, calc(100dvh - 40px));
    display: flex; flex-direction: column; border-radius: 24px; overflow: hidden;
    background:
        repeating-linear-gradient(135deg, rgba(0,136,151,.05) 0 2px, transparent 2px 16px),
        linear-gradient(180deg, #fff, var(--teal-25));
    box-shadow: 0 30px 80px -30px rgba(0,0,0,.6);
}
.bv-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 22px; background: #fff; border-bottom: 1px solid var(--line); }
.bv-kicker { display: inline-flex; align-items: center; gap: 6px; color: var(--gold-600); font-weight: 800; font-size: .82rem; }
.bv-head h2 { font-size: 1.15rem; font-weight: 800; color: var(--deep); line-height: 1.4; }
.bv-close { flex: none; width: 42px; height: 42px; border-radius: 12px; border: 1px solid var(--line); background: #fff; color: var(--deep); font-size: 1.3rem; display: grid; place-items: center; }
.bv-close:hover { background: var(--teal-50); color: var(--teal); }
.bv-stage { position: relative; flex: 1; min-height: 0; padding: 22px 28px 8px; display: flex; }
.bv-book { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; direction: ltr; }
.bv-book[hidden] { display: none; }
.bv-book .stf__parent { margin-inline: auto; }
.bv-loading, .bv-error { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 14px; color: var(--muted); font-weight: 700; text-align: center; padding: 20px; }
.bv-loading[hidden], .bv-error[hidden] { display: none; }
.bv-error i { font-size: 2.6rem; color: var(--gold-600); }
.bv-spinner { width: 46px; height: 46px; border-radius: 50%; border: 4px solid var(--teal-50); border-top-color: var(--teal); animation: bv-spin .9s linear infinite; }
@keyframes bv-spin { to { transform: rotate(360deg); } }
.bv-controls { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 10px 0 4px; direction: rtl; }
.bv-controls[hidden] { display: none; }
.bv-nav { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--teal); font-size: 1.35rem; display: grid; place-items: center; box-shadow: var(--shadow); }
.bv-nav:hover:not(:disabled) { background: var(--teal); color: #fff; border-color: var(--teal); }
.bv-nav:disabled { opacity: .4; cursor: default; }
.bv-counter { min-width: 96px; text-align: center; font-weight: 800; color: var(--deep); font-variant-numeric: tabular-nums; }
.bv-hint { text-align: center; color: var(--muted); font-size: .82rem; padding: 0 16px 14px; }
@media (max-width: 640px) {
    .bv { padding: 0; }
    .bv-panel { height: 100dvh; border-radius: 0; }
    .bv-stage { padding: 14px 12px 4px; }
}


/* Phosphor duotone stacks two glyph layers; keep them in LTR flow so they overlap under RTL */
.ph-duotone { direction: ltr; }
