/* B2B Custom Styles */
#preloader {
    display: none;
}

/* User Type Selection */
.user-type-selection .user-type-card {
    text-align: center;
    padding: 15px 10px;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s;
    background: #fff;
}

.user-type-selection .user-type-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.user-type-selection .user-type-card.active {
    border-color: var(--primary);
    background: var(--rgba-primary-1);
}

.user-type-selection .user-type-card .icon-box {
    width: 50px;
    height: 50px;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rgba-primary-1);
    border-radius: 50%;
    font-size: 24px;
    color: var(--primary);
    transition: all 0.3s;
}

.user-type-selection .user-type-card .icon-box::before {
    content: '';

}

.user-type-selection .user-type-card.active .icon-box {
    background: var(--primary);
    color: #fff;
}

/* B2B Info Box */
.b2b-info-box {
    border: 1px solid #e0e0e0;
}

.b2b-info-box ul li {
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
}

.b2b-info-box ul li:last-child {
    border-bottom: none;
}

/* Color Swatch */
.color-swatch {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 2px solid #e0e0e0;
}

/* Payment Card */
.payment-card {
    padding: 15px;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s;
}

.payment-card:hover {
    border-color: var(--primary);
}

.payment-card input:checked~label {
    color: var(--primary);
}

.payment-card input:checked {
    border-color: var(--primary);
}

/* Address Card */
.address-card {
    border: 2px solid #e0e0e0;
    transition: all 0.3s;
}

.address-card input:checked~label {
    border-color: var(--primary);
}

.address-card:hover {
    border-color: var(--primary);
}

/* Category Card */
.category-card {
    display: block;
    padding: 20px;
    background: #fff;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.category-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    color: inherit;
}

.category-image {
    width: 100%;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
    border-radius: 8px;
    overflow: hidden;
    margin: 0 auto;
}

.category-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Order Product Image */
.order-product-img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    border-radius: 8px;
}

/* Profile Avatar */
.profile-avatar {
    position: relative;
    display: inline-block;
}

.edit-avatar-btn {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 35px;
    height: 35px;
    background: var(--primary);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid #fff;
    text-decoration: none;
}

/* Edit Profile Page - New design classes */
.profile-edit-hero {
    text-align: center;
    padding: 24px 0 28px;
    margin-bottom: 20px;
}

.profile-edit-avatar-wrap {
    position: relative;
    display: inline-block;
    margin-bottom: 16px;
}

.profile-edit-avatar-img {
    width: 88px;
    height: 88px;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    display: block;
}

.profile-edit-avatar-wrap .edit-avatar-btn {
    width: 36px;
    height: 36px;
    font-size: 16px;
}

.profile-edit-name {
    font-size: 18px;
    font-weight: 600;
    color: var(--theme-text-color, #1a1a1a);
    margin-bottom: 4px;
}

.profile-edit-email {
    font-size: 14px;
    color: #6c757d;
    margin: 0;
}

.profile-edit-card {
    background: #fff;
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.04);
}

.profile-edit-field {
    margin-bottom: 18px;
}

.profile-edit-field:last-child {
    margin-bottom: 0;
}

.profile-edit-field .profile-edit-label {
    font-size: 14px;
    font-weight: 500;
    color: var(--theme-text-color, #1a1a1a);
    margin-bottom: 8px;
    display: block;
}

.profile-edit-field .profile-edit-label .text-required {
    color: #dc3545;
}

.profile-edit-input-wrap {
    display: flex;
    align-items: stretch;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #dee2e6;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.profile-edit-input-wrap:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--rgba-primary-1);
}

.profile-edit-input-wrap .input-group-text {
    background: #f8f9fa;
    border: none;
    color: #6c757d;
    padding: 12px 14px;
    font-size: 18px;
}

.profile-edit-input-wrap .form-control {
    border: none;
    padding: 12px 14px;
    font-size: 15px;
    border-radius: 0;
}

.profile-edit-input-wrap .form-control::placeholder {
    color: #adb5bd;
}

.profile-edit-input-wrap select.form-control {
    appearance: auto;
    cursor: pointer;
}

.profile-edit-textarea {
    border-radius: 12px;
    border: 1px solid #dee2e6;
    padding: 12px 14px;
    font-size: 15px;
    min-height: 100px;
}

.profile-edit-textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--rgba-primary-1);
    outline: none;
}

.profile-edit-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 24px;
}

.profile-edit-btn-save {
    width: 100%;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--primary);
    color: #fff;
    border: none;
    transition: all 0.25s ease;
}

.profile-edit-btn-save:hover {
    background: var(--primary);
    color: #fff;
    opacity: 0.92;
    transform: translateY(-1px);
}

.profile-edit-btn-cancel {
    width: 100%;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: transparent;
    color: var(--primary);
    border: 2px solid var(--primary);
    text-decoration: none;
    transition: all 0.25s ease;
}

.profile-edit-btn-cancel:hover {
    background: var(--rgba-primary-1);
    color: var(--primary);
}

/* ========== App Form - Site-wide form classes (same look, no mix with global) ========== */
.app-form-field {
    margin-bottom: 1rem;
}

.app-form-field:last-child {
    margin-bottom: 0;
}

.app-form-label {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    margin-bottom: 8px;
    display: block;
}

.app-form-label .app-form-required {
    color: #dc3545;
}

.app-form-input-wrap {
    display: flex;
    align-items: stretch;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #dee2e6;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.app-form-input-wrap:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--rgba-primary-1);
}

.app-form-input-wrap .app-form-icon {
    background: #f8f9fa;
    border: none;
    color: #6c757d;
    padding: 12px 14px;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.app-form-input-wrap .app-form-control {
    flex: 1;
    border: none;
    padding: 12px 14px;
    font-size: 15px;
    border-radius: 0;
    min-width: 0;
}

.app-form-input-wrap .app-form-control::placeholder {
    color: #adb5bd;
}

.app-form-input-wrap select.app-form-control {
    appearance: auto;
    cursor: pointer;
}

/* Standalone control (no icon) - same border/focus as wrap */
.app-form-control-wrap {
    border-radius: 12px;
    border: 1px solid #dee2e6;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.app-form-control-wrap:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--rgba-primary-1);
}

.app-form-control-wrap .app-form-control {
    border: none;
    padding: 12px 14px;
    font-size: 15px;
    border-radius: 12px;
    width: 100%;
}

.app-form-input-wrap .app-form-icon-end {
    background: #f8f9fa;
    border: none;
    border-left: 1px solid #dee2e6;
    color: #6c757d;
    padding: 12px 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.app-form-textarea {
    display: block;
    width: 100%;
    border-radius: 12px;
    border: 1px solid #dee2e6;
    padding: 12px 14px;
    font-size: 15px;
    min-height: 100px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.app-form-textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--rgba-primary-1);
    outline: none;
}

.app-form-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 1.5rem;
}

.app-btn-primary {
    width: 100%;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--primary);
    color: #fff;
    border: none;
    transition: all 0.25s ease;
}

.app-btn-primary:hover {
    background: var(--primary);
    color: #fff;
    opacity: 0.92;
    transform: translateY(-1px);
}

.app-btn-outline {
    width: 100%;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: transparent;
    color: var(--primary);
    border: 2px solid var(--primary);
    text-decoration: none;
    transition: all 0.25s ease;
}

.app-btn-outline:hover {
    background: var(--rgba-primary-1);
    color: var(--primary);
}

/* Inline / single input (e.g. search, coupon) */
.app-form-inline-wrap {
    display: flex;
    align-items: stretch;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #dee2e6;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.app-form-inline-wrap:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--rgba-primary-1);
}

.app-form-inline-wrap .app-form-icon {
    background: #f8f9fa;
    border: none;
    color: #6c757d;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.app-form-inline-wrap .app-form-control {
    flex: 1;
    border: none;
    padding: 12px 14px;
    font-size: 15px;
    min-width: 0;
}

.app-form-inline-wrap .app-form-control::placeholder {
    color: #adb5bd;
}

.app-form-inline-wrap .app-btn-primary {
    width: auto;
    flex-shrink: 0;
    padding: 12px 20px;
}

.app-form-inline-wrap .app-btn-outline {
    width: auto;
    flex-shrink: 0;
    padding: 12px 14px;
}

/* Popular Tags */
.popular-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.popular-tags .tag {
    padding: 8px 16px;
    background: var(--rgba-primary-1);
    color: var(--primary);
    border-radius: 20px;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s;
}

.popular-tags .tag:hover {
    background: var(--primary);
    color: #fff;
}

/* Search Content */
.search-content {
    padding: 12px;
    background: #f8f9fa;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s;
}

.search-content:hover {
    background: var(--rgba-primary-1);
    color: inherit;
}

/* Notifications - New design classes */
.notifications-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.notification-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    background: #fff;
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    transition: all 0.25s ease;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.04);
    position: relative;
}

.notification-item:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    transform: translateY(-1px);
    color: inherit;
}

.notification-item.unread {
    background: linear-gradient(135deg, var(--rgba-primary-1) 0%, rgba(255, 255, 255, 0.95) 100%);
    border-left: 3px solid var(--primary);
}

.notification-icon-wrap {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.notification-icon-wrap.icon-primary {
    background: var(--rgba-primary-1);
    color: var(--primary);
}

.notification-icon-wrap.icon-success {
    background: rgba(21, 158, 66, 0.12);
    color: #159E42;
}

.notification-icon-wrap.icon-info {
    background: rgba(13, 202, 240, 0.12);
    color: #0dcaf0;
}

.notification-icon-wrap.icon-warning {
    background: rgba(255, 193, 7, 0.2);
    color: #d4a006;
}

.notification-body {
    flex: 1;
    min-width: 0;
}

.notification-title {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 4px;
    line-height: 1.3;
}

.notification-desc {
    font-size: 13px;
    color: #6c757d;
    margin-bottom: 6px;
    line-height: 1.45;
}

.notification-time {
    font-size: 12px;
    color: #adb5bd;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.notification-badge-new {
    flex-shrink: 0;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 600;
    background: var(--primary);
    color: #fff;
    border-radius: 6px;
}

/* Legacy support - keep old list + unread working if used elsewhere */
.notifications-list .unread {
    background: var(--rgba-primary-1);
}

/* Welcome Screen */
.welcome-screen {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}

.welcome-content {
    max-width: 400px;
    margin: 0 auto;
}

.welcome-logo img {
    max-width: 120px;
}

.feature-box {
    text-align: center;
}

.feature-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rgba-primary-1);
    border-radius: 50%;
    font-size: 28px;
    color: var(--primary);
}

/* B2B Quantity Info */
.dz-quantity-info {
    color: #666;
    font-weight: 500;
}

/* Min Order Badge */
.min-order-badge {
    display: inline-block;
    padding: 4px 8px;
    background: var(--rgba-primary-1);
    color: var(--primary);
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
}

/* Card Improvements */
.dz-card {
    transition: all 0.3s ease;
}

.dz-card:hover {
    transform: translateY(-2px);
}

.dz-card.shadow-sm {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

/* Input Group Improvements */
.input-group-text.bg-light {
    background-color: #f8f9fa !important;
    border-color: #dee2e6;
}

/* Form Control Improvements */
.form-control.rounded-xl {
    border-radius: 12px !important;
}

/* Button Improvements */
.btn.rounded-xl {
    border-radius: 12px !important;
}

/* List Card Improvements */
.dz-card.list {
    padding: 15px;
}

.dz-card.list .dz-media {
    border-radius: 8px;
    overflow: hidden;
}

/* Category Image */
 

.category-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Feature Category Swiper */
.feature-category-swiper {
    padding-bottom: 10px;
}

.feature-category-swiper .swiper-slide {
    width: auto;
    height: auto;
}

.feature-category-swiper .category-card {
    display: block;
    padding: 15px;
    background: #fff;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    height: 100%;
}

.feature-category-swiper .category-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    color: inherit;
}

.feature-category-swiper .category-image {
    height: 120px;
    width: 120px;
    margin: 0 auto;
    margin-bottom: 12px;
}

/* Order Card */
.order-card {
    border: 1px solid #e9ecef;
}

/* Payment Card Active State */
.payment-card input:checked~label {
    color: var(--primary) !important;
}

.payment-card input:checked {
    border-color: var(--primary) !important;
}

.payment-card:has(input:checked) {
    border-color: var(--primary) !important;
    background: var(--rgba-primary-1) !important;
}

/* Address Card Active State */
.address-card:has(input:checked) {
    border-color: var(--primary) !important;
    background: var(--rgba-primary-1) !important;
}

/* New Product Card Design (Image Style) */
.product-card-new {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.product-card-new:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.product-card-new .dz-media {
    position: relative;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    background: #f8f9fa;
}

.product-card-new .dz-media img {
    width: 100%;
    height: 180px;
    display: block;
    transition: transform 0.3s;
    object-fit: contain;
    padding: 15px 0px 10px;
}

.product-card-new:hover .dz-media img {
    transform: scale(1.05);
}

.product-card-new .item-bookmark {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    font-size: 16px;
    transition: all 0.3s;
    z-index: 2;
}

.product-card-new .item-bookmark:hover,
.product-card-new .item-bookmark.active {
    background: var(--primary);
    color: #fff;
}

.product-card-new .dz-content {
    padding: 12px;
}

.product-card-new .product-category {
    display: inline-block;
    color: #28a745;
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 6px;
    text-transform: capitalize;
    letter-spacing: 0.3px;
}

.product-card-new .title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 8px;
    color: #000;
}

.product-card-new .title a {
    color: #000;
    text-decoration: none;
    transition: color 0.3s;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.product-card-new .title a:hover {
    color: var(--primary);
}

.product-card-new .product-price {
    color: #28a745;
    font-size: 16px;
    font-weight: 600;
}

.product-card-new .product-quantity {
    color: #666;
    font-size: 12px;
    font-weight: 500;
}

.product-card-new .add-cart-btn {
    border-color: #28a745;
    color: #28a745;
    background: #fff;
    font-size: 13px;
    font-weight: 500;
    padding: 8px 12px;
    margin-top: 8px;
    transition: all 0.3s;
}

.product-card-new .add-cart-btn:hover {
    background: #28a745;
    color: #fff;
    border-color: #28a745;
}

.product-card-new .add-cart-btn i {
    font-size: 14px;
}

/* Apply new design to all dz-card product cards */
/* .dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5):hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .dz-media {
    position: relative;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    background: #f8f9fa;
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .dz-media img {
    width: 100%;
    height: 180px;
    display: block;
    transition: transform 0.3s;
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5):hover .dz-media img {
    transform: scale(1.05);
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .item-bookmark {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    font-size: 16px;
    transition: all 0.3s;
    z-index: 2;
    position: absolute;
    top: 8px;
    right: 8px;
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .item-bookmark:hover,
.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .item-bookmark.active {
    background: var(--primary);
    color: #fff;
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .dz-content {
    padding: 12px;
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .dz-content .title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 8px;
    color: #000;
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .dz-content .title a {
    color: #000;
    text-decoration: none;
    transition: color 0.3s;
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .dz-content .title a:hover {
    color: var(--primary);
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .dz-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .dz-price {
    color: #28a745;
    font-size: 16px;
    font-weight: 600;
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .dz-price del {
    color: #999;
    font-size: 13px;
    margin-left: 5px;
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .cart-btn {
    border-color: #28a745;
    color: #28a745;
    background: #fff;
    font-size: 13px;
    font-weight: 500;
    padding: 8px 12px;
    margin-top: 8px;
    transition: all 0.3s;
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
}

.dz-card:not(.list):not(.style-3):not(.style-4):not(.style-5) .cart-btn:hover {
    background: #28a745;
    color: #fff;
    border-color: #28a745;
} */

/* Top Rated Shops Section */
.shop-card {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    background: #fff;
}

.shop-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.shop-image-wrapper {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
    border-radius: 12px;
}

.shop-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.shop-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%);
    padding: 15px;
    z-index: 2;
}

.shop-overlay-content {
    width: 100%;
}

.shop-logo {
    flex-shrink: 0;
}

.logo-circle {
    width: 50px;
    height: 50px;
    position: relative;
    border-radius: 50%;
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid #28a745;
    flex-shrink: 0;
}

.logo-inner {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: #ff8c00;
    position: absolute;
}

.logo-text {
    position: absolute;
    font-size: 6px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 1;
    z-index: 2;
    width: 100%;
    top: 8px;
    letter-spacing: 0.3px;
}

.logo-icon {
    position: absolute;
    font-size: 12px;
    color: #fff;
    z-index: 2;
    bottom: 8px;
}

.shop-name {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.shop-rating-box,
.shop-sales-box {
    background: rgba(44, 44, 44, 0.9);
    color: #fff;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    font-weight: 500;
}

.shop-rating-box i {
    font-size: 14px;
    color: #ffc107;
}

.btn-visit-store {
    background: linear-gradient(90deg, #1e7e34 0%, #28a745 100%);
    color: #fff;
    border: none;
    padding: 10px 16px;
    border-radius: 8px;
    font-weight: 500;
    font-size: 14px;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    text-decoration: none;
}

.btn-visit-store:hover {
    background: linear-gradient(90deg, #155724 0%, #1e7e34 100%);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(40, 167, 69, 0.3);
}

.btn-visit-store i {
    font-size: 16px;
}

/* Shop Detail Page */
.shop-header {
    background: #fff;
    border-radius: 12px;
    padding: 15px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.shop-banner img {
    border-radius: 12px;
}

.shop-header-info {
    padding-top: 15px;
}

.shop-header-info .shop-logo .logo-circle {
    width: 60px;
    height: 60px;
}

.shop-header-info .shop-logo .logo-inner {
    width: 42px;
    height: 42px;
}

.shop-header-info .shop-logo .logo-text {
    font-size: 7px;
    top: 10px;
}

.shop-header-info .shop-logo .logo-icon {
    font-size: 14px;
    bottom: 10px;
}

.shop-header-info .shop-name {
    font-size: 20px;
    font-weight: 600;
}

.shop-verified {
    display: inline-flex;
    align-items: center;
    color: #28a745;
}

.shop-stats .stat-card {
    border: 1px solid #e9ecef;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.shop-stats .stat-card h4 {
    font-size: 24px;
    font-weight: 700;
}

.shop-filter-tabs {
    margin-bottom: 20px;
}

/* Product Detail Page Enhancements */
.product-detail-header {
    padding-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.product-detail-header .badge {
    font-size: 14px;
    padding: 6px 12px;
}

.product-info .product-category {
    font-size: 14px;
    color: #666;
}

.product-info .dz-review {
    display: flex;
    align-items: center;
    gap: 5px;
}

.product-info .dz-review i {
    font-size: 16px;
    color: #FFA048;
}

.product-info .dz-price h5 {
    font-size: 14px;
    font-weight: 500;
    color: #666;
    margin-bottom: 5px;
}

.product-info .dz-price h3 {
    font-size: 24px;
    font-weight: 600;
    color: #000;
}

.product-info .dz-price h3 del {
    font-size: 18px;
    color: #999;
    margin-left: 8px;
}

.size-selection h6,
.color-selection h6,
.quantity-selection h6,
.product-description h6 {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin-bottom: 12px;
}

.product-description {
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
}

.product-actions .btn {
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 500;
}

/* Quantity Selector - Image Style */
.quantity-selector-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
}

.quantity-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #000;
    color: #fff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s;
    padding: 0;
}

.quantity-btn:hover {
    background: #333;
    transform: scale(1.05);
}

.quantity-btn i {
    font-size: 18px;
    color: #fff;
    stroke-width: 3;
}

.quantity-value {
    font-size: 18px;
    font-weight: 500;
    color: #000;
    min-width: 30px;
    text-align: center;
}

/* Size Buttons - Image Style */
.size-buttons-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.size-radio {
    display: none;
}

.size-btn {
    width: 43px;
    height: 43px;
    border-radius: 50%;
    border: 2px solid #000;
    background: #fff;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    margin: 0;
}

.size-radio:checked+.size-btn {
    background: #000;
    color: #fff;
    border-color: #000;
}

.size-btn:hover {
    transform: scale(1.1);
}

/* Color Swatches - Image Style */
.color-picker-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.color-radio {
    display: none;
}

.color-swatch {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s;
    position: relative;
    margin: 0;
}

.color-radio:checked+.color-swatch {
    border-color: #000;
}

.color-swatch i {
    font-size: 16px;
    color: #fff;
    display: none;
    stroke-width: 3;
}

.color-radio:checked+.color-swatch i {
    display: block;
}

.color-swatch:hover {
    transform: scale(1.1);
}

/* Cart Page Design Improvements */
.cart-item-card {
    background: #fff;
    border-radius: 12px;
    padding: 15px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s;
}

.cart-item-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.cart-item-content {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    position: relative;
}

.cart-item-image {
    width: 90px;
    height: 110px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #f8f9fa;
}

.cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cart-item-details {
    flex-grow: 1;
    min-width: 0;
}

.cart-item-title {
    font-size: 15px;
    font-weight: 600;
    color: #000;
    margin-bottom: 8px;
    line-height: 1.4;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cart-item-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 12px;
}

.cart-item-price {
    font-size: 16px;
    font-weight: 600;
    color: var(--primary);
}

.cart-item-price del {
    font-size: 13px;
    color: #999;
    margin-left: 5px;
}

.cart-item-options {
    font-size: 12px;
    color: #666;
}

.cart-item-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
}

.cart-item-total {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
}

.cart-item-remove {
    position: absolute;
    top: 0;
    right: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
    border-radius: 50%;
    color: #dc3545;
    text-decoration: none;
    transition: all 0.3s;
    flex-shrink: 0;
}

.cart-item-remove:hover {
    background: #dc3545;
    color: #fff;
    transform: scale(1.1);
}

.cart-item-remove i {
    font-size: 16px;
}

/* Coupon Box */
.coupon-box {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.coupon-box .input-group .form-control {
    border-radius: 12px 0 0 12px;
}

.coupon-box .input-group .btn {
    border-radius: 0 12px 12px 0;
    padding: 10px 20px;
}

/* Price Summary */
.price-summary {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

.price-label {
    font-size: 14px;
    color: #666;
}

.price-value {
    font-size: 14px;
    font-weight: 500;
    color: #000;
}

.price-divider {
    margin: 15px 0;
    border-color: #e0e0e0;
}

.price-total {
    padding-top: 15px;
    border-top: 2px solid var(--primary);
    margin-top: 10px;
}

.price-total .price-label,
.price-total .price-value {
    font-size: 18px;
    font-weight: 700;
}

/* Fixed Bottom Actions */
.cart-bottom-actions {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    padding: 15px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 100;
    max-width: 600px;
    margin: 0 auto;
}

.cart-bottom-actions .btn {
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 500;
}

/* Cart Quantity Selector */
.cart-item-actions .quantity-selector-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cart-item-actions .quantity-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #000;
    color: #fff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s;
    padding: 0;
}

.cart-item-actions .quantity-btn:hover {
    background: #333;
    transform: scale(1.05);
}

.cart-item-actions .quantity-btn i {
    font-size: 16px;
    color: #fff;
    stroke-width: 3;
}

.cart-item-actions .quantity-value {
    font-size: 16px;
    font-weight: 600;
    color: #000;
    min-width: 30px;
    text-align: center;
}

/* Checkout Page Design Improvements */
.checkout-section {
    margin-bottom: 25px;
}

.checkout-section h6 {
    font-size: 16px;
    font-weight: 600;
    color: #000;
}

/* Address Cards */
.address-card-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.address-card {
    background: #fff;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    padding: 15px;
    transition: all 0.3s;
    cursor: pointer;
}

.address-card:hover {
    border-color: var(--primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.address-card .form-check-input {
    margin-top: 2px;
}

.address-card .form-check-input:checked {
    border-color: var(--primary);
    background-color: var(--primary);
}

.address-card .form-check-input:checked~.form-check-label .address-card {
    border-color: var(--primary);
}

.address-content {
    padding-left: 8px;
}

.address-name {
    font-size: 16px;
    font-weight: 600;
    color: #000;
}

.badge-sm {
    font-size: 10px;
    padding: 4px 8px;
}

.address-text {
    font-size: 13px;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

.address-phone {
    font-size: 13px;
    color: #666;
    margin: 0;
}

.address-card:has(.form-check-input:checked) {
    border-color: var(--primary);
    background: var(--rgba-primary-1);
    box-shadow: 0 2px 8px rgba(var(--primary-rgb), 0.15);
}

/* Payment Method Cards */
.payment-methods {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.payment-card-item {
    margin: 0;
}

.payment-card-item .form-check-input {
    margin-top: 0;
}

.payment-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    background: #fff;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    transition: all 0.3s;
    cursor: pointer;
}

.payment-card-item .form-check-input:checked~.form-check-label .payment-option {
    border-color: var(--primary);
    background: var(--rgba-primary-1);
}

.payment-option:hover {
    border-color: var(--primary);
}

.payment-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rgba-primary-1);
    border-radius: 10px;
    color: var(--primary);
    font-size: 20px;
    flex-shrink: 0;
}

.payment-card-item .form-check-input:checked~.form-check-label .payment-icon {
    background: var(--primary);
    color: #fff;
}

.payment-text {
    flex-grow: 1;
    font-size: 15px;
    font-weight: 500;
    color: #000;
}

.payment-check {
    font-size: 18px;
    color: var(--primary);
    display: none;
}

.payment-card-item .form-check-input:checked~.form-check-label .payment-check {
    display: block;
}

/* Card Details Form */
.card-details-section {
    display: none;
}

.card-details-section.show {
    display: block;
}

.card-details-form {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.card-details-form .form-label {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
}

.card-details-form .form-control {
    border: 1px solid #e0e0e0;
    padding: 12px 15px;
}

.card-details-form .form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--primary-rgb), 0.25);
}

.card-details-form .input-group-text {
    border: 1px solid #e0e0e0;
    border-left: none;
    border-radius: 0 12px 12px 0;
}

/* Order Summary */
.order-summary-section {
    margin-bottom: 25px;
}

.order-summary-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.order-items-list {
    margin-bottom: 15px;
}

.order-item-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}

.order-item-row:last-child {
    border-bottom: none;
}

.order-item-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex-grow: 1;
}

.order-item-name {
    font-size: 14px;
    font-weight: 500;
    color: #000;
}

.order-item-qty {
    font-size: 12px;
    color: #666;
}

.order-item-price {
    font-size: 15px;
    font-weight: 600;
    color: #000;
}

.order-summary-divider {
    height: 1px;
    background: #e0e0e0;
    margin: 15px 0;
}

.order-summary-totals {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.summary-label {
    font-size: 14px;
    color: #666;
}

.summary-value {
    font-size: 14px;
    font-weight: 500;
    color: #000;
}

.order-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
}

.total-label {
    font-size: 18px;
    font-weight: 700;
    color: #000;
}

.total-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
}

/* Fixed Bottom Actions */
.checkout-bottom-actions {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    padding: 15px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 100;
    max-width: 600px;
    margin: 0 auto;
}

.checkout-bottom-actions .btn {
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 600;
}

/* Order Detail Page */
.order-status-header {
    margin-bottom: 25px;
}

.order-header-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.order-id {
    font-size: 18px;
    font-weight: 600;
    color: #000;
}

.order-tracking {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
}

.tracking-steps {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.tracking-step {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    position: relative;
    padding-left: 50px;
}

.tracking-step:not(:last-child)::before {
    content: '';
    position: absolute;
    left: 16px;
    top: 35px;
    width: 2px;
    height: calc(100% + 20px);
    background: #e0e0e0;
}

.tracking-step.completed:not(:last-child)::before {
    background: var(--primary);
}

/* Estimated Delivery card - track order */
.delivery-estimate-card {
    margin-top: 20px;
    padding: 20px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
    color: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    position: relative;
    overflow: hidden;
}

.delivery-estimate-card::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -30%;
    width: 80%;
    height: 150%;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    pointer-events: none;
}

.delivery-estimate-card-inner {
    display: flex;
    align-items: center;
    gap: 16px;
    position: relative;
    z-index: 1;
}

.delivery-estimate-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    background: rgba(255, 255, 255, 0.22);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.delivery-estimate-title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 4px;
    color: #fff;
}

.delivery-estimate-text {
    font-size: 14px;
    margin: 0;
    opacity: 0.95;
    line-height: 1.4;
}

/* Track Order - Order Info Card */
.track-order-info-card {
    background: #fff;
    border-radius: 12px;
    padding: 18px;
    margin-bottom: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.04);
}

.track-order-info-card .track-order-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
}

.track-order-info-card .track-order-id {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 4px;
}

.track-order-info-card .track-order-date {
    font-size: 12px;
    color: #6c757d;
}

.track-order-info-card .track-order-summary {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eee;
}

.track-order-info-card .track-order-product-row {
    display: flex;
    align-items: center;
    gap: 14px;
}

.track-order-info-card .order-product-img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 10px;
    flex-shrink: 0;
}

.track-order-info-card .track-order-product-name {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 4px;
}

.track-order-info-card .track-order-product-qty {
    font-size: 12px;
    color: #6c757d;
}

.track-order-info-card .track-order-product-price {
    font-size: 15px;
    font-weight: 600;
    color: var(--primary);
    margin-left: auto;
}

.track-order-info-card .track-order-address-title {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
}

.track-order-info-card .track-order-address-text {
    font-size: 14px;
    color: #6c757d;
    margin: 0;
    line-height: 1.5;
}

/* Track Order - Timeline */
.track-order-timeline-wrap {
    background: #fff;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.04);
}

.track-order-timeline-wrap .track-order-timeline-title {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 20px;
}

.track-order-timeline {
    position: relative;
    padding-left: 38px;
}

.track-order-timeline-item {
    position: relative;
    margin-bottom: 20px;
}

.track-order-timeline-item:last-child {
    margin-bottom: 0;
}

.track-order-timeline-item:not(:last-child)::after {
    content: '';
    position: absolute;
    left: -29px;
    top: 36px;
    width: 2px;
    height: calc(100% + 20px);
    background: #e0e0e0;
}

.track-order-timeline-item.completed::after {
    background: #28a745;
}

.track-order-timeline-marker {
    position: absolute;
    left: -38px;
    top: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #fff;
    flex-shrink: 0;
}

.track-order-timeline-item.completed .track-order-timeline-marker {
    background: #28a745;
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
}

.track-order-timeline-item.active .track-order-timeline-marker {
    background: var(--primary);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

.track-order-timeline-item.pending .track-order-timeline-marker {
    background: #e0e0e0;
    color: #999;
}

.track-order-timeline-content {
    padding: 12px 15px;
    border-radius: 10px;
    border-left: 3px solid #e0e0e0;
    background: #f8f9fa;
}

.track-order-timeline-item.completed .track-order-timeline-content {
    border-left-color: #28a745;
}

.track-order-timeline-item.active .track-order-timeline-content {
    background: var(--rgba-primary-1);
    border-left-color: var(--primary);
}

.track-order-timeline-item.pending .track-order-timeline-content {
    opacity: 0.85;
}

.track-order-timeline-content .track-order-step-title {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 4px;
}

.track-order-timeline-content .track-order-step-desc {
    font-size: 12px;
    color: #6c757d;
    margin-bottom: 4px;
}

.track-order-timeline-content .track-order-step-time {
    font-size: 12px;
    color: #6c757d;
}

.track-order-timeline-content .track-order-tracking-box {
    margin-top: 10px;
    padding: 10px 12px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.track-order-timeline-content .track-order-tracking-box strong {
    font-size: 12px;
    color: var(--primary);
}

.step-icon {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    position: absolute;
    left: 0;
    flex-shrink: 0;
}

.tracking-step.completed .step-icon {
    background: var(--primary);
}

.step-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.step-title {
    font-size: 14px;
    font-weight: 500;
    color: #000;
}

.step-date {
    font-size: 12px;
    color: #666;
}

/* Order Items Detail */
.order-items-section {
    margin-bottom: 25px;
}

.order-items-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.order-item-card {
    background: #fff;
    border-radius: 12px;
    padding: 15px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.order-item-content {
    display: flex;
    gap: 15px;
}

.order-item-image {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #f8f9fa;
}

.order-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.order-item-details {
    flex-grow: 1;
    min-width: 0;
}

.order-item-title {
    font-size: 15px;
    font-weight: 600;
    color: #000;
    margin-bottom: 8px;
}

.order-item-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 10px;
}

.order-item-specs,
.order-item-qty {
    font-size: 12px;
    color: #666;
}

.order-item-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.order-item-unit-price {
    font-size: 13px;
    color: #666;
}

.order-item-total-price {
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
}

/* Shipping Address Info */
.shipping-address-section,
.payment-info-section {
    margin-bottom: 25px;
}

.address-info-card,
.payment-info-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.address-info-content {
    color: #333;
}

.address-info-content .address-name {
    font-size: 16px;
    font-weight: 600;
    color: #000;
}

.address-info-content .address-text {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

.address-info-content .address-phone {
    font-size: 14px;
    color: #666;
    margin: 0;
}

/* Payment Info */
.payment-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}

.payment-info-row:last-child {
    border-bottom: none;
}

.payment-label {
    font-size: 14px;
    color: #666;
}

.payment-value {
    font-size: 14px;
    font-weight: 500;
    color: #000;
    display: flex;
    align-items: center;
}

/* Order Actions */
.order-actions {
    margin-bottom: 25px;
}

.order-actions .btn {
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 500;
}

/* Add Address Form */
.address-form-section {
    margin-bottom: 25px;
}

.address-form {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.address-form .form-group {
    margin-bottom: 20px;
}

.address-form .form-label {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
}

.address-form .input-group-text {
    background: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-right: none;
    border-radius: 12px 0 0 12px;
    color: var(--primary);
}

.address-form .form-control {
    border: 1px solid #e0e0e0;
    border-left: none;
    border-radius: 0 12px 12px 0;
    padding: 12px 15px;
}

.address-form .form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.1);
}

.address-form .input-group:focus-within .input-group-text {
    border-color: var(--primary);
}

.address-form select.form-control {
    border-left: 1px solid #e0e0e0;
    border-radius: 12px;
}

.address-form .input-group:has(select) .input-group-text {
    border-right: none;
}

.address-form .form-check {
    padding: 15px;
    background: #f8f9fa;
    border-radius: 12px;
    margin: 0;
}

.address-form .form-check-input {
    margin-top: 2px;
}

.address-form .form-check-label {
    font-size: 14px;
    color: #333;
    margin-left: 8px;
}

.address-form-actions {
    margin-top: 30px;
}

.address-form-actions .btn {
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 500;
}

/* Wishlist Page Design Improvements */
.wishlist-item-card {
    background: #fff;
    border-radius: 12px;
    padding: 15px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    margin-bottom: 15px;
    transition: all 0.3s;
}

.wishlist-item-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

.wishlist-item-content {
    display: flex;
    gap: 15px;
    position: relative;
}

.wishlist-item-image {
    width: 100px;
    height: 115px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #f8f9fa;
    position: relative;
    border: 1px solid #bbbbbb;
    padding: 5px;
}

.wishlist-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s;
}

.wishlist-item-image:hover img {
    transform: scale(1.05);
}

.wishlist-heart-btn {
    position: absolute;
    top: 4px;
    right:4px;
    width: 25px;
    height: 25px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #dc3545;
    text-decoration: none;
    transition: all 0.3s;
    z-index: 2;
}

.wishlist-heart-btn:hover {
    background: #dc3545;
    color: #fff;
    transform: scale(1.1);
}

.wishlist-heart-btn.active {
    background: #dc3545;
    color: #fff;
}

.wishlist-heart-btn i {
    font-size: 13px;
}

.wishlist-item-details {
    flex-grow: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.wishlist-item-title {
    font-size: 15px;
    font-weight: 600;
    color: #000;
    margin-bottom: 10px;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.wishlist-item-title a {
    color: #000;
    text-decoration: none;
    transition: color 0.3s;
}

.wishlist-item-title a:hover {
    color: var(--primary);
}

.wishlist-item-meta {
    margin-bottom: 12px;
}

.wishlist-item-price-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.wishlist-price {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
}

.wishlist-price-old {
    font-size: 14px;
    color: #999;
    text-decoration: line-through;
}

.wishlist-rating {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #666;
}

.wishlist-rating i {
    font-size: 14px;
    color: #FFA048;
}

.wishlist-quantity-info {
    font-size: 12px;
    color: #666;
    display: flex;
    align-items: center;
}

.wishlist-quantity-info i {
    font-size: 14px;
    color: var(--primary);
}

.wishlist-item-actions {
    display: flex;
    gap: 10px;
    margin-top: auto;
}

.wishlist-item-actions .btn {
    padding: 10px 15px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 10px;
}

.wishlist-item-actions .btn-primary {
    flex-grow: 1;
}

.wishlist-item-actions .btn-outline-danger {
    width: 45px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wishlist-item-actions .btn-outline-danger:hover {
    background: #dc3545;
    border-color: #dc3545;
    color: #fff;
}

/* Empty Wishlist State */
.empty-wishlist {
    background: #fff;
    border-radius: 12px;
    padding: 60px 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.empty-wishlist-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto;
    background: #f8f9fa;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.empty-wishlist-icon i {
    font-size: 40px;
    color: #ccc;
}

.empty-wishlist h6 {
    font-size: 18px;
    font-weight: 600;
    color: #000;
}

.empty-wishlist p {
    font-size: 14px;
    color: #666;
}

.empty-wishlist .btn {
    padding: 12px 30px;
    font-size: 15px;
    font-weight: 500;
}

/* New Header Design */
.header-new-design {
    background: #fff;
    border-bottom: 1px solid #f0f0f0;
}

.header-new-design .hamburger-menu-btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    color: var(--primary);
    font-size: 20px;
    text-decoration: none;
    transition: all 0.3s;
}

.header-new-design .hamburger-menu-btn:hover {
    background: #f8f9fa;
    border-color: var(--primary);
}

.header-new-design .hamburger-menu-btn i {
    color: var(--primary);
}

.header-new-design .header-home-text {
    font-size: 16px;
    font-weight: 500;
    color: #2d3436;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.header-new-design .header-icon {
    width: 30px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    font-size: 20px;
    text-decoration: none;
    transition: all 0.3s;
    position: relative;
}

.header-new-design .header-icon:hover {
    color: #5f3dc4;
}

.header-new-design .header-icon i {
    color: var(--primary);
    stroke-width: 2;
}

.header-new-design .cart-icon-wrapper {
    position: relative;
}

.header-new-design .cart-badge-pink {
    position: absolute;
    top: -4px;
    right: -4px;
    background: #ff4db8;
    color: #fff;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    border: 2px solid #fff;
}

.product-addtocard {
    width: 100%;
    left: 0;
    bottom: 0;
    z-index: 999;
    position: fixed;
    box-shadow: 0px 0px 30px 0px rgba(69, 41, 1, 0.1) !important;
    padding: 10px;
    background: white;
}

/* ========== Payment Page - new classes (same design) ========== */
.payment-wallet-card {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    color: #fff;
}

.payment-wallet-card::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 150px;
    height: 150px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    transform: translate(30%, -30%);
}

.payment-wallet-card-inner {
    position: relative;
    z-index: 1;
}

.payment-wallet-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.payment-wallet-label {
    font-size: 14px;
    margin-bottom: 4px;
    opacity: 0.9;
}

.payment-wallet-amount {
    font-size: 28px;
    font-weight: 600;
    margin: 0;
    color: #fff;
}

.payment-wallet-icon {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
}

.payment-wallet-actions {
    display: flex;
    gap: 8px;
    position: relative;
    z-index: 1;
}

.payment-wallet-btn {
    flex: 1;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 12px;
    background: #fff;
    color: #333;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.payment-saved-card {
    background: #fff;
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    border: 2px solid #e0e0e0;
    position: relative;
    overflow: hidden;
    transition: border-color 0.3s;
}

.payment-saved-card.default {
    border-color: var(--primary);
}

.icon-info:before {
    content: "";
}

.payment-saved-card.default::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg, var(--rgba-primary-1) 0%, transparent 100%);
    border-radius: 0 12px 0 100%;
}

.payment-saved-card:hover {
    border-color: var(--primary);
}

.payment-saved-card.default:hover {
    border-color: var(--primary);
}

.payment-saved-card.hover-success:hover {
    border-color: #28a745;
}

.payment-saved-card.hover-warning:hover {
    border-color: #ffc107;
}

.payment-saved-card-body {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    z-index: 1;
}

.payment-saved-card-left {
    display: flex;
    align-items: center;
    flex: 1;
}

.payment-saved-card-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-right: 14px;
    flex-shrink: 0;
}

.payment-saved-card-icon.icon-primary {
    background: var(--rgba-primary-1);
    color: var(--primary);
}

.payment-saved-card-icon.icon-success {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
}

.payment-saved-card-icon.icon-warning {
    background: rgba(255, 193, 7, 0.1);
    color: #ffc107;
}

.payment-saved-card-title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 4px;
}

.payment-saved-card-expiry {
    font-size: 12px;
    color: #6c757d;
    margin: 0;
}

.payment-saved-card-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.payment-saved-card-btn {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: all 0.3s;
    text-decoration: none;
}

.payment-saved-card-btn.btn-default {
    color: var(--primary);
}

.payment-saved-card-btn.btn-default:hover {
    background: #e7f3ff;
}

.payment-saved-card-btn.btn-delete {
    color: #dc3545;
}

.payment-saved-card-btn.btn-delete:hover {
    background: #fee;
}

.payment-add-card-btn {
    width: 100%;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 12px;
    border: 2px solid var(--primary);
    background: transparent;
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 20px;
    transition: all 0.25s;
}

.payment-add-card-btn:hover {
    background: var(--rgba-primary-1);
    color: var(--primary);
}

.payment-transaction-item {
    background: #fff;
    border-radius: 14px;
    padding: 16px;
    margin-bottom: 10px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-left: 3px solid #e0e0e0;
}

.payment-transaction-item.credit {
    border-left-color: #28a745;
}

.payment-transaction-item.debit {
    border-left-color: #dc3545;
}

.payment-transaction-item.topup {
    border-left-color: var(--primary);
}

.payment-transaction-left {
    display: flex;
    align-items: center;
}

.payment-transaction-icon {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-right: 14px;
    flex-shrink: 0;
}

.payment-transaction-icon.icon-success {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
}

.payment-transaction-icon.icon-danger {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
}

.payment-transaction-icon.icon-primary {
    background: var(--rgba-primary-1);
    color: var(--primary);
}

.payment-transaction-detail-title {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 4px;
}

.payment-transaction-detail-sub {
    font-size: 12px;
    color: #6c757d;
    margin: 0;
}

.payment-transaction-right {
    text-align: right;
}

.payment-transaction-amount {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 4px;
}

.payment-transaction-amount.credit {
    color: #28a745;
}

.payment-transaction-amount.debit {
    color: #dc3545;
}

.payment-transaction-amount.topup {
    color: var(--primary);
}

.payment-transaction-date {
    font-size: 12px;
    color: #6c757d;
    margin: 0;
}

/* New Arrival tabs - category-tag design (no Bootstrap nav-tabs look) */
.new-arrival-tabs {
    border: none !important;
}
.new-arrival-tabs .nav-item {
    margin: 0;
}
.new-arrival-tabs .nav-link {
    border: none !important;
    border-radius: 50px;
    padding: 6px 14px;
    font-size: 14px;
    font-weight: 500;
}
.new-arrival-tabs .nav-link.active {
    background-color: var(--primary);
    color: #fff !important;
}

/* Home Slider */
.home-slider {
    height: 180px;
}
.home-slider .swiper-slide {
    width: 100%;
    height: 180px;
}
.home-slider .swiper-slide img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}
.home-slider-pagination {
    bottom: 8px !important;
}

.product-swiper .dz-media {
    height: 350px;
    text-align: center;
}
.product-swiper .dz-media img {
    height: 100%;
    object-fit: contain;
}