.nav-bar .nav-bar-container {
    height: 48px;
}

.nav-bar {
    background-color: #ffffff;
}

.btn.btn-outline-light {
    color: #6c757d;
}

.logo {
    height: 70px;
}

.nav-bar .link {
    color: #000000;
}

/* CoderTray Home Hero */
.ct-home-hero {
    position: relative;
    overflow: hidden;
    padding: 38px 0 64px;
    background: linear-gradient(110deg, #eefaf6 0%, #ffffff 45%, #eaf2ff 100%);
}

.ct-hero-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(22, 101, 216, .07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(22, 101, 216, .07) 1px, transparent 1px);
    background-size: 50px 50px;
}

.ct-home-hero-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 56px;
    align-items: center;
}

.ct-hero-badge-light {
    display: inline-flex;
    align-items: center;
    padding: 11px 18px;
    border-radius: 999px;
    background: #e7f1ff;
    border: 1px solid #cfe0ff;
    color: #1263f1;
    font-weight: 700;
    margin-bottom: 28px;
}

.ct-home-title {
    font-size: clamp(48px, 6vw, 88px);
    line-height: 1.02;
    font-weight: 900;
    color: #0b1220;
    letter-spacing: -3px;
    margin-bottom: 28px;
}

.ct-home-title span {
    color: #1263f1;
    display: inline;
}

.ct-home-text {
    max-width: 760px;
    color: #334155;
    font-size: 22px;
    line-height: 1.55;
    margin-bottom: 34px;
}

.ct-home-actions {
    display: flex;
    gap: 16px;
    margin-bottom: 34px;
}

.ct-btn-primary,
.ct-btn-light {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    padding: 0 24px;
    border-radius: 14px;
    font-size: 18px;
    font-weight: 800;
    text-decoration: none !important;
}

.ct-btn-primary {
    background: #1263f1;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(18, 99, 241, .28);
}

.ct-btn-light {
    background: #fff;
    color: #0b1220 !important;
    border: 1px solid #dce5f2;
}

/* Hero Search */
.ct-home-search {
    max-width: 865px;
    width: 100%;
    background: #fff;
    border: 1px solid #dce5f2;
    border-radius: 22px;
    padding: 10px;
    box-shadow: 0 22px 50px rgba(15, 23, 42, .08);
    margin-bottom: 34px;
}

.ct-home-search .search,
.ct-home-search form {
    width: 100% !important;
}

.ct-home-search form {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 12px !important;
}

.ct-home-search input,
.ct-home-search input.form-control,
.ct-home-search .form-control {
    width: 100% !important;
    max-width: none !important;
    height: 64px !important;
    min-height: 64px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 19px !important;
    padding: 0 28px !important;
}

.ct-home-search input:focus,
.ct-home-search input.form-control:focus,
.ct-home-search .form-control:focus {
    outline: none !important;
    box-shadow: none !important;
}

.ct-home-search button,
.ct-home-search .btn {
    width: 190px !important;
    min-width: 190px !important;
    height: 64px !important;
    min-height: 64px !important;
    border-radius: 14px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    background: #1263f1 !important;
    border-color: #1263f1 !important;
    margin: 0 !important;
}

.ct-home-search button i,
.ct-home-search .btn i {
    margin-right: 8px;
}

.ct-home-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    max-width: 745px;
}

.ct-home-stats div {
    background: #fff;
    border: 1px solid #e1e8f2;
    border-radius: 20px;
    padding: 18px 22px;
}

.ct-home-stats strong {
    display: block;
    font-size: 30px;
    color: #020617;
    line-height: 1;
    margin-bottom: 8px;
}

.ct-home-stats span {
    color: #64748b;
    font-weight: 700;
}

.ct-trending-card {
    background: rgba(255, 255, 255, .92);
    border: 1px solid #e1e8f2;
    border-radius: 30px;
    padding: 28px 24px;
    box-shadow: 0 26px 60px rgba(15, 23, 42, .08);
}

.ct-trending-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}

.ct-trending-head h3 {
    font-size: 26px;
    font-weight: 900;
    margin: 0;
    color: #020617;
}

.ct-trending-head span {
    background: #dcfce7;
    color: #00833e;
    padding: 10px 14px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 14px;
}

.ct-trending-item {
    display: grid;
    grid-template-columns: 70px 1fr auto;
    align-items: center;
    gap: 18px;
    border: 1px solid #e1e8f2;
    border-radius: 20px;
    padding: 16px 18px;
    margin-bottom: 14px;
    background: #fff;
}

.ct-trending-icon {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    background: #dceaff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1263f1;
    font-weight: 900;
    font-size: 22px;
}

.ct-trending-item h4 {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 900;
    color: #020617;
}

.ct-trending-item p {
    margin: 0;
    color: #64748b;
    font-size: 16px;
}

.ct-trending-item strong {
    color: #1263f1;
    font-size: 20px;
}

.ct-dark-note {
    margin: 16px auto 0;
    max-width: 92%;
    background: #0b1220;
    color: #fff;
    border-radius: 28px;
    padding: 30px 28px;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .22);
}

.ct-dark-note h3 {
    color: #fff;
    margin: 0 0 10px;
    font-size: 24px;
    font-weight: 900;
}

.ct-dark-note p {
    margin: 0;
    color: #c9ddff;
    font-size: 17px;
    line-height: 1.6;
}

@media (max-width: 991px) {
    .ct-home-hero-inner {
        grid-template-columns: 1fr;
    }

    .ct-home-hero-right {
        display: none;
    }

    .ct-home-title {
        letter-spacing: -1.5px;
    }
}

@media (max-width: 575px) {
    .ct-home-actions {
        flex-direction: column;
    }

    .ct-home-actions a {
        width: 100%;
    }

    .ct-home-stats {
        grid-template-columns: 1fr;
    }

    .ct-home-title {
        font-size: 44px;
    }

    .ct-home-text {
        font-size: 18px;
    }

    .ct-home-search form {
        grid-template-columns: 1fr !important;
    }

    .ct-home-search button,
    .ct-home-search .btn {
        width: 100% !important;
        min-width: 100% !important;
    }
}



.ct-categories-section {
    padding: 80px 0;
    background: #f8fbff;
}

.ct-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 34px;
}

.ct-mini-label {
    display: inline-block;
    color: #1263f1;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 8px;
}

.ct-section-title {
    font-size: 38px;
    line-height: 1.15;
    font-weight: 900;
    color: #0b1220;
    margin: 0;
}

.ct-section-text {
    max-width: 680px;
    color: #64748b;
    font-size: 17px;
    line-height: 1.6;
    margin: 12px 0 0;
}

.ct-view-all {
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #dce5f2;
    color: #1263f1 !important;
    font-weight: 800;
    text-decoration: none !important;
}

.ct-categories-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 20px;
}

.ct-category-card {
    background: #fff;
    border: 1px solid #e1e8f2;
    border-radius: 24px;
    padding: 26px 18px;
    min-height: 190px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .05);
    transition: all .25s ease;
}

.ct-category-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 50px rgba(15, 23, 42, .1);
    border-color: #c8dcff;
}

.ct-category-icon {
    width: 82px;
    height: 82px;
    border-radius: 22px;
    background: #eef5ff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.ct-category-icon img {
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    object-fit: contain;
}

.ct-category-card h3 {
    margin: 0;
    color: #0b1220;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.25;
}

.ct-category-card span {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
}

@media (max-width: 1199px) {
    .ct-categories-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ct-section-head {
        display: block;
    }

    .ct-categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 430px) {
    .ct-categories-grid {
        grid-template-columns: 1fr;
    }
}


.nav-bar {
    background: rgba(255, 255, 255, .92) !important;
    border-bottom: 1px solid #e5edf7;
    backdrop-filter: blur(14px);
}

.nav-bar .nav-bar-container {
    height: 76px !important;
}

.logo {
    height: 58px !important;
    display: flex;
    align-items: center;
}

.logo img {
    max-height: 52px;
    width: auto;
}

.nav-bar .link,
.nav-bar .drop-down-btn {
    color: #0b1220 !important;
    font-weight: 700;
    font-size: 15px;
}

.nav-bar .link:hover,
.nav-bar .drop-down-btn:hover {
    color: #1263f1 !important;
}

.nav-bar-buttons {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nav-bar-buttons .btn,
.nav-bar-actions .btn {
    border-radius: 999px !important;
    min-height: 42px;
    font-weight: 800;
    padding-left: 18px;
    padding-right: 18px;
}

.nav-bar-buttons .btn-primary {
    background: #1263f1 !important;
    border-color: #1263f1 !important;
    box-shadow: 0 10px 24px rgba(18, 99, 241, .22);
}

.nav-bar-buttons .btn-outline-primary {
    background: #fff !important;
    border-color: #d8e4f4 !important;
    color: #1263f1 !important;
}

.nav-bar-buttons .btn-outline-light,
.nav-bar-actions .btn-outline-light {
    background: #f8fbff !important;
    border-color: #d8e4f4 !important;
    color: #0b1220 !important;
}

.cart-btn {
    position: relative;
}

.cart-counter {
    background: #1263f1 !important;
    color: #fff !important;
}

.nav-bar-sm {
    background: #ffffff !important;
    border-bottom: 1px solid #e5edf7;
}

.nav-bar-sm .nav-bar-container {
    height: 58px !important;
}

.nav-bar-sm .form-search {
    border: 1px solid #dce5f2;
    border-radius: 999px;
    background: #f8fbff;
    overflow: hidden;
}

.nav-bar-sm .form-search .form-control {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.nav-bar-menu-btn {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #f1f6ff;
    color: #1263f1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ct-items-section {
    padding: 84px 0;
    background: #ffffff;
}

.ct-featured-items-section {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.ct-items-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.ct-item-col {
    min-width: 0;
}

.ct-items-grid .item,
.ct-items-grid .card,
.ct-items-grid .item-card {
    height: 100%;
    border-radius: 24px !important;
    border: 1px solid #e1e8f2 !important;
    overflow: hidden;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .06);
    transition: all .25s ease;
}

.ct-items-grid .item:hover,
.ct-items-grid .card:hover,
.ct-items-grid .item-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 55px rgba(15, 23, 42, .12);
    border-color: #c8dcff !important;
}

.ct-items-grid img {
    transition: all .3s ease;
}

.ct-items-grid .item:hover img,
.ct-items-grid .card:hover img,
.ct-items-grid .item-card:hover img {
    transform: scale(1.03);
}

@media (max-width: 1199px) {
    .ct-items-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ct-items-grid {
        grid-template-columns: 1fr;
    }
}

.ct-product-card {
    background: #fff;
    border: 1px solid #e1e8f2 !important;
    border-radius: 24px !important;
    overflow: hidden;
    height: 100%;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .06);
    transition: all .25s ease;
}

.ct-product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 55px rgba(15, 23, 42, .12);
    border-color: #c8dcff !important;
}

.ct-product-media {
    position: relative;
    overflow: hidden;
    background: #f3f7ff;
}

.ct-product-media .item-img {
    width: 100%;
    height: 235px;
    object-fit: cover;
    transition: all .35s ease;
}

.ct-product-card:hover .item-img {
    transform: scale(1.04);
}

.ct-product-body {
    padding: 20px !important;
}

.ct-product-title {
    display: block;
    color: #0b1220 !important;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.35;
    margin-bottom: 10px;
    text-decoration: none !important;
}

.ct-product-title:hover {
    color: #1263f1 !important;
}

.ct-product-meta {
    color: #64748b;
    font-size: 14px;
    margin-bottom: 14px;
}

.ct-product-meta a {
    color: #1263f1 !important;
    font-weight: 700;
}

.ct-product-rating {
    margin-bottom: 16px;
}

.ct-product-footer {
    border-top: 1px solid #edf2f8;
    padding-top: 16px;
    margin-top: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.ct-product-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ct-product-actions .btn {
    border-radius: 12px !important;
}

.ct-product-card .item-price-number {
    color: #1263f1;
    font-size: 22px;
    font-weight: 900;
}

.ct-product-card .item-price-through {
    display: block;
    color: #94a3b8;
    font-size: 13px;
    text-decoration: line-through;
}

.ct-product-card .item-sales {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    margin-top: 4px;
}

.ct-product-card .item-badge {
    top: 14px;
    left: 14px;
    border-radius: 999px;
    font-weight: 800;
    box-shadow: 0 10px 25px rgba(15, 23, 42, .18);
}

@media (max-width: 575px) {
    .ct-product-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .ct-product-actions {
        width: 100%;
    }

    .ct-product-actions .btn,
    .ct-product-actions form {
        flex: 1;
    }

    .ct-product-actions .btn {
        width: 100%;
    }
}

.ct-latest-items-section {
    background: #ffffff;
}

.ct-tabs-wrap {
    display: flex;
    justify-content: center;
    margin: 30px 0 38px;
}

.ct-modern-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    background: #f4f8ff;
    border: 1px solid #dce5f2;
    border-radius: 999px;
    padding: 8px;
}

.ct-modern-tabs .custom-tabs-item {
    border: 0 !important;
    background: transparent;
    color: #475569;
    border-radius: 999px;
    padding: 12px 18px;
    font-weight: 800;
    transition: all .25s ease;
}

.ct-modern-tabs .custom-tabs-item:hover {
    color: #1263f1;
    background: #ffffff;
}

.ct-modern-tabs .custom-tabs-item.active {
    background: #1263f1 !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(18, 99, 241, .24);
}

.ct-empty-box {
    background: #f8fbff;
    border: 1px dashed #c8d7ec;
    border-radius: 24px;
    padding: 60px 20px;
    text-align: center;
}

.ct-empty-box p {
    margin: 0;
    color: #64748b;
    font-weight: 700;
}

.ct-footer {
    background: #0b1220;
    color: #c7d2e2;
    margin-top: 80px;
}

.ct-footer-top {
    padding: 75px 0 55px;
}

.ct-footer-logo img {
    max-height: 58px;
    width: auto;
    margin-bottom: 20px;
}

.ct-footer-text,
.ct-footer-text-small {
    color: #9fb0c9;
    line-height: 1.7;
    font-size: 15px;
}

.ct-footer-title {
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    margin-bottom: 18px;
}

.ct-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ct-footer-links li {
    margin-bottom: 12px;
}

.ct-footer-links a {
    color: #9fb0c9;
    text-decoration: none;
    transition: all .2s ease;
}

.ct-footer-links a:hover {
    color: #ffffff;
    padding-left: 4px;
}

.ct-footer-social {
    display: flex;
    gap: 10px;
    margin-top: 22px;
}

.ct-footer-social a {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ct-footer-box {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 24px;
    padding: 26px;
}

.ct-footer-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 14px;
    background: #1263f1;
    color: #fff !important;
    text-decoration: none;
    font-weight: 800;
    margin-top: 10px;
}

.ct-footer-bottom {
    border-top: 1px solid rgba(255,255,255,.08);
    padding: 20px 0;
    font-size: 14px;
}

.ct-footer-mini-links {
    display: flex;
    gap: 18px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.ct-footer-mini-links a {
    color: #9fb0c9;
    text-decoration: none;
}

.ct-footer-mini-links a:hover {
    color: #fff;
}

@media (max-width: 991px) {
    .ct-footer-mini-links {
        justify-content: flex-start;
    }
}

.item-single-title {
    font-weight: 900;
    color: #0b1220;
    letter-spacing: -0.5px;
}

.item-single-preview,
.item-single-img,
.item-single-video,
.item-single-audio {
    border-radius: 24px;
    overflow: hidden;
}

.item-single-img img {
    border-radius: 24px;
    width: 100%;
}

.item-single-preview .item-badge {
    top: 18px;
    left: 18px;
    border-radius: 999px;
    font-weight: 800;
    box-shadow: 0 10px 25px rgba(15, 23, 42, .18);
}

.card-v.border {
    border-color: #e1e8f2 !important;
    border-radius: 24px !important;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .05);
}

.card-v-header {
    background: #f8fbff;
    border-radius: 24px 24px 0 0;
}

.card-v-header h5,
.card-v-body h3,
.card-v-body h5 {
    font-weight: 900;
    color: #0b1220;
}

.form-check-lg {
    border: 1px solid #e1e8f2;
    border-radius: 18px;
    padding: 18px 18px 18px 46px;
    transition: all .2s ease;
}

.form-check-lg:has(input:checked) {
    border-color: #1263f1;
    background: #f5f9ff;
}

.item-price-number {
    color: #1263f1;
    font-weight: 900;
}

.add-to-cart-form .btn-primary,
.buy-now-form .btn-outline-primary {
    min-height: 54px;
    border-radius: 14px;
    font-weight: 900;
}

.list .list-item {
    margin-bottom: 9px;
    color: #475569;
}

.user-avatar-lg img {
    border: 3px solid #e7f0ff;
}

.item-author-badge img {
    border-radius: 999px;
}

.tabs-custom .btn {
    border-radius: 14px;
    font-weight: 800;
}

.description {
    color: #334155;
    line-height: 1.8;
}

.description h1,
.description h2,
.description h3,
.description h4 {
    color: #0b1220;
    font-weight: 900;
}

@media (min-width: 992px) {
    .col-12.col-lg-5.col-xl-5.col-xxl-4 {
        position: sticky;
        top: 95px;
        align-self: flex-start;
    }
}


@media (max-width: 575px) {
    .cookie-consent,
    .cookies-consent,
    .cookie-banner,
    .cookies-banner,
    .cookie-popup,
    .cookies-popup,
    #cookie-consent,
    #cookies-consent,
    #cookieBanner,
    #cookiesBanner {
        max-width: calc(100vw - 24px) !important;
        width: calc(100vw - 24px) !important;
        left: 12px !important;
        right: 12px !important;
        bottom: 12px !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
    }

    .cookie-consent *,
    .cookies-consent *,
    .cookie-banner *,
    .cookies-banner *,
    .cookie-popup *,
    .cookies-popup * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body {
        overflow-x: hidden;
    }
}

/* Fix main menu dropdown visibility */
.nav-bar,
.nav-bar-sm,
.nav-bar-container,
.nav-bar-menu,
.drop-down,
.dropdown {
    position: relative;
    z-index: 9999 !important;
}

.nav-bar .drop-down-menu,
.nav-bar .dropdown-menu,
.nav-bar-sm .drop-down-menu,
.nav-bar-sm .dropdown-menu {
    position: absolute !important;
    z-index: 10050 !important;
    background-color: #ffffff !important;
    background-image: none !important;
    opacity: 1 !important;
    border: 1px solid #dce5f2 !important;
    border-radius: 16px !important;
    box-shadow: 0 22px 50px rgba(15, 23, 42, .18) !important;
    overflow: hidden !important;
}

.nav-bar .drop-down-menu *,
.nav-bar .dropdown-menu *,
.nav-bar-sm .drop-down-menu *,
.nav-bar-sm .dropdown-menu * {
    background-color: transparent !important;
    opacity: 1 !important;
}

.nav-bar .drop-down-menu a,
.nav-bar .dropdown-menu a,
.nav-bar-sm .drop-down-menu a,
.nav-bar-sm .dropdown-menu a {
    display: block !important;
    color: #0b1220 !important;
    background-color: #ffffff !important;
    padding: 12px 18px !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.nav-bar .drop-down-menu a:hover,
.nav-bar .dropdown-menu a:hover,
.nav-bar-sm .drop-down-menu a:hover,
.nav-bar-sm .dropdown-menu a:hover {
    color: #1263f1 !important;
    background-color: #f3f7ff !important;
}

/* Make homepage header stay behind dropdown */
.ct-home-hero,
.ct-hero,
.header {
    position: relative;
    z-index: 1 !important;
}

body {
    overflow-x: hidden;
}

.ct-listing-page-head {
    background: linear-gradient(110deg, #f8fbff 0%, #ffffff 50%, #eef6ff 100%);
    border: 1px solid #e1e8f2;
    border-radius: 28px;
    padding: 34px;
    margin-bottom: 34px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .05);
}

.ct-listing-title {
    font-size: 38px;
    font-weight: 900;
    color: #0b1220;
    margin: 0;
    letter-spacing: -1px;
}

.ct-listing-text {
    color: #64748b;
    font-size: 16px;
    margin: 10px 0 0;
    max-width: 680px;
}

.ct-listing-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ct-filter-btn {
    min-height: 46px;
    border-radius: 999px !important;
    background: #1263f1 !important;
    color: #fff !important;
    font-weight: 800;
    padding: 0 18px;
}

.ct-listing-layout {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
    gap: 28px;
}

.ct-listing-sidebar {
    min-width: 0;
}

.ct-listing-sidebar .card,
.ct-listing-sidebar .card-v,
.ct-listing-sidebar .accordion,
.ct-listing-sidebar .search-params {
    border-radius: 24px !important;
    border-color: #e1e8f2 !important;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .05);
}

.ct-listing-results {
    min-width: 0;
}

.ct-listing-results .item,
.ct-listing-results .card,
.ct-listing-results .item-card {
    border-radius: 24px !important;
}

@media (max-width: 1199px) {
    .ct-listing-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .ct-listing-page-head {
        display: block;
        padding: 24px;
    }

    .ct-listing-title {
        font-size: 30px;
    }

    .ct-listing-actions {
        margin-top: 18px;
    }
}

.ct-category-list-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.ct-category-list-card {
    background: #fff;
    border: 1px solid #e1e8f2;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .05);
    transition: all .25s ease;
}

.ct-category-list-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 55px rgba(15, 23, 42, .1);
    border-color: #c8dcff;
}

.ct-category-list-header {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 24px;
    text-decoration: none !important;
    background: linear-gradient(110deg, #f8fbff 0%, #ffffff 100%);
    border-bottom: 1px solid #edf2f8;
}

.ct-category-list-icon {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: #eaf2ff;
    color: #1263f1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex: 0 0 auto;
}

.ct-category-list-header h3 {
    margin: 0 0 6px;
    color: #0b1220;
    font-size: 20px;
    font-weight: 900;
}

.ct-category-list-header p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    font-weight: 700;
}

.ct-category-list-body {
    padding: 14px;
}

.ct-category-list-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    border-radius: 14px;
    color: #334155 !important;
    text-decoration: none !important;
    font-weight: 700;
}

.ct-category-list-link:hover {
    background: #f5f9ff;
    color: #1263f1 !important;
}

.ct-category-list-link strong {
    min-width: 30px;
    height: 26px;
    padding: 0 8px;
    border-radius: 999px;
    background: #eef5ff;
    color: #1263f1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}

@media (max-width: 1199px) {
    .ct-category-list-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ct-category-list-grid {
        grid-template-columns: 1fr;
    }

    .ct-category-list-header {
        padding: 20px;
    }
}

.ct-profile-header {
    position: relative;
    overflow: hidden;
    background-size: cover !important;
    background-position: center !important;
}

.ct-profile-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, rgba(248,251,255,.96), rgba(255,255,255,.9), rgba(234,242,255,.94));
}

.ct-profile-header .container {
    position: relative;
    z-index: 2;
}

.ct-profile-inner {
    padding: 42px 0 28px;
}

.ct-profile-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.ct-profile-user {
    display: flex;
    align-items: center;
    gap: 22px;
}

.ct-profile-name-row h1 {
    font-size: 30px;
    line-height: 1.1;
}

.ct-profile-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ct-profile-actions .btn {
    border-radius: 8px !important;
    font-weight: 700;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 22px !important;
    min-width: auto !important;
    font-size: 16px !important;
    box-shadow: none !important;
}

.ct-profile-stats-card {
    min-width: 150px;
    padding: 20px 26px;
    border-radius: 22px;
}

.ct-profile-stats-card strong {
    font-size: 30px;
}

.ct-profile-tabs {
    background: #fff;
    border: 1px solid #e1e8f2;
    border-radius: 22px 22px 0 0;
    padding: 10px 12px 0;
    box-shadow: none;
    margin-bottom: -1px;
}

.ct-profile-tabs .nav-tabs {
    border: 0 !important;
    gap: 8px;
}

.ct-profile-tabs .nav-link {
    border: 0 !important;
    border-radius: 12px 12px 0 0 !important;
    color: #475569 !important;
    font-weight: 700;
    padding: 12px 22px;
    min-height: 48px;
    display: flex;
    align-items: center;
}

.ct-profile-tabs .nav-link.active {
    background: #1263f1 !important;
    color: #fff !important;
    box-shadow: none;
}

.section-profile {
    padding-top: 38px;
}

@media (max-width: 767px) {
    .ct-profile-main,
    .ct-profile-user {
        display: block;
        text-align: center;
    }

    .ct-profile-avatar {
        margin-bottom: 16px;
    }

    .ct-profile-stats-card {
        margin-top: 24px;
        width: 100%;
    }
}

.ct-profile-actions .btn,
.ct-profile-actions a.btn,
.ct-profile-actions button,
.ct-profile-actions .btn-md,
.ct-profile-actions .btn-primary,
.ct-profile-actions .btn-outline-primary,
.ct-profile-actions .btn-outline-secondary {
    height: 42px !important;
    min-height: 42px !important;
    line-height: 42px !important;
    padding: 0 22px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.ct-profile-actions form {
    margin: 0 !important;
}

.ct-featured-hero-item {
    text-decoration: none !important;
    color: inherit !important;
}

.ct-featured-hero-img {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    overflow: hidden;
    background: #eef5ff;
    flex: 0 0 auto;
}

.ct-featured-hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ct-empty-featured {
    background: #f8fbff;
    border: 1px dashed #c8d7ec;
    border-radius: 20px;
    padding: 28px;
    text-align: center;
}

.ct-empty-featured h4 {
    color: #0b1220;
    font-weight: 900;
    margin-bottom: 8px;
}

.ct-empty-featured p {
    color: #64748b;
    margin: 0;
}

/* Fix account dropdown appearing behind bottom nav/search */
.nav-bar {
    position: relative;
    z-index: 12000 !important;
}

.nav-bar-sm {
    position: relative;
    z-index: 8000 !important;
}

.nav-bar .drop-down-menu,
.nav-bar .dropdown-menu,
.user-menu,
.user-dropdown,
.profile-menu {
    z-index: 13000 !important;
}