/* Custom styling for Welcome Page - Hero Banner Section */
.banner-section.hero-banner-custom {
    background-color: #eefafe !important;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

.hero-banner-custom .hero-title {
    /* font-size: 2.50rem; */
    line-height: 1.25;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.hero-banner-custom .update-tagline {
    color: #1d63fe !important;
    display: inline;
}

.hero-banner-custom .hero-subtitle {
    color: #475569;
    /* font-size: 1.05rem; */
    line-height: 1.6;
}

.hero-search-form {
    background: transparent !important;
    border: 1px solid #ced6dc !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.01);
}

.search-input-box {
    background-color: #d9eafe !important;
    border: 1px solid transparent;
    transition: all 0.2s ease;
}

.search-input-box:focus-within {
    border-color: #1d63fe;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(29, 99, 254, 0.15);
}

.search-input-box input::placeholder {
    color: #64748b;
}

.btn-find-firms {
    background-color: #1d63fe !important;
    border-color: #1d63fe !important;
    color: #ffffff !important;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.btn-find-firms:hover {
    background-color: #1552db !important;
    border-color: #1552db !important;
}

.leader-badge {
    background-color: #eef4fb !important;
    color: #475569 !important;
    border: 1px solid #e2e8f0;
    font-size: 0.875rem;
    transition: all 0.2s ease;
}

.leader-badge:hover {
    background-color: #e2eefd !important;
    color: #1d63fe !important;
}

@media (max-width: 767.98px) {
    .hero-banner-custom .hero-title {
        font-size: 2rem;
    }

    .banner-section.hero-banner-custom {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
}

/* Category Section */
.category-section.category-section-custom {
    background-color: #ffffff;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

.category-card {
    background-color: #f8fafc !important;
    border: 1px solid #f1f5f9;
    border-radius: 16px !important;
    transition: all 0.25s ease;
}

.category-card:hover {
    background-color: #f1f5f9 !important;
    border-color: #e2e8f0;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.04);
}

.cat-icon-box {
    background-color: #e0f2fe !important;
    color: #1d63fe !important;
    width: 36px;
    height: 36px;
    font-size: 16px;
    flex-shrink: 0;
}

.cat-count-badge {
    background-color: #e0effe !important;
    color: #1d63fe !important;
    font-size: 12px;
    font-weight: 600;
}

.cat-list li {
    font-size: 14px;
}

.cat-list a.b-cat {
    color: #475569 !important;
    transition: color 0.2s ease;
}

.cat-list a.b-cat:hover {
    color: #1d63fe !important;
}

.view-all-link {
    color: #1d63fe !important;
    font-size: 14px;
    transition: transform 0.2s ease;
}

.view-all-link:hover {
    color: #1552db !important;
    text-decoration: underline !important;
}

.btn-browse-all {
    background-color: #f1f5f9 !important;
    color: #1e293b !important;
    border: 1px solid #e2e8f0 !important;
    font-size: 15px;
    transition: all 0.2s ease;
}

.btn-browse-all:hover {
    background-color: #e2e8f0 !important;
    color: #0f172a !important;
}

/* Trusted Metrics Section*/
.trusted-metrics-section.trusted-metrics-custom {
    background-color: #f0f7fd !important;
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
    /* border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0; */
}
.metric-icon-box {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0;
    border-radius: 12px !important;
    width: 44px;
    height: 44px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    flex-shrink: 0;
}
.trusted-metrics-custom h5 {
    color: #0f172a !important;
    font-size: 1.2rem !important;
    line-height: 1.2;
}
.trusted-metrics-custom p {
    color: #475569 !important;
    font-size: 0.8rem !important;
    line-height: 1.3;
}

@media (max-width: 767.98px) {
    .trusted-metrics-custom .metric-wrapper {
        flex: 1 1 45%;
        min-width: 220px;
    }
}

/* Research Section - New Figma Design */
.research-section.research-section-custom {
    background-color: #f0f7fd !important;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

.research-card {
    background-color: #ffffff !important;
    /* border: 1px solid #e2e8f0 !important; */
    border-radius: 10px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.25s ease;
}

.research-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.06) !important;
    border-color: #cbd5e1 !important;
}

.step-num {
    font-size: 1.75rem;
    color: #cbd5e1;
    line-height: 1;
}

.step-icon-box {
    background-color: #e0f2fe !important;
    color: #1d63fe !important;
    width: 38px;
    height: 38px;
    flex-shrink: 0;
}

/* Experience Section */
.experience-section.experience-section-custom {
    background-color: #ffffff !important;
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.badge-community-driven {
    background-color: #e0f2fe !important;
    color: #1d63fe !important;
    font-size: 0.85rem;
    font-weight: 600;
}

.btn-write-review {
    background-color: #1d63fe !important;
    border-color: #1d63fe !important;
    color: #ffffff !important;
    font-size: 15px;
    border-radius: 10px !important;
    transition: all 0.2s ease;
}

.btn-write-review:hover {
    background-color: #1552db !important;
    border-color: #1552db !important;
}

.stat-card {
    border-radius: 18px !important;
    min-height: 125px;
    transition: all 0.2s ease;
}

.stat-card:hover {
    transform: translateY(-2px);
}

.stat-card-blue {
    background-color: #eff6ff !important;
}
.stat-card-blue h3 {
    color: #1d63fe !important;
    font-size: 2.2rem;
}

.stat-card-green {
    background-color: #ecfdf5 !important;
}
.stat-card-green h3 {
    color: #10b981 !important;
    font-size: 2.2rem;
}

.stat-card-yellow {
    background-color: #fefce8 !important;
}

.stat-card-purple {
    background-color: #faf5ff !important;
}

/* Testimonial Section */
.testimonials-section.testimonials-section-custom {
    background-color: #ffffff !important;
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.testimonial-card {
    background-color: #f8fafc !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 18px !important;
    transition: all 0.25s ease;
    min-height: 280px;
    margin-top: 18px;
}

.testimonial-card:hover {
    background-color: #ffffff !important;
    border-color: #e2e8f0 !important;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.05) !important;
    transform: translateY(-2px);
}

.quote-badge {
    background-color: #1d63fe !important;
    box-shadow: 0 4px 10px rgba(29, 99, 254, 0.25) !important;
}

.avatar-initials {
    background-color: #0ea5e9 !important;
    color: #ffffff !important;
}

/* Blogs Section */
.blogs-section.blogs-section-custom {
    background-color: #eefafe !important;
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.blog-card {
    background-color: transparent  !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    transition: all 0.25s ease;
}

.blog-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.06) !important;
    border-color: #cbd5e1 !important;
}

.blog-card .card-img-top {
    height: 220px;
    object-fit: cover;
}

.blog-category-badge {
    background-color: #e0f2fe !important;
    color: #1d63fe !important;
    font-size: 0.8rem;
    font-weight: 600;
}

.blog-title {
    color: #0f172a !important;
    transition: color 0.2s ease;
}

.blog-card:hover .blog-title {
    color: #1d63fe !important;
}

.btn-view-all-blogs {
    background-color: #1d63fe !important;
    border-color: #1d63fe !important;
    color: #ffffff !important;
    font-size: 15px;
    border-radius: 10px !important;
    transition: all 0.2s ease;
}

.btn-view-all-blogs:hover {
    background-color: #1552db !important;
    border-color: #1552db !important;
}

/* Get Listed Button */
.btn-get-listed {
    background-color: #1d63fe !important;
    border-color: #1d63fe !important;
    color: #ffffff !important;
    font-size: 15px;
    border-radius: 10px !important;
    transition: all 0.2s ease;
}

.btn-get-listed:hover {
    background-color: #1552db !important;
    border-color: #1552db !important;
    color: #ffffff !important;
}

/* Top Rated Section */
.top-rated-section.top-rated-section-custom {
    background-color: #ffffff !important;
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.top-rated-filter-pill {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    color: #475569 !important;
    font-size: 14px;
    transition: all 0.2s ease;
}

.top-rated-filter-pill:hover,
.top-rated-filter-pill.active {
    background-color: #1d63fe !important;
    border-color: #1d63fe !important;
    color: #ffffff !important;
}

.top-rated-card {
    background-color: #ffffff !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 14px !important;
    transition: all 0.25s ease;
    cursor: pointer;
}

.top-rated-card:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.04) !important;
    transform: translateY(-2px);
}

/* Force equal height, padding & flex alignment on both action buttons */
.btn-view-all-firms,
.btn-view-top-rated {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
    padding: 0 1.5rem !important;
    font-size: 15px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    transition: all 0.2s ease;
}

.btn-view-all-firms {
    background-color: #1d63fe !important;
    border: 1px solid #1d63fe !important;
    color: #ffffff !important;
}

.btn-view-all-firms:hover {
    background-color: #1552db !important;
    border-color: #1552db !important;
    color: #ffffff !important;
}

.btn-view-top-rated {
    background-color: #ffffff !important;
    border: 1px solid #93c5fd !important;
    color: #1d63fe !important;
}

.btn-view-top-rated:hover {
    background-color: #eff6ff !important;
    border-color: #1d63fe !important;
    color: #1552db !important;
}
