/*
Theme Name: FundBridge Restored
Description: Restores the original FundBridge presentation while preserving current content and tracking.
Template: fundbridge-factoring
Version: 1.0.2
Text Domain: fundbridge-restored
*/
/* Recent article titles are longer than the original navigation labels. */
.footer-conditions-links a,
.footer-service-links a {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

/* Company headers must reserve room for the current CTA eligibility wrapper. */
.company-card > .card-header {
    flex-wrap: wrap;
}
.company-card > .card-header > .card-title-wrap {
    flex: 1 1 220px;
    min-width: min(220px, 100%);
}
.company-card > .card-header > .fbf-offer-qualified-cta {
    flex: 0 0 240px;
    width: 240px;
    max-width: 100%;
}
.company-card > .card-header > .fbf-offer-qualified-cta > .card-header-cta {
    display: flex;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.company-card > .card-header .card-rating {
    flex-wrap: wrap;
}
.company-card > .card-header .card-rating > .stars {
    flex-shrink: 0;
}
.company-card > .card-footer {
    flex-wrap: wrap;
}
.company-card > .card-footer > .fbf-offer-qualified-cta {
    flex: 1 1 240px;
    width: auto;
    min-width: 0;
    max-width: 100%;
}
.company-card > .card-footer > .fbf-offer-qualified-cta > .btn {
    display: flex;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
/* Generic article links must not override the red company action buttons. */
.company-card a:is(.card-header-cta, .btn-primary),
.company-card a:is(.card-header-cta, .btn-primary):hover,
.company-card a:is(.card-header-cta, .btn-primary):focus-visible {
    color: var(--color-text-inverse, #fff);
    text-decoration: none;
}
@media (max-width: 768px) {
    .company-card > .card-header > .card-title-wrap,
    .company-card > .card-header > .fbf-offer-qualified-cta,
    .company-card > .card-footer > .fbf-offer-qualified-cta {
        flex: 0 1 auto;
        width: 100%;
        min-width: 0;
    }
}

/* Article archives can show more page links than fit on a single phone row. */
.fbf-media-section .pagination {
    flex-wrap: wrap;
    gap: 8px;
    max-width: 100%;
}
.fbf-media-section .pagination > .pagination-item {
    flex: 0 0 auto;
}

/* Long company names must not enlarge the original four-column quick ranking. */
.quick-rankings-section .quick-rankings-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.quick-rankings-section :is(.quick-ranking-column, .ranking-column-items, .mini-ranking-item, .mini-info) {
    min-width: 0;
    max-width: 100%;
}
.quick-rankings-section .mini-title {
    max-width: 100%;
}
@media (max-width: 768px) {
    .fbf-media-section .pagination > .pagination-item {
        min-width: 44px;
        height: 44px;
    }
    .quick-rankings-section .quick-rankings-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 480px) {
    .quick-rankings-section .quick-rankings-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Keep carousel arrows inside the viewport when the container has 16px gutters. */
@media (min-width: 641px) and (max-width: 1280px) {
    .pickup-reviews-section .pickup-arrow-prev {
        left: -12px;
    }
    .pickup-reviews-section .pickup-arrow-next {
        right: -12px;
    }
}

/* Keep the saved documents comparison table inside its existing scroll region. */
.fb-restored-comparison .fb-doc-table-scroll {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

/* Keep remaining eligibility notices as compact text below their CTA. */
.fbf-offer-qualified-cta .fbf-offer-eligibility-note {
    border-left: 0;
    background: transparent;
    padding: 0;
    border-radius: 0;
    margin: 8px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}

/* A visible, touch-friendly dismiss control for every floating offer. */
#floating-cta .floating-cta__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    z-index: 2;
    border: 1px solid #d7e0e8;
    border-radius: 50%;
    background: #fff;
    color: #173149;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
}
#floating-cta .floating-cta__close:focus-visible { outline: 3px solid #00b8d4; outline-offset: 2px; }
#floating-cta:not(.floating-cta--mentor) .floating-cta__inner { padding-right: 64px; }
@media(max-width:767px) {
    #floating-cta:not(.floating-cta--mentor) .floating-cta__inner { padding-right: var(--spacing-md); }
    #floating-cta:not(.floating-cta--mentor) .floating-cta__company { padding-right: 48px; }
}
