/* ForexR /brokers: list, comparison table, compare tray + dialog. Plain CSS (no build step);
   loaded only by brokers.php, after app.css, whose design tokens it uses. */
.bk-hero{padding-bottom:44px}
.bk [hidden],.cmp-tray[hidden]{display:none!important}
.bk-bar{display:grid;gap:12px;margin-bottom:18px}
.bk-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.bk-seg{display:inline-flex;padding:3px;background:var(--hair);border-radius:11px}
.bk-seg-b{padding:8px 18px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-family:var(--ff);font-size:.86rem;font-weight:650;cursor:pointer}
.bk-seg-b.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.bk-sort{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--faint)}
.bk-sort select{padding:9px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-family:var(--ff);font-size:.86rem;font-weight:600;color:var(--ink);outline:0}
.bk-sort select:focus{border-color:var(--brand)}
.bk-count{margin-left:auto;font-size:.8rem;color:var(--faint);font-variant-numeric:tabular-nums}
.bk-chips{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.bk-chips-l{font-size:.62rem;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.05em;margin-right:2px}
.bk-chips-l:not(:first-child){margin-left:10px}
.bk-chip{padding:7px 13px;border:1px solid var(--line);border-radius:980px;background:var(--surface);color:var(--muted);font-family:var(--ff);font-size:.8rem;font-weight:600;cursor:pointer}
.bk-chip.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-strong)}
.bk-link{border:0;background:none;padding:0;font-family:var(--ff);font-size:.85rem;font-weight:650;color:var(--brand-strong);cursor:pointer}
.bk-empty{padding:28px;text-align:center;font-size:.92rem;color:var(--muted)}
.bk[data-view="cards"] .bt-wrap,.bk[data-view="table"] .broker-list{display:none}

.broker-list{display:flex;flex-direction:column;gap:16px}
.broker-card{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.broker-card.feat{border-color:var(--brand);border-width:2px}
.bc-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
/* Logos render as-is: square box, no plate, border or rounding. Explicit resets because the live
   app.css still carries an older .bc-logo rule. */
.bc-logo{border-radius:0;background:none;border:0;object-fit:contain;flex-shrink:0}
.bc-logo.mono{display:inline-grid;place-items:center;color:var(--brand-strong);font-weight:800;font-size:1rem}
.bc-rank{font-size:inherit;min-width:0;font-weight:800;color:var(--faint);font-variant-numeric:tabular-nums;margin-right:2px}
.bc-id{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.bc-name{font-size:1.25rem;font-weight:800;color:var(--ink)}
.bc-badge{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--hair);padding:4px 10px;border-radius:980px}
.bc-badge.gold{background:var(--brand-soft);color:var(--brand-strong)}
.bc-cmp{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;font-size:.78rem;font-weight:650;color:var(--muted);cursor:pointer;flex-shrink:0;user-select:none}
.bc-cmp input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}
.bc-cmp.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-strong)}
.bc-cmp:has(input:disabled){opacity:.45;cursor:not-allowed}
.bc-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:16px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin-bottom:16px}
@media(min-width:640px){.bc-meta{grid-template-columns:repeat(4,1fr)}}
.bc-m{display:flex;flex-direction:column;gap:3px;min-width:0}
.bc-m.wide{grid-column:span 2}
.bc-m .k{font-size:.62rem;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}
.bc-m .v{font-size:.82rem;font-weight:600;color:var(--ink)}
.bc-m .v.num{font-size:1.02rem;font-weight:750}
.bc-highlights{list-style:none;display:grid;gap:9px;margin-bottom:18px}
@media(min-width:640px){.bc-highlights{grid-template-columns:1fr 1fr;column-gap:24px}}
.bc-highlights li{display:flex;gap:8px;font-size:.88rem;color:var(--muted)}
.bc-highlights i{color:var(--up);font-size:.95rem;margin-top:1px;flex-shrink:0}
.bc-actions{display:flex;gap:10px;align-items:center}
.bc-cta{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--brand);color:var(--brand-on);padding:13px;border-radius:12px;font-size:.92rem;font-weight:700}
.bc-review{font-size:.85rem;font-weight:600;color:var(--brand-strong);padding:13px 14px;white-space:nowrap}

/* Comparison table */
.bt-wrap{overflow:hidden}
.bt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.bt{width:100%;min-width:1080px;border-collapse:collapse;font-size:.84rem}
.bt th,.bt td{padding:13px 14px;text-align:left;vertical-align:middle;border-top:1px solid var(--hair)}
.bt thead th{border-top:0;font-size:.62rem;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:var(--surface)}
.bt th[data-sort]{cursor:pointer;user-select:none}
.bt th[data-sort]:hover{color:var(--ink)}
.bt th[aria-sort="ascending"],.bt th[aria-sort="descending"]{color:var(--brand-strong)}
.bt th[aria-sort="ascending"]::after{content:" \2191"}
.bt th[aria-sort="descending"]::after{content:" \2193"}
.bt td{color:var(--muted)}
.bt td.num{font-weight:700;color:var(--ink);white-space:nowrap}
.bt .bt-b{position:sticky;left:0;z-index:1;background:var(--surface);font-weight:inherit;box-shadow:1px 0 0 var(--hair)}
.bt tr.feat .bt-b{box-shadow:inset 3px 0 0 var(--brand),1px 0 0 var(--hair)}
.bt-id{display:flex;align-items:center;gap:10px;min-width:180px}
.bt-id .bc-cmp{padding:0;border:0;background:none}
.bt-n{display:block;font-size:.9rem;font-weight:750;color:var(--ink);white-space:nowrap}
.bt-s{display:block;font-size:.68rem;font-weight:600;color:var(--faint);white-space:nowrap}
.bt-go{display:inline-block;padding:8px 14px;border-radius:9px;background:var(--brand);color:var(--brand-on);font-size:.78rem;font-weight:700;white-space:nowrap}
@media(max-width:600px){.bt-id{min-width:140px}.bt-id .bc-logo{display:none}}

/* Compare tray + dialog */
body.has-tray{padding-bottom:96px}
.cmp-tray{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:12px 16px calc(12px + env(safe-area-inset-bottom));pointer-events:none}
.cmp-tray-in{pointer-events:auto;display:flex;align-items:center;gap:12px;max-width:860px;margin:0 auto;padding:10px 12px 10px 14px;background:var(--raised);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 34px rgba(0,0,0,.2)}
.cmp-picks{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.cmp-picks::-webkit-scrollbar{display:none}
.cmp-pick{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 4px;border:0;border-radius:980px;background:var(--hair);color:var(--ink);font-family:var(--ff);font-size:.8rem;font-weight:650;white-space:nowrap;cursor:pointer;flex-shrink:0}
.cmp-pick img{border-radius:0;background:none;object-fit:contain}
.cmp-pick b{font-size:.62rem;color:var(--faint)}
.cmp-hint{font-size:.78rem;color:var(--faint);white-space:nowrap}
.cmp-go{padding:11px 18px;border:0;border-radius:11px;background:var(--brand);color:var(--brand-on);font-family:var(--ff);font-size:.9rem;font-weight:700;white-space:nowrap;cursor:pointer}
.cmp-go:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:600px){.cmp-hint{display:none}.cmp-pick span{display:none}.cmp-pick{padding:4px 8px 4px 4px}}
.cmp-dlg{margin:auto;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);width:min(1040px,calc(100% - 24px));max-height:min(88vh,900px);overflow:hidden}
.cmp-dlg[open]{display:flex;flex-direction:column}
.cmp-dlg::backdrop{background:rgba(0,0,0,.6)}
.cmp-dlg-h{display:flex;align-items:center;gap:14px;padding:14px 16px 14px 20px;border-bottom:1px solid var(--hair)}
.cmp-dlg-h h2{flex:1;font-size:1.05rem}
.cmp-dlg-b{overflow:auto;-webkit-overflow-scrolling:touch}
.cmp-dlg-f{padding:12px 20px;border-top:1px solid var(--hair);font-size:.74rem;color:var(--faint)}
.cmp-t{width:100%;min-width:calc(110px + var(--n,2)*150px);border-collapse:collapse;table-layout:fixed;font-size:.85rem}
.cmp-t th,.cmp-t td{padding:13px 14px;text-align:left;vertical-align:top;border-top:1px solid var(--hair);color:var(--ink);overflow-wrap:anywhere}
.cmp-t thead th,.cmp-t thead td{position:sticky;top:0;z-index:2;border-top:0;background:var(--surface);box-shadow:0 1px 0 var(--hair);text-align:center;vertical-align:bottom}
.cmp-t thead td,.cmp-t tbody th{width:110px}
.cmp-t tbody th{position:sticky;left:0;z-index:1;background:var(--surface);font-size:.62rem;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}
.cmp-t thead td{left:0;z-index:3}
.cmp-t thead img{display:block;margin:0 auto 8px;border-radius:0;background:none;border:0;object-fit:contain}
.cmp-n{display:block;font-size:.98rem;font-weight:800}
.cmp-bd{display:block;margin-top:2px;font-size:.66rem;font-weight:600;color:var(--faint)}
.cmp-cta{display:block;margin-top:10px;padding:9px 8px;border-radius:10px;background:var(--brand);color:var(--brand-on);font-size:.8rem;font-weight:700}
@media(max-width:600px){.cmp-t{min-width:calc(84px + var(--n,2)*128px);font-size:.8rem}.cmp-t thead td,.cmp-t tbody th{width:84px}.cmp-t th,.cmp-t td{padding:11px 10px}}
.cmp-t td.best{background:var(--up-bg);color:var(--up);font-weight:750}
.cmp-t ul{list-style:none;display:grid;gap:6px;font-size:.8rem;color:var(--muted)}

/* Country rankings (/brokers/{country}) + the country grid on /brokers */
.geo-notice{max-width:820px;margin:0 auto 28px;padding:18px 22px;border-radius:18px;background:var(--brand-soft);color:var(--ink);font-size:.95rem;line-height:1.55}
.geo-notice-t{display:block;margin-bottom:4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-strong)}
.geo-notice p{margin:0}
.geo-notice p+p{margin-top:8px}
.geo-notice a{color:var(--brand-strong)}
.geo-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 28px}
@media(min-width:760px){.geo-facts{grid-template-columns:repeat(4,1fr)}}
.geo-fact{background:var(--raised);border-radius:18px;padding:16px 18px}
.geo-fact dt{font-size:.62rem;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.geo-fact dd{margin:0;font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.35}
.geo-fact dd a{color:var(--brand-strong)}
.bc-badge:empty{display:none}
.geo-why{margin:0 0 16px;color:var(--muted);font-size:.95rem;line-height:1.5}
.geo-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 16px}
.geo-chips-l{font-size:.62rem;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;margin-right:4px}
.geo-chip{padding:4px 10px;border-radius:980px;background:var(--hair);color:var(--muted);font-size:.76rem;font-weight:600}
.geo-chip.lic{background:var(--up-bg);color:var(--up)}
.geo-out{list-style:none;padding:0;margin:12px 0 0}
.geo-out li{display:flex;flex-wrap:wrap;gap:4px 14px;padding:10px 0;border-top:1px solid var(--hair);font-size:.92rem;color:var(--muted)}
.geo-out b{flex:0 0 170px;color:var(--ink)}
.geo-out span{flex:1 1 260px}
.geo-sec{margin-top:44px}
.geo-h2{font-size:1.3rem;font-weight:750;letter-spacing:-.02em;color:var(--ink);margin:0 0 14px}
.geo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:640px){.geo-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.geo-grid{grid-template-columns:repeat(4,1fr)}}
.geo-link{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:16px;background:var(--raised);color:var(--ink);font-weight:600;font-size:.95rem;text-decoration:none}
.geo-link:hover{background:var(--hair)}
.geo-link img{width:22px;height:22px;border-radius:50%;object-fit:cover;flex:none}
.geo-sponsor-wrap{margin:0 0 22px}
.geo-sponsor-note{margin:0 0 10px;font-size:.82rem;color:var(--muted);line-height:1.5}
.geo-sponsor-note strong{color:var(--brand-strong)}
.broker-card.geo-sponsor{border-style:dashed}
.geo-flag{margin:0 0 12px;font-size:.8rem;line-height:1.45;color:var(--ink)}
.geo-flag a{color:inherit;text-decoration:underline;text-decoration-color:var(--brand-strong);text-underline-offset:2px}
.geo-flag::before{content:"Regulator note";display:inline-block;margin-right:8px;padding:2px 8px;border-radius:980px;background:var(--brand-soft);color:var(--brand-strong);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:1px}
.bt-flag{display:block;font-size:.62rem;color:var(--brand-strong);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
.geo-sponsor .bc-cmp{display:none!important}
