/* ===============================================
   GigNepal Theme Overrides — KofeJob Style
   =============================================== */

/* --- Root Variables --- */
:root {
    --primary-color: #3ABAB4;
    --primary-hover: #2a9490;
    --text-dark: #1B1B1B;
    --text-muted: #6B7385;
    --border-color: #E7E8EA;
    --bg-light: #fdfdfd;
    --heading-font: 'Encode Sans', sans-serif;
    --body-font: 'Lato', sans-serif;
}

/* --- Base --- */
body {
    font-family: var(--body-font);
    color: var(--text-dark);
    font-size: 16px;
    background-color: #fff;
}
h1,h2,h3,h4,h5,h6 {
    font-family: var(--heading-font);
}
a { color: var(--primary-color); transition: color 0.3s; }
a:hover { color: var(--primary-hover); }

/* --- Primary Color Override --- */
.btn-primary,
.btn-primary:focus {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #fff !important;
}
.btn-primary:hover,
.btn-primary:active {
    background-color: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
}
.login-btn {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #fff !important;
}
.login-btn:hover {
    background-color: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
    color: #fff !important;
}
.text-primary, .orange-text { color: var(--primary-color) !important; }
.bg-primary { background-color: var(--primary-color) !important; }

/* --- Top Header Bar --- */
.top-header {
    background: #2c3e50;
    padding: 8px 0;
    border: none;
    margin: 0;
    outline: none;
}
/* Kill any gap/line between top-header and nav */
.header-two .top-header { margin-bottom: -1px; position: relative; z-index: 2; }
.header-two { border: none !important; box-shadow: none !important; outline: none !important; }
.top-header .nav-link,
.top-header .top-header-links a {
    color: #ccc;
    font-size: 13px;
    text-decoration: none;
    transition: color 0.3s;
}
.top-header .nav-link:hover,
.top-header .top-header-links a:hover {
    color: var(--primary-color);
}
.top-head-items {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.top-header-links {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 16px;
}
.top-header-links > li > ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 12px;
}
.top-header-links > li > ul a {
    color: #ccc;
    font-size: 13px;
}
.top-header-links > li > ul a:hover {
    color: var(--primary-color);
}
.top-header .user-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}
.top-header .dropdown-menu {
    min-width: 140px;
    border-radius: 6px;
    border: 1px solid var(--border-color);
}
.top-header .dropdown-item:hover {
    background-color: var(--primary-color);
    color: #fff;
}

/* --- Main Header --- */
.header-two {
    background: #fff;
    box-shadow: none !important;
    border: none !important;
    position: sticky;
    top: 0;
    z-index: 1000;
}
.header-two > .container { border-bottom: 1px solid #e7e8ea; }
.header-two .header-nav {
    padding: 12px 0;
    flex-wrap: nowrap !important;
}
/* Keep CTA button inline in navbar on the right */
.header-two .header-navbar-rht {
    display: flex !important;
    align-items: center;
    flex-wrap: nowrap;
    margin-left: auto;
    flex-shrink: 0;
}
.header-two .header-navbar-rht .login-btn {
    white-space: nowrap;
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 13px;
}

/* --- Navbar --- */
.navbar-brand img,
.logo img {
    max-height: 45px;
    width: auto;
}
.header-nav .main-nav > li > a {
    font-family: var(--heading-font);
    font-weight: 600;
    color: var(--text-dark);
    font-size: 14px;
    padding: 12px 10px;
    white-space: nowrap;
    transition: color 0.3s;
}
.header-nav .main-nav > li > a:hover,
.header-nav .main-nav > li.active > a {
    color: var(--primary-color);
}
.header-nav .submenu {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    padding: 8px 0;
}
.header-nav .submenu li a {
    color: var(--text-dark);
    font-size: 14px;
    padding: 8px 20px;
    display: block;
    transition: color 0.3s;
}
.header-nav .submenu li a:hover {
    color: var(--primary-color);
    background: #eef8f7;
}

/* --- Footer --- */
.footer {
    background: #2c3e50;
    color: #c8d6de;
    font-size: 14px;
}
.footer-top {
    padding: 60px 0 40px;
}
.footer-title {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 20px;
    font-family: var(--heading-font);
}
.footer-widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-widget ul li {
    margin-bottom: 10px;
}
.footer-widget ul li a {
    color: #c8d6de;
    text-decoration: none;
    transition: color 0.3s;
    font-size: 14px;
}
.footer-widget ul li a:hover {
    color: var(--primary-color);
}
.footer-about .footer-logo img {
    max-height: 45px;
    width: auto;
    filter: brightness(0) invert(1);
}
.footer-about .footer-about-content p {
    color: #c8d6de;
    line-height: 1.7;
    font-size: 14px;
}
.social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background: rgba(255,255,255,.1);
    color: #c8d6de;
    border-radius: 50%;
    font-size: 14px;
    margin-right: 8px;
    transition: background 0.3s, color 0.3s;
    text-decoration: none;
}
.social-links a:hover {
    background: var(--primary-color);
    color: #fff;
}
.footer-contact-info p,
.footer-contact-info .footer-address {
    color: #c8d6de;
    font-size: 14px;
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-bottom: 8px;
}
.footer-contact-info a {
    color: #c8d6de;
    text-decoration: none;
}
.footer-contact-info a:hover {
    color: var(--primary-color);
}
.footer-bottom {
    background: #233140;
    padding: 16px 0;
    border-top: 1px solid rgba(255,255,255,.15);
}
.footer-bottom .copyright-text,
.footer-bottom p,
.footer-bottom a {
    color: #8fa8b5;
    font-size: 13px;
    margin: 0;
}
.footer-bottom a:hover {
    color: var(--primary-color);
}

/* Newsletter in footer */
.footer-widget .input-group .form-control {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.15);
    color: #fff;
    border-radius: 4px 0 0 4px !important;
}
.footer-widget .input-group .form-control::placeholder {
    color: #888;
}
.footer-widget .input-group .btn-primary {
    border-radius: 0 4px 4px 0 !important;
}

/* --- Scroll to top --- */
.scroll-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 42px;
    height: 42px;
    background: var(--primary-color);
    color: #fff;
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 9999;
    border: none;
    font-size: 18px;
    transition: background 0.3s, transform 0.2s;
}
.scroll-top:hover { background: var(--primary-hover); transform: translateY(-3px); }
.scroll-top.show { display: flex; }

/* --- Breadcrumb --- */
.banner-inner-area {
    background: #f8f9fa;
    border-bottom: 1px solid var(--border-color);
}
.banner-inner-contents .inner-menu {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 0 8px;
    gap: 8px;
    font-size: 13px;
}
.banner-inner-contents .inner-menu .list a {
    color: var(--text-muted);
    text-decoration: none;
}
.banner-inner-contents .inner-menu .list a:hover { color: var(--primary-color); }
.banner-inner-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0;
}

/* --- Cards (generic) --- */
.card {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
    transition: box-shadow 0.3s, transform 0.2s;
}
.card:hover {
    box-shadow: 0 6px 25px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}

/* --- Section headers --- */
.section-header {
    margin-bottom: 40px;
}
.section-header .header-title {
    font-size: 32px;
    font-weight: 800;
    color: var(--text-dark);
    margin-bottom: 10px;
}
.section-header .header-title span { color: var(--primary-color); }
.section-header p {
    color: var(--text-muted);
    font-size: 16px;
}

/* --- Search bar / hero --- */
.home-banner {
    background: #f0f5f4 !important;
    background-image: none !important;
    padding: 80px 0;
}
/* Remove the margin-top that KofeJob adds for its non-sticky header */
.home-banner.home-two {
    margin-top: 0 !important;
    padding: 80px 0 100px !important;
}
.home-two .banner-content h1 {
    color: #1b1b1b;
    font-size: 42px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 20px;
}
.home-two .banner-content .market-place h3 {
    color: var(--primary-color);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.home-two .form-inner .input-group {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}
.home-two .form-inner .form-control {
    border: none;
    padding: 14px 18px;
    font-size: 15px;
    color: var(--text-dark);
}
.home-two .form-inner .drop-detail select {
    border: none;
    border-right: 1px solid var(--border-color);
    padding: 14px 18px;
    font-size: 14px;
    background: #f8f9fa;
    cursor: pointer;
}
.home-two .form-inner .sub-btn {
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 0 !important;
    white-space: nowrap;
}
.home-count ul {
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
}
.home-count .course-count {
    display: flex;
    flex-direction: column;
}
.home-count .counter-up {
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    font-family: var(--heading-font);
}
.home-count .list-count {
    color: #aaa;
    font-size: 13px;
    margin-top: 2px;
}

/* --- Category pills (update-project-blk) --- */
.update-project-blk {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    margin-bottom: 16px;
    text-decoration: none;
    transition: border-color 0.3s, box-shadow 0.3s;
    color: var(--text-dark);
}
.update-project-blk:hover {
    border-color: var(--primary-color);
    box-shadow: 0 4px 15px rgba(230,84,37,0.15);
    color: var(--primary-color);
}
.update-project-blk .update-content h6 {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 4px;
    color: var(--text-dark);
}
.update-project-blk .update-content p {
    font-size: 12px;
    color: var(--text-muted);
    margin: 0;
}
.update-project-blk .update-icon-end {
    color: var(--primary-color);
    font-size: 18px;
}

/* --- Project / Job cards --- */
.project-item {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 24px;
    transition: box-shadow 0.3s, transform 0.2s;
    width: 100%;
}
.project-item:hover {
    box-shadow: 0 6px 25px rgba(0,0,0,0.1);
    transform: translateY(-3px);
}
.project-item .project-img img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.project-item .feature-content {
    padding: 16px;
}
.feature-time-blk {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.feature-time-blk span {
    color: var(--text-muted);
    font-size: 13px;
}
.feature-time-blk .btn.green-active {
    background: #e8f8f0;
    color: #27ae60;
    border: 1px solid #c3e6cb;
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 20px;
}
.feature-time-blk .btn.sky-active {
    background: #e8f0fb;
    color: #2980b9;
    border: 1px solid #bee3f8;
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 20px;
}
.project-item h4 a {
    color: var(--text-dark);
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}
.project-item h4 a:hover { color: var(--primary-color); }
.feature-project-list {
    list-style: none;
    padding: 0;
    margin: 8px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
    color: var(--text-muted);
}
.feature-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border-color);
}
.bid-now {
    color: var(--primary-color);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
}
.bid-now:hover { color: var(--primary-hover); }

/* --- Freelancer / Talent Cards --- */
.freelancer-content {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    transition: box-shadow 0.3s, transform 0.2s;
    margin-bottom: 24px;
}
.freelancer-content:hover {
    box-shadow: 0 6px 25px rgba(0,0,0,0.1);
    transform: translateY(-3px);
}
.freelancer-img img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--primary-color);
    margin-bottom: 12px;
}
.freelancer-content h3 a {
    color: var(--text-dark);
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
}
.freelancer-content h3 a:hover { color: var(--primary-color); }
.developer-role {
    color: var(--text-muted);
    font-size: 14px;
    margin-bottom: 8px;
}
.rating .checked { color: #f4a92c; }
.skill-tags .badge {
    background: #f5f5f5;
    color: var(--text-dark);
    border: 1px solid var(--border-color);
    font-weight: 400;
    margin: 2px;
    padding: 4px 10px;
    border-radius: 20px;
}
.skill-tags .badge:hover {
    background: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
}

/* --- Sidebar Filter --- */
.filter-content {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}
.filter-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 16px;
    font-family: var(--heading-font);
}

/* --- Popular categories on homepage --- */
.popular-catergories {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: border-color 0.3s, box-shadow 0.3s;
}
.popular-catergories:hover {
    border-color: var(--primary-color);
    box-shadow: 0 4px 15px rgba(230,84,37,0.12);
}
.popular-catergories-img span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    background: #fef3ee;
    border-radius: 10px;
}
.popular-catergories-img img {
    width: 28px;
    height: 28px;
}
.popular-catergories-content h5 {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 4px;
    color: var(--text-dark);
}
.popular-catergories-content a {
    font-size: 13px;
    color: var(--text-muted);
    text-decoration: none;
}
.popular-catergories-content a:hover {
    color: var(--primary-color);
}

/* --- Platform section --- */
.platform {
    background: #f8f9fa;
}
.market-place-btn .btn {
    margin-bottom: 8px;
}
.market-project { margin-right: 10px; }

/* --- Section spacing --- */
.section { padding: 60px 0; }

/* --- Loader override --- */
#global-loader {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 99999;
}
.whirly-loader {
    width: 40px;
    height: 40px;
    border: 3px solid #f3f3f3;
    border-top-color: var(--primary-color);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin-bottom: 12px;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* --- Responsive: mobile nav override --- */
@media (max-width: 991px) {
    .top-header { display: none; }
    .main-menu-wrapper { background: #fff; }
}

/* --- Detail Pages (job/project/profile) --- */
/* Override teal/blue primary colors from inline CSS in detail pages */
.detail-card,
.job-detail-card,
.project-detail-card,
.profile-detail-card {
    border: 1px solid var(--border-color);
    border-radius: 10px;
}

/* Star ratings */
.rating-stars .fas.fa-star,
.checked.fa-star,
.star-checked { color: #f4a92c; }

/* Proposal form */
.proposal-form .form-control:focus,
.form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(230, 84, 37, 0.15);
}

/* Badges / pills */
.badge-primary, .badge.bg-primary { background-color: var(--primary-color) !important; }
.badge-success, .badge.bg-success { background-color: #27ae60 !important; }

/* Subscription / pricing cards */
.price-box {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    transition: border-color 0.3s, box-shadow 0.3s;
}
.price-box:hover {
    border-color: var(--primary-color);
    box-shadow: 0 8px 30px rgba(230,84,37,0.12);
}

/* Order success / cancel pages */
.success-cont {
    max-width: 500px;
    margin: 60px auto;
    text-align: center;
    padding: 40px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0,0,0,0.08);
}

/* Login / Register pages */
.login-wrapper,
.register-wrapper {
    max-width: 900px;
    margin: 40px auto;
}

/* Auth forms */
.login-wrap,
.login-right,
.new-account {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
}

/* Profile page */
.profile-wrap-img .profile-img img,
.profile-img img {
    border: 3px solid var(--primary-color);
}
.freelancer-btn a,
.follow-btn a {
    background: var(--primary-color);
    color: #fff;
    border-radius: 6px;
    padding: 8px 20px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    transition: background 0.3s;
}
.freelancer-btn a:hover,
.follow-btn a:hover {
    background: var(--primary-hover);
    color: #fff;
}

/* Re-override any inline color: #39C4D0 / teal to orange */
.text-secondary-gignepal { color: var(--primary-color) !important; }
a.orange-link { color: var(--primary-color); }
a.orange-link:hover { color: var(--primary-hover); }

/* Pagination */
.page-item.active .page-link {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}
.page-link {
    color: var(--primary-color);
}
.page-link:hover {
    color: var(--primary-hover);
}

/* Custom toggle switch (Pro profiles toggle) */
.custom_switch { position: relative; display: inline-block; width: 46px; height: 24px; }
.custom_switch input { opacity: 0; width: 0; height: 0; }
.custom_switch .slider {
    position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0;
    background-color: #ccc; border-radius: 24px; transition: 0.4s;
}
.custom_switch .slider:before {
    position: absolute; content: "";
    height: 18px; width: 18px; left: 3px; bottom: 3px;
    background-color: white; border-radius: 50%; transition: 0.4s;
}
.custom_switch input:checked + .slider { background-color: var(--primary-color); }
.custom_switch input:checked + .slider:before { transform: translateX(22px); }

/* Select2 theme override */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #fff !important;
}
.select2-container--default .select2-results__option--highlighted {
    background-color: var(--primary-color) !important;
}
.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--multiple:focus {
    border-color: var(--primary-color) !important;
}

/* Dynamic / CMS page content */
.dynamic-page-content {
    padding: 40px 0;
}
.dynamic-page-content h1,
.dynamic-page-content h2,
.dynamic-page-content h3 {
    font-family: var(--heading-font);
    color: var(--text-dark);
}

/* Spinner (from original app layout) */
#spinner { display: none !important; }

/* Breadcrumb component override */
.breadcrumb-area {
    background: #f8f9fa;
    padding: 30px 0;
    border-bottom: 1px solid var(--border-color);
}
.breadcrumb-item a { color: var(--text-muted); text-decoration: none; }
.breadcrumb-item.active { color: var(--text-dark); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--text-muted); }

/* ===============================================
   Sidebar Filter Redesign (Talent, Jobs, Projects)
   =============================================== */
.shop-sidebar-content {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 8px rgba(0,0,0,.06) !important;
    border: 1px solid var(--border-color) !important;
    padding: 0 !important;
    overflow: hidden;
}

/* Close button — only visible on mobile overlay */
.shop-close-content-icon {
    display: none;
}
@media (max-width: 991px) {
    .shop-close-content-icon {
        display: block;
        text-align: right;
        padding: 12px 16px 0;
    }
}

/* Filter header — flat teal bar instead of gradient */
.sidebar-filter-header {
    background: var(--primary-color) !important;
    background-image: none !important;
    border-radius: 0 !important;
    padding: 16px 20px !important;
    margin-bottom: 0 !important;
}
.filter-header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sidebar-filter-header .filter-title {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    font-family: var(--heading-font) !important;
}
.filter-reset-btn {
    color: #fff !important;
    font-size: 12px !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.2) !important;
    text-decoration: none !important;
    transition: background .2s !important;
}
.filter-reset-btn:hover {
    background: rgba(255,255,255,.35) !important;
    color: #fff !important;
}

/* Filter sections — clean, no bg blocks */
.shop-close-content {
    padding: 0 !important;
}
.sidebar-filter-section {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--border-color) !important;
    border-radius: 0 !important;
    padding: 16px 20px !important;
    margin-bottom: 0 !important;
}
.sidebar-filter-section:last-of-type {
    border-bottom: none !important;
}

/* Section titles — left-aligned, smaller, clean */
.filter-section-header {
    text-align: left !important;
    margin-bottom: 10px !important;
}
.sidebar-filter-section .section-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--text-dark) !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    margin: 0 !important;
}
.sidebar-filter-section .section-title i {
    color: var(--primary-color) !important;
    width: 18px;
    font-size: 12px;
}

/* Form controls — clean inputs */
.sidebar-filter-section .form-control,
.sidebar-filter-section .modern-select {
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    background: #f8f9fa !important;
    transition: border-color .2s, box-shadow .2s !important;
}
.sidebar-filter-section .form-control:focus,
.sidebar-filter-section .modern-select:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 3px rgba(58,186,180,.12) !important;
    background: #fff !important;
    outline: none !important;
}

/* Select2 inside sidebar */
.sidebar-filter-section .select2-container--default .select2-selection--single {
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    height: auto !important;
    padding: 8px 12px !important;
    background: #f8f9fa !important;
}
.sidebar-filter-section .select2-container--default .select2-selection--single:focus,
.sidebar-filter-section .select2-container--default .select2-selection--single:focus-within {
    border-color: var(--primary-color) !important;
}
.sidebar-filter-section .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-left: 0 !important;
    font-size: 13px !important;
    color: var(--text-dark) !important;
    line-height: 1.5 !important;
}
.sidebar-filter-section .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
}
.sidebar-filter-section .select2-container--default .select2-selection--multiple {
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    min-height: 40px !important;
    padding: 4px 8px !important;
    background: #f8f9fa !important;
}

/* Apply button — full-width teal */
.sidebar-filter-actions {
    padding: 16px 20px 20px !important;
    margin-top: 0 !important;
    border-top: 1px solid var(--border-color) !important;
}
.apply-filters-btn {
    background: var(--primary-color) !important;
    background-image: none !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 11px 20px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    transition: background .2s, box-shadow .2s !important;
}
.apply-filters-btn:hover {
    background: var(--primary-hover) !important;
    box-shadow: 0 4px 12px rgba(58,186,180,.3) !important;
    transform: none !important;
}

/* Sticky sidebar wrapper — no extra border/padding, inner shop-sidebar-content handles it */
.filter-content {
    position: sticky;
    top: 80px;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Responsive adjustments for detail pages */
@media (max-width: 767px) {
    .login-wrap, .login-right, .new-account { padding: 20px; }
    .success-cont { margin: 30px 16px; padding: 24px; }
}

/* ===============================================
   Dashboard Improvements
   =============================================== */

/* Stats row — all cards in one line */
.dash-stats-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.dash-stat-item {
    flex: 1 1 0;
    min-width: 140px;
}

/* Stats cards */
.myJob-wrapper-single-balance {
    border-radius: 10px;
    padding: 18px 16px;
    transition: all 0.2s;
    border: 1px solid #e7e8ea;
}
.myJob-wrapper-single-balance:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.myJob-wrapper-single-balance-price,
.contract_single__balance-price {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--text-dark, #1b1b1b) !important;
    line-height: 1.2 !important;
    margin-bottom: 4px;
}
.myJob-wrapper-single-balance-para {
    font-size: 11px !important;
    font-weight: 700;
    color: var(--text-muted, #6B7385) !important;
    margin-top: 0 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.total_balance {
    background: linear-gradient(135deg, #e8f8f8 0%, #d4f1f0 100%) !important;
    border-color: var(--primary-color, #3ABAB4) !important;
}
div[class*=col]:nth-child(4n+1) .myJob-wrapper-single-balance {
    background-color: #e8f8f8 !important;
}
div[class*=col]:nth-child(4n+2) .myJob-wrapper-single-balance {
    background-color: #e8f0fe !important;
}
div[class*=col]:nth-child(4n+3) .myJob-wrapper-single-balance {
    background-color: #e8f5e9 !important;
}
div[class*=col]:nth-child(4n+4) .myJob-wrapper-single-balance {
    background-color: #fef3e2 !important;
}

/* Section cards */
.single-profile-settings {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 28px !important;
    border: 1px solid #e7e8ea;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.single-profile-settings:not(:first-child) {
    margin-top: 28px !important;
}
.single-profile-settings-header {
    margin-bottom: 20px;
}
.single-profile-settings-header-flex {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100%;
}
.single-profile-settings-inner.profile-border-top {
    padding-top: 20px !important;
}
.single-profile-settings-inner .row {
    row-gap: 16px;
}
.single-profile-settings-header-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--text-dark, #1b1b1b) !important;
}
.profile-border-top {
    border-top: 1px solid #e7e8ea !important;
    padding-top: 16px !important;
}

/* Tables */
.custom_table table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
.custom_table table thead {
    background: #f8f9fa;
}
.custom_table table th {
    padding: 14px 20px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--text-muted, #6B7385) !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #e7e8ea !important;
    white-space: nowrap;
}
.custom_table table td {
    padding: 14px 20px !important;
    font-size: 14px !important;
    color: var(--text-dark, #1b1b1b) !important;
    border-bottom: 1px solid #f0f0f0 !important;
    vertical-align: middle;
}
.custom_table table tbody tr:hover {
    background: #f8fafa;
}
.custom_table table tbody tr:last-child td {
    border-bottom: none !important;
}

/* Dashboard buttons */
.btn-profile.btn-bg-1 {
    background: var(--primary-color, #3ABAB4) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 6px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background 0.2s;
    white-space: nowrap;
}
.btn-profile.btn-bg-1:hover {
    background: var(--primary-hover, #2a9490) !important;
}

/* Sidebar */
.profile-settings-sidebar {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e7e8ea;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    overflow: hidden;
}
.profile-settings-sidebar .profile-settings-sidebar-inner {
    padding: 0;
}
.profile-settings-menu-item-link {
    padding: 10px 20px !important;
    font-size: 14px !important;
    color: var(--text-dark, #1b1b1b) !important;
    transition: all 0.2s !important;
    border-radius: 0 !important;
}
.profile-settings-menu-item-link:hover,
.profile-settings-menu-item-link.active {
    background: #e8f8f8 !important;
    color: var(--primary-color, #3ABAB4) !important;
}
.profile-settings-menu-item-link.active {
    border-left: 3px solid var(--primary-color, #3ABAB4) !important;
    font-weight: 700 !important;
}

/* Switcher dropdown */
.switcher select {
    border: 1px solid #e7e8ea;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-dark, #1b1b1b);
    background: #f8f9fa;
    cursor: pointer;
}

/* Dashboard section background */
.section-bg-2 {
    background: #f5f6f8 !important;
}

/* ===============================================
   Dashboard Forms
   =============================================== */

/* Form inputs & selects (exclude select2-managed selects) */
.custom-form input.form--control,
.custom-form input.form-control,
.custom-form select.form-control:not([multiple]):not(.select2-hidden-accessible),
.custom-form .single-input input.form--control,
.custom-form .single-input input.form-control,
.custom-form .form-group input.form-control,
.profile-settings-wrapper input.form-control,
.profile-settings-wrapper input.form--control,
.profile-settings-wrapper select:not([multiple]):not(.select2-hidden-accessible) {
    width: 100%;
    height: 44px !important;
    line-height: 44px !important;
    padding: 0 14px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    color: var(--text-dark, #1b1b1b) !important;
    background-color: #fff !important;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none !important;
    box-shadow: none !important;
}
/* Single-select dropdowns (non-select2) */
.custom-form select.form-control:not([multiple]):not(.select2-hidden-accessible) {
    appearance: auto;
}
/* Select2 container styling */
.select2-container .select2-selection--single {
    height: 44px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 8px !important;
    padding: 0 8px !important;
    display: flex !important;
    align-items: center;
}
.select2-container .select2-selection--multiple {
    min-height: 44px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 8px !important;
    padding: 4px 8px !important;
    display: flex !important;
    align-items: center;
}
.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 38px !important;
    padding-left: 4px !important;
}
.select2-container .select2-selection--multiple .select2-selection__rendered {
    display: flex !important;
    flex-wrap: wrap;
    gap: 4px;
    padding: 0 !important;
}
.select2-container .select2-selection--multiple .select2-selection__choice {
    margin: 2px 0 !important;
    padding: 2px 8px !important;
    font-size: 13px !important;
    border-radius: 4px !important;
}
.select2-container .select2-selection--multiple .select2-search__field {
    height: 28px !important;
    margin: 0 !important;
}
.custom-form input.form--control:focus,
.custom-form input.form-control:focus,
.profile-settings-wrapper input.form-control:focus,
.profile-settings-wrapper input.form--control:focus,
.select2-container--focus .select2-selection--single,
.select2-container--focus .select2-selection--multiple {
    border-color: var(--primary-color, #3ABAB4) !important;
    box-shadow: 0 0 0 3px rgba(58,186,180,0.12) !important;
}

/* Textareas (exclude select2 internals) */
.custom-form textarea.form--control,
.custom-form textarea.form-control,
textarea.form-message,
.custom-form .form-message,
.profile-settings-wrapper textarea:not(.select2-search__field) {
    width: 100% !important;
    height: auto !important;
    min-height: 100px;
    line-height: 1.6 !important;
    padding: 12px 14px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 8px !important;
    resize: vertical;
    box-sizing: border-box !important;
}

/* Summernote editor — do NOT constrain height/pointer */
.note-editor,
.note-editor .note-editing-area,
.note-editor .note-editing-area .note-editable,
.note-editor .note-editable.card-block {
    height: auto !important;
    min-height: 150px !important;
    border: none !important;
    pointer-events: auto !important;
}
.note-editor.note-frame {
    border: 1px solid #d0d5dd !important;
    border-radius: 8px !important;
    overflow: hidden;
}
.note-editor .note-toolbar {
    background: #f8f9fa !important;
    border-bottom: 1px solid #e7e8ea !important;
    pointer-events: auto !important;
}
.note-editor .note-toolbar .note-btn {
    height: auto !important;
    line-height: normal !important;
    pointer-events: auto !important;
}

/* Labels */
.custom-form .label-title,
.profile-settings-wrapper .label-title,
.single-input .label-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--text-dark, #1b1b1b) !important;
    margin-bottom: 6px !important;
    display: block;
}

/* Input spacing */
.custom-form .single-input:not(:first-child),
.custom-form .form-group:not(:first-child) {
    margin-top: 20px !important;
}

/* Step indicators */
.setup-wrapper-contents .setup-wrapper-contents-step {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.setup-wrapper-contents .setup-wrapper-contents-step .step-number {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--primary-color, #3ABAB4);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Create project wrapper */
.create-project-wrapper-item {
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    border: 1px solid #e7e8ea;
    margin-bottom: 20px;
}

/* Section titles inside forms */
.create-project-intro-contents h4,
.setup-wrapper-contents h4 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--text-dark, #1b1b1b) !important;
    margin-bottom: 4px;
}
.create-project-intro-contents p,
.setup-wrapper-contents p {
    font-size: 13px;
    color: var(--text-muted, #6B7385);
    margin-bottom: 0;
}

/* Package table */
.create_project_table {
    border-radius: 8px !important;
    overflow: hidden;
}
.create_project_table th,
.create_project_table .package-head {
    background: #f8f9fa !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 12px !important;
}
.create_project_table td {
    padding: 10px 12px !important;
    vertical-align: middle !important;
}

/* File upload */
.custom-form .file-upload,
.profile-settings-wrapper .file-upload {
    border: 2px dashed #d0d5dd;
    border-radius: 10px;
    padding: 24px;
    text-align: center;
    transition: border-color 0.2s;
    background: #fafafa;
}
.custom-form .file-upload:hover,
.profile-settings-wrapper .file-upload:hover {
    border-color: var(--primary-color, #3ABAB4);
}

/* Submit / action buttons */
.custom-form .btn-primary,
.custom-form .cmn-btn,
.setup-wrapper-contents .btn-primary {
    background: var(--primary-color, #3ABAB4) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 28px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #fff !important;
    transition: background 0.2s;
}
.custom-form .btn-primary:hover,
.custom-form .cmn-btn:hover {
    background: var(--primary-hover, #2a9490) !important;
}

/* ===============================================
   Create Project / Setup Wizard
   =============================================== */

/* Flex layout: sidebar left + content right */
.setup-wrapper-flex {
    display: flex !important;
    gap: 30px;
}

/* Sidebar stepper */
.setup-wrapper-left {
    max-width: 260px !important;
    min-width: 220px;
    flex-shrink: 0;
    padding-right: 0 !important;
    margin-right: 0 !important;
    border-right: 1px solid #e7e8ea;
    padding-right: 24px !important;
}

/* Content area — only show active step */
.create-project-wrapper {
    flex: 1;
    min-width: 0;
}
.setup-wrapper-contents {
    max-width: 100% !important;
    display: none !important;
}
.setup-wrapper-contents.active {
    display: block !important;
}
.single-setup-request-list-item {
    cursor: pointer;
}
.single-setup-request-list-item-number {
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 50% !important;
    border: 2px solid #d0d5dd !important;
    text-align: center;
}
.single-setup-request-list-item.running .single-setup-request-list-item-number {
    border-color: var(--primary-color, #3ABAB4) !important;
}
.single-setup-request-list-item.running .single-setup-request-list-item-number::before {
    background-color: var(--primary-color, #3ABAB4) !important;
}
.single-setup-request-list-item.running .single-setup-request-list-item-contents-title {
    color: var(--primary-color, #3ABAB4) !important;
}
.single-setup-request-list-item.completed .single-setup-request-list-item-number {
    border-color: #65C18C !important;
}
.single-setup-request-list-item-contents-title {
    font-size: 15px !important;
    font-weight: 700 !important;
}
.single-setup-request-list-item-contents-para {
    font-size: 12px !important;
    color: var(--text-muted, #6B7385) !important;
}

/* Wizard footer */
.setup-footer {
    padding-top: 24px !important;
    border-top: 1px solid #e7e8ea;
    margin-top: 24px;
}
.setup-footer-flex {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}
.setup-footer-next {
    background: var(--primary-color, #3ABAB4) !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 16px !important;
    text-decoration: none !important;
}
.setup-footer-next i {
    color: #fff !important;
}
.setup-footer-next:hover {
    background: var(--primary-hover, #2a9490) !important;
    color: #fff !important;
}
.setup-footer-back {
    border-radius: 8px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* Price popups — must be modal overlays, not inline */
.popup-fixed {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) scale(0) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    z-index: 9999 !important;
    transition: 0.3s !important;
}
.popup-fixed.popup-active {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translate(-50%, -50%) scale(1) !important;
}
.popup-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0,0,0,0.5) !important;
    z-index: 9998 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transition: 0.3s !important;
}
.popup-overlay.popup-active {
    visibility: visible !important;
    opacity: 1 !important;
}
.popup-contents {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 24px !important;
    max-width: 500px !important;
    width: 90vw !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2) !important;
    position: relative !important;
}
.popup-contents-close {
    position: absolute !important;
    right: 12px !important;
    top: 12px !important;
    cursor: pointer;
    z-index: 1;
}

/* Create project wrapper item (form sections) */
.create-project-wrapper-item {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 24px !important;
    border: 1px solid #e7e8ea !important;
    margin-bottom: 0 !important;
}
.create-project-wrapper-item-top {
    margin-bottom: 20px;
}
.create-project-wrapper-title {
    font-size: 18px !important;
    font-weight: 700 !important;
}
.profile-settings-wrapper {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.profile-settings-wrapper > .single-profile-settings:not(:first-child) {
    margin-top: 0 !important;
}


/* ===============================================
   Wider layout — raise Bootstrap container cap
   Added 2026-04-16. Bootstrap caps .container at
   1320px which leaves wide empty side gutters on
   modern laptops/monitors. Raise to 1600px so
   content reaches the edges, keep a cap so
   ultra-wide screens still read comfortably.
   =============================================== */
@media (min-width: 1200px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1600px !important;
    }
}

/* Generous gutters on wide screens so content
   does not kiss the viewport edge. */
@media (min-width: 1200px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
}

/* Fix double-nested .container-fluid > .container
   collapsing to the inner cap — the inner should
   fill the fluid parent at this width. */
@media (min-width: 1200px) {
    .container-fluid > .container,
    .container-fluid > .container-xxl {
        max-width: 1600px !important;
        margin-left: auto;
        margin-right: auto;
    }
}


/* ===============================================
   Projects & Talents listing — widen results grid
   =============================================== */
@media (min-width: 992px) {
    /* On the projects/talents listing pages, the sidebar is col-md-4 (33%)
       which eats too much width on wide screens. Shrink it to ~25%. */
    .shop-contents-wrapper > .row > .col-md-4 {
        flex: 0 0 auto;
        width: 25%;
    }
    .shop-contents-wrapper > .row > .col-md-8 {
        flex: 0 0 auto;
        width: 75%;
    }
}

@media (min-width: 1400px) {
    /* On very wide screens, show 4 project cards per row instead of 3 */
    .shop-contents-wrapper-right .row > .col-xl-4 {
        flex: 0 0 auto;
        width: 33.333%;
    }
    .shop-contents-wrapper-right .row > [class*="col-xl-"],
    .shop-contents-wrapper-right .row > [class*="col-lg-"] {
        /* ensure consistent 3-across minimum */
    }
}

/* On xxl (≥1600px), 4 cards per row */
@media (min-width: 1600px) {
    .shop-contents-wrapper-right .row > .col-xl-4,
    .shop-contents-wrapper-right .row > .col-lg-4 {
        flex: 0 0 auto;
        width: 25%;
    }
}

/* Fix the double container-fluid > container on projects page:
   the inner .container inside .container-fluid.py-5 should fill the fluid
   parent up to our 1600 cap, not collapse to Bootstrap's default. */
.container-fluid.py-5 > .container {
    max-width: 100% !important;
    padding-left: 0;
    padding-right: 0;
}

/* Also: the search/hero sections for listings have a solid-color background
   block (blue gradient) but the inner .container is capped. Let the block
   stay full-bleed and the content inside expand to our cap. */
.projects-hero-section > .container,
.projects-search-section > .container,
.talents-hero-section > .container,
.talents-search-section > .container {
    max-width: 1600px !important;
}


/* ===============================================
   Homepage hero (GigTheme override) — richer look
   Targets .home-banner.home-two from GigTheme.
   =============================================== */
.home-banner.home-two {
    background: linear-gradient(135deg, #f0f9f9 0%, #e8f8f8 50%, #f5fafa 100%) !important;
    position: relative;
    overflow: hidden;
    padding: 80px 0 !important;
    min-height: 560px;
}

/* Decorative floating shapes in hero background */
.home-banner.home-two::before {
    content: '';
    position: absolute;
    top: -100px; right: -100px;
    width: 400px; height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(58, 186, 180, 0.12) 0%, transparent 70%);
    pointer-events: none;
}
.home-banner.home-two::after {
    content: '';
    position: absolute;
    bottom: -150px; left: -150px;
    width: 500px; height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(47, 128, 237, 0.08) 0%, transparent 70%);
    pointer-events: none;
}
.home-banner.home-two .container { position: relative; z-index: 2; }

/* Hero typography polish */
.home-banner.home-two h1 {
    font-size: clamp(32px, 4.5vw, 56px) !important;
    font-weight: 800;
    letter-spacing: -0.02em;
}

/* Stats strip — bigger, cleaner, uses cards */
.home-banner.home-two .home-count { margin-top: 36px; }
.home-banner.home-two .home-count ul {
    gap: 0 !important;
    background: rgba(255,255,255,0.7);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(58, 186, 180, 0.15);
    border-radius: 14px;
    padding: 18px 24px;
    display: inline-flex !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}
.home-banner.home-two .home-count .course-count {
    padding: 0 24px !important;
    border-left: 1px solid rgba(58, 186, 180, 0.2) !important;
}
.home-banner.home-two .home-count .course-count:first-child {
    border-left: none !important;
    padding-left: 0 !important;
}
.home-banner.home-two .home-count .counter-up {
    font-size: 26px !important;
    background: linear-gradient(135deg, #3ABAB4 0%, #2F80ED 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Hero search bar — slight lift */
.home-banner.home-two .hero-search-form {
    box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important;
    border-radius: 12px !important;
}
.home-banner.home-two .hero-search-form .search-btn {
    background: linear-gradient(135deg, #3ABAB4 0%, #2F80ED 100%) !important;
    padding: 14px 32px !important;
    border-radius: 0 !important;
}

/* Right column — make sure the illustration/fallback fills attractively */
.home-banner.home-two > .container > .row > .col-lg-6:last-child {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
}
.home-banner.home-two > .container > .row > .col-lg-6:last-child img {
    max-height: 440px !important;
    object-fit: contain;
    filter: drop-shadow(0 10px 30px rgba(47, 128, 237, 0.15));
}

/* On wide screens, ensure the hero row uses the full container width */
@media (min-width: 1200px) {
    .home-banner.home-two { padding: 100px 0 !important; }
}

/* ===============================================
   Section padding consistency
   =============================================== */
@media (min-width: 1200px) {
    .categories-section,
    .projects-section,
    .jobs-section,
    .freelancers-section,
    .platform-section { padding-left: 2rem; padding-right: 2rem; }
}


/* ===============================================
   FINAL WIDTH OVERRIDE — maximum specificity + !important
   Put AT THE END so it wins the cascade unconditionally.
   Also removes the min-width breakpoint so it applies at
   all widths ≥992px (not just ≥1200px) in case that was
   the issue.
   =============================================== */
@media (min-width: 992px) {
    html body .container,
    html body .container-lg,
    html body .container-md,
    html body .container-sm,
    html body .container-xl,
    html body .container-xxl {
        max-width: 1600px !important;
        padding-left: 2.5rem !important;
        padding-right: 2.5rem !important;
    }
}

/* Homepage hero: allow content to fill the full hero row */
.home-banner.home-two > .container {
    max-width: 1600px !important;
}
