/* =====================================================================
   QAA Business Assessment — EN + FA (one visual language from the intro
   to the adviser form). Loaded after main.css and the page's :root tokens;
   everything is scoped to .bha so no other page or shared header/footer is
   affected. Logical properties throughout, so dir="rtl" mirrors cleanly.
   Status is never shown by colour alone: every level has text and a mark.
   Motion is short, functional and fully disabled by prefers-reduced-motion.
   ===================================================================== */
.bha{
  --bha-purple:#7d0b99; --bha-purple-ink:#420f74; --bha-purple-tint:#f7f1fb; --bha-purple-line:#d9c6e6;
  --bha-gold:var(--gold,#c8a96b); --bha-gold-d:var(--goldD,#b8923a); --bha-on-gold:#241238;
  --bha-ink:var(--ink,#130018); --bha-body:#3a3540; --bha-muted:#6b6472; --bha-line:#e7e2ec; --bha-line-2:#f0ecf3;
  --bha-surface:#fff; --bha-soft:#faf8fc;
  --bha-radius:16px; --bha-radius-s:12px;
  --bha-t:200ms; --bha-ease:cubic-bezier(.2,.7,.2,1);
  max-width:960px;margin:0 auto;padding:18px 20px 96px;color:var(--bha-body);font-size:16px
}
.bha *{box-sizing:border-box}
.bha-crumbs{justify-content:center;margin:0 0 14px}
.bha-ico{width:24px;height:24px;flex:0 0 auto;display:block}
[dir="rtl"] .bha .bha-flip{transform:scaleX(-1)}

/* ---------- surfaces ---------- */
.bha-card{background:var(--bha-surface);border:1px solid var(--bha-line);border-radius:var(--bha-radius);padding:40px;box-shadow:0 1px 2px rgba(40,16,64,.04),0 18px 44px -30px rgba(40,16,64,.28)}
.bha-card + .bha-card{margin-top:18px}
.bha h1,.bha h2,.bha h3{color:var(--bha-ink);margin:0}
.bha p{line-height:1.7;margin:0 0 12px}
.bha-muted{color:var(--bha-muted);font-size:14.5px}
.bha-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bha-purple);margin:0 0 10px}
[dir="rtl"] .bha-eyebrow{letter-spacing:0;font-size:14px}
[dir="rtl"] .bha h1,[dir="rtl"] .bha h2,[dir="rtl"] .bha h3{letter-spacing:0}
.bha-link{color:var(--bha-purple);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.bha-list{margin:6px 0 0;padding-inline-start:20px}
.bha-list li{margin:0 0 6px;line-height:1.65}

/* ---------- buttons ---------- */
.bha-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 26px;border-radius:999px;border:1px solid transparent;font:inherit;font-size:15.5px;font-weight:700;line-height:1.2;cursor:pointer;text-decoration:none;transition:background-color var(--bha-t),border-color var(--bha-t),color var(--bha-t),box-shadow var(--bha-t),transform var(--bha-t) var(--bha-ease)}
.bha-btn .bha-ico{width:20px;height:20px}
.bha-btn-primary{background:var(--bha-gold);color:var(--bha-on-gold);box-shadow:0 8px 20px -10px rgba(184,146,58,.7)}
.bha-btn-primary:hover{background:var(--bha-gold-d);color:var(--bha-on-gold)}
.bha-btn-primary:active{transform:translateY(1px)}
.bha-btn-secondary{background:#fff;border-color:var(--bha-purple-line);color:var(--bha-purple-ink)}
.bha-btn-secondary:hover{border-color:var(--bha-purple);background:var(--bha-purple-tint)}
.bha-btn-ghost{background:transparent;color:var(--bha-purple-ink);padding-inline:14px}
.bha-btn-ghost:hover{background:var(--bha-purple-tint)}
.bha-btn-text{background:none;border:0;color:var(--bha-purple);padding-inline:6px;min-height:44px}
.bha-btn-text:hover{text-decoration:underline;text-underline-offset:3px}
.bha-btn:focus-visible,.bha-link:focus-visible,.bha summary:focus-visible{outline:3px solid var(--bha-purple);outline-offset:3px}
.bha-btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}

/* ---------- intro ---------- */
.bha-intro h1{font-size:clamp(26px,2.2vw + 14px,42px);line-height:1.18;font-weight:800;margin:0 0 14px;max-width:30ch}
[dir="rtl"] .bha-intro h1{line-height:1.45;max-width:none}
.bha-lead{font-size:17.5px;line-height:1.7;color:var(--bha-body);max-width:62ch}
.bha-outputs{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.bha-outputs li{display:flex;gap:14px;align-items:flex-start;padding:4px 22px}
.bha-outputs li:first-child{padding-inline-start:0}
.bha-outputs li + li{border-inline-start:1px solid var(--bha-line)}
.bha-outputs .bha-ico{color:var(--bha-purple);width:26px;height:26px;margin-top:2px}
.bha-outputs strong{display:block;color:var(--bha-ink);font-size:16px;line-height:1.4;margin-bottom:4px}
.bha-outputs span{display:block;font-size:14.5px;line-height:1.55;color:var(--bha-muted)}
.bha-start{margin-top:28px;padding-top:24px;border-top:1px solid var(--bha-line)}
.bha-meta{font-size:14.5px;font-weight:700;color:var(--bha-purple-ink);margin:0 0 14px}
.bha-meta span{color:var(--bha-muted);padding-inline:4px}
.bha-intro-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.bha-intro-actions .bha-btn-primary{min-width:230px}
.bha-privacy{font-size:14.5px;color:var(--bha-muted);margin:12px 0 0}
.bha-confirm{margin-top:14px;padding:16px 18px;border:1px solid #f0d9a8;background:#fffaf0;border-radius:var(--bha-radius-s)}
.bha-confirm p{margin:0 0 12px;color:var(--bha-ink)}
.bha-areas{margin-top:30px}
.bha-areas h2{font-size:17px;font-weight:800;margin:0 0 12px}
.bha-area-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:4px 24px}
.bha-area-list li{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:15.5px;color:var(--bha-ink);border-bottom:1px solid var(--bha-line-2)}
.bha-area-list .bha-ico{color:var(--bha-purple);width:22px;height:22px}
.bha-before{margin-top:24px;border:1px solid var(--bha-line);border-radius:var(--bha-radius-s);background:var(--bha-soft)}
.bha-before summary,.bha-method summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 18px;font-weight:700;color:var(--bha-ink)}
.bha-before summary::-webkit-details-marker,.bha-method summary::-webkit-details-marker{display:none}
.bha-before summary::after,.bha-method summary::after{content:"";width:9px;height:9px;border-inline-end:2px solid var(--bha-purple);border-block-end:2px solid var(--bha-purple);transform:rotate(45deg);transition:transform var(--bha-t) var(--bha-ease);margin-inline-end:4px}
.bha-before[open] summary::after,.bha-method[open] summary::after{transform:rotate(-135deg)}
.bha-before ul{margin:0;padding:0 18px 16px 18px;padding-inline-start:38px}
.bha-before li{margin:0 0 8px;line-height:1.65;font-size:15.5px}

/* ---------- step header + progress ---------- */
.bha-stephead{margin:0 0 26px}
.bha-stephead-top{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.bha-step-ico{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--bha-purple-tint);color:var(--bha-purple);flex:0 0 auto}
.bha-step-kicker{font-size:13.5px;font-weight:700;color:var(--bha-muted);margin:0 0 2px}
.bha-stephead h2{font-size:clamp(21px,1vw + 16px,26px);line-height:1.3;font-weight:800}
.bha-track{height:6px;border-radius:999px;background:var(--bha-line-2);overflow:hidden}
.bha-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--bha-purple),var(--bha-gold));transition:width 250ms var(--bha-ease)}
[dir="rtl"] .bha-fill{background:linear-gradient(270deg,var(--bha-purple),var(--bha-gold))}
.bha-track-meta{display:flex;justify-content:space-between;font-size:13px;color:var(--bha-muted);margin-top:6px}

/* ---------- questions ---------- */
.bha-q{border:0;margin:0;padding:0;min-width:0}
.bha-qwrap{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows 220ms var(--bha-ease),opacity 220ms var(--bha-ease)}
.bha-qwrap > .bha-qin{min-height:0;overflow:hidden}
.bha-qwrap > .bha-qin > .bha-qbody{padding:22px 0;border-top:1px solid var(--bha-line-2)}
.bha-qwrap.is-first > .bha-qin > .bha-qbody{border-top:0;padding-top:0}
.bha-qwrap[data-shown="0"]{grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows 220ms var(--bha-ease),opacity 160ms,visibility 0s linear 220ms}
.bha-qwrap.is-follow > .bha-qin > .bha-qbody{margin-inline-start:14px;padding-inline-start:18px;border-top:0;border-inline-start:3px solid var(--bha-gold)}
.bha-follow-tag{display:inline-block;font-size:12.5px;font-weight:700;color:#7a5b1c;background:#fbf4e4;border-radius:999px;padding:2px 10px;margin-bottom:8px}
.bha-q > legend{float:left;width:100%;padding:0;font-size:17px;font-weight:700;color:var(--bha-ink);line-height:1.5;margin:0 0 4px}
[dir="rtl"] .bha-q > legend{float:right}
.bha-q > legend + *{clear:both}
.bha-q-hint{font-size:14px;color:var(--bha-muted);margin:0 0 12px !important}
.bha-opts{display:grid;gap:8px;margin-top:10px}
.bha-opts.is-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.bha-opt{position:relative;display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 16px;border:1px solid #ddd5e5;border-radius:var(--bha-radius-s);background:#fff;cursor:pointer;font-size:15.5px;line-height:1.45;color:var(--bha-ink);transition:border-color var(--bha-t),background-color var(--bha-t),box-shadow var(--bha-t)}
.bha-opt:hover{border-color:#b89bcc;background:#fdfbfe}
.bha-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.bha-mark{flex:0 0 auto;display:inline-grid;place-items:center;width:22px;height:22px;border:2px solid #b6a9c2;border-radius:50%;background:#fff;color:#fff;transition:background-color var(--bha-t),border-color var(--bha-t)}
.bha-mark svg{width:13px;height:13px;transform:scale(.4);opacity:0;transition:transform var(--bha-t) var(--bha-ease),opacity var(--bha-t)}
.bha-opt.is-check .bha-mark{border-radius:6px}
.bha-opt:has(input:checked){border-color:var(--bha-purple);background:var(--bha-purple-tint);box-shadow:inset 0 0 0 1px var(--bha-purple)}
.bha-opt:has(input:checked) .bha-mark{background:var(--bha-purple);border-color:var(--bha-purple)}
.bha-opt:has(input:checked) .bha-mark svg{transform:none;opacity:1}
.bha-opt:has(input:focus-visible){outline:3px solid var(--bha-gold-d);outline-offset:2px}
.bha-opt.is-dk,.bha-opt.is-na{border-style:dashed;color:var(--bha-body)}
.bha-opt-text{flex:1 1 auto;min-width:0}
.bha-err{display:flex;gap:8px;align-items:flex-start;color:#a3261a;font-size:14px;font-weight:600;margin:10px 0 0 !important}
.bha-err::before{content:"!";flex:0 0 auto;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#a3261a;color:#fff;font-size:12px;font-weight:800;margin-top:1px}
.bha-err:empty{display:none}
.bha-q[aria-invalid="true"] .bha-opt{border-color:#e3a59d}
.bha-na-note{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--bha-body);background:var(--bha-soft);border:1px dashed var(--bha-line);border-radius:var(--bha-radius-s);padding:14px 16px;margin:0 !important}
.bha-na-note strong{display:block;color:var(--bha-ink);margin-bottom:2px}
.bha-field{display:flex;flex-direction:column;gap:6px;margin:0 0 20px}
.bha-field label,.bha-field .bha-label{font-weight:700;font-size:15px;color:var(--bha-ink)}
.bha-field input,.bha-field select,.bha-field textarea{min-height:50px;border:1px solid #d6cde0;border-radius:var(--bha-radius-s);padding:12px 14px;font:inherit;font-size:16px;color:var(--bha-ink);background:#fff;transition:border-color var(--bha-t),box-shadow var(--bha-t)}
.bha-field textarea{min-height:96px;resize:vertical;line-height:1.6}
.bha-field input:focus,.bha-field select:focus,.bha-field textarea:focus{outline:none;border-color:var(--bha-purple);box-shadow:0 0 0 3px rgba(125,11,153,.16)}
.bha-field [aria-invalid="true"]{border-color:#a3261a}
.bha-field-hint{font-size:13.5px;color:var(--bha-muted)}
.bha-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.bha-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* navigation: fixed order (Back at the start, Continue at the end) */
.bha-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid var(--bha-line)}
.bha-nav .bha-btn-primary{min-width:180px}

/* ---------- review ---------- */
.bha-review-d{display:block;padding:18px 0;border-top:1px solid var(--bha-line)}
.bha-review-d:first-of-type{border-top:0;padding-top:4px}
.bha-review-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.bha-review-title{display:flex;align-items:center;gap:12px}
.bha-review-title .bha-ico{color:var(--bha-purple)}
.bha-review-title h3{font-size:17px}
.bha-review-count{font-size:13.5px;color:var(--bha-muted);font-weight:600}
.bha-review dl{margin:12px 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px 20px;font-size:15px}
.bha-review dt{color:var(--bha-muted)}
.bha-review dd{margin:0;color:var(--bha-ink);font-weight:600}
.bha-clar{border:1px solid #efd49c;background:#fffaf0;border-radius:var(--bha-radius);padding:20px;margin:0 0 20px}
.bha-clar .bha-q > legend{font-size:16px}

/* ---------- result ---------- */
.bha-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.bha-result-head h2{font-size:clamp(24px,1.4vw + 16px,32px);font-weight:800}
.bha-sec{margin-top:34px}
.bha-sec > h3{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;margin:0 0 14px}
.bha-sec > h3 .bha-ico{color:var(--bha-purple)}
.bha-summary{font-size:17px;line-height:1.7;color:var(--bha-ink)}
.bha-completeness{margin:6px 0 0;font-size:14px;font-weight:700;color:var(--bha-muted)}
.bha-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;padding:0;list-style:none}
.bha-level{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:800;border-radius:999px;padding:5px 12px 5px 9px;border:1px solid;line-height:1.3;white-space:normal;max-width:100%;min-width:0;overflow-wrap:break-word;text-align:start}
.bha-level .bha-ico{flex:0 0 auto}
.bha-level.insufficient{border-radius:12px}
[dir="rtl"] .bha-level{padding:5px 9px 5px 12px}
.bha-level .bha-ico{width:16px;height:16px}
.bha-level.strong{color:#17603a;border-color:#a9d9bb;background:#effaf3}
.bha-level.adequate{color:#23577f;border-color:#b3d2ea;background:#f0f7fd}
.bha-level.attention{color:#7f5300;border-color:#ebcf8f;background:#fff8e8}
.bha-level.urgent{color:#9b1c13;border-color:#efb6b0;background:#fff3f2}
.bha-level.insufficient{color:#57505f;border-color:#cfc8d6;border-style:dashed;background:#f7f6f9}
.bha-alert{display:flex;gap:14px;border:1px solid #efb6b0;border-inline-start:5px solid #c0392b;background:#fff6f5;border-radius:var(--bha-radius-s);padding:16px 18px;margin:0 0 12px}
.bha-alert > .bha-ico{color:#b0281c;margin-top:2px}
.bha-alert h4{margin:0 0 4px;font-size:16px;color:#8f1d15}
.bha-alert p{margin:0 0 6px}
.bha-doms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bha-dom{border:1px solid var(--bha-line);border-radius:var(--bha-radius);padding:18px;background:#fff}
.bha-dom.is-insufficient{background:var(--bha-soft)}
.bha-dom-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.bha-dom-head > *{min-width:0;max-width:100%}
.bha-dom{min-width:0}
.bha-dom-name{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--bha-ink);font-size:16px}
.bha-dom-name .bha-ico{color:var(--bha-purple)}
.bha-dom-cov{font-size:13.5px;color:var(--bha-muted);margin:10px 0 0 !important}
.bha-evid{margin:8px 0 0;padding-inline-start:18px;font-size:14px;color:var(--bha-body)}
.bha-evid li{margin:0 0 4px;line-height:1.55}
.bha-strengths{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bha-strengths li{display:flex;gap:10px;align-items:flex-start;line-height:1.6}
.bha-strengths .bha-ico{color:#17603a;width:20px;height:20px;margin-top:3px}
.bha-prio{border:1px solid var(--bha-line);border-radius:var(--bha-radius);padding:20px 22px;margin:0 0 12px;background:#fff}
.bha-prio h4{display:flex;gap:12px;align-items:baseline;margin:0;font-size:17px;color:var(--bha-ink);line-height:1.45}
.bha-prio h4 .n{flex:0 0 auto;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--bha-purple);color:#fff;font-size:14px}
.bha-prio h4 small{font-weight:600;color:var(--bha-muted);font-size:14px}
.bha-prio dl{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:8px 16px;margin:14px 0 0;font-size:15px}
.bha-prio dt{font-weight:700;color:var(--bha-ink)}
.bha-prio dd{margin:0;line-height:1.6}
.bha-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.bha-plan-col{border:1px solid var(--bha-line);border-radius:var(--bha-radius);padding:18px;background:#fff;position:relative}
.bha-plan-col h4{display:flex;align-items:center;gap:10px;font-size:16px;margin:0 0 12px;color:var(--bha-purple-ink)}
.bha-plan-dot{display:inline-grid;place-items:center;min-width:44px;height:30px;padding:0 8px;border-radius:999px;background:var(--bha-purple-tint);color:var(--bha-purple);font-size:13px;font-weight:800}
.bha-plan-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.bha-plan-col li{font-size:14.5px;line-height:1.6}
.bha-plan-col li strong{display:block;color:var(--bha-ink);font-size:14px}
.bha-next{background:var(--bha-soft);border:1px solid var(--bha-line);border-radius:var(--bha-radius);padding:22px}
.bha-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.bha-method{margin-top:28px;border:1px solid var(--bha-line);border-radius:var(--bha-radius-s);background:var(--bha-soft)}
.bha-method > div{padding:0 18px 14px;font-size:14.5px}
.bha-version{font-size:13.5px;color:var(--bha-muted);margin:16px 0 0 !important}

/* adviser form */
.bha-adv{margin-top:18px;padding-top:22px;border-top:1px solid var(--bha-line)}
.bha-adv h3{font-size:18px;margin:0 0 6px}
.bha-seg{display:flex;flex-wrap:wrap;gap:8px}
.bha-seg .bha-opt{min-height:46px;padding:10px 14px}
.bha-consent{margin:6px 0 10px}
.bha-share{margin:0 0 18px;border:1px solid var(--bha-line);border-radius:var(--bha-radius-s);background:#fff}
.bha-share summary{cursor:pointer;min-height:44px;padding:10px 14px;font-size:14.5px;font-weight:700;color:var(--bha-purple-ink)}
.bha-share pre{margin:0;padding:0 14px 14px;white-space:pre-wrap;font:inherit;font-size:14px;line-height:1.6;color:var(--bha-body)}
.bha-form-status{margin-top:14px;font-size:15px;line-height:1.6;border-radius:var(--bha-radius-s)}
.bha-form-status:not(:empty){padding:12px 14px}
.bha-form-status.is-error{color:#8f1d15;background:#fff4f2;border:1px solid #f0c1bb}
.bha-form-status.is-ok{color:#135331;background:#f0faf4;border:1px solid #b8e0c7}
.bha-form-status.is-warn{color:#6d4a00;background:#fff8e8;border:1px solid #ecd39a}
.bha-hp{position:absolute;inset-inline-start:-9999px;top:-9999px}
.bha-ltr{direction:ltr;unicode-bidi:isolate;text-align:left}
[dir="rtl"] .bha-ltr{text-align:right}

/* ---------- report document (screen, print and the e-mailed PDF) ---------- */
.bha-card.bha-report{padding:0 0 32px;overflow:hidden}
.bha-report > .bha-track{margin:0 !important;border-radius:0}
.bha-rhead{margin:0 0 6px}
.bha-rband{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:26px 40px;background:linear-gradient(120deg,#1a0930 0%,#34104f 55%,#4d1f7c 100%);color:#fff;border-bottom:3px solid var(--bha-gold)}
.bha-rlogo{height:40px;width:auto;flex:0 0 auto}
.bha-rtitle{flex:1 1 260px;min-width:0}
.bha-rkicker{margin:0 0 4px !important;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e2c98f}
[dir="rtl"] .bha-rkicker{letter-spacing:0;font-size:13.5px}
.bha-rband h2{color:#fff;font-size:clamp(22px,1.6vw + 14px,30px);font-weight:800;line-height:1.25}
.bha-rdate{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:12.5px;color:rgba(255,255,255,.72)}
.bha-rdate strong{font-size:15px;color:#fff;font-weight:700;direction:ltr;unicode-bidi:isolate}
.bha-rver{font-size:11.5px;direction:ltr;unicode-bidi:isolate}
.bha-rprofile{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;padding:0 40px;border-bottom:1px solid var(--bha-line);background:var(--bha-soft)}
.bha-rprofile > div{padding:14px 0;padding-inline-end:16px}
.bha-rprofile dt{font-size:12px;font-weight:700;color:var(--bha-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 3px}
[dir="rtl"] .bha-rprofile dt{letter-spacing:0;font-size:12.5px}
.bha-rprofile dd{margin:0;font-size:15px;font-weight:700;color:var(--bha-ink);overflow-wrap:anywhere}
.bha-report > .bha-sec,.bha-report > .bha-method,.bha-report > .bha-rfoot{margin-inline:40px}
.bha-report .bha-sec{margin-top:36px}
.bha-report .bha-sec > h3{gap:12px;font-size:20px;padding-bottom:12px;border-bottom:1px solid var(--bha-line);margin-bottom:18px}
.bha-sn{display:inline-grid;place-items:center;min-width:36px;height:26px;padding:0 8px;border-radius:7px;background:var(--bha-purple-ink);color:#fff;font-size:13px;font-weight:800;letter-spacing:.04em}
.bha-glance{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));gap:12px}
.bha-tile{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;border:1px solid var(--bha-line);border-top:4px solid #a9a2b3;border-radius:12px;background:#fff;min-width:0}
.bha-tile > *{max-width:100%;min-width:0}
.bha-tile > .bha-ico{color:var(--bha-purple)}
.bha-tile-name{font-weight:800;color:var(--bha-ink);font-size:15px;line-height:1.35;overflow-wrap:break-word}
.lvl-strong.bha-tile,.lvl-strong.bha-dom{border-top-color:#2e9e5b}
.lvl-adequate.bha-tile,.lvl-adequate.bha-dom{border-top-color:#3b7fc4}
.lvl-attention.bha-tile,.lvl-attention.bha-dom{border-top-color:#d59a1a}
.lvl-urgent.bha-tile,.lvl-urgent.bha-dom{border-top-color:#c0392b}
.lvl-insufficient.bha-tile,.lvl-insufficient.bha-dom{border-top-color:#b8b1c2;border-top-style:dashed;background:var(--bha-soft)}
.bha-report .bha-dom{border-top-width:4px}
.bha-report .bha-evid{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:0}
.bha-report .bha-evid li{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-top:1px solid var(--bha-line-2);font-size:14px;margin:0}
.bha-report .bha-evid li span:first-child{color:var(--bha-muted)}
.bha-report .bha-evid li span:last-child{color:var(--bha-ink);font-weight:600;text-align:end}
.bha-prio h4 small{display:block;margin-top:2px}
.bha-prio .bha-do{font-weight:700;color:var(--bha-ink)}
.bha-rfoot{margin-top:34px;padding-top:16px;border-top:1px solid var(--bha-line);font-size:13.5px;color:var(--bha-muted)}
.bha-rfoot p{margin:0 0 6px !important;line-height:1.6}

/* ---------- motion ---------- */
@keyframes bha-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.bha-stage.bha-enter > *{animation:bha-in 220ms var(--bha-ease) both}
.bha-stage.bha-enter > * + *{animation-delay:40ms}
@media (prefers-reduced-motion:reduce){
  .bha *,.bha *::before,.bha *::after{animation:none !important;transition:none !important}
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .bha-outputs{grid-template-columns:1fr;gap:12px;margin-top:20px}
  .bha-outputs li{padding:0}
  .bha-outputs li + li{border-inline-start:0;border-top:1px solid var(--bha-line);padding-top:12px}
  .bha-doms{grid-template-columns:1fr}
  .bha-plan{grid-template-columns:1fr;gap:0;padding-inline-start:18px;border-inline-start:2px solid var(--bha-purple-line);margin-inline-start:6px}
  .bha-plan-col{border:0;border-radius:0;padding:0 0 22px 0;background:none}
  .bha-plan-col::before{content:"";position:absolute;inset-inline-start:-26px;top:6px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--bha-purple)}
}
@media (max-width:640px){
  .bha{padding:12px 14px 40px}
  .bha-card{padding:22px 20px;border-radius:14px}
  .bha-lead{font-size:16.5px}
  .bha-grid2,.bha-review dl,.bha-prio dl{grid-template-columns:1fr}
  .bha-intro-actions .bha-btn,.bha-actions .bha-btn{width:100%}
  .bha-area-list{grid-template-columns:1fr}
  .bha-stephead-top{gap:12px}
  .bha-step-ico{width:42px;height:42px;border-radius:12px}
  /* Back / Continue stay reachable at the bottom of the screen while
     answering, inside the flow (sticky), so they never cover the content;
     they fall back into place while a text field is being typed in. */
  .bha-nav{position:sticky;bottom:0;z-index:5;background:#fff;margin:22px -20px -22px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-radius:0 0 14px 14px;box-shadow:0 -10px 20px -18px rgba(40,16,64,.5)}
  .bha-stage:has(input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,textarea:focus) .bha-nav{position:static}
  .bha-nav .bha-btn-primary{flex:1 1 auto;min-width:0}
  /* keyboard focus and in-page scrolling keep the focused option above the bar */
  html:has(.bha-stage:not([hidden]) .bha-nav){scroll-padding-bottom:96px}
  /* the site's floating back-to-top button would sit on Continue */
  body:has(.bha-stage:not([hidden]) .bha-nav) #back-to-top-float{bottom:92px !important}
  .bha-opts.is-grid{grid-template-columns:1fr}
  .bha-rband{padding:20px;gap:14px}
  .bha-rdate{align-items:flex-start;flex-direction:row;gap:8px;flex-wrap:wrap}
  .bha-rprofile{padding:0 20px;grid-template-columns:1fr 1fr}
  .bha-report > .bha-sec,.bha-report > .bha-method,.bha-report > .bha-rfoot{margin-inline:20px}
  .bha-card.bha-report{padding:0 0 24px}
  .bha-glance{grid-template-columns:1fr;gap:8px}
  .bha-tile{flex-direction:row;align-items:center;gap:10px;padding:10px 12px;min-width:0;border-top-width:1px;border-inline-start:4px solid #a9a2b3}
  .bha-tile-name{flex:1 1 auto;min-width:0;font-size:14.5px}
  .lvl-strong.bha-tile{border-inline-start-color:#2e9e5b}.lvl-adequate.bha-tile{border-inline-start-color:#3b7fc4}.lvl-attention.bha-tile{border-inline-start-color:#d59a1a}.lvl-urgent.bha-tile{border-inline-start-color:#c0392b}.lvl-insufficient.bha-tile{border-inline-start:4px dashed #b8b1c2}
  .bha-tile .bha-level{flex:0 1 auto;max-width:58%}
  .bha-rprofile{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bha-report .bha-evid li{flex-direction:column;gap:2px}
  .bha-report .bha-evid li span:last-child{text-align:start}
}

/* ---------- print: the same report, without site chrome or controls ---------- */
@page{size:A4;margin:12mm 11mm 14mm}
/* paid full report + paid services (2026-09-30) */
.bha-unlock{margin-top:22px;border-color:var(--bha-purple-line);background:linear-gradient(180deg,var(--bha-purple-tint),var(--bha-surface) 60%)}
.bha-unlock h3{font-size:22px;margin:0 0 8px}
.bha-unlock>p{margin:0 0 6px}
.bha-unlock .bha-list{margin-bottom:18px}
.bha-buy{margin-top:8px}
.bha-buy .bha-btn-primary{margin-top:4px}
.bha-buy-note{font-size:13px;margin:14px 0 0;line-height:1.7}
.bha-lockline{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;padding:12px 14px;border:1px dashed var(--bha-purple-line);border-radius:var(--bha-radius-s);background:var(--bha-purple-tint);color:var(--bha-purple-ink);font-size:14.5px}
.bha-lockline .bha-ico{flex:none;width:20px;height:20px;margin-top:2px}
.bha-paid-badge{display:inline-block;margin:14px 0 0;padding:4px 12px;border-radius:999px;background:var(--bha-purple-tint);color:var(--bha-purple-ink);font-size:13px;font-weight:700}
.bha-more li small{color:var(--bha-muted)}
.bha-svcs{margin-top:22px;padding-top:20px;border-top:1px solid var(--bha-line)}
.bha-svcs h3{font-size:18px;margin:0 0 12px}
.bha-svc{padding:16px 0;border-top:1px solid var(--bha-line-2)}
.bha-svc:first-of-type{border-top:0;padding-top:0}
.bha-svc h4{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:16px;margin:0 0 4px;color:var(--bha-ink)}
.bha-svc-price{flex:none;color:var(--bha-purple-ink);font-weight:800}
.bha-svc .bha-muted{margin:0 0 12px}
@media (max-width:640px){.bha-unlock h3{font-size:19px}}
@media print{
  header#top,footer,#back-to-top-float,.bha-noprint,.bha-stephead,.qaa-wa-overlay,.bha-crumbs,#bha-intro{display:none !important}
  html,body{background:#fff !important}
  .bha{max-width:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:10.5pt}
  .bha-card{border:0;box-shadow:none;padding:0;border-radius:0}
  .bha-report{padding-bottom:0}
  .bha-rband{padding:18px 22px}
  .bha-rprofile{padding:0 22px}
  .bha-report > .bha-sec,.bha-report > .bha-method,.bha-report > .bha-rfoot{margin-inline:0}
  .bha-report .bha-sec{margin-top:22px}
  .bha-report .bha-sec > h3{break-after:avoid;font-size:14pt}
  .bha-glance{grid-template-columns:repeat(4,minmax(0,1fr))}
  .bha-doms,.bha-plan{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bha-plan{padding:0;border:0;margin:0}
  .bha-plan-col{border:1px solid var(--bha-line);border-radius:12px;padding:14px;background:#fff}
  .bha-plan-col::before{display:none}
  .bha-rhead,.bha-tile,.bha-prio,.bha-alert,.bha-dom,.bha-plan-col,.bha-strengths li{break-inside:avoid}
  .bha-method summary::after{display:none}
  a{color:inherit;text-decoration:none}
}

/* ---------- e-mailed PDF render (html2canvas) ----------
   Applies only to the off-screen copy used to build the e-mailed PDF.
   - html2canvas draws text letter by letter when letter-spacing is not 0,
     which breaks Persian letter joining: force 0 everywhere in the copy.
   - it places text in centred pills a few pixels low: pills and number
     chips use simple block boxes with a little more room below the text. */
.bha-pdf-host,.bha-pdf-host *{letter-spacing:0 !important}
.bha-pdf-host .bha-level{display:inline-block;padding:0 12px 11px;line-height:18px}
.bha-pdf-host .bha-level .bha-ico{display:inline-block;vertical-align:-9px;margin-inline-end:6px}
.bha-pdf-host .bha-sn{display:inline-block;height:auto;padding:0 8px 9px;line-height:22px;text-align:center}
.bha-pdf-host .bha-sec > h3 > .bha-sn{position:relative;top:9px}
.bha-pdf-host .bha-sec > h3 > .bha-ico{vertical-align:-14px}
.bha-pdf-host .bha-prio h4 .n,.bha-pdf-host .bha-plan-dot{display:inline-block;height:auto;line-height:26px;padding-bottom:4px;text-align:center}
.bha-pdf-host .bha-sec > h3{display:block}
.bha-pdf-host .bha-sec > h3 > *{display:inline-block;vertical-align:middle;margin-inline-end:10px}
/* prices on the assessment page (partials/qaa-prices.php) -- only while the full report is on sale */
.bha-pay-line{margin:0 0 12px;padding:10px 14px;border-radius:var(--bha-radius-s);background:var(--bha-purple-tint);color:var(--bha-purple-ink);font-size:14.5px;font-weight:600;line-height:1.6}
.bha-prices{margin-top:26px;padding-top:22px;border-top:1px solid var(--bha-line)}
.bha-prices h2{font-size:18px;margin:0 0 6px}
.qaa-prices{list-style:none;margin:8px 0 0;padding:0}
.qaa-prices li{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:baseline;padding:10px 0;border-bottom:1px dashed var(--bha-line)}
.qaa-prices-name{font-weight:700;color:var(--bha-ink);font-size:15px}
.qaa-prices-amt{font-weight:800;color:var(--bha-purple-ink);white-space:nowrap;font-size:15px}
.qaa-prices-note{grid-column:1/-1;font-size:13.5px;color:var(--bha-muted);line-height:1.6}
/* SEO 2026-10-07: intro sections before the assessment starts (all inside #bha-intro, hidden while the app runs) */
.bha-tagline{font-size:16px;line-height:1.7;color:var(--bha-muted);max-width:62ch;margin:10px 0 0}
.bha-crosslink{margin:18px 0 0;font-size:14.5px;line-height:1.6;color:var(--bha-muted)}
.bha-sec{margin-top:34px;padding-top:28px;border-top:1px solid var(--bha-line)}
.bha-areas,.bha-prices{padding-top:28px;border-top:1px solid var(--bha-line)}
.bha-sec h2,.bha-areas h2,.bha-prices h2{font-size:clamp(20px,1vw + 14px,24px);font-weight:800;margin:0 0 12px;color:var(--bha-ink)}
.bha-sec-lead{font-size:15.5px;line-height:1.7;color:var(--bha-body);max-width:68ch;margin:0 0 16px}
.bha-sec .bha-outputs{margin-top:8px}
.bha-steps-list{margin:0;padding:0;padding-inline-start:22px;display:grid;gap:10px}
.bha-steps-list li{font-size:15.5px;line-height:1.65;color:var(--bha-body)}
.bha-steps-list strong{color:var(--bha-ink)}
.bha-path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:bhapath}
.bha-path li{position:relative;border:1px solid var(--bha-line);border-radius:var(--bha-radius-s);padding:16px 16px 16px;background:var(--bha-soft);counter-increment:bhapath}
.bha-path li::before{content:counter(bhapath);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--bha-purple);color:#fff;font-size:13px;font-weight:800;margin-bottom:10px}
.bha-path strong{display:block;color:var(--bha-ink);font-size:15.5px;margin-bottom:6px}
.bha-path span{display:block;font-size:14px;line-height:1.55;color:var(--bha-muted)}
.bha-prices-kicker{margin:0 0 6px;color:var(--bha-ink);font-size:16px}
.bha-faq details{border-bottom:1px solid var(--bha-line)}
.bha-faq summary{cursor:pointer;padding:14px 0;font-weight:700;color:var(--bha-ink);list-style:none}
.bha-faq summary::-webkit-details-marker{display:none}
.bha-faq details p{margin:0 0 14px;font-size:15px;line-height:1.7;color:var(--bha-body)}
@media (max-width:860px){.bha-path{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.bha-path{grid-template-columns:1fr}}

/* Persian prose (2026-10-07). The page's own paragraphs carry the shared
   .fa-prose class (main.css). Paragraphs the assessment script builds (question
   hints, result summary, evidence, priorities, report footnote, the unlock and
   service cards) get the same treatment here, so the script itself is
   unchanged. Headings, labels, prices and buttons are not touched. */
[dir="rtl"] .bha-q-hint,[dir="rtl"] .bha-summary,[dir="rtl"] .bha-strengths li > span,[dir="rtl"] .bha-prio dd,
[dir="rtl"] .bha-unlock > p,[dir="rtl"] .bha-buy-note,[dir="rtl"] .bha-svc .bha-muted,[dir="rtl"] .bha-rfoot > p:first-child,
[dir="rtl"] .qaa-prices-note{text-align:justify;text-align-last:right;text-justify:inter-word;word-break:normal;overflow-wrap:break-word}
/* the price of a paid item is its own line, between the name and the description */
.bha-outputs .bha-out-price{display:block;font-size:15px;font-weight:800;color:var(--bha-purple-ink);margin:0 0 4px;line-height:1.4}
/* Persian: descriptions use the full width of their column and blocks grow with the text */
[dir="rtl"] .bha-lead.fa-prose,[dir="rtl"] .bha-tagline.fa-prose,[dir="rtl"] .bha-sec-lead.fa-prose{max-width:none}
