/* ==========================================================================
   GBC V4.9 Corporate Fintech Polish
   Wider, cleaner, lower-noise interface inspired by established financial
   publishers without reproducing any third-party design.
   ========================================================================== */
:root {
    --container: 1340px;
    --container-wide: 1480px;
    --container-narrow: 980px;
    --gbc-corp-line: #d9e3ed;
    --gbc-corp-soft: #f5f8fb;
    --gbc-corp-blue-soft: #edf6ff;
    --gbc-corp-shadow: 0 12px 34px rgba(7, 31, 59, .075);
}

/* Site-wide architecture */
.gbc-container { max-width: var(--container); }
.gbc-container--wide { max-width: var(--container-wide); }
.gbc-container--narrow { max-width: var(--container-narrow); }
.gbc-main { overflow: clip; }
.gbc-section { padding-block: clamp(2.8rem, 4vw, 4.8rem); }
.gbc-section + .gbc-section { border-top: 1px solid rgba(217, 227, 237, .72); }

/* Reduce template-like visual noise while keeping a premium financial feel. */
.gbc-card,
.gbc-offer-card,
.gbc-provider-card,
.gbc-blog-card,
.gbc-video-library-card,
.gbc-rp-step-grid article,
.gbc-rp-problem-grid article,
.gbc-rp-factor-grid article,
.gbc-rp-option-grid article,
.gbc-rp-score-grid article,
.gbc-rp-category-guides article {
    border-radius: 12px;
    box-shadow: 0 7px 22px rgba(7, 31, 59, .045);
}

/* Header polish: restrained and corporate. */
.gbc-header__bar { gap: clamp(1rem, 2vw, 2rem); }
.gbc-brand img, .gbc-brand svg { max-width: 154px; }
.gbc-nav { flex: 1; }
.gbc-header__actions { margin-left: auto; }

/* Resource and cornerstone pages */
.gbc-rp-content { padding-top: 0; }
.gbc-rp-section {
    max-width: 1260px;
    padding: clamp(3.25rem, 5vw, 5.6rem) 0;
}
.gbc-rp-section > h2,
.gbc-rp-section > h3,
.gbc-rp-section > p,
.gbc-rp-section > ul,
.gbc-rp-section > ol,
.gbc-rp-section > .gbc-rp-lede,
.gbc-rp-section > .gbc-rp-note,
.gbc-rp-section > .gbc-rp-toc,
.gbc-rp-section > .gbc-rp-faq-list {
    max-width: 940px;
}
.gbc-rp-section > h2 { letter-spacing: -.035em; }
.gbc-rp-section + .gbc-rp-section { border-top-color: var(--gbc-corp-line); }

/* Numbered cards: reserve a true number column so labels never collide. */
.gbc-rp-step-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.gbc-rp-step-grid article {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: .85rem;
    align-content: start;
    padding: 1.35rem;
    min-height: 170px;
}
.gbc-rp-step-grid article > span {
    position: static;
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 32px;
    height: 32px;
    margin: 0;
    align-self: start;
}
.gbc-rp-step-grid article > h3 {
    grid-column: 2;
    margin: .08rem 0 .45rem;
    line-height: 1.18;
}
.gbc-rp-step-grid article > p {
    grid-column: 2;
    margin: 0;
}

.gbc-rp-option-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; }
.gbc-rp-option-grid article { padding: 1.45rem; min-height: 280px; }
.gbc-rp-option-grid h3 { margin-top: .85rem; }
.gbc-rp-link-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.gbc-rp-link-grid > a { border-radius: 12px; }

/* Comparison framework and data tables feel more like a financial publisher. */
.gbc-rp-compare-table table {
    border-radius: 10px;
    border-color: var(--gbc-corp-line);
    box-shadow: 0 8px 26px rgba(7, 31, 59, .045);
}
.gbc-rp-compare-table th {
    background: #edf4fb;
    color: #0a2850;
    text-transform: uppercase;
    letter-spacing: .055em;
    font-size: .72rem;
}
.gbc-rp-compare-table td { background: #fff; }

/* Marketplace: clean editorial product rows with clear hierarchy. */
.gbc-mkt-layout { grid-template-columns: 300px minmax(0, 1fr); gap: 2rem; }
.gbc-filter-rail {
    border-radius: 10px;
    border-color: var(--gbc-corp-line);
    box-shadow: none;
}
.gbc-results { gap: 1.35rem; }
.gbc-offer-card {
    position: relative;
    padding: 0;
    overflow: hidden;
    border-color: var(--gbc-corp-line);
    box-shadow: 0 7px 24px rgba(7, 31, 59, .045);
}
.gbc-offer-card::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, #0878e8, #26b6f4);
}
.gbc-offer-card__top { padding: 1.55rem 1.65rem 1rem; grid-template-columns: 175px minmax(0, 1fr); }
.gbc-offer-card__foot { padding: 0 1.65rem 1.5rem; margin-top: 1rem; }
.gbc-offer-card__title { font-size: clamp(1.35rem, 1.8vw, 1.8rem); }
.gbc-offer-card__summary-box { border-radius: 8px; background: #edf5fc; }
.gbc-offer-card__metrics,
.gbc-metrics { border-top: 1px solid var(--gbc-corp-line); }
.gbc-offer-card .gbc-btn--primary { min-width: 150px; }

/* Tradeline hero: preserve recognizable bureau marks as editable image overlays. */
.gbc-tradelines-suite .gbc-suite-hero__grid {
    grid-template-columns: minmax(0, .8fr) minmax(620px, 1.2fr);
}
.gbc-tradeline-map { grid-template-columns: minmax(245px, .9fr) 86px minmax(215px, .72fr); }
.gbc-bureau-card {
    min-height: 72px;
    display: grid;
    place-items: center;
    padding: .35rem .65rem;
    border: 1px solid rgba(11, 83, 148, .12);
    border-radius: 10px;
}
.gbc-bureau-card img {
    display: block;
    width: 100%;
    max-width: 190px;
    max-height: 58px;
    object-fit: contain;
}
.gbc-tradeline-item,
.gbc-tradeline-profile { border-radius: 10px; }
.gbc-tradeline-strip { border-radius: 12px; }

/* Video suite: structured media product, not a repeated-thumbnail grid. */
.gbc-video-feature-card { border-radius: 14px; }
.gbc-video-feature-media { aspect-ratio: 16 / 8.4; }
.gbc-video-library-grid { gap: 1.25rem; }
.gbc-video-library-card { border-radius: 12px; }

/* Free tools plugin integration. The plugin owns content, theme owns alignment. */
.gbc-tools-page-main { background: #fff; }
.gbc-tools-hub,
.gbc-tool-shell {
    width: 100%;
    max-width: 1440px !important;
    padding-inline: clamp(1rem, 2vw, 2.25rem) !important;
}
.gbc-tools-hub { padding-top: 0 !important; }
.gbc-tools-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem !important; }
.gbc-tool-card {
    min-height: 250px !important;
    padding: 1.65rem !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 26px rgba(7, 31, 59, .05) !important;
}

/* Corporate tools hero supplied by GBC Free Tools 1.1+. */
.gbc-tools-corp-hero {
    position: relative;
    overflow: hidden;
    color: #dceaff;
    background:
        radial-gradient(circle at 84% 14%, rgba(25, 151, 255, .52), transparent 34%),
        linear-gradient(115deg, #031a3c 0%, #06468c 57%, #0878df 100%);
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.gbc-tools-corp-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(90deg, transparent, #000 38%, #000);
}
.gbc-tools-corp-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1480px;
    margin-inline: auto;
    padding: clamp(2.5rem, 4vw, 4.4rem) clamp(1rem, 2vw, 2.25rem);
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
    gap: clamp(2rem, 4vw, 4.5rem);
    align-items: center;
}
.gbc-tools-corp-hero__copy { max-width: 620px; }
.gbc-tools-corp-hero__copy .gbc-tool-eyebrow { color: #55c9ff; }
.gbc-tools-corp-hero__copy h1 {
    margin: 0 0 .9rem;
    color: #fff;
    font-size: clamp(2.35rem, 3.65vw, 4rem);
    line-height: 1.025;
    letter-spacing: -.045em;
    max-width: 14ch;
}
.gbc-tools-corp-hero__copy p { max-width: 580px; color: #d2e4f5; font-size: 1.05rem; line-height: 1.58; }
.gbc-tools-corp-hero__actions { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.25rem; }
.gbc-tools-corp-hero__actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .8rem 1.25rem; border-radius: 8px; font-weight: 800; text-decoration: none; }
.gbc-tools-corp-hero__actions a:first-child { background: #087cf0; color: #fff; }
.gbc-tools-corp-hero__actions a:last-child { border: 1px solid rgba(255,255,255,.55); color: #fff; }
.gbc-tools-corp-dashboard {
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(2, 29, 67, .62);
    box-shadow: 0 24px 58px rgba(0, 17, 48, .3);
}
.gbc-tools-corp-dashboard__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: .85rem; color: #fff; }
.gbc-tools-corp-dashboard__top span { color: #8fd6ff; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.gbc-tools-corp-dashboard__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.gbc-tools-corp-module { min-height: 150px; padding: 1rem; border-radius: 10px; background: #fff; color: #0d294e; }
.gbc-tools-corp-module__icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 9px; color: #0878e8; background: #eaf4ff; }
.gbc-tools-corp-module strong { display: block; margin-top: .85rem; font-size: .92rem; line-height: 1.2; }
.gbc-tools-corp-module small { display: block; margin-top: .35rem; color: #6d7f93; font-size: .72rem; line-height: 1.4; }
.gbc-tools-corp-dashboard__meter { margin-top: .8rem; padding: .8rem 1rem; border-radius: 9px; background: rgba(255,255,255,.08); color: #dceaff; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.gbc-tools-corp-dashboard__meter i { flex: 1; height: 6px; border-radius: 999px; background: rgba(255,255,255,.15); overflow: hidden; }
.gbc-tools-corp-dashboard__meter i::before { content: ""; display: block; width: 74%; height: 100%; background: linear-gradient(90deg, #25c48c, #3db7ff); }

.gbc-tools-content-wrap { padding: clamp(3rem, 5vw, 5rem) 0 clamp(4rem, 6vw, 6rem); }
.gbc-tools-content-wrap .gbc-tool-heading { max-width: 900px; margin-bottom: 2rem; }
.gbc-tools-content-wrap .gbc-tool-heading h2 { margin: 0 0 .65rem; font-size: clamp(2rem, 3vw, 3.25rem); }

/* Responsive */
@media (max-width: 1180px) {
    .gbc-rp-step-grid,
    .gbc-rp-option-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gbc-tradelines-suite .gbc-suite-hero__grid,
    .gbc-tools-corp-hero__inner { grid-template-columns: 1fr; }
    .gbc-tools-corp-dashboard { max-width: 900px; }
}
@media (max-width: 900px) {
    .gbc-mkt-layout { grid-template-columns: 1fr; }
    .gbc-offer-card__top { grid-template-columns: 1fr; }
    .gbc-tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .gbc-tradeline-map { grid-template-columns: 1fr; }
    .gbc-tradeline-bureaus { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .gbc-rp-step-grid,
    .gbc-rp-option-grid,
    .gbc-rp-link-grid,
    .gbc-tools-grid,
    .gbc-tools-corp-dashboard__grid { grid-template-columns: 1fr !important; }
    .gbc-rp-step-grid article { min-height: 0; }
    .gbc-tools-corp-hero__inner { padding-block: 2.35rem; gap: 1.6rem; }
    .gbc-tools-corp-hero__copy h1 { font-size: clamp(2.1rem, 10vw, 3rem); }
    .gbc-tools-corp-hero__actions a { width: 100%; }
    .gbc-tools-corp-dashboard__meter { align-items: flex-start; flex-direction: column; }
    .gbc-tools-corp-dashboard__meter i { width: 100%; flex: none; }
    .gbc-tradeline-bureaus { grid-template-columns: 1fr; }
    .gbc-offer-card__top,
    .gbc-offer-card__foot { padding-inline: 1.1rem; }
}
