/* Broker Latency: landing-page and homepage shortcodes only. No DataTables dependency. */
.bl-front-notice { font-size:14px; color:#667085; }

/* ---------- Single broker landing shortcode ---------- */
.bl-broker-single {
    --bl-navy:#091b3a;
    --bl-muted:#667085;
    --bl-border:rgba(9,27,58,.12);
    --bl-accent:#3de0af;
    --bl-best:#137a3d;
    --bl-best-soft:#edf8f1;
    --bl-good:#8a6500;
    --bl-good-soft:#fff8d9;
    width:100%;
    color:var(--bl-navy);
    font-family:inherit;
}
.bl-broker-single * { box-sizing:border-box; }

/* Recommendation strip, intentionally close to the original message-box style. */
.bl-recommendation-bar {
    display:flex;
    align-items:center;
    gap:14px;
    width:100%;
    padding:15px 18px;
    margin:0 0 15px;
    border:1px solid rgba(61,224,175,.82);
    border-left:4px solid var(--bl-accent);
    background:#edfcf7;
    color:#26354f;
}
.bl-recommendation-bar.is-mixed {
    background:#f7fbfa;
}
.bl-info-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 34px;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#092a24;
    color:#fff;
    font-size:20px;
    line-height:1;
    font-family:Georgia,serif;
    font-weight:700;
}
.bl-recommendation-copy {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px 14px;
    min-width:0;
    font-size:14px;
    line-height:1.45;
}
.bl-recommendation-main,
.bl-recommendation-alt {
    display:inline-flex;
    align-items:center;
    flex-wrap:wrap;
    gap:5px;
}
.bl-recommendation-alt {
    color:#5d6778;
    padding-left:14px;
    border-left:1px solid rgba(9,27,58,.15);
}
.bl-common-locations { gap:7px; }
.bl-inline-location {
    display:inline-flex;
    align-items:center;
    gap:5px;
}
.bl-inline-flag {
    width:19px;
    height:auto;
    vertical-align:middle;
}
.bl-inline-latency {
    font-size:16px;
    color:var(--bl-navy);
}
.bl-recommended-badge,
.bl-best-badge,
.bl-good-badge {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    font-size:8px;
    line-height:1;
    font-weight:800;
    letter-spacing:.055em;
    border-radius:999px;
    padding:4px 6px 3px;
}
.bl-recommended-badge,
.bl-best-badge {
    color:#0d6132;
    background:#dff5e8;
}
.bl-good-badge {
    color:#795a00;
    background:#ffe99b;
}

/* Server finder: no outer frame above the tabs. */
.bl-server-finder {
    border:0;
    background:transparent;
    overflow:visible;
}
.bl-platform-head {
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:6px 10px;
    padding:0 0 9px;
    font-size:13px;
}
.bl-platform-head strong {
    color:var(--bl-navy);
    font-size:14px;
}
.bl-platform-head span {
    color:var(--bl-muted);
    font-size:12px;
}
/* Woodmart / WPBakery-style platform tabs. */
.bl-broker-single .bl-platform-tabs {
    overflow:visible;
    margin:0;
    padding:0;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tabs-list {
    display:flex;
    flex-wrap:wrap;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab {
    margin:0 !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a {
    border-bottom:4px solid transparent !important;
    box-shadow:none !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab.vc_active > a,
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a.is-active {
    border-bottom-color:#3de0af !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a:focus-visible {
    outline:2px solid #3de0af;
    outline-offset:-2px;
}
.bl-platform-panel[hidden] { display:none !important; }

.bl-server-table-wrap {
    overflow:visible;
    margin-top:0;
}
.bl-server-matrix {
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
    font-size:14px;
    line-height:1.45;
    border:1px solid var(--bl-border);
    border-top:0;
}
.bl-server-matrix th {
    padding:12px 14px;
    border-bottom:1px solid rgba(9,27,58,.16);
    background:#f1f3f7;
    color:#334057;
    font-weight:750;
    white-space:nowrap;
    text-align:left;
    text-transform:none !important;
}
.bl-server-matrix th:first-child { width:32%; }
.bl-server-matrix th:nth-child(2) { width:18%; }
.bl-server-matrix th:nth-child(n+3) { width:16.666%; text-align:center; }
.bl-location-heading {
    text-align:center !important;
}
.bl-location-heading > span {
    vertical-align:middle;
}
.bl-heading-flag {
    width:18px;
    height:auto;
    margin-right:6px;
    vertical-align:-3px;
}

.bl-server-matrix td {
    padding:12px 14px;
    border-bottom:1px solid rgba(9,27,58,.08);
    vertical-align:middle;
}
.bl-server-matrix tbody tr:last-child td { border-bottom:0; }
.bl-server-name {
    text-align:left !important;
    font-weight:650;
    color:var(--bl-navy);
    overflow-wrap:anywhere;
}
.bl-server-type {
    text-align:left !important;
    color:#687284;
    white-space:nowrap;
}
.bl-top-location-cell {
    position:relative;
    text-align:center;
    min-width:0;
}
.bl-top-location-cell.is-best {
    background:#edfcf7;
    box-shadow:inset 0 -2px 0 #3de0af;
}
.bl-top-location-cell.is-good {
    background:var(--bl-good-soft);
    box-shadow:inset 0 -2px 0 rgba(207,164,20,.30);
}
.bl-top-location-cell.is-empty { color:#a4aab4; }
.bl-top-location-value {
    display:inline-block;
    font-size:15px;
    font-weight:800;
    color:var(--bl-navy);
    white-space:nowrap;
}
.bl-top-location-cell .bl-best-badge,
.bl-top-location-cell .bl-good-badge {
    margin-left:5px;
    vertical-align:2px;
}

.bl-server-cards-mobile { display:none; }

@media (max-width: 767px) {
    .bl-recommendation-bar {
        align-items:flex-start;
        padding:13px 14px;
        gap:11px;
    }
    .bl-info-icon {
        width:30px;
        height:30px;
        flex-basis:30px;
        font-size:17px;
    }
    .bl-recommendation-copy {
        display:block;
        font-size:13px;
    }
    .bl-recommendation-main,
    .bl-recommendation-alt {
        display:flex;
    }
    .bl-recommendation-alt {
        margin-top:7px;
        padding-left:0;
        border-left:0;
    }
    .bl-platform-head { padding:0 0 8px; }
    .bl-platform-head strong,
    .bl-platform-head span { display:block; width:100%; }
    .bl-broker-single .bl-platform-tabs .vc_tta-tabs-list { gap:0; }

    .bl-server-table-wrap { display:none; }
    .bl-server-cards-mobile {
        display:grid;
        gap:10px;
        padding:11px 0 0;
    }
    .bl-server-card {
        border:1px solid var(--bl-border);
        background:#fff;
        overflow:hidden;
    }
    .bl-server-card-head {
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:10px;
        padding:9px 11px;
        background:#f5f7fa;
        border-bottom:1px solid var(--bl-border);
    }
    .bl-server-card-head strong {
        min-width:0;
        font-size:13px;
        overflow-wrap:anywhere;
    }
    .bl-server-card-head > span {
        flex:0 0 auto;
        font-size:10px;
        color:#596274;
        background:#fff;
        border:1px solid var(--bl-border);
        border-radius:999px;
        padding:3px 6px;
    }
    .bl-server-card-grid-top3 {
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .bl-server-card-loc {
        position:relative;
        min-width:0;
        padding:9px 7px;
        text-align:center;
        border-right:1px solid rgba(9,27,58,.07);
    }
    .bl-server-card-loc:last-child { border-right:0; }
    .bl-server-card-loc.is-best { background:var(--bl-best-soft); }
    .bl-server-card-loc.is-good { background:var(--bl-good-soft); }
    .bl-server-card-loc-name {
        display:flex;
        align-items:center;
        justify-content:center;
        gap:4px;
        min-width:0;
        font-size:9px;
        font-weight:700;
        color:#667085;
    }
    .bl-server-card-loc-name span {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .bl-mini-flag { width:15px; height:auto; flex:0 0 auto; }
    .bl-server-card-value {
        margin-top:5px;
        font-size:16px;
        font-weight:800;
        white-space:nowrap;
    }
    .bl-server-card-value small {
        font-size:.6em;
        font-weight:500;
        color:#7a8290;
    }
    .bl-server-card-loc .bl-best-badge,
    .bl-server-card-loc .bl-good-badge {
        margin-top:6px;
        font-size:7px;
    }
}

/* ---------- Homepage snapshot v1 ---------- */
/* ---------- Homepage latency snapshot ---------- */
.bl-home-snapshot { width:100%; }
.bl-home-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.bl-home-card {
    min-width:0;
    padding:14px;
    border:1px solid rgba(20,34,64,.10);
    border-radius:0;
    background:#fff;
}
.bl-home-broker {
    margin-bottom:10px;
    overflow:hidden;
    color:#0b0f2f;
    font-size:14px;
    font-weight:600;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.bl-home-best { margin-bottom:11px; }
.bl-home-best-location {
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
}
.bl-home-best-flag {
    width:20px;
    height:auto;
    flex:0 0 auto;
}
.bl-home-best-location strong {
    min-width:0;
    overflow:hidden;
    color:#0b0f2f;
    font-size:18px;
    line-height:1.2;
    font-weight:500;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.bl-home-best-ms {
    flex:0 0 auto;
    color:#0b0f2f !important;
    font-size:18px !important;
    line-height:1.2;
    font-weight:500;
    white-space:nowrap;
}
.bl-home-snapshot .bl-best-badge {
    flex:0 0 auto;
    margin-left:auto;
    border-radius:0 !important;
}
.bl-home-no-data { color:#8a909b; font-size:12px; }
.bl-home-servers {
    border-top:1px solid rgba(20,34,64,.09);
}
.bl-home-server-row {
    padding:8px 0 7px;
    border-bottom:1px solid rgba(20,34,64,.07);
}
.bl-home-server-row:last-child {
    padding-bottom:0;
    border-bottom:0;
}
.bl-home-server-title {
    margin-bottom:4px;
    overflow:hidden;
    color:#202846;
    font-size:11.5px;
    line-height:1.3;
    font-weight:600;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.bl-home-server-meta {
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
    color:#7a8290;
    font-size:10.5px;
    line-height:1.25;
    white-space:nowrap;
}
.bl-home-server-meta > span + span:before {
    content:'·';
    margin-right:7px;
    color:#b3b8c1;
}
.bl-home-server-type-chip { color:#535c6b; font-weight:600; }
.bl-home-server-location {
    display:inline-flex;
    align-items:center;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
}
.bl-home-server-flag {
    width:14px;
    height:auto;
    margin-right:5px;
    flex:0 0 auto;
}
.bl-home-cta { margin-top:12px; text-align:right; font-size:13px; }
.bl-home-cta a { text-decoration:none; }

@media (max-width: 1024px) {
    .bl-location-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .bl-home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
    .bl-recommendation { padding:17px; }
    .bl-recommended-location { align-items:flex-start; gap:12px; }
    .bl-hero-flag { width:32px; }
    .bl-recommended-place { gap:9px; }
    .bl-recommended-place strong { font-size:23px; }
    .bl-recommended-ms strong { font-size:29px; }
    .bl-location-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bl-finder-heading { padding:18px 17px 14px; }
    .bl-platform-step,
    .bl-server-step { padding-left:17px; padding-right:17px; }
    .bl-platform-tabs { padding-left:17px; padding-right:17px; }
    .bl-single-platform { margin-left:17px; margin-right:17px; }
    .bl-server-table-wrap { display:none; }
    .bl-server-cards-mobile { display:grid; gap:10px; padding:0 17px 18px; }
    .bl-server-card { border:1px solid var(--bl-border); border-radius:8px; overflow:hidden; background:#fff; }
    .bl-server-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:11px 12px; background:#f5f7fa; border-bottom:1px solid var(--bl-border); }
    .bl-server-card-head strong { min-width:0; font-size:13px; overflow-wrap:anywhere; }
    .bl-server-card-head > span { flex:0 0 auto; font-size:10px; color:#596274; background:#fff; border:1px solid var(--bl-border); border-radius:999px; padding:3px 6px; }
    .bl-server-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
    .bl-server-card-loc { position:relative; min-width:0; padding:9px 8px; border-right:1px solid rgba(9,27,58,.07); border-bottom:1px solid rgba(9,27,58,.07); }
    .bl-server-card-loc:nth-child(3n) { border-right:0; }
    .bl-server-card-loc:nth-last-child(-n+3) { border-bottom:0; }
    .bl-server-card-loc.is-best { background:var(--bl-best-soft); }
    .bl-server-card-loc-name { display:flex; align-items:center; gap:4px; font-size:9px; font-weight:700; color:#667085; }
    .bl-mini-flag { width:15px; height:auto; }
    .bl-server-card-value { margin-top:5px; font-size:16px; font-weight:750; }
    .bl-server-card-loc .bl-best-badge { position:absolute; top:7px; right:6px; font-size:7px; padding:3px 4px; }
    .bl-home-grid { grid-template-columns:1fr; }
}


/* ---------- Broker landing typography alignment with the site's Woodmart design ---------- */
/* Keep the Woodmart heading look, but make the size explicitly responsive like the site headings. */
.bl-broker-single .liner-continer {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    margin:34px 0 8px;
    text-align:center;
}
.bl-broker-single .liner-continer .left-line,
.bl-broker-single .liner-continer .right-line {
    display:none;
}
.bl-broker-single .liner-continer .woodmart-title-container.title {
    margin:0 !important;
    padding:0 !important;
    color:#090f2d;
    font-family:inherit;
    font-size:44px !important;
    line-height:1.15;
    font-weight:400 !important;
    letter-spacing:0;
    text-transform:none;
}
.bl-broker-single .title-after_title {
    margin:0 0 24px;
    color:#090f2d;
    font-family:inherit;
    font-size:24px;
    line-height:1.35;
    font-weight:300;
    text-align:center;
}

/* Platform tabs: compact Woodmart-like tabs with a clear active underline. */
.bl-broker-single .bl-platform-tabs {
    margin:0 !important;
    padding:0 !important;
    overflow:visible;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tabs-list {
    display:flex;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:0;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab {
    margin:0 26px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab:last-child {
    margin-right:0 !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a {
    display:block;
    position:relative;
    padding:12px 0 14px !important;
    border:0 !important;
    border-bottom:3px solid #d9dcdf !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#565c70 !important;
    font-family:inherit;
    font-size:20px !important;
    line-height:1.25;
    font-weight:400;
    text-decoration:none !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a .vc_tta-title-text {
    font-size:inherit !important;
    line-height:inherit !important;
    font-weight:inherit !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab.vc_active > a,
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a.is-active {
    color:#090f2d !important;
    border-bottom-color:#3de0af !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a:focus-visible {
    outline:2px solid #3de0af;
    outline-offset:3px;
}
.bl-broker-single .bl-platform-panels {
    margin-top:22px;
}

/* Table header: match the restrained plan-feature typography without shrinking the body rows. */
.bl-broker-single .bl-server-matrix th {
    font-family:inherit;
    font-size:14px;
    line-height:1.45;
    font-weight:400;
    color:#6b7280;
    letter-spacing:0;
    text-transform:none !important;
}
.bl-broker-single .bl-server-matrix td {
    font-size:14px;
    line-height:1.5;
}
.bl-broker-single .bl-server-name {
    font-size:14px;
}
.bl-broker-single .bl-server-type {
    font-size:14px;
}

@media (max-width: 1024px) {
    .bl-broker-single .liner-continer .woodmart-title-container.title {
        font-size:36px !important;
    }
    .bl-broker-single .title-after_title {
        font-size:20px;
    }
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a {
        font-size:18px !important;
    }
}

@media (max-width: 767px) {
    .bl-broker-single .liner-continer {
        margin-top:26px;
    }
    .bl-broker-single .liner-continer .woodmart-title-container.title {
        font-size:30px !important;
        line-height:1.2;
    }
    .bl-broker-single .title-after_title {
        margin-bottom:18px;
        font-size:16px;
        line-height:1.4;
    }
    .bl-broker-single .bl-platform-tabs .vc_tta-tab {
        margin-right:20px !important;
    }
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a {
        padding:9px 0 11px !important;
        font-size:16px !important;
    }
    .bl-broker-single .bl-platform-panels {
        margin-top:18px;
    }
}



/* ---------- Broker landing v0.6.4 refinements ---------- */
/* Compact platform selector: no oversized page-style heading. */
.bl-broker-single .bl-platform-selector-row {
    display:flex;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:0;
    width:100%;
    margin:24px 0 0;
}
.bl-broker-single .bl-platform-selector-label {
    display:inline-block;
    padding:0 0 7px;
    color:#0b0f2f;
    font-size:16px;
    line-height:1.25;
    font-weight:600;
}

/* Tabs: theme-like compact type, with the underline closer to the label. */
.bl-broker-single .bl-platform-tabs .vc_tta-tab {
    margin-right:26px !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab:first-child {
    margin-left:10px !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a {
    padding:0 0 7px !important;
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1.25 !important;
    border-bottom-width:4px !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a .vc_tta-title-text {
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1.25 !important;
}
.bl-broker-single .bl-platform-panels {
    margin-top:18px;
}

/* Desktop table header and top edge. */
.bl-broker-single .bl-server-matrix {
    border-top:1px solid var(--bl-border);
    border-radius:0 !important;
}
.bl-broker-single .bl-server-matrix th {
    color:#0b0f2f;
    font-weight:800;
    text-transform:none !important;
}
.bl-broker-single .bl-server-matrix,
.bl-broker-single .bl-server-matrix th,
.bl-broker-single .bl-server-matrix td,
.bl-broker-single .bl-best-badge,
.bl-broker-single .bl-good-badge {
    border-radius:0 !important;
}

@media (max-width: 767px) {
    .bl-broker-single .bl-platform-selector-row {
        align-items:flex-end;
        margin-top:20px;
    }
    .bl-broker-single .bl-platform-selector-label {
        width:100%;
        padding-bottom:9px;
        font-size:15px;
    }
    .bl-broker-single .bl-platform-tabs .vc_tta-tab:first-child {
        margin-left:10px !important;
    }
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a,
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a .vc_tta-title-text {
        font-size:16px !important;
        font-weight:600 !important;
    }

    /* Mobile cards fill the shortcode width and use the same BEST colour as desktop. */
    .bl-broker-single .bl-server-cards-mobile,
    .bl-broker-single .bl-server-card {
        width:100%;
        max-width:none;
    }
    .bl-broker-single .bl-server-card,
    .bl-broker-single .bl-server-card-head,
    .bl-broker-single .bl-server-card-loc,
    .bl-broker-single .bl-server-card-head > span,
    .bl-broker-single .bl-server-card .bl-best-badge,
    .bl-broker-single .bl-server-card .bl-good-badge {
        border-radius:0 !important;
    }
    .bl-broker-single .bl-server-card-loc.is-best {
        background:#edfcf7;
    }
    .bl-broker-single .bl-server-card-head > span {
        padding:5px 8px;
        border:0;
        background:#0b0f2f;
        color:#fff;
        font-size:12px;
        line-height:1.2;
        font-weight:600;
    }
    .bl-broker-single .bl-server-card-loc-name {
        gap:6px;
        font-size:14px;
        line-height:1.35;
        font-weight:800;
        color:#0b0f2f;
    }
    .bl-broker-single .bl-mini-flag {
        width:18px;
    }
    .bl-broker-single .bl-server-card-value {
        margin-top:6px;
        font-size:15px;
        line-height:1.45;
        font-weight:800;
        color:#0b0f2f;
    }
    .bl-broker-single .bl-server-card-value small {
        font-size:inherit;
        font-weight:inherit;
        color:inherit;
    }
}


/* ---------- Broker landing v0.6.5: site pricing-switcher style ---------- */
.bl-broker-single .bl-recommendation-alt {
    color:#0b0f2f;
}

/* Match the site's existing Billed Monthly / Billed Annually switcher:
   .switch-btn { padding:5px 10px; margin-right:10px; background:lightgray; }
   .switch-btn.active { background:#3de0af; color:#fff; }
*/
.bl-broker-single .bl-platform-selector-row {
    align-items:center;
}
.bl-broker-single .bl-platform-selector-label {
    padding:0;
    margin-right:10px;
}
.bl-broker-single .bl-platform-tabs {
    margin:0 !important;
    padding:0 !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tabs-list {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab,
.bl-broker-single .bl-platform-tabs .vc_tta-tab:first-child,
.bl-broker-single .bl-platform-tabs .vc_tta-tab:last-child {
    margin:0 !important;
    padding:0 !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn {
    display:inline-block;
    cursor:pointer;
    padding:5px 10px !important;
    margin:0 10px 0 0 !important;
    border:0 !important;
    border-bottom:0 !important;
    border-radius:0 !important;
    background-color:lightgray !important;
    box-shadow:none !important;
    color:#0b0f2f !important;
    font-family:inherit;
    font-size:inherit !important;
    line-height:inherit !important;
    font-weight:inherit !important;
    text-decoration:none !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn .vc_tta-title-text {
    font-size:inherit !important;
    line-height:inherit !important;
    font-weight:inherit !important;
    color:inherit !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab.vc_active > a.switch-btn,
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn.active,
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn.is-active {
    background-color:#3de0af !important;
    color:#fff !important;
}
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn:focus-visible {
    outline:2px solid #0b0f2f;
    outline-offset:2px;
}
.bl-broker-single .bl-platform-panels {
    margin-top:30px;
}

@media (max-width:767px) {
    .bl-broker-single .bl-platform-selector-row {
        align-items:flex-start;
    }
    .bl-broker-single .bl-platform-selector-label {
        width:100%;
        margin:0 0 8px;
        padding:0;
    }
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn {
        padding:5px 10px !important;
        margin-right:10px !important;
    }
    .bl-broker-single .bl-platform-panels {
        margin-top:20px;
    }
}


/* ---------- Broker landing v0.6.7: mobile spacing + touch-safe switch hover ---------- */
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn .vc_tta-title-text {
    font-weight:600 !important;
}

/* Same subtle hover behaviour as the site's pricing switcher.
   IMPORTANT: only enable hover styling on devices that really have a hover
   pointer. Android Chrome can otherwise keep :hover "stuck" after a tap,
   making the previously selected platform look active as well. */
.bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn {
    transition:background-color .18s ease, color .18s ease;
}
@media (hover:hover) and (pointer:fine) {
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn:hover {
        background-color:#c6c6c6 !important;
        color:#0b0f2f !important;
    }
    .bl-broker-single .bl-platform-tabs .vc_tta-tab.vc_active > a.switch-btn:hover,
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn.active:hover,
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn.is-active:hover {
        background-color:#31cc9e !important;
        color:#fff !important;
    }
}

/* Touch/coarse pointers: visual state must follow only the real active class,
   never a synthetic/sticky :hover state. */
@media (hover:none), (pointer:coarse) {
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn,
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn:hover {
        background-color:lightgray !important;
        color:#0b0f2f !important;
    }
    .bl-broker-single .bl-platform-tabs .vc_tta-tab.vc_active > a.switch-btn,
    .bl-broker-single .bl-platform-tabs .vc_tta-tab.vc_active > a.switch-btn:hover,
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn.active,
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn.active:hover,
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn.is-active,
    .bl-broker-single .bl-platform-tabs .vc_tta-tab > a.switch-btn.is-active:hover {
        background-color:#3de0af !important;
        color:#fff !important;
    }
}

@media (max-width:767px) {
    /* Keep the note from visually touching the next landing-page section. */
    .bl-broker-single .bl-latency-note {
        float:none !important;
        clear:both;
        display:block;
        width:100%;
        padding-bottom:30px;
    }
}


/* ---------- Homepage snapshot v0.7.2 row layout ---------- */
.bl-home-server-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(92px,auto) auto;
    align-items:center;
    gap:8px;
    padding:8px 0;
    border-bottom:1px solid rgba(20,34,64,.07);
    color:#7a8290;
    font-size:10.5px;
    line-height:1.25;
}
.bl-home-server-row:last-child { padding-bottom:0; border-bottom:0; }
.bl-home-server-title {
    min-width:0;
    margin:0;
    overflow:hidden;
    color:#202846;
    font-size:11.5px;
    line-height:1.3;
    font-weight:600;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.bl-home-server-platform {
    color:#7a8290;
    white-space:nowrap;
}
.bl-home-server-location {
    display:inline-flex;
    align-items:center;
    min-width:0;
    overflow:hidden;
    color:#7a8290;
    white-space:nowrap;
}
.bl-home-server-location > span {
    overflow:hidden;
    text-overflow:ellipsis;
}
.bl-home-server-flag {
    width:14px;
    height:auto;
    margin-right:5px;
    flex:0 0 auto;
}
.bl-home-server-latency {
    color:#202846;
    font-weight:600;
    white-space:nowrap;
}
.bl-home-server-meta,
.bl-home-server-type-chip { display:none !important; }

@media (max-width:767px) {
    .bl-home-server-row {
        grid-template-columns:minmax(0,1fr) auto minmax(88px,auto) auto;
        gap:6px;
        font-size:10px;
    }
    .bl-home-server-title { font-size:11px; }
}

/* ---------- Broker -> Platform -> fastest-location finder ---------- */
.bl-home-finder {
    --bl-home-navy:#0b0f2f;
    --bl-home-muted:#687284;
    --bl-home-border:rgba(11,15,47,.13);
    --bl-home-green:#3de0af;
    position:relative;
    width:100%;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--bl-home-navy);
    box-sizing:border-box;
}
.bl-home-finder * { box-sizing:border-box; }
.bl-home-finder-controls {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:1px;
    margin:0 0 16px;
    border:1px solid #dfe3e9;
    background:#dfe3e9;
}
.bl-home-field {
    display:block;
    min-width:0;
    margin:0;
    padding:14px;
    background:#f7f8fa;
}
.bl-home-field-label {
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
    color:var(--bl-home-navy);
    font-size:12px;
    line-height:1.3;
    font-weight:700;
}
.bl-home-field-label b {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    border-radius:0;
    background:var(--bl-home-navy);
    color:#fff;
    font-size:10px;
    font-weight:700;
}
.bl-home-select-wrap,
.bl-home-broker-combobox {
    display:block;
    position:relative;
}
.bl-home-select-wrap:after,
.bl-home-broker-arrow {
    content:'';
    position:absolute;
    top:50%;
    right:15px;
    width:7px;
    height:7px;
    margin-top:-5px;
    border-right:2px solid #6d7482;
    border-bottom:2px solid #6d7482;
    transform:rotate(45deg);
    pointer-events:none;
}
.bl-home-finder select,
.bl-home-broker-search {
    width:100%;
    height:46px;
    margin:0;
    padding:0 42px 0 13px;
    border:1px solid #d2d7df;
    border-radius:0;
    outline:0;
    background:#fff;
    color:var(--bl-home-navy);
    font:inherit;
    font-size:14px;
    box-shadow:none;
    transition:border-color .18s ease, box-shadow .18s ease;
}
.bl-home-finder select {
    appearance:none;
    -webkit-appearance:none;
}
.bl-home-broker-search {
    appearance:none;
    -webkit-appearance:none;
}
.bl-home-broker-search::-webkit-search-cancel-button { display:none; }
.bl-home-finder select:focus,
.bl-home-broker-search:focus {
    border-color:#9ba4b3;
    box-shadow:0 0 0 2px rgba(11,15,47,.06);
}
.bl-home-finder select:disabled {
    background:#eef0f3;
    color:#9ca3af;
    cursor:not-allowed;
}
.bl-home-broker-options {
    position:absolute;
    z-index:50;
    top:calc(100% + 4px);
    right:0;
    left:0;
    max-height:280px;
    overflow-y:auto;
    border:1px solid #d2d7df;
    background:#fff;
    box-shadow:0 8px 24px rgba(11,15,47,.12);
}
.bl-home-broker-option {
    display:block;
    width:100%;
    padding:10px 13px;
    border:0;
    border-bottom:1px solid rgba(11,15,47,.07);
    border-radius:0;
    background:#fff;
    color:var(--bl-home-navy);
    font:inherit;
    font-size:13px;
    line-height:1.3;
    text-align:left;
    cursor:pointer;
}
.bl-home-broker-option:last-child { border-bottom:0; }
.bl-home-broker-option:hover,
.bl-home-broker-option.is-active {
    background:#f1f4f8;
}
.bl-home-broker-no-results {
    display:block;
    padding:11px 13px;
    color:#8a92a0;
    font-size:12px;
}
.bl-home-finder-empty {
    padding:12px 14px;
    border-left:3px solid #d9dde4;
    background:#f8f9fb;
    color:#7a8290;
    font-size:12px;
    line-height:1.5;
}
.bl-home-finder-results {
    margin-top:8px;
    border:0;
}
.bl-home-results-box {
    border:1px solid var(--bl-home-border);
    background:#fff;
}
.bl-home-results-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:14px 16px;
    border-bottom:1px solid #202647;
    background:var(--bl-home-navy);
}
.bl-home-results-head strong[data-bl-results-title] {
    display:block;
    min-width:0;
    overflow:hidden;
    color:#fff;
    font-size:15px;
    line-height:1.35;
    font-weight:600;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.bl-home-results-count {
    flex:0 0 auto;
    padding:0;
    border:0;
    background:transparent;
    color:#3de0af;
    font-size:11px;
    line-height:1.3;
    font-weight:600;
    white-space:nowrap;
}
.bl-home-results-table-wrap { overflow-x:auto; }
.bl-home-results-table {
    width:100%;
    margin:0 !important;
    border:0 !important;
    border-collapse:collapse;
    table-layout:fixed;
}
.bl-home-results-table th {
    padding:10px 14px;
    border:0;
    border-bottom:1px solid rgba(11,15,47,.16);
    background:#eaeef5;
    color:#0b0f2f;
    font-size:13px;
    line-height:1.3;
    font-weight:600;
    text-align:left;
    text-transform:none !important;
    white-space:nowrap;
}
.bl-home-results-table th:nth-child(1) { width:36%; }
.bl-home-results-table th:nth-child(2) { width:14%; }
.bl-home-results-table th:nth-child(3) { width:34%; }
.bl-home-results-table th:nth-child(4) { width:16%; text-align:right; }
.bl-home-results-table td {
    padding:10px 14px;
    border:0;
    border-bottom:1px solid rgba(11,15,47,.07);
    vertical-align:middle;
}
.bl-home-results-table tbody tr:nth-child(odd) td { background:#fff; }
.bl-home-results-table tbody tr:nth-child(even) td { background:#f8f9fb; }
.bl-home-results-table tbody tr:hover td { background:#f0f4ff; }
.bl-home-results-table tbody tr:last-child td { border-bottom:0; }
.bl-home-results-table td:last-child { text-align:right; }
.bl-home-server-name {
    display:block;
    color:var(--bl-home-navy);
    font-size:12.5px;
    line-height:1.35;
    font-weight:700;
    overflow-wrap:anywhere;
}
.bl-home-server-type {
    display:block;
    margin:0;
    color:#687284;
    font-size:12px;
    line-height:1.3;
}
.bl-home-best-list {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:5px;
}
.bl-home-best-place {
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-width:0;
}
.bl-home-best-place img {
    width:19px;
    height:auto;
    flex:0 0 auto;
}
.bl-home-best-place strong {
    color:var(--bl-home-navy);
    font-size:12.5px;
    font-weight:700;
}
.bl-home-best-list .bl-best-badge {
    margin-left:3px;
    border-radius:0 !important;
}
.bl-home-tie { color:#9ba2ad; font-size:11px; }
.bl-home-ms {
    color:#0d7a4a;
    font-size:15px;
    line-height:1;
    font-weight:800;
    white-space:nowrap;
}
.bl-home-ms small {
    color:#6d7787;
    font-size:11px;
    font-weight:600;
}
.bl-home-results-mobile { display:none; }
.bl-home-finder-note {
    margin:9px 0 0 !important;
    padding:0;
}
.bl-home-server-type-live,
.bl-home-result-card-head .bl-home-server-type-live {
    color:#0b0f2f !important;
}
.bl-home-finder-link {
    margin-top:11px;
    text-align:right;
    font-size:12px;
}
.bl-home-finder-link a { text-decoration:none; }

@media (max-width:767px) {
    .bl-home-finder { padding:0; }
    .bl-home-finder-controls { grid-template-columns:1fr; gap:1px; }
    .bl-home-field { padding:12px; }
    .bl-home-finder select,
    .bl-home-broker-search { height:45px; }
    .bl-home-broker-options { max-height:240px; }
    .bl-home-results-table-wrap { display:none; }
    .bl-home-results-mobile { display:grid; gap:8px; padding:9px; }
    .bl-home-result-card {
        border:1px solid var(--bl-home-border);
        border-radius:0;
        background:#fff;
    }
    .bl-home-result-card:nth-child(even) { background:#f8f9fb; }
    .bl-home-result-card-head {
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:8px;
        padding:9px 10px;
        border-bottom:1px solid var(--bl-home-border);
        background:#eaeef5;
    }
    .bl-home-result-card-head strong {
        min-width:0;
        color:var(--bl-home-navy);
        font-size:12px;
        line-height:1.35;
        overflow-wrap:anywhere;
    }
    .bl-home-result-card-head span {
        flex:0 0 auto;
        color:#687284;
        font-size:10px;
    }
    .bl-home-result-card-main {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:11px 10px;
    }
    .bl-home-result-card-main > div { min-width:0; }
    .bl-home-card-label {
        display:block;
        margin-bottom:5px;
        color:#8a92a0;
        font-size:9px;
        line-height:1.2;
        text-transform:uppercase;
        letter-spacing:.04em;
    }
    .bl-home-best-place img { width:18px; }
    .bl-home-best-place strong { font-size:12px; }
    .bl-home-ms { font-size:16px; }
    .bl-home-results-head { padding:12px; }
    .bl-home-results-head strong[data-bl-results-title] {
        font-size:13px;
        white-space:normal;
    }
    .bl-home-results-count { font-size:10px; }
    .bl-home-finder-note { margin-top:8px !important; }
}

/* ---------- Finder v0.7.4: 3-step filter + compact searchable broker select ---------- */
.bl-home-finder-controls {
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.bl-home-field,
.bl-home-select-wrap,
.bl-home-broker-combobox {
    min-width:0 !important;
    max-width:100% !important;
}
.bl-home-broker-combobox {
    width:100% !important;
}
.bl-home-finder select,
.bl-home-broker-search {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    box-sizing:border-box !important;
    text-align:left !important;
}
.bl-home-broker-options {
    right:0 !important;
    left:0 !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    max-height:248px;
    box-sizing:border-box !important;
    text-align:left !important;
}
.bl-home-broker-option,
.bl-home-broker-option:hover,
.bl-home-broker-option:focus,
.bl-home-broker-option:active {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:8px 12px !important;
    border-radius:0 !important;
    box-shadow:none !important;
    font-family:inherit !important;
    font-size:13px !important;
    font-weight:400 !important;
    line-height:1.22 !important;
    letter-spacing:normal !important;
    text-align:left !important;
    text-transform:none !important;
    white-space:normal !important;
    justify-content:flex-start !important;
}
.bl-home-broker-option {
    border:0 !important;
    border-bottom:1px solid rgba(11,15,47,.07) !important;
    background:#fff !important;
    color:var(--bl-home-navy) !important;
}
.bl-home-broker-option:last-child {
    border-bottom:0 !important;
}
.bl-home-broker-option:hover,
.bl-home-broker-option.is-active,
.bl-home-broker-option:focus {
    background:#f1f4f8 !important;
    color:var(--bl-home-navy) !important;
}
.bl-home-broker-no-results {
    text-align:left !important;
}

@media (max-width:900px) and (min-width:768px) {
    .bl-home-finder-controls {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .bl-home-field {
        padding:12px 10px;
    }
    .bl-home-field-label {
        font-size:11px;
    }
    .bl-home-finder select,
    .bl-home-broker-search {
        padding-left:10px;
        font-size:13px;
    }
}

@media (max-width:767px) {
    .bl-home-finder-controls {
        grid-template-columns:1fr;
    }
}

/* ---------- Finder v0.7.5: broker-level fallback results ---------- */
.bl-home-general-results {
    width:100%;
}
.bl-home-general-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    min-height:47px;
    padding:10px 14px;
    border-bottom:1px solid rgba(11,15,47,.07);
    background:#fff;
}
.bl-home-general-row:nth-child(even) {
    background:#f8f9fb;
}
.bl-home-general-row:last-child {
    border-bottom:0;
}
.bl-home-general-row.is-best {
    background:#edfcf7;
}
.bl-home-general-row.is-good {
    background:#fff8d9;
}
.bl-home-general-location {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    min-width:0;
}
.bl-home-general-location img {
    flex:0 0 auto;
    width:20px;
    height:auto;
}
.bl-home-general-location strong {
    color:var(--bl-home-navy);
    font-size:13px;
    line-height:1.3;
    font-weight:700;
}
.bl-home-general-location .bl-best-badge,
.bl-home-general-location .bl-good-badge {
    margin-left:2px;
    border-radius:0 !important;
}

@media (max-width:767px) {
    .bl-home-general-row {
        min-height:45px;
        padding:10px 11px;
    }
    .bl-home-general-location img { width:18px; }
    .bl-home-general-location strong { font-size:12px; }
}
