/* Autogenerated CSS for resources/views/solutions/show.blade.php */

    .solution-detail-page a {
        text-decoration: none !important;
    }

    /* General headings & body on light backgrounds */
    .solution-detail-page h1,
    .solution-detail-page h2:not(.sol-white-heading),
    .solution-detail-page h3:not(.sol-white-heading),
    .solution-detail-page h4:not(.sol-white-heading),
    .solution-detail-page h5:not(.sol-white-heading),
    .solution-detail-page h6:not(.sol-white-heading) {
        color: #000000 !important;
        font-family: 'Playfair Display', Georgia, serif;
    }

    .solution-detail-page p:not(.sol-white-desc):not(.sol-tagline):not(.text-white),
    .solution-detail-page li:not(.sol-white-desc):not(.text-white),
    .solution-detail-page td,
    .solution-detail-page th {
        color: #000000 !important;
    }

    /* ==========================================================
       DARK BACKGROUND OVERRIDE: PURE WHITE FONT ON ALL DARK AREAS
       ========================================================== */
    .sol-header--has-video,
    .sol-header--has-video *,
    .sol-header--has-video p,
    .sol-header--has-video .sol-tagline,
    .sol-tagline,
    .solutions-cta-dark,
    .solutions-cta-dark *,
    .solutions-cta-dark h1,
    .solutions-cta-dark h2,
    .solutions-cta-dark h3,
    .solutions-cta-dark p,
    .solutions-cta-dark span,
    .solutions-cta-dark i,
    .sol-white-heading,
    .sol-white-desc,
    .sol-white-text,
    .text-white,
    .text-white * {
        color: #ffffff !important;
    }

    /* Primary buttons on dark/colored backgrounds: ALWAYS PURE WHITE FONT */
    .solution-detail-page .btn-sol-primary,
    .solution-detail-page .btn-sol-primary *,
    .solution-detail-page .btn-sol-primary span,
    .solution-detail-page .btn-sol-primary i,
    .solution-detail-page a.btn-sol-primary,
    .solution-detail-page a.btn-sol-primary span,
    .solution-detail-page a.btn-sol-primary i,
    .btn-sol-primary,
    .btn-sol-primary *,
    .btn-sol-primary span,
    .btn-sol-primary i,
    .btn-sol-cta-primary,
    .btn-sol-cta-primary *,
    .sol-nav-btn-center,
    .sol-nav-btn-center * {
        color: #ffffff !important;
    }

    .solution-detail-page .btn-sol-primary:hover,
    .solution-detail-page .btn-sol-primary:hover *,
    .solution-detail-page .btn-sol-primary:hover span,
    .solution-detail-page .btn-sol-primary:hover i {
        color: #ffffff !important;
        background: #003380 !important;
    }

    .solutions-cta-dark .btn-sol-outline,
    .solutions-cta-dark .btn-sol-outline * {
        color: #ffffff !important;
        border-color: #ffffff !important;
    }
    .solutions-cta-dark .btn-sol-outline:hover {
        background: #ffffff !important;
        color: #0b1a30 !important;
    }
    .solutions-cta-dark .btn-sol-outline:hover * {
        color: #0b1a30 !important;
    }

    /* Mobile Text Justification Constraint */
    @media (max-width: 768px) {
        .solution-detail-page p,
        .solution-detail-page .sol-desc,
        .solution-detail-page .sol-overview-text,
        .solution-detail-page .sol-cap-desc,
        .solution-detail-page .sol-step-desc {
            text-align: justify !important;
            text-justify: inter-word !important;
        }
    }

    /* Header styling with fixed navbar clearance */
    .sol-header {
        background: linear-gradient(135deg, #f8fafc 0%, #edf2f7 100%);
        padding-top: calc(var(--nav-h, 90px) + var(--topbar-h, 38px) + 36px) !important;
        padding-bottom: 45px;
        border-bottom: 1px solid #e2e8f0;
    }

    @media (max-width: 991.98px) {
        .sol-header {
            padding-top: calc(var(--nav-h, 80px) + var(--topbar-h, 38px) + 26px) !important;
        }
    }

    @media (max-width: 767.98px) {
        .sol-header {
            padding-top: calc(var(--nav-h, 72px) + var(--topbar-h, 38px) + 24px) !important;
        }
    }

    .sol-breadcrumb {
        font-size: 0.88rem;
        margin-bottom: 20px;
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    .sol-breadcrumb a {
        color: #0046ae !important;
        font-weight: 600;
    }

    .sol-badge {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: #eff6ff;
        border-left: 3px solid #0046ae;
        padding: 6px 14px;
        font-size: 0.82rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: #0046ae !important;
        margin-bottom: 16px;
    }

    .sol-title {
        font-size: clamp(1.85rem, 3.5vw, 2.65rem);
        font-weight: 800;
        line-height: 1.25;
        margin-bottom: 16px;
    }

    .sol-tagline {
        font-size: 1.15rem;
        line-height: 1.7;
        font-weight: 500;
        margin-bottom: 25px;
    }

    /* Buttons */
    .btn-sol-primary {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: #0046ae;
        color: #ffffff !important;
        font-weight: 700;
        font-size: 0.95rem;
        padding: 12px 24px;
        border: 1px solid #0046ae;
        transition: all 0.25s ease;
    }

    .btn-sol-primary:hover {
        background: #003380;
        border-color: #003380;
        color: #ffffff !important;
    }

    .btn-sol-outline {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: #ffffff;
        color: #000000 !important;
        font-weight: 700;
        font-size: 0.95rem;
        padding: 12px 24px;
        border: 1px solid #cbd5e1;
        transition: all 0.25s ease;
    }

    .btn-sol-outline:hover {
        background: #f1f5f9;
        border-color: #94a3b8;
        color: #0046ae !important;
    }

    /* Capability Cards */
    .sol-cap-card {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        padding: 28px 24px;
        transition: all 0.3s ease;
        height: 100%;
        display: flex;
        flex-direction: column;
    }

    .sol-cap-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
        border-color: #0046ae;
    }

    .sol-cap-icon {
        width: 48px;
        height: 48px;
        background: #eff6ff;
        color: #0046ae !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.4rem;
        margin-bottom: 18px;
        border-left: 3px solid #0046ae;
    }

    .sol-cap-title {
        font-size: 1.15rem;
        font-weight: 700;
        margin-bottom: 12px;
        line-height: 1.4;
    }

    .sol-cap-desc {
        font-size: 0.95rem;
        line-height: 1.65;
        margin-bottom: 0;
    }

    /* Process Step Cards */
    .sol-step-card {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        padding: 24px 20px;
        height: 100%;
        position: relative;
        transition: all 0.25s ease;
    }

    .sol-step-card:hover {
        border-color: #0046ae;
        background: #fbfcfe;
    }

    .sol-step-num {
        font-size: 0.8rem;
        font-weight: 800;
        color: #0046ae !important;
        background: #eff6ff;
        padding: 3px 10px;
        display: inline-block;
        margin-bottom: 12px;
        letter-spacing: 0.05em;
    }

    .sol-step-title {
        font-size: 1.1rem;
        font-weight: 700;
        margin-bottom: 10px;
    }

    .sol-step-desc {
        font-size: 0.9rem;
        line-height: 1.6;
        margin-bottom: 0;
    }

    /* Specs Table */
    .sol-specs-table {
        width: 100%;
        border-collapse: collapse;
    }

    .sol-specs-table tr {
        border-bottom: 1px solid #e2e8f0;
    }

    .sol-specs-table tr:last-child {
        border-bottom: none;
    }

    .sol-specs-table th {
        width: 38%;
        padding: 14px 16px;
        background: #ffffff;
        font-weight: 700;
        font-size: 0.92rem;
        border-right: 1px solid #e2e8f0;
    }

    .sol-specs-table td {
        padding: 14px 16px;
        font-size: 0.92rem;
        line-height: 1.5;
    }

    /* Bottom Nav Bar */
    .sol-nav-bar {
        background: #ffffff;
        border-top: 1px solid #e2e8f0;
        border-bottom: 1px solid #e2e8f0;
        padding: 22px 0;
    }

    .sol-nav-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-weight: 700;
        font-size: 0.95rem;
        color: #0046ae !important;
        padding: 8px 14px;
        background: #ffffff;
        border: 1px solid #cbd5e1;
        transition: all 0.2s ease;
    }

    .sol-nav-btn:hover {
        background: #0046ae;
        color: #ffffff !important;
        border-color: #0046ae;
    }
