﻿/* SCS Technologies — Brand Color Overrides */
:root {
    --theme: #5A95CF;
    --theme2: #18185E;
    --theme-color3: #F98600;
    --header: #0F0D1D;
    --bg2: #18185E;
    --border2: #242449;
    --border3: #5A95CF;
    --smoke-color2: #CFD3FC;
    --title-color: #0F0D1D;
    --text-color: #445375;
    --border-color: #D4DCFF;
    --box-shadow-2: 0px 4px 25px rgba(90, 149, 207, 0.15);
}

/* Mobile top bar — hide social, email left / phone right, 13px font */
@media (max-width: 991px) {
    .header-top-section {
        display: flex !important;
        padding: 6px 0 !important;
        min-height: unset !important;
    }
    .header-top-wrapper .top-right {
        display: none !important;
    }
    .header-top-wrapper .contact-list {
        width: 100%;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
    }
    .header-top-wrapper .contact-list li,
    .header-top-wrapper .contact-list li a {
        font-size: 13px !important;
        white-space: nowrap;
    }
    .header-top-wrapper .contact-list li i {
        font-size: 11px !important;
        margin-right: 5px !important;
    }
}

/* Vertically center everything in the header top bar */
.header-top-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 42px;
    display: flex;
    align-items: center;
}
.header-top-section > .container {
    display: flex;
    align-items: center;
    min-height: 42px;
}
.header-top-wrapper {
    display: flex !important;
    align-items: center !important;
    min-height: 42px;
    width: 100%;
    margin: 0;
    padding: 0;
}
.header-top-wrapper .contact-list {
    display: flex !important;
    align-items: center !important;
    margin: 0;
    padding: 0;
    list-style: none;
}
.header-top-wrapper .contact-list li {
    display: flex !important;
    align-items: center !important;
    margin: 0;
    padding: 0;
    line-height: 1;
}
.header-top-wrapper .contact-list li i {
    line-height: 1;
    margin-right: 8px;
    margin-bottom: 0;
    position: relative;
    top: 0;
}

/* Match the ::before right-panel to the nav bar colour */
.header-3::before {
    background-color: #eaeaea !important;
}

/* Remove the decorative CSS triangle from the header-3 button area */
.header-3 .header-button::before,
.header-3 .header-main .header-right .header-button::before {
    display: none !important;
}

/* Header “Request for Call” button — solid #5A95CF, white text, 1px border, hover same color */
.header-3 .header-button .theme-btn,
.header-3 .header-button .theme-btn.bg-white {
    background-color: #5A95CF !important;
    color: #fff !important;
    border: 1px solid #3D7AB8 !important;
}
.header-3 .header-button .theme-btn::before,
.header-3 .header-button .theme-btn::after {
    background-color: #3d7ab8 !important;
}
.header-3 .header-button .theme-btn:hover {
    background-color: #5A95CF !important;
    color: #fff !important;
}

/* Main nav bar — full-width light grey background, no shadow */
#header-sticky.header-3 {
    background-color: #eaeaea !important;
    box-shadow: none !important;
}
.header-3 .header-main {
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Page hero — reduce default 180px padding to a tighter 100px */
.breadcrumb-wrapper .page-heading {
    padding: 100px 0 !important;
}
@media (max-width: 991px) {
    .breadcrumb-wrapper .page-heading { padding: 70px 0 !important; }
}
@media (max-width: 575px) {
    .breadcrumb-wrapper .page-heading { padding: 50px 0 !important; }
}

/* ── Footer light background + dark text ─────────────────────────────── */
.footer-bg {
    background-color: #e5e5e5 !important;
}
/* Headings / widget titles */
.footer-bg .widget_title,
.footer-bg h1, .footer-bg h2, .footer-bg h3,
.footer-bg h4, .footer-bg h5, .footer-bg h6 {
    color: #111111 !important;
}
/* Body / paragraph text */
.footer-bg p, .footer-bg .about-text,
.footer-bg .checklist ul li,
.footer-bg .text-white {
    color: #333333 !important;
}
/* Nav menu links and chevron icons */
.footer-bg .menu-all-pages-container .menu li a,
.footer-bg .menu-all-pages-container .menu li a i {
    color: #333333 !important;
}
.footer-bg .menu-all-pages-container .menu li a:hover,
.footer-bg .menu-all-pages-container .menu li a:hover i {
    color: var(--theme) !important;
}
/* Contact Us column links */
.footer-bg .checklist a,
.footer-bg .checklist a.text-white {
    color: #333333 !important;
}
/* Social icons */
.footer-bg .gt-social a {
    color: #333333 !important;
    border-color: #aaaaaa !important;
}
.footer-bg .gt-social a:hover {
    color: #ffffff !important;
    border-color: var(--theme) !important;
    background-color: var(--theme) !important;
}
/* Footer bottom bar */
.footer-bg .footer-copyright,
.footer-bg .copyright-area {
    background-color: #d0d0d0 !important;
    color: #333333 !important;
}
.footer-bg .footer-copyright a,
.footer-bg .copyright-area a {
    color: #111111 !important;
}
/* ──────────────────────────────────────────────────────────────────────── */

/* Footer CTA banner — suppress the white ::before overlay that belongs to the homepage version */
.footer-cta-banner.cta-banner-2::before {
    display: none !important;
}
/* Hide the template's mispositioned bar images */
.footer-cta-banner .cta-wrapper-2 .author-icon::before {
    display: none !important;
}

/* ── Desktop: equal-width items with divider lines ───────────────── */
.footer-cta-banner .cta-wrapper-2 {
    justify-content: space-between !important;
}
.footer-cta-banner .cta-wrapper-2 .author-icon {
    flex: 1;
    min-width: 0;
    overflow: visible;
    padding: 8px 0;
}
.footer-cta-banner .cta-wrapper-2 .author-icon .icon {
    flex-shrink: 0;
    width: 60px !important;
    height: 60px !important;
    line-height: 60px !important;
}
.footer-cta-banner .cta-wrapper-2 .author-icon .content {
    min-width: 0;
    overflow: hidden;
}
.footer-cta-banner .cta-wrapper-2 .author-icon .content h4 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.footer-cta-banner .cta-wrapper-2 .author-icon:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, 0.4);
    padding-right: 40px;
    margin-right: 40px;
}

/* ── Mobile: stacked layout ──────────────────────────────────────── */
@media (max-width: 767px) {
    .footer-cta-banner .cta-wrapper-2 {
        padding: 32px 24px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }
    .footer-cta-banner .cta-wrapper-2 .author-icon {
        width: 100%;
        flex: none;
        padding: 18px 0;
        overflow: visible;
    }
    .footer-cta-banner .cta-wrapper-2 .author-icon:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
        padding-right: 0;
        margin-right: 0;
    }
    .footer-cta-banner .cta-wrapper-2 .author-icon .content h4 {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        font-size: 15px;
        word-break: break-word;
    }
    .footer-cta-banner .cta-wrapper-2 .author-icon .content span {
        font-size: 12px;
    }
}

/* Footer nav lists — reduce item gap by 25% (20px → 15px), applied equally to both columns */
.widget.widget_nav_menu.footer-widget .menu-all-pages-container .menu li {
    margin-bottom: 15px;
}

/* Service card — round top corners of thumbnail to match card radius */
.service-card-items .service-image img {
    border-radius: 10px 10px 0 0;
    display: block;
}

/* ── Legal pages (Privacy Policy / Terms & Conditions) ───────────── */
.legal-content {
    color: var(--text-color);
    font-size: 16px;
    line-height: 1.85;
}
.legal-content h2 {
    font-size: 26px;
    font-weight: 700;
    color: var(--title-color);
    margin-top: 2.25rem;
    margin-bottom: 0.75rem;
}
.legal-content h3 {
    font-size: 20px;
    font-weight: 600;
    color: var(--title-color);
    margin-top: 1.75rem;
    margin-bottom: 0.5rem;
}
.legal-content p {
    margin-bottom: 1.1rem;
}
.legal-content ul,
.legal-content ol {
    padding-left: 1.5rem;
    margin-bottom: 1.1rem;
}
.legal-content ul li,
.legal-content ol li {
    margin-bottom: 0.4rem;
}
.legal-content a {
    color: var(--theme);
    text-decoration: underline;
}
.legal-content a:hover {
    color: var(--theme2);
}
.legal-content blockquote {
    border-left: 4px solid var(--theme);
    padding: 0.75rem 1.25rem;
    background: #f4f8fd;
    border-radius: 0 6px 6px 0;
    margin: 1.5rem 0;
    font-style: italic;
    color: #555;
}

/* SCS Gallery shortcode thumbnails */
.scs-gallery .scs-gallery-thumb {
    display: block;
    overflow: hidden;
    border-radius: 6px;
    position: relative;
}
.scs-gallery .scs-gallery-thumb img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    transition: transform .35s ease;
}
.scs-gallery .scs-gallery-thumb:hover img {
    transform: scale(1.05);
}
.scs-gallery .scs-gallery-thumb::after {
    content: "\f00e";
    font-family: "Font Awesome 6 Pro", "Font Awesome 5 Pro", "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome";
    font-weight: 900;
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(24, 24, 94, 0);
    opacity: 0;
    transition: opacity .25s ease, background .25s ease;
    font-size: 28px;
    pointer-events: none;
}
.scs-gallery .scs-gallery-thumb:hover::after {
    opacity: 1;
    background: rgba(24, 24, 94, 0.45);
}

/* Rich-text content (Filament editor output) — restore native lists */
/* Past Performance detail page */
.project-details-wrapper .details-image {
    max-height: 420px;
    overflow: hidden;
    border-radius: 15px;
}
.project-details-wrapper .details-image img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;
}
@media (max-width: 991px) {
    .project-details-wrapper .details-image,
    .project-details-wrapper .details-image img {
        max-height: 300px;
        height: 300px;
    }
}
.project-details-wrapper .details-content h3 {
    margin-bottom: 0.5rem;
}
.project-info-card {
    background: #f4f8fd;
    border-radius: 12px;
    padding: 24px 26px;
    position: sticky;
    top: 110px;
}
.project-info-card h4 {
    margin-bottom: 16px;
    color: var(--title-color);
}
.project-info-card .info-list {
    list-style: none;
    padding: 0;
    margin: 0 0 8px;
}
.project-info-card .info-list li {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px dashed #d4dcff;
    font-size: 14px;
}
.project-info-card .info-list li:last-child { border-bottom: none; }
.project-info-card .info-list span { color: var(--text-color); }
.project-info-card .info-list strong { color: var(--title-color); text-align: right; }

/* Past Performances listing cards */
.project-card-box {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 25px rgba(90, 149, 207, 0.10);
    transition: transform .35s ease, box-shadow .35s ease;
    display: flex;
    flex-direction: column;
}
.project-card-box:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 35px rgba(24, 24, 94, 0.18);
}
.project-card-box .project-thumb {
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #f4f4f4;
}
.project-card-box .project-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.project-card-box:hover .project-thumb img {
    transform: scale(1.06);
}
.project-card-box .project-card-body {
    padding: 22px 24px 26px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.project-card-box .project-meta {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--theme);
    margin-bottom: 6px;
}
.project-card-box .project-title {
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 8px;
}
.project-card-box .project-title a {
    color: var(--title-color);
}
.project-card-box .project-title a:hover {
    color: var(--theme);
}
.project-card-box .project-client {
    color: var(--text-color);
    font-size: 14px;
    margin-bottom: auto;
}
.project-card-box .project-client i {
    color: var(--theme);
    margin-right: 6px;
}

/* Service detail hero image — cap height (~40% smaller) */
.service-details-wrapper .service-details-items .details-image {
    max-height: 360px;
    overflow: hidden;
    border-radius: 15px;
}
.service-details-wrapper .service-details-items .details-image img {
    width: 100%;
    height: 360px !important;
    object-fit: cover;
    object-position: center;
}
@media (max-width: 991px) {
    .service-details-wrapper .service-details-items .details-image,
    .service-details-wrapper .service-details-items .details-image img {
        max-height: 280px;
        height: 280px !important;
    }
}
@media (max-width: 575px) {
    .service-details-wrapper .service-details-items .details-image,
    .service-details-wrapper .service-details-items .details-image img {
        max-height: 220px;
        height: 220px !important;
    }
}

.rich-content ul,
.rich-content ol {
    padding-left: 0 !important;
    margin: 0.75rem 0 1rem;
    list-style: none !important;
}
.rich-content ol { counter-reset: rc-counter; }
.rich-content li {
    position: relative;
    padding-left: 1.85rem;
    margin-bottom: 0.5rem;
    line-height: 1.65;
    font-weight: 500;
    color: var(--text-color);
    list-style: none !important;
}
.rich-content ul > li::before {
    content: "\f058";
    font-family: "Font Awesome 6 Pro", "Font Awesome 5 Pro", "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome";
    font-weight: 400;
    position: absolute;
    left: 0;
    top: 0.15em;
    color: var(--theme);
    line-height: 1.4;
    font-size: 1em;
}
/* Headings inside rich content shouldn't behave like links */
.rich-content h1 a, .rich-content h2 a, .rich-content h3 a,
.rich-content h4 a, .rich-content h5 a, .rich-content h6 a {
    color: inherit !important;
    text-decoration: none !important;
}
.rich-content h1 a:hover, .rich-content h2 a:hover, .rich-content h3 a:hover,
.rich-content h4 a:hover, .rich-content h5 a:hover, .rich-content h6 a:hover {
    color: var(--theme) !important;
}
.rich-content ol > li {
    counter-increment: rc-counter;
}
.rich-content ol > li::before {
    content: counter(rc-counter) ".";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--theme);
    font-weight: 700;
    min-width: 1.25rem;
}
.rich-content p { margin-bottom: 0.85rem; }
.rich-content h1, .rich-content h2, .rich-content h3,
.rich-content h4, .rich-content h5, .rich-content h6 {
    margin-top: 1.25rem;
    margin-bottom: 0.6rem;
}
.rich-content blockquote {
    border-left: 4px solid var(--theme);
    padding: 0.6rem 1rem;
    background: #f4f8fd;
    border-radius: 0 6px 6px 0;
    margin: 1rem 0;
    font-style: italic;
    color: #555;
}
.rich-content a { color: var(--theme); text-decoration: underline; }
.rich-content a:hover { color: var(--theme2); }

/* Footer Newsletter Widget */
.newsletter-widget .newsletter-title {
    color: #111;
    font-size: 17px;
    margin-bottom: 6px;
    font-weight: 700;
}
.newsletter-widget .newsletter-text {
    color: #333;
    font-size: 13px;
    margin-bottom: 12px;
}
.newsletter-widget .newsletter-input-wrap {
    display: flex;
    align-items: stretch;
    background: #fff;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid #c9d3e3;
}
.newsletter-widget .newsletter-input-wrap input[type="email"] {
    flex: 1;
    border: none;
    outline: none;
    padding: 10px 16px;
    font-size: 14px;
    background: transparent;
    color: #333;
    min-width: 0;
}
.newsletter-widget .newsletter-input-wrap input::placeholder { color: #888; }
.newsletter-widget .newsletter-input-wrap button {
    background: var(--theme);
    color: #fff;
    border: none;
    padding: 0 18px;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s ease;
}
.newsletter-widget .newsletter-input-wrap button:hover { background: var(--theme2); }
.newsletter-widget .newsletter-feedback { min-height: 18px; }
.newsletter-widget .newsletter-feedback.text-success { color: #1b8f3a !important; }
.newsletter-widget .newsletter-feedback.text-warning { color: #b56000 !important; }

/* Partners / Brand Slider section */
.partner-slider .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}
.partner-logo-box {
    width: 220px;
    max-width: 100%;
    height: 220px;
    background: #fff;
    border: 1px solid #e3e8f3;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    overflow: hidden;
}
.partner-logo-box:hover {
    transform: translateY(-5px);
    border-color: var(--theme);
    box-shadow: 0 8px 25px rgba(90,149,207,0.18);
}
.partner-logo-box img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter: grayscale(20%);
    transition: filter .35s ease;
}
.partner-logo-box:hover img {
    filter: grayscale(0%);
}
.partner-logo-box a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

/* Partners section background — light grey to separate from neighbouring white sections */
.partners-section {
    background-color: #f1f4f9;
}

/* Letters of Recommendation slider */
.recommendations-section { background: #fff; }
.recommendations-slider { position: relative; padding: 10px 0 20px; }
.recommendation-card {
    display: block;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e3e8f3;
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    height: 100%;
}
.recommendation-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(24,24,94,0.15);
    border-color: var(--theme);
    color: inherit;
}
.recommendation-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 265 / 305;
    background: #f4f4f4;
    overflow: hidden;
}
.recommendation-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.recommendation-overlay {
    position: absolute;
    inset: 0;
    background: rgba(24, 24, 94, 0.78);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    opacity: 0;
    transition: opacity .3s ease;
    font-weight: 600;
    font-size: 14px;
}
.recommendation-overlay i { font-size: 36px; }
.recommendation-card:hover .recommendation-overlay { opacity: 1; }
.recommendation-meta {
    padding: 14px 16px;
    text-align: center;
}
.recommendation-meta h5 {
    font-size: 15px;
    margin: 0 0 4px;
    color: var(--title-color);
    line-height: 1.3;
}
.recommendation-meta small { color: var(--text-color); font-size: 12px; }
.recommendations-nav {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 20px;
}
.recommendations-nav button {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #d4dcff;
    color: var(--title-color);
    transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.recommendations-nav button:hover {
    background: var(--theme);
    color: #fff;
    border-color: var(--theme);
}

/* Markets page */
.markets-section { background: #fff; }
.market-card {
    background: #fff;
    border: 1px solid #e3e8f3;
    border-radius: 12px;
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    height: 100%;
}
.market-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(24,24,94,0.15);
    border-color: var(--theme);
}
.market-thumb {
    width: 100%;
    aspect-ratio: 400 / 375;
    overflow: hidden;
    background: #f4f4f4;
}
.market-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.market-card:hover .market-thumb img { transform: scale(1.06); }
.market-caption {
    padding: 14px 16px;
    text-align: center;
    font-weight: 600;
    color: var(--title-color);
    font-size: 15px;
}

/* Rich-content tables (e.g. NAICS Codes) */
.rich-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0 1.5rem;
    font-size: 15px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
    border-radius: 8px;
    overflow: hidden;
}
.rich-content table th,
.rich-content table td {
    border: 1px solid #e3e8f3;
    padding: 10px 14px;
    vertical-align: middle;
    text-align: left;
}
.rich-content table thead th {
    background: var(--theme);
    color: #fff;
    font-weight: 600;
    border-color: var(--theme);
}
.rich-content table tbody tr:nth-child(even) td { background: #f7f9fd; }
.rich-content table tbody tr:hover td { background: #eef3fb; }
.rich-content table.naics-table td:first-child {
    font-weight: 700;
    color: var(--theme2);
    width: 140px;
    font-variant-numeric: tabular-nums;
}
@media (max-width: 575px) {
    .rich-content table { font-size: 13px; }
    .rich-content table th, .rich-content table td { padding: 8px 10px; }
}

/* About Us page */
.about-section .about-image-card {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(24, 24, 94, 0.12);
    border: 1px solid #e3e8f3;
    background: #fff;
}
.about-section .about-image-card img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}
.about-section .about-text-card h2 {
    font-size: 32px;
    line-height: 1.25;
    color: var(--title-color);
    margin: 0 0 6px;
}
.about-section .about-text-card .rich-content { font-size: 15px; }
.about-section-alt { background: #f7f9fd; }
@media (max-width: 575px) {
    .about-section .about-text-card h2 { font-size: 24px; }
}

/* Insights / Blog listing cards */
.blog-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 25px rgba(90, 149, 207, 0.10);
    transition: transform .35s ease, box-shadow .35s ease;
    display: flex;
    flex-direction: column;
}
.blog-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 35px rgba(24, 24, 94, 0.18);
}
.blog-card .blog-thumb {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #f4f4f4;
}
.blog-card .blog-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.blog-card:hover .blog-thumb img { transform: scale(1.06); }
.blog-card .blog-date {
    position: absolute;
    left: 14px;
    top: 14px;
    background: rgba(255,255,255,0.92);
    color: var(--title-color);
    padding: 6px 12px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.blog-card .blog-date i { color: var(--theme); margin-right: 4px; }
.blog-card .blog-card-body { padding: 22px 24px 26px; display: flex; flex-direction: column; flex: 1; }
.blog-card .blog-meta {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--theme);
    margin-bottom: 6px;
}
.blog-card .blog-title {
    font-size: 20px;
    line-height: 1.35;
    margin: 0 0 10px;
}
.blog-card .blog-title a { color: var(--title-color); }
.blog-card .blog-title a:hover { color: var(--theme); }
.blog-card .blog-excerpt {
    color: var(--text-color);
    font-size: 14px;
    margin-bottom: auto;
    line-height: 1.6;
}

/* Insights / Blog detail page */
.blog-details-section .details-image {
    border-radius: 14px;
    overflow: hidden;
    max-height: 460px;
}
.blog-details-section .details-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}
.blog-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 12px;
    font-size: 13px;
    color: var(--text-color);
}
.blog-meta-row span i { color: var(--theme); margin-right: 6px; }
.blog-detail-title {
    font-size: 32px;
    line-height: 1.25;
    color: var(--title-color);
    margin: 6px 0 14px;
}
.blog-detail-excerpt {
    font-size: 16px;
    color: var(--text-color);
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 12px;
}
@media (max-width: 575px) {
    .blog-detail-title { font-size: 24px; }
}

/* Blog sidebar */
.blog-sidebar .sidebar-widget {
    background: #f4f8fd;
    border-radius: 12px;
    padding: 22px 24px;
    margin-bottom: 24px;
}
.blog-sidebar .sidebar-widget h4 {
    color: var(--title-color);
    margin-bottom: 14px;
    font-size: 18px;
}
.blog-sidebar .recent-posts {
    list-style: none !important;
    padding: 0;
    margin: 0;
}
.blog-sidebar .recent-posts li { margin-bottom: 12px; padding: 0 !important; }
.blog-sidebar .recent-posts li::before { display: none !important; }
.blog-sidebar .recent-posts a {
    display: flex;
    gap: 12px;
    align-items: center;
    text-decoration: none;
}
.blog-sidebar .recent-posts img {
    width: 64px; height: 64px; border-radius: 8px;
    object-fit: cover; flex-shrink: 0;
}
.blog-sidebar .recent-posts strong {
    display: block;
    color: var(--title-color);
    font-size: 14px;
    line-height: 1.35;
}
.blog-sidebar .recent-posts a:hover strong { color: var(--theme); }
.blog-sidebar .recent-posts small {
    color: var(--text-color);
    font-size: 12px;
    display: block;
    margin-top: 2px;
}
