
/* ═══ BROKERAGE-FINAL PATCH — fixes CSS gaps ═══════════════════ */

/* ── Broker logo (pages.css uses .broker-logo, global has nothing) ─ */
.broker-logo{
  width:48px;height:48px;border-radius:var(--r12);
  display:flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.875rem;
  color:#fff;flex-shrink:0
}

/* ── Stat val colour helpers ─────────────────────────────────────── */
.stat-val{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:1rem;color:var(--ink);line-height:1.2;margin-bottom:2px}
.stat-val.g{color:var(--green)}
.stat-lbl{font-size:.45rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--faint)}
.stat-note{font-size:.5625rem;color:var(--faint);margin-top:2px;line-height:1.4}

/* ── pc-grid (broker card pros/cons) ─────────────────────────────── */
.pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.pros h4{font-size:.45rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--green);margin-bottom:10px;display:flex;align-items:center;gap:5px}
.cons h4{font-size:.45rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--loss);margin-bottom:10px;display:flex;align-items:center;gap:5px}
.pros li,.cons li{font-size:.875rem;color:var(--mid);padding-left:16px;position:relative;margin-bottom:7px;line-height:1.55}
.pros li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800;font-size:.8rem}
.cons li::before{content:"✗";position:absolute;left:0;color:var(--loss);font-weight:800;font-size:.8rem}

/* ── data-note ───────────────────────────────────────────────────── */
.data-note{background:var(--g-bg);border:1px solid rgba(26,107,60,.15);border-radius:var(--r8);padding:10px 14px;font-size:.75rem;color:var(--mid);display:flex;align-items:flex-start;gap:8px;line-height:1.6}
.data-note svg{color:var(--green);flex-shrink:0;margin-top:1px}

/* ── broker-card (full card for inner pages) ─────────────────────── */
.broker-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r20);overflow:hidden;margin-bottom:20px;transition:box-shadow .2s}
.broker-card:hover{box-shadow:var(--sh2)}
.broker-card__accent{height:2px;background:linear-gradient(90deg,var(--green),#00c870)}
.broker-card__head{padding:20px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.broker-card__name{font-size:1rem;font-weight:800;color:var(--ink);letter-spacing:-.022em;display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:5px}
.broker-card__regs{display:flex;gap:4px;flex-wrap:wrap}
.broker-card__score{text-align:right;flex-shrink:0;margin-left:auto}
.broker-card__score-val{font-family:'JetBrains Mono',monospace;font-size:2rem;font-weight:700;color:var(--green);line-height:1}
.broker-card__score-lbl{font-size:.45rem;color:var(--faint);text-transform:uppercase;letter-spacing:.1em;margin-top:2px}
.broker-card__body{padding:20px 22px}
.broker-card__verdict{background:var(--g-bg);border:1.5px solid var(--g-border);border-radius:var(--r12);padding:13px 16px;display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;font-size:.875rem;color:var(--ink2);line-height:1.65}
.broker-card__verdict svg{color:var(--green);flex-shrink:0;margin-top:1px}
.broker-card__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.stat-cell{background:var(--bg);border:1px solid var(--border);border-radius:var(--r10);padding:11px;text-align:center}
.broker-card__cta{padding:16px 22px;background:var(--bg);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.broker-card__disc{padding:7px 22px;font-size:.45rem;color:var(--faint);text-align:center;line-height:1.55}

/* ── quick-pick (subpage strips) ────────────────────────────────── */
.quick-picks-bar{background:var(--card);border-bottom:1px solid var(--border);padding:14px 0}
.quick-pick{background:var(--bg);border:1px solid var(--border);border-radius:var(--r12);padding:14px;cursor:pointer;transition:all .15s}
.quick-pick:hover{border-color:var(--green);transform:translateY(-1px);box-shadow:var(--sh1)}
.quick-pick__label{font-size:.45rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin-bottom:5px}
.quick-pick__name{font-size:.875rem;font-weight:800;color:var(--ink);margin-bottom:2px}
.quick-pick__note{font-size:.6875rem;color:var(--muted)}

/* ── mid-cta-bar ─────────────────────────────────────────────────── */
.mid-cta-bar{background:var(--g-bg);border-top:1px solid var(--g-border);border-bottom:1px solid var(--g-border);padding:14px 0}
.mid-cta-bar__t{font-size:.875rem;font-weight:700;color:var(--ink)}
.mid-cta-bar__s{font-size:.75rem;color:var(--mid);margin-top:2px}

/* ── breadcrumb-bar ──────────────────────────────────────────────── */
.breadcrumb-bar{background:var(--bg2);border-bottom:1px solid var(--border);padding:9px 0}

/* ── page-hero ───────────────────────────────────────────────────── */
.page-hero{background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);border-bottom:1px solid var(--border);padding:44px 0 36px}
.page-hero__kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.page-hero__title{font-size:clamp(1.5rem,3.5vw,2.4rem);font-weight:800;color:var(--ink);letter-spacing:-.033em;margin-bottom:10px;line-height:1.1}
.page-hero__sub{font-size:.9375rem;color:var(--mid);line-height:1.7;max-width:620px;margin-bottom:22px}
.page-hero__ctas{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.page-hero__trust{display:flex;gap:16px;flex-wrap:wrap}
.trust-item{font-size:.75rem;color:var(--muted);display:flex;align-items:center;gap:5px}

/* ── verdict-card ────────────────────────────────────────────────── */
.verdict-card{background:var(--ink);border-radius:var(--r20);padding:30px 32px;position:relative;overflow:hidden;margin:24px 0}
.verdict-card::before{content:"";position:absolute;top:-70px;right:-70px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(167,243,208,.05),transparent);pointer-events:none}
.verdict-card__label{font-size:.45rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--lime2);display:block;margin-bottom:8px}
.verdict-card__title{font-size:1.15rem;font-weight:800;color:#fff;margin-bottom:8px;letter-spacing:-.022em;line-height:1.25}
.verdict-card__text{font-size:.875rem;color:rgba(255,255,255,.45);line-height:1.7;margin-bottom:20px}
.verdict-card__btns{display:flex;gap:10px;flex-wrap:wrap}

/* ── step-list (guides) ──────────────────────────────────────────── */
.step-list{display:flex;flex-direction:column}
.step-item{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--border)}
.step-item:last-child{border-bottom:none}
.step-num{width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.step-body h3{font-size:.9375rem;font-weight:700;color:var(--ink);margin-bottom:6px;letter-spacing:-.015em}
.step-body p{font-size:.875rem;color:var(--mid);line-height:1.7}

/* ── callout (subpages — consolidate with global) ────────────────── */
.callout{border-radius:var(--r12);padding:15px 18px;font-size:.875rem;line-height:1.68}
.callout--green{background:var(--g-bg);border:1.5px solid var(--g-border);color:var(--ink2)}
.callout--warn{background:var(--warn-bg);border:1.5px solid rgba(180,83,9,.18);color:var(--ink2)}
.callout--neutral{background:var(--bg2);border:1px solid var(--border);color:var(--mid)}
.callout strong{font-weight:700;color:var(--ink)}

/* ── expat link card ─────────────────────────────────────────────── */
.expat-link-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r12);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-decoration:none;transition:all .15s}
.expat-link-card:hover{border-color:var(--green);transform:translateY(-1px);box-shadow:var(--sh2)}
.flag-strip{width:32px;height:22px;border-radius:3px;overflow:hidden;box-shadow:var(--sh1);display:flex;flex-direction:column;flex-shrink:0}

/* ── sidebar elements (best-broker-uae) ─────────────────────────── */
.sidebar-cta{background:var(--ink);border-radius:var(--r16);padding:18px}
.sidebar-jumps{background:var(--card);border:1px solid var(--border);border-radius:var(--r16);overflow:hidden;margin-bottom:12px}
.sidebar-jumps__head{background:var(--ink);padding:12px 16px}
.sidebar-jump-link{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.8125rem;font-weight:600;color:rgba(255,255,255,.65)}
.sidebar-jump-link:last-child{border-bottom:none}
.sidebar-dfsa{background:var(--g-bg);border:1.5px solid var(--g-border);border-radius:var(--r12);padding:14px;margin-top:12px}
.sidebar-dfsa__row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--g-border)}
.sidebar-dfsa__row:last-of-type{border-bottom:none;margin-bottom:8px}

/* ── footer verify link ──────────────────────────────────────────── */
.footer__verify-link{font-size:.625rem;color:rgba(255,255,255,.28);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);padding:4px 10px;border-radius:5px;display:inline-flex;align-items:center;gap:4px;transition:color .15s}
.footer__verify-link:hover{color:rgba(255,255,255,.65)}

/* ── sticky — normalise: all pages use 'show' class now ─────────── */
#stickyCTA.show{bottom:0}

/* ── exit modal — ensure open class works ────────────────────────── */
#exitModal.open{display:flex;align-items:center;justify-content:center;padding:20px}

/* ── badge variants ──────────────────────────────────────────────── */
.badge--best{background:var(--green);color:#fff;font-size:.45rem;font-weight:800;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}
.badge--islamic{background:var(--g-bg);border:1px solid var(--g-border);color:var(--green);font-size:.45rem;font-weight:800;padding:2px 6px;border-radius:4px;text-transform:uppercase}

/* ── btn-spinner animation ───────────────────────────────────────── */
@keyframes bspin{to{transform:rotate(360deg)}}
.btn-spinner{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:bspin .6s linear infinite;vertical-align:middle;margin-right:3px}

/* ── reveal for subpages ────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:none}

/* ── responsive fixes for subpages ────────────────────────────────── */
@media(max-width:768px){
  .pc-grid{grid-template-columns:1fr}
  .broker-card__stats{grid-template-columns:repeat(2,1fr)}
  .page-hero__ctas,.verdict-card__btns{flex-direction:column}
  .broker-card__score{display:none}
  .broker-card__cta{flex-direction:column;align-items:flex-start}
}
@media(max-width:600px){
  .quick-picks-bar .wrap > div{grid-template-columns:1fr 1fr !important}
  .mid-cta-bar .wrap{flex-direction:column;align-items:flex-start}
  .sidebar-jumps,.sidebar-dfsa{display:none}
}
